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 \alpha}

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

Semantic latex: \alpha

Confidence: 0

Mathematica

Translation: \[Alpha]

Information

Sub Equations

  • \[Alpha]

Free variables

  • \[Alpha]

Symbol info

  • Could be the second Feigenbaum constant.

But this system doesn't know how to translate it as a constant. It was translated as a general letter.

Tests

Symbolic
Numeric

SymPy

Translation: Symbol('alpha')

Information

Sub Equations

  • Symbol('alpha')

Free variables

  • Symbol('alpha')

Symbol info

  • Could be the second Feigenbaum constant.

But this system doesn't know how to translate it as a constant. It was translated as a general letter.

Tests

Symbolic
Numeric

Maple

Translation: alpha

Information

Sub Equations

  • alpha

Free variables

  • alpha

Symbol info

  • Could be the second Feigenbaum constant.

But this system doesn't know how to translate it as a constant. It was translated as a general letter.

Tests

Symbolic
Numeric

Dependency Graph Information

Is part of

Description

  • free variable in the expression
  • LaCASt
  • equation
  • article
  • value
  • example
  • maple
  • next equation in the same article
  • different variant
  • hypergeometric function in entry
  • part
  • test calculation
  • Jacobi polynomial
  • introduction
  • context of Jacobi polynomial
  • other MOI
  • Pochhammer 's symbol
  • value on the real axis
  • variable in the expression
  • counterexample
  • comma
  • dependency graph from Jacobi polynomial
  • entire equation
  • value in the figure
  • ingoing dependency
  • argument
  • case of the Jacobi polynomial
  • Continuous q-Laguerre polynomial
  • definition
  • editor of the Wikipedia article
  • example of the definition
  • hypergeometric function
  • outgoing dependency
  • case
  • Jacobi polynomial in arxiv.org
  • part of any other MOI
  • right

Complete translation information:

{
  "id" : "FORMULA_7b7f9dbfea05c83784f8b85149852f08",
  "formula" : "\\alpha",
  "semanticFormula" : "\\alpha",
  "confidence" : 0.0,
  "translations" : {
    "Mathematica" : {
      "translation" : "\\[Alpha]",
      "translationInformation" : {
        "subEquations" : [ "\\[Alpha]" ],
        "freeVariables" : [ "\\[Alpha]" ],
        "tokenTranslations" : {
          "\\alpha" : "Could be the second Feigenbaum constant.\nBut this system doesn't know how to translate it as a constant. It was translated as a general letter.\n"
        }
      },
      "numericResults" : {
        "overallResult" : "SKIPPED",
        "numberOfTests" : 0,
        "numberOfFailedTests" : 0,
        "numberOfSuccessfulTests" : 0,
        "numberOfSkippedTests" : 0,
        "numberOfErrorTests" : 0,
        "wasAborted" : false,
        "crashed" : false,
        "testCalculationsGroups" : [ ]
      },
      "symbolicResults" : {
        "overallResult" : "SKIPPED",
        "numberOfTests" : 0,
        "numberOfFailedTests" : 0,
        "numberOfSuccessfulTests" : 0,
        "numberOfSkippedTests" : 0,
        "numberOfErrorTests" : 0,
        "crashed" : false,
        "testCalculationsGroup" : [ ]
      }
    },
    "SymPy" : {
      "translation" : "Symbol('alpha')",
      "translationInformation" : {
        "subEquations" : [ "Symbol('alpha')" ],
        "freeVariables" : [ "Symbol('alpha')" ],
        "tokenTranslations" : {
          "\\alpha" : "Could be the second Feigenbaum constant.\nBut this system doesn't know how to translate it as a constant. It was translated as a general letter.\n"
        }
      },
      "numericResults" : {
        "overallResult" : "SKIPPED",
        "numberOfTests" : 0,
        "numberOfFailedTests" : 0,
        "numberOfSuccessfulTests" : 0,
        "numberOfSkippedTests" : 0,
        "numberOfErrorTests" : 0,
        "wasAborted" : false,
        "crashed" : false,
        "testCalculationsGroups" : [ ]
      },
      "symbolicResults" : {
        "overallResult" : "SKIPPED",
        "numberOfTests" : 0,
        "numberOfFailedTests" : 0,
        "numberOfSuccessfulTests" : 0,
        "numberOfSkippedTests" : 0,
        "numberOfErrorTests" : 0,
        "crashed" : false,
        "testCalculationsGroup" : [ ]
      }
    },
    "Maple" : {
      "translation" : "alpha",
      "translationInformation" : {
        "subEquations" : [ "alpha" ],
        "freeVariables" : [ "alpha" ],
        "tokenTranslations" : {
          "\\alpha" : "Could be the second Feigenbaum constant.\nBut this system doesn't know how to translate it as a constant. It was translated as a general letter.\n"
        }
      },
      "numericResults" : {
        "overallResult" : "SKIPPED",
        "numberOfTests" : 0,
        "numberOfFailedTests" : 0,
        "numberOfSuccessfulTests" : 0,
        "numberOfSkippedTests" : 0,
        "numberOfErrorTests" : 0,
        "wasAborted" : false,
        "crashed" : false,
        "testCalculationsGroups" : [ ]
      },
      "symbolicResults" : {
        "overallResult" : "SKIPPED",
        "numberOfTests" : 0,
        "numberOfFailedTests" : 0,
        "numberOfSuccessfulTests" : 0,
        "numberOfSkippedTests" : 0,
        "numberOfErrorTests" : 0,
        "crashed" : false,
        "testCalculationsGroup" : [ ]
      }
    }
  },
  "positions" : [ {
    "section" : 6,
    "sentence" : 38,
    "word" : 11
  }, {
    "section" : 7,
    "sentence" : 46,
    "word" : 21
  }, {
    "section" : 7,
    "sentence" : 51,
    "word" : 20
  } ],
  "includes" : [ ],
  "isPartOf" : [ "P_n^{(\\alpha,\\beta)}(z)", "P_n^{(\\alpha,\\beta)}(x)", "P_n^{(\\alpha,\\beta)}(z)=\\frac{(\\alpha+1)_n}{n!}\\,{}_2F_1\\left(-n,1+\\alpha+\\beta+n;\\alpha+1;\\tfrac{1}{2}(1-z)\\right)", "(\\alpha+1)_n", "P_n^{(\\alpha,\\beta)} (z) = \\frac{\\Gamma (\\alpha+n+1)}{n!\\Gamma (\\alpha+\\beta+n+1)} \\sum_{m=0}^n \\binom{n}{m} \\frac{\\Gamma (\\alpha + \\beta + n + m + 1)}{\\Gamma (\\alpha + m + 1)} \\left(\\frac{z-1}{2}\\right)^m", "P_n^{(\\alpha,\\beta)}(z)=\\frac{(\\alpha+1)_n}{n!}{}_2F_1\\left(-n,1+\\alpha+\\beta+n;\\alpha+1;\\tfrac{1}{2}(1-z)\\right)", "\\alpha = \\frac{3}{2}, \\beta = \\frac{3}{2}, n = 2, z = -\\frac{1}{2}+\\frac{\\sqrt{3i}}{2}", "\\alpha, \\beta", "

to avoid the problem with the leading underscore. Hence, our extracted formula was not complete and missed the second half of the expression.\n\n:

<math>P_{n}^{(\\alpha)}(x|q)=\\frac{(q^\\alpha+1;q)_{n}}{(q;q)_{n}}", "_{3}\\Phi_{2}(q^{-n},q^{\\alpha/2+1/4}e^{i\\theta},q^{\\alpha/2+1/4}*e^{-i\\theta};q^{\\alpha+1},0|q,q)", "{}_1F_2 \\left (1,\\tfrac{3}{2}, \\alpha+\\tfrac{3}{2},-\\tfrac{z^2}{4} \\right )", "P_n^{(\\alpha, \\beta)}(x)" ],
  "definiens" : [ {
    "definition" : "free variable in the expression",
    "score" : 0.6868127962055571
  }, {
    "definition" : "LaCASt",
    "score" : 0.6832128166678701
  }, {
    "definition" : "equation",
    "score" : 0.47302923924385665
  }, {
    "definition" : "article",
    "score" : 0.43192078100150877
  }, {
    "definition" : "value",
    "score" : 0.39003297808777854
  }, {
    "definition" : "example",
    "score" : 0.34367477537222385
  }, {
    "definition" : "maple",
    "score" : 0.34367477537222385
  }, {
    "definition" : "next equation in the same article",
    "score" : 0.34300328264235563
  }, {
    "definition" : "different variant",
    "score" : 0.3430032723960334
  }, {
    "definition" : "hypergeometric function in entry",
    "score" : 0.3430032723960334
  }, {
    "definition" : "part",
    "score" : 0.3430032723960334
  }, {
    "definition" : "test calculation",
    "score" : 0.31698488450476003
  }, {
    "definition" : "Jacobi polynomial",
    "score" : 0.31685382325256645
  }, {
    "definition" : "introduction",
    "score" : 0.316314146497048
  }, {
    "definition" : "context of Jacobi polynomial",
    "score" : 0.3163133815285695
  }, {
    "definition" : "other MOI",
    "score" : 0.3163133815285695
  }, {
    "definition" : "Pochhammer 's symbol",
    "score" : 0.3163133815285695
  }, {
    "definition" : "value on the real axis",
    "score" : 0.3163133815285695
  }, {
    "definition" : "variable in the expression",
    "score" : 0.3163133815285695
  }, {
    "definition" : "counterexample",
    "score" : 0.2764794514438846
  }, {
    "definition" : "comma",
    "score" : 0.27647944119756235
  }, {
    "definition" : "dependency graph from Jacobi polynomial",
    "score" : 0.27647944119756235
  }, {
    "definition" : "entire equation",
    "score" : 0.27647944119756235
  }, {
    "definition" : "value in the figure",
    "score" : 0.27647944119756235
  }, {
    "definition" : "ingoing dependency",
    "score" : 0.2292230264066729
  }, {
    "definition" : "argument",
    "score" : 0.2292222614381945
  }, {
    "definition" : "case of the Jacobi polynomial",
    "score" : 0.2292222614381945
  }, {
    "definition" : "Continuous q-Laguerre polynomial",
    "score" : 0.2292222614381945
  }, {
    "definition" : "definition",
    "score" : 0.2292222614381945
  }, {
    "definition" : "editor of the Wikipedia article",
    "score" : 0.2292222614381945
  }, {
    "definition" : "example of the definition",
    "score" : 0.2292222614381945
  }, {
    "definition" : "hypergeometric function",
    "score" : 0.2292222614381945
  }, {
    "definition" : "outgoing dependency",
    "score" : 0.2292222614381945
  }, {
    "definition" : "case",
    "score" : 0.1805
  }, {
    "definition" : "Jacobi polynomial in arxiv.org",
    "score" : 0.1805
  }, {
    "definition" : "part of any other MOI",
    "score" : 0.1805
  }, {
    "definition" : "right",
    "score" : 0.1805
  } ]
}

Specify your own input