LaTeX to CAS translator

Jump to navigation Jump to search

This mockup demonstrates the concept of TeX to Computer Algebra System (CAS) conversion.

The demo-application converts LaTeX functions which directly translate to CAS counterparts.

Functions without explicit CAS support are available for translation via a DRMF package (under development).

The following LaTeX input ...

{\displaystyle \frac{1+zf(z)}{1-zf(z)}=F(z)=\int\frac{e^{i\theta}+z}{e^{i\theta}-z}d\mu.}

... is translated to the CAS output ...

Semantic latex: \frac{1+zf(z)}{1-zf(z)} = F(z) = \int \frac{\expe^{\iunit \theta} + z}{\expe^{\iunit \theta} - z} \diff{\mu}

Confidence: 0

Mathematica

Translation: Divide[1 + zf[z],1 - zf[z]] == F[z] == Integrate[Divide[Exp[I*\[Theta]]+ z,Exp[I*\[Theta]]- z], \[Mu], GenerateConditions->None]

Information

Sub Equations

  • Divide[1 + zf[z],1 - zf[z]] = F[z]
  • F[z] = Integrate[Divide[Exp[I*\[Theta]]+ z,Exp[I*\[Theta]]- z], \[Mu], GenerateConditions->None]

Free variables

  • \[Theta]
  • z

Symbol info

  • Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
  • Recognizes e with power as the exponential function. It was translated as a function.
  • Imaginary unit was translated to: I
  • Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).

Tests

Symbolic

Test expression: (Divide[1 + z*f*(z),1 - z*f*(z)])-(F*(z))

ERROR:

{
    "result": "ERROR",
    "testTitle": "Simple",
    "testExpression": null,
    "resultExpression": null,
    "wasAborted": false,
    "conditionallySuccessful": false
}

Test expression: (F*(z))-(Integrate[Divide[Exp[I*\[Theta]]+ z,Exp[I*\[Theta]]- z], \[Mu], GenerateConditions->None])

ERROR:

{
    "result": "ERROR",
    "testTitle": "Simple",
    "testExpression": null,
    "resultExpression": null,
    "wasAborted": false,
    "conditionallySuccessful": false
}
Numeric

SymPy

Translation: (1 + zf(z))/(1 - zf(z)) == F(z) == integrate((exp(I*Symbol('theta'))+ z)/(exp(I*Symbol('theta'))- z), Symbol('mu'))

Information

Sub Equations

  • (1 + zf(z))/(1 - zf(z)) = F(z)
  • F(z) = integrate((exp(I*Symbol('theta'))+ z)/(exp(I*Symbol('theta'))- z), Symbol('mu'))

Free variables

  • Symbol('theta')
  • z

Symbol info

  • Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
  • Recognizes e with power as the exponential function. It was translated as a function.
  • Imaginary unit was translated to: I
  • Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).

Tests

Symbolic
Numeric

Maple

Translation: (1 + zf(z))/(1 - zf(z)) = F(z) = int((exp(I*theta)+ z)/(exp(I*theta)- z), mu)

Information

Sub Equations

  • (1 + zf(z))/(1 - zf(z)) = F(z)
  • F(z) = int((exp(I*theta)+ z)/(exp(I*theta)- z), mu)

Free variables

  • theta
  • z

Symbol info

  • Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
  • Recognizes e with power as the exponential function. It was translated as a function.
  • Imaginary unit was translated to: I
  • Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).

Tests

Symbolic
Numeric

Dependency Graph Information

Includes

Description

  • equation
  • Schur parameter of the function
  • Verblunsky coefficient of the measure
  • Geronimus 's theorem

Complete translation information:

{
  "id" : "FORMULA_252126e9db9ad369a9b611c47cd6107a",
  "formula" : "\\frac{1+zf(z)}{1-zf(z)}=F(z)=\\int\\frac{e^{i\\theta}+z}{e^{i\\theta}-z}d\\mu",
  "semanticFormula" : "\\frac{1+zf(z)}{1-zf(z)} = F(z) = \\int \\frac{\\expe^{\\iunit \\theta} + z}{\\expe^{\\iunit \\theta} - z} \\diff{\\mu}",
  "confidence" : 0.0,
  "translations" : {
    "Mathematica" : {
      "translation" : "Divide[1 + zf[z],1 - zf[z]] == F[z] == Integrate[Divide[Exp[I*\\[Theta]]+ z,Exp[I*\\[Theta]]- z], \\[Mu], GenerateConditions->None]",
      "translationInformation" : {
        "subEquations" : [ "Divide[1 + zf[z],1 - zf[z]] = F[z]", "F[z] = Integrate[Divide[Exp[I*\\[Theta]]+ z,Exp[I*\\[Theta]]- z], \\[Mu], GenerateConditions->None]" ],
        "freeVariables" : [ "\\[Theta]", "z" ],
        "tokenTranslations" : {
          "zf" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary).",
          "\\expe" : "Recognizes e with power as the exponential function. It was translated as a function.",
          "\\iunit" : "Imaginary unit was translated to: I",
          "F" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary)."
        }
      },
      "numericResults" : {
        "overallResult" : "SKIPPED",
        "numberOfTests" : 0,
        "numberOfFailedTests" : 0,
        "numberOfSuccessfulTests" : 0,
        "numberOfSkippedTests" : 0,
        "numberOfErrorTests" : 0,
        "wasAborted" : false,
        "crashed" : false,
        "testCalculationsGroups" : [ ]
      },
      "symbolicResults" : {
        "overallResult" : "ERROR",
        "numberOfTests" : 2,
        "numberOfFailedTests" : 0,
        "numberOfSuccessfulTests" : 0,
        "numberOfSkippedTests" : 0,
        "numberOfErrorTests" : 2,
        "crashed" : false,
        "testCalculationsGroup" : [ {
          "lhs" : "Divide[1 + z*f*(z),1 - z*f*(z)]",
          "rhs" : "F*(z)",
          "testExpression" : "(Divide[1 + z*f*(z),1 - z*f*(z)])-(F*(z))",
          "testCalculations" : [ {
            "result" : "ERROR",
            "testTitle" : "Simple",
            "testExpression" : null,
            "resultExpression" : null,
            "wasAborted" : false,
            "conditionallySuccessful" : false
          } ]
        }, {
          "lhs" : "F*(z)",
          "rhs" : "Integrate[Divide[Exp[I*\\[Theta]]+ z,Exp[I*\\[Theta]]- z], \\[Mu], GenerateConditions->None]",
          "testExpression" : "(F*(z))-(Integrate[Divide[Exp[I*\\[Theta]]+ z,Exp[I*\\[Theta]]- z], \\[Mu], GenerateConditions->None])",
          "testCalculations" : [ {
            "result" : "ERROR",
            "testTitle" : "Simple",
            "testExpression" : null,
            "resultExpression" : null,
            "wasAborted" : false,
            "conditionallySuccessful" : false
          } ]
        } ]
      }
    },
    "SymPy" : {
      "translation" : "(1 + zf(z))/(1 - zf(z)) == F(z) == integrate((exp(I*Symbol('theta'))+ z)/(exp(I*Symbol('theta'))- z), Symbol('mu'))",
      "translationInformation" : {
        "subEquations" : [ "(1 + zf(z))/(1 - zf(z)) = F(z)", "F(z) = integrate((exp(I*Symbol('theta'))+ z)/(exp(I*Symbol('theta'))- z), Symbol('mu'))" ],
        "freeVariables" : [ "Symbol('theta')", "z" ],
        "tokenTranslations" : {
          "zf" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary).",
          "\\expe" : "Recognizes e with power as the exponential function. It was translated as a function.",
          "\\iunit" : "Imaginary unit was translated to: I",
          "F" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary)."
        }
      }
    },
    "Maple" : {
      "translation" : "(1 + zf(z))/(1 - zf(z)) = F(z) = int((exp(I*theta)+ z)/(exp(I*theta)- z), mu)",
      "translationInformation" : {
        "subEquations" : [ "(1 + zf(z))/(1 - zf(z)) = F(z)", "F(z) = int((exp(I*theta)+ z)/(exp(I*theta)- z), mu)" ],
        "freeVariables" : [ "theta", "z" ],
        "tokenTranslations" : {
          "zf" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary).",
          "\\expe" : "Recognizes e with power as the exponential function. It was translated as a function.",
          "\\iunit" : "Imaginary unit was translated to: I",
          "F" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary)."
        }
      }
    }
  },
  "positions" : [ {
    "section" : 4,
    "sentence" : 0,
    "word" : 24
  } ],
  "includes" : [ "\\mu" ],
  "isPartOf" : [ ],
  "definiens" : [ {
    "definition" : "equation",
    "score" : 0.722
  }, {
    "definition" : "Schur parameter of the function",
    "score" : 0.6460746792928004
  }, {
    "definition" : "Verblunsky coefficient of the measure",
    "score" : 0.5988174995334326
  }, {
    "definition" : "Geronimus 's theorem",
    "score" : 0.5049074255814494
  } ]
}

Specify your own input