Packages

c

edu.cmu.cs.ls.keymaerax.tools.ext

MathematicaAlgebraTool

class MathematicaAlgebraTool extends BaseKeYmaeraMathematicaBridge[KExpr] with AlgebraTool

A link to Mathematica using the JLink interface.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MathematicaAlgebraTool
  2. AlgebraTool
  3. ToolInterface
  4. BaseKeYmaeraMathematicaBridge
  5. KeYmaeraMathematicaBridge
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MathematicaAlgebraTool(link: MathematicaLink)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val DEBUG: Boolean
    Attributes
    protected
    Definition Classes
    BaseKeYmaeraMathematicaBridge
  5. val MEMORY_LIMIT_OFF: Long

    Default memory limit: no limit.

    Default memory limit: no limit.

    Definition Classes
    BaseKeYmaeraMathematicaBridge
  6. val TIMEOUT_OFF: Int

    Default timeout for Mathematica requests: no timeout.

    Default timeout for Mathematica requests: no timeout.

    Definition Classes
    BaseKeYmaeraMathematicaBridge
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def availableWorkers: Int
  9. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def groebnerBasis(polynomials: List[Term]): List[Term]

    Computes the Gröbner Basis of the given set of polynomials (with respect to some fixed monomial order).

    Computes the Gröbner Basis of the given set of polynomials (with respect to some fixed monomial order). Gröbner Bases can be made unique for the fixed monomial order, when reduced, modulo scaling by constants.

    returns

    The Gröbner Basis of polynomials. The Gröbner Basis spans the same ideal as polynomials but has unique remainders of polynomialReduce.

    Definition Classes
    MathematicaAlgebraToolAlgebraTool
    See also

    polynomialReduce()

    https://lfcps.org/orbital/Orbital-doc/api/orbital/math/AlgebraicAlgorithms.html#groebnerBasis(java.util.Set,%20java.util.Comparator)

  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def init(): Boolean
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. val k2m: K2MConverter[KExpr]
  19. val link: MathematicaLink
  20. val m2k: M2KConverter[KExpr]
  21. var mathematicaExecutor: ToolExecutor
    Attributes
    protected
    Definition Classes
    BaseKeYmaeraMathematicaBridge
  22. def memoryConstrained(cmd: String): String
    Attributes
    protected
    Definition Classes
    BaseKeYmaeraMathematicaBridge
  23. def memoryConstrained(cmd: MExpr): MExpr
    Attributes
    protected
    Definition Classes
    BaseKeYmaeraMathematicaBridge
  24. var memoryLimit: Long

    Memory limit for Mathematica requests in MB, set to MEMORY_LIMIT_OFF to disable.

    Memory limit for Mathematica requests in MB, set to MEMORY_LIMIT_OFF to disable.

    Definition Classes
    BaseKeYmaeraMathematicaBridge
  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. def polynomialReduce(polynomial: Term, GB: List[Term]): (List[Term], Term)

    Computes the multivariate polynomial reduction of polynomial divided with respect to the set of polynomials GB, which is guaranteed to be unique iff GB is a Gröbner basis.

    Computes the multivariate polynomial reduction of polynomial divided with respect to the set of polynomials GB, which is guaranteed to be unique iff GB is a Gröbner basis. Returns the list of cofactors and the remainder. Repeatedly divides the leading term of polynomial by a corresponding multiple of a polynomial of GB while possible. Each individual reduction divides the leading term of polynomial by the required multiple of the leading term of the polynomial of GB such that those cancel. Let l(p) be the leading monomial of p and lc(p) its leading coefficient. Then each round of reduction of p:=polynomial with leading term l*X^v picks a polynomial g in GB and turns it into

    p := p - l/lc(g) * X^v/l(g) * g

    alias

    p := p - (l/(lc(g) * l(g)))*X^v  * g

    The former leading monomial X^v no longer occurs in the resulting polynomial and p got smaller or is now 0. To determine leading terms, polynomial reduction uses the same fixed monomial order that groeberBasis() uses. The remainders will be unique (independent of the order of divisions) iff GB is a Gröbner Basis.

    polynomial

    the multivariate polynomial to divide by the elements of GB until saturation.

    GB

    the set of multivariate polynomials that polynomial will repeatedly be divided by. The result of this algorithm is particularly insightful (and has unique remainders) if GB is a Gröbner Basis.

    returns

    (coeff, rem) where rem is the result of multivariate polynomial division of polynomial by GB and coeff are the respective coefficients of the polynomials in GB that explain the result. That is

    polynomial == coeff(1)*GB(1) + coeff(2)*GB(2) + ... + coeff(n)*GB(n) + rem

    alias

    rem == polynomial - coeff(1)*GB(1) - coeff(2)*GB(2) - ... - coeff(n)*GB(n)

    In addition, the remainder rem is small in that its leading monomial cannot be divided by leading monomials of any polynomial in GB. The result rem is unique when GB is a Gröbner Basis.

    Definition Classes
    MathematicaAlgebraToolAlgebraTool
    Example:
    1. polynomialReduce("y^3 + 2*x^2*y".asTerm, List("x^2-y".asTerm, "y^2+5".asTerm)) = ((2*y :: 2 + y), -5*y-10)
      // because y^3 + 2*x^2*y == (2*y) * (x^2-y) + (2+y) * (y^2+5) + (-5*y-10)
    See also

    groebnerBasis()

  29. def quotientRemainder(term: Term, div: Term, x: Variable): (Term, Term)

    Computes the quotient and remainder of term divided by div.

    Computes the quotient and remainder of term divided by div.

    term

    the polynomial term to divide, considered as a univariate polynomial in variable v with coefficients that may have other variables.

    div

    the polynomial term to divide term by, considered as a univariate polynomial in variable v with coefficients that may have other variables.

    Definition Classes
    MathematicaAlgebraToolAlgebraTool
    Example:
    1. quotientRemainder("6*x^2+4*x+8".asTerm, "2*x".asTerm, Variable("x")) == (3*x+2, 8)
      // because (6*x^2+4*x+8) == (3*x+2) * (2*x) + 8
      // so the result of division is 3*x+2 with remainder 8
  30. def run(cmd: MExpr): (String, KExpr)

    Runs Mathematica command cmd, with Mathematica exception checking.

    Runs Mathematica command cmd, with Mathematica exception checking.

    Definition Classes
    BaseKeYmaeraMathematicaBridgeKeYmaeraMathematicaBridge
  31. def runUnchecked(cmd: String): (String, KExpr)

    Runs Mathematica command cmd without safeguarding by exception checking for Mathematica results.

    Runs Mathematica command cmd without safeguarding by exception checking for Mathematica results.

    Definition Classes
    BaseKeYmaeraMathematicaBridgeKeYmaeraMathematicaBridge
  32. def shutdown(): Unit
  33. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  34. def timeConstrained(cmd: String): String
    Attributes
    protected
    Definition Classes
    BaseKeYmaeraMathematicaBridge
  35. def timeConstrained(cmd: MExpr): MExpr
    Attributes
    protected
    Definition Classes
    BaseKeYmaeraMathematicaBridge
  36. var timeout: Int

    Timeout for Mathematica requests in seconds, set to TIMEOUT_OFF to disable.

    Timeout for Mathematica requests in seconds, set to TIMEOUT_OFF to disable.

    Definition Classes
    BaseKeYmaeraMathematicaBridge
  37. def toString(): String
    Definition Classes
    AnyRef → Any
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AlgebraTool

Inherited from ToolInterface

Inherited from AnyRef

Inherited from Any

Ungrouped