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 \exp \left[\sum_{k=2}^\infty (-1)^k\frac{\zeta(k)}{k+1}z^{k+1} \right] = \prod_{k=1}^{\infty} \left\{ \left(1+\frac{z}{k}\right)^k \exp \left(\frac{z^2}{2k}-z\right) \right\}}

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

Semantic latex: \exp [\sum_{k=2}^\infty(- 1)^k \frac{\Riemannzeta@{k}}{k+1} z^{k+1}] = \prod_{k=1}^{\infty} \{(1 + \frac{z}{k})^k \exp(\frac{z^2}{2k} - z) \}

Confidence: 0.6805

Mathematica

Translation: Exp[(Sum[(- 1)^(k)*Divide[Zeta[k],k + 1]*(z)^(k + 1), {k, 2, Infinity}, GenerateConditions->None]) ] == Product[(1 +Divide[z,k])^(k)* Exp[Divide[(z)^(2),2*k]- z], {k, 1, Infinity}, GenerateConditions->None]

Information

Sub Equations

  • Exp[(Sum[(- 1)^(k)*Divide[Zeta[k],k + 1]*(z)^(k + 1), {k, 2, Infinity}, GenerateConditions->None]) ] = Product[(1 +Divide[z,k])^(k)* Exp[Divide[(z)^(2),2*k]- z], {k, 1, Infinity}, GenerateConditions->None]

Free variables

  • z

Symbol info

  • Exponential function; Example: \exp@@{z}

Will be translated to: Exp[$0] Relevant links to definitions: DLMF: http://dlmf.nist.gov/4.2#E19 Mathematica: https://reference.wolfram.com/language/ref/Exp.html

  • Riemann zeta function; Example: \Riemannzeta@{s}

Will be translated to: Zeta[$0] Relevant links to definitions: DLMF: http://dlmf.nist.gov/25.2#E1 Mathematica: https://reference.wolfram.com/language/ref/Zeta.html

Tests

Symbolic

Test expression: (Exp[(Sum[(- 1)^(k)*Divide[Zeta[k],k + 1]*(z)^(k + 1), {k, 2, Infinity}, GenerateConditions->None]) ])-(Product[(1 +Divide[z,k])^(k)* Exp[Divide[(z)^(2),2*k]- z], {k, 1, Infinity}, GenerateConditions->None])

ERROR:

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

SymPy

Translation:

Information

Symbol info

  • (LaTeX -> SymPy) No translation possible for given token: Cannot extract information from feature set: \Riemannzeta [\Riemannzeta]

Tests

Symbolic
Numeric

Maple

Translation: exp((sum((- 1)^(k)*(Zeta(k))/(k + 1)*(z)^(k + 1), k = 2..infinity)) ) = product((1 +(z)/(k))^(k)* exp(((z)^(2))/(2*k)- z), k = 1..infinity)

Information

Sub Equations

  • exp((sum((- 1)^(k)*(Zeta(k))/(k + 1)*(z)^(k + 1), k = 2..infinity)) ) = product((1 +(z)/(k))^(k)* exp(((z)^(2))/(2*k)- z), k = 1..infinity)

Free variables

  • z

Symbol info

  • Exponential function; Example: \exp@@{z}

Will be translated to: exp($0) Relevant links to definitions: DLMF: http://dlmf.nist.gov/4.2#E19 Maple: https://www.maplesoft.com/support/help/Maple/view.aspx?path=LinearAlgebra/Trace

  • Riemann zeta function; Example: \Riemannzeta@{s}

Will be translated to: Zeta($0) Relevant links to definitions: DLMF: http://dlmf.nist.gov/25.2#E1 Maple: https://www.maplesoft.com/support/help/maple/view.aspx?path=Zeta

Tests

Symbolic
Numeric

Dependency Graph Information

Includes

Description

  • relation
  • side of the Taylor expansion
  • Weierstrass product form of the Barnes function

Complete translation information:

{
  "id" : "FORMULA_ce1cdd85f8d4af37e61d0c1d27be3a4a",
  "formula" : "\\exp \\left[\\sum_{k=2}^\\infty (-1)^k\\frac{\\zeta(k)}{k+1}z^{k+1} \\right] = \\prod_{k=1}^{\\infty} \\left\\{ \\left(1+\\frac{z}{k}\\right)^k \\exp \\left(\\frac{z^2}{2k}-z\\right) \\right\\}",
  "semanticFormula" : "\\exp [\\sum_{k=2}^\\infty(- 1)^k \\frac{\\Riemannzeta@{k}}{k+1} z^{k+1}] = \\prod_{k=1}^{\\infty} \\{(1 + \\frac{z}{k})^k \\exp(\\frac{z^2}{2k} - z) \\}",
  "confidence" : 0.6805,
  "translations" : {
    "Mathematica" : {
      "translation" : "Exp[(Sum[(- 1)^(k)*Divide[Zeta[k],k + 1]*(z)^(k + 1), {k, 2, Infinity}, GenerateConditions->None]) ] == Product[(1 +Divide[z,k])^(k)* Exp[Divide[(z)^(2),2*k]- z], {k, 1, Infinity}, GenerateConditions->None]",
      "translationInformation" : {
        "subEquations" : [ "Exp[(Sum[(- 1)^(k)*Divide[Zeta[k],k + 1]*(z)^(k + 1), {k, 2, Infinity}, GenerateConditions->None]) ] = Product[(1 +Divide[z,k])^(k)* Exp[Divide[(z)^(2),2*k]- z], {k, 1, Infinity}, GenerateConditions->None]" ],
        "freeVariables" : [ "z" ],
        "tokenTranslations" : {
          "\\exp" : "Exponential function; Example: \\exp@@{z}\nWill be translated to: Exp[$0]\nRelevant links to definitions:\nDLMF:         http://dlmf.nist.gov/4.2#E19\nMathematica:  https://reference.wolfram.com/language/ref/Exp.html",
          "\\Riemannzeta" : "Riemann zeta function; Example: \\Riemannzeta@{s}\nWill be translated to: Zeta[$0]\nRelevant links to definitions:\nDLMF:         http://dlmf.nist.gov/25.2#E1\nMathematica:  https://reference.wolfram.com/language/ref/Zeta.html"
        }
      },
      "numericResults" : {
        "overallResult" : "SKIPPED",
        "numberOfTests" : 0,
        "numberOfFailedTests" : 0,
        "numberOfSuccessfulTests" : 0,
        "numberOfSkippedTests" : 0,
        "numberOfErrorTests" : 0,
        "wasAborted" : false,
        "crashed" : false,
        "testCalculationsGroups" : [ ]
      },
      "symbolicResults" : {
        "overallResult" : "ERROR",
        "numberOfTests" : 1,
        "numberOfFailedTests" : 0,
        "numberOfSuccessfulTests" : 0,
        "numberOfSkippedTests" : 0,
        "numberOfErrorTests" : 1,
        "crashed" : false,
        "testCalculationsGroup" : [ {
          "lhs" : "Exp[(Sum[(- 1)^(k)*Divide[Zeta[k],k + 1]*(z)^(k + 1), {k, 2, Infinity}, GenerateConditions->None]) ]",
          "rhs" : "Product[(1 +Divide[z,k])^(k)* Exp[Divide[(z)^(2),2*k]- z], {k, 1, Infinity}, GenerateConditions->None]",
          "testExpression" : "(Exp[(Sum[(- 1)^(k)*Divide[Zeta[k],k + 1]*(z)^(k + 1), {k, 2, Infinity}, GenerateConditions->None]) ])-(Product[(1 +Divide[z,k])^(k)* Exp[Divide[(z)^(2),2*k]- z], {k, 1, Infinity}, GenerateConditions->None])",
          "testCalculations" : [ {
            "result" : "ERROR",
            "testTitle" : "Simple",
            "testExpression" : null,
            "resultExpression" : null,
            "wasAborted" : false,
            "conditionallySuccessful" : false
          } ]
        } ]
      }
    },
    "SymPy" : {
      "translation" : "",
      "translationInformation" : {
        "tokenTranslations" : {
          "Error" : "(LaTeX -> SymPy) No translation possible for given token: Cannot extract information from feature set: \\Riemannzeta [\\Riemannzeta]"
        }
      }
    },
    "Maple" : {
      "translation" : "exp((sum((- 1)^(k)*(Zeta(k))/(k + 1)*(z)^(k + 1), k = 2..infinity)) ) = product((1 +(z)/(k))^(k)* exp(((z)^(2))/(2*k)- z), k = 1..infinity)",
      "translationInformation" : {
        "subEquations" : [ "exp((sum((- 1)^(k)*(Zeta(k))/(k + 1)*(z)^(k + 1), k = 2..infinity)) ) = product((1 +(z)/(k))^(k)* exp(((z)^(2))/(2*k)- z), k = 1..infinity)" ],
        "freeVariables" : [ "z" ],
        "tokenTranslations" : {
          "\\exp" : "Exponential function; Example: \\exp@@{z}\nWill be translated to: exp($0)\nRelevant links to definitions:\nDLMF:  http://dlmf.nist.gov/4.2#E19\nMaple: https://www.maplesoft.com/support/help/Maple/view.aspx?path=LinearAlgebra/Trace",
          "\\Riemannzeta" : "Riemann zeta function; Example: \\Riemannzeta@{s}\nWill be translated to: Zeta($0)\nRelevant links to definitions:\nDLMF:  http://dlmf.nist.gov/25.2#E1\nMaple: https://www.maplesoft.com/support/help/maple/view.aspx?path=Zeta"
        }
      }
    }
  },
  "positions" : [ {
    "section" : 5,
    "sentence" : 3,
    "word" : 26
  } ],
  "includes" : [ "z", "\\, \\zeta(x)" ],
  "isPartOf" : [ ],
  "definiens" : [ {
    "definition" : "relation",
    "score" : 0.7125985104912714
  }, {
    "definition" : "side of the Taylor expansion",
    "score" : 0.5500952380952381
  }, {
    "definition" : "Weierstrass product form of the Barnes function",
    "score" : 0.5500952380952381
  } ]
}

Specify your own input