public bool IsRealConstant() { return(CasInterface.EvalTrueQ( Mfs.And[ Mfs.NumericQ[Expression], Mfs.Element[Expression, DomainSymbols.Reals] ] )); }
public bool IsNonZeroRealConstant() { return(CasInterface.EvalTrueQ( Mfs.And[ Mfs.NumericQ[MathExpr], Mfs.Element[MathExpr, DomainSymbols.Reals], Mfs.Not[Mfs.PossibleZeroQ[MathExpr]] ] )); }
public bool IsOrthogonal() { if (!IsSquare()) { return(false); } var e = Mfs.Equal[Mfs.Dot[MathExpr, Mfs.Transpose[MathExpr]], Mfs.IdentityMatrix[Mfs.Dimensions[MathExpr]]]; return(CasInterface.EvalTrueQ(e)); }
public bool IsDiagonal() { if (!IsSquare()) { return(false); } var e = Mfs.Equal[MathExpr, Mfs.DiagonalMatrix[Mfs.Diagonal[MathExpr]]]; return(CasInterface.EvalTrueQ(e)); }
public bool IsIdentity() { if (!IsSquare()) { return(false); } var e = Mfs.Equal[MathExpr, Mfs.IdentityMatrix[Mfs.Dimensions[MathExpr]]]; return(CasInterface.EvalTrueQ(e)); }
public bool IsInvertable() { return(IsSquare() && CasInterface.EvalFalseQ(Mfs.PossibleZeroQ[Mfs.Det[MathExpr]])); }
public bool IsSymmetric() { return(IsSquare() && CasInterface.EvalTrueQ(Mfs.SymmetricMatrixQ[MathExpr])); }
public bool IsZero() { var e = Mfs.Apply[Mfs.And.MathExpr, Mfs.Flatten[Mfs.PossibleZeroQ[MathExpr]]]; return(CasInterface.EvalTrueQ(e)); }
public bool IsConstant() { return(CasInterface.EvalTrueQ(Mfs.NumericQ[MathExpr])); }
//TODO: Add more overloads to accept integers public bool IsEqualScalar(MathematicaScalar expr) { return(CasInterface.EvalTrueQ(Mfs.Equal[MathExpr, expr.MathExpr])); }
public bool IsPossibleScalar(MathematicaScalar expr) { return(CasInterface.EvalIsTrue(Mfs.PossibleZeroQ[Mfs.Subtract[MathExpr, expr.MathExpr]])); }
public bool IsEqualZero() { return(CasInterface.EvalTrueQ(Mfs.Equal[MathExpr, CasConstants.ExprZero])); }
public bool IsPossibleZero() { return(CasInterface.EvalIsTrue(Mfs.PossibleZeroQ[MathExpr])); }
public bool IsConstant() { return(CasInterface.EvalTrueQ(Mfs.NumericQ[Expression])); }
//TODO: Add more overloads to accept integers public bool IsEqualScalar(MathematicaScalar expr) { return(CasInterface.EvalTrueQ(Mfs.Equal[Expression, expr.Expression])); }