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)); }
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()); }
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)); }
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)); }
public static MathematicaVector CreateZero(MathematicaInterface parentCas, int size) { var mathExpr = parentCas[Mfs.ConstantArray[0.ToExpr(), size.ToExpr()]]; return(new MathematicaVector(parentCas, mathExpr)); }
private MathematicaVector(MathematicaInterface parentCas, Expr mathExpr) : base(parentCas, mathExpr) { }
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)); }
public static MathematicaExpression Create(MathematicaInterface parentCas, string mathExprText) { var mathExpr = parentCas.Connection.EvaluateToExpr(mathExprText); return(new MathematicaExpression(parentCas, mathExpr)); }
public GaSymMatrixIdentity(int size) { CasInterface = SymbolicUtils.Cas; _size = size; }
private GaMultivector(int gaspacedim) { CasInterface = SymbolicUtils.Cas; GaSpaceDim = gaspacedim; }
public new static MathematicaMatrix Create(MathematicaInterface parentCas, Expr mathExpr) { return(new MathematicaMatrix(parentCas, mathExpr)); }
/// <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()]); }
public static MathematicaScalar CreateRational(MathematicaInterface parentCas, int numerator, int denominator) { var e = parentCas[Mfs.Rational[numerator.ToExpr(), denominator.ToExpr()]]; return(new MathematicaScalar(parentCas, e)); }
public new static MathematicaScalar Create(MathematicaInterface parentCas, string mathExprText) { return(new MathematicaScalar(parentCas, parentCas.Connection.EvaluateToExpr(mathExprText))); }
public static MathematicaScalar Create(MathematicaInterface parentCas, double value) { return(new MathematicaScalar(parentCas, value.ToExpr())); }
public static MathematicaScalar CreateSymbol(MathematicaInterface parentCas, string symbolName) { return(new MathematicaScalar(parentCas, symbolName.ToSymbolExpr())); }
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)); }
public new static MathematicaVector Create(MathematicaInterface parentCas, Expr mathExpr) { return(new MathematicaVector(parentCas, mathExpr)); }
public static MathematicaMatrix CreateFullDiagonalMatrix(MathematicaInterface parentCas, IEnumerable <MathematicaScalar> scalarsList) { var vector = MathematicaVector.CreateFullVector(parentCas, scalarsList); return(CreateDiagonal(vector)); }
/// <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()]]); }
private MathematicaPattern(MathematicaInterface parentCas, Expr mathExpr) : base(parentCas, mathExpr) { }
protected MathematicaCondition(MathematicaInterface parentCas, Expr mathExpr) : base(parentCas, mathExpr) { }
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)); }
public new static MathematicaMatrix Create(MathematicaInterface parentCas, string mathExprText) { return(new MathematicaMatrix(parentCas, parentCas[mathExprText])); }
public static MathematicaCondition Create(MathematicaInterface parentCas, bool value) { return(new MathematicaCondition(parentCas, value.ToExpr())); }
public static MathematicaExpression Create(MathematicaInterface parentCas, Expr mathExpr) { return(new MathematicaExpression(parentCas, mathExpr)); }
public new static MathematicaCondition Create(MathematicaInterface parentCas, Expr mathExpr) { return(new MathematicaCondition(parentCas, mathExpr)); }
protected MathematicaExpression(MathematicaInterface parentCas, Expr mathExpr) { CasInterface = parentCas; ExpressionId = GetNewExprId(); MathExpr = mathExpr; }
public static MathematicaRule Create(MathematicaInterface parentCas, Expr lhsMathExpr, Expr rhsMathExpr) { var e = parentCas[Mfs.Rule[lhsMathExpr, rhsMathExpr]]; return new MathematicaRule(parentCas, e); }