Example #1
0
        public static MathematicaMatrix CreateIdentity(MathematicaInterface parentCas, int size, bool asFullMatrix = true)
        {
            var mathExpr = asFullMatrix
                ? parentCas[Mfs.IdentityMatrix[size.ToExpr()]]
                : parentCas[Mfs.SparseArray[Mfs.IdentityMatrix[size.ToExpr()]]];

            return(new MathematicaMatrix(parentCas, mathExpr));
        }
Example #2
0
        private MathematicaMatrix(MathematicaInterface parentCas, Expr mathExpr)
            : base(parentCas, mathExpr)
        {
            var dimensions = CasInterface[Mfs.Dimensions[mathExpr]];

            Rows = Int32.Parse(dimensions.Args[0].ToString());

            Columns = Int32.Parse(dimensions.Args[1].ToString());
        }
Example #3
0
        public static MathematicaMatrix CreateFullMatrixFromColumns(MathematicaInterface parentCas, IEnumerable <Expr[]> matrixColumns)
        {
            var exprList = matrixColumns
                           .Select(column => Mfs.List[column.Cast <object>().ToArray()])
                           .ToList();

            var mathExpr = parentCas[Mfs.Transpose[Mfs.List[exprList]]];

            return(new MathematicaMatrix(parentCas, mathExpr));
        }
Example #4
0
        public static MathematicaMatrix CreateFullMatrix(MathematicaInterface parentCas, MathematicaScalar[,] matrix)
        {
            var rows = new object[matrix.GetUpperBound(0) + 1];

            for (var i = 0; i <= matrix.GetUpperBound(0); i++)
            {
                var items = new object[matrix.GetUpperBound(1) + 1];

                for (var j = 0; j <= matrix.GetUpperBound(1); j++)
                {
                    items[j] = matrix[i, j].MathExpr;
                }

                rows[i] = Mfs.List[items];
            }

            var mathExpr = parentCas[Mfs.List[rows]];

            return(new MathematicaMatrix(parentCas, mathExpr));
        }
Example #5
0
        public static MathematicaVector CreateZero(MathematicaInterface parentCas, int size)
        {
            var mathExpr = parentCas[Mfs.ConstantArray[0.ToExpr(), size.ToExpr()]];

            return(new MathematicaVector(parentCas, mathExpr));
        }
Example #6
0
 private MathematicaVector(MathematicaInterface parentCas, Expr mathExpr)
     : base(parentCas, mathExpr)
 {
 }
Example #7
0
        public static MathematicaVector CreateFullVector(MathematicaInterface parentCas, params MathematicaScalar[] scalarsList)
        {
            var mathExpr = parentCas[Mfs.List[scalarsList.Select(scalar => scalar.MathExpr as object).ToArray()]];

            return(new MathematicaVector(parentCas, mathExpr));
        }
Example #8
0
        public static MathematicaExpression Create(MathematicaInterface parentCas, string mathExprText)
        {
            var mathExpr = parentCas.Connection.EvaluateToExpr(mathExprText);

            return(new MathematicaExpression(parentCas, mathExpr));
        }
Example #9
0
 public GaSymMatrixIdentity(int size)
 {
     CasInterface = SymbolicUtils.Cas;
     _size        = size;
 }
Example #10
0
 private GaMultivector(int gaspacedim)
 {
     CasInterface = SymbolicUtils.Cas;
     GaSpaceDim   = gaspacedim;
 }
Example #11
0
 public new static MathematicaMatrix Create(MathematicaInterface parentCas, Expr mathExpr)
 {
     return(new MathematicaMatrix(parentCas, mathExpr));
 }
Example #12
0
 /// <summary>
 /// Convert this symbolic expression into a Mathematica expression object
 /// </summary>
 /// <param name="symbolicExpr"></param>
 /// <param name="cas"></param>
 /// <returns></returns>
 public static Expr ToExpr(this SteExpression symbolicExpr, MathematicaInterface cas)
 {
     return(cas[symbolicExpr.ToString()]);
 }
Example #13
0
        public static MathematicaScalar CreateRational(MathematicaInterface parentCas, int numerator, int denominator)
        {
            var e = parentCas[Mfs.Rational[numerator.ToExpr(), denominator.ToExpr()]];

            return(new MathematicaScalar(parentCas, e));
        }
Example #14
0
 public new static MathematicaScalar Create(MathematicaInterface parentCas, string mathExprText)
 {
     return(new MathematicaScalar(parentCas, parentCas.Connection.EvaluateToExpr(mathExprText)));
 }
Example #15
0
 public static MathematicaScalar Create(MathematicaInterface parentCas, double value)
 {
     return(new MathematicaScalar(parentCas, value.ToExpr()));
 }
Example #16
0
 public static MathematicaScalar CreateSymbol(MathematicaInterface parentCas, string symbolName)
 {
     return(new MathematicaScalar(parentCas, symbolName.ToSymbolExpr()));
 }
Example #17
0
        public static MathematicaVector CreateFullVector(MathematicaInterface parentCas, IEnumerable <MathematicaScalar> scalarsList)
        {
            var mathExpr = parentCas[Mfs.List[scalarsList.Select(scalar => scalar.Expression as object).ToArray()]];

            return(new MathematicaVector(parentCas, mathExpr));
        }
Example #18
0
 public new static MathematicaVector Create(MathematicaInterface parentCas, Expr mathExpr)
 {
     return(new MathematicaVector(parentCas, mathExpr));
 }
Example #19
0
        public static MathematicaMatrix CreateFullDiagonalMatrix(MathematicaInterface parentCas, IEnumerable <MathematicaScalar> scalarsList)
        {
            var vector = MathematicaVector.CreateFullVector(parentCas, scalarsList);

            return(CreateDiagonal(vector));
        }
Example #20
0
 /// <summary>
 /// Convert this symbolic expression into a Mathematica expression object
 /// </summary>
 /// <param name="symbolicExpr"></param>
 /// <param name="cas"></param>
 /// <returns></returns>
 public static Expr SimplifyToExpr(this SteExpression symbolicExpr, MathematicaInterface cas)
 {
     return(cas[Mfs.Simplify[symbolicExpr.ToString()]]);
 }
Example #21
0
 private MathematicaPattern(MathematicaInterface parentCas, Expr mathExpr)
     : base(parentCas, mathExpr)
 {
 }
Example #22
0
 protected MathematicaCondition(MathematicaInterface parentCas, Expr mathExpr)
     : base(parentCas, mathExpr)
 {
 }
Example #23
0
        public static MathematicaCondition CreateIsDomainMemberTest(MathematicaInterface parentCas, Expr testedExpr, Expr domainExpr, Expr assumeExpr)
        {
            var expr = parentCas[Mfs.FullSimplify[Mfs.Element[testedExpr, domainExpr], assumeExpr]];

            return(new MathematicaCondition(parentCas, expr));
        }
Example #24
0
 public new static MathematicaMatrix Create(MathematicaInterface parentCas, string mathExprText)
 {
     return(new MathematicaMatrix(parentCas, parentCas[mathExprText]));
 }
Example #25
0
 public static MathematicaCondition Create(MathematicaInterface parentCas, bool value)
 {
     return(new MathematicaCondition(parentCas, value.ToExpr()));
 }
Example #26
0
 public static MathematicaExpression Create(MathematicaInterface parentCas, Expr mathExpr)
 {
     return(new MathematicaExpression(parentCas, mathExpr));
 }
Example #27
0
 public new static MathematicaCondition Create(MathematicaInterface parentCas, Expr mathExpr)
 {
     return(new MathematicaCondition(parentCas, mathExpr));
 }
Example #28
0
 protected MathematicaExpression(MathematicaInterface parentCas, Expr mathExpr)
 {
     CasInterface = parentCas;
     ExpressionId = GetNewExprId();
     MathExpr     = mathExpr;
 }
Example #29
0
        public static MathematicaRule Create(MathematicaInterface parentCas, Expr lhsMathExpr, Expr rhsMathExpr)
        {
            var e = parentCas[Mfs.Rule[lhsMathExpr, rhsMathExpr]];

            return new MathematicaRule(parentCas, e);
        }