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 G_{p,q}^{\,m,n} \!\left( \left. \begin{matrix} \mathbf{a_p} \\ \mathbf{b_q} \end{matrix} \; \right| \, z \right) = \sum_{h=1}^n \frac{\prod_{j=1}^n \Gamma(a_h - a_j)^* \prod_{j=1}^m \Gamma(1-a_h + b_j) \; z^{a_h-1}} {\prod_{j=n+1}^p \Gamma(1-a_h + a_j) \prod_{j=m+1}^q \Gamma(a_h - b_j)} \times }

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

Semantic latex: G_{p,q}^{m,n}(\left. \begin{matrix} \mathbf{a_p} \\ \mathbf{b_q} \end{matrix}|z) = \sum_{h=1}^n \frac{\prod_{j=1}^n \EulerGamma@{a_h - a_j}^* \prod_{j=1}^m \EulerGamma@{1 - a_h + b_j} z^{a_h-1}}{\prod_{j=n+1}^p \EulerGamma@{1 - a_h + a_j} \prod_{j=m+1}^q \EulerGamma@{a_h - b_j}} \times

Confidence: 0.61230447171371

Mathematica

Translation:

Information

Symbol info

  • (LaTeX -> Mathematica) The current implementation is wrong: Wrong translation method used. You have to specify an open bracket to translate it like a sequence.

Tests

Symbolic
Numeric

SymPy

Translation:

Information

Symbol info

  • (LaTeX -> SymPy) The current implementation is wrong: Wrong translation method used. You have to specify an open bracket to translate it like a sequence.

Tests

Symbolic
Numeric

Maple

Translation:

Information

Symbol info

  • (LaTeX -> Maple) The current implementation is wrong: Wrong translation method used. You have to specify an open bracket to translate it like a sequence.

Tests

Symbolic
Numeric

Dependency Graph Information

Includes

Complete translation information:

{
  "id" : "FORMULA_c489f24ffea600c7d3ddf406f98e5502",
  "formula" : "G_{p,q}^{m,n} \\left( \\left. \\begin{matrix} \\mathbf{a_p} \\\\ \\mathbf{b_q} \\end{matrix}  \\right|  z \\right) = \\sum_{h=1}^n \\frac{\\prod_{j=1}^n \\Gamma(a_h - a_j)^* \\prod_{j=1}^m \\Gamma(1-a_h + b_j)  z^{a_h-1}} {\\prod_{j=n+1}^p \\Gamma(1-a_h + a_j) \\prod_{j=m+1}^q \\Gamma(a_h - b_j)} \\times",
  "semanticFormula" : "G_{p,q}^{m,n}(\\left. \\begin{matrix} \\mathbf{a_p} \\\\ \\mathbf{b_q} \\end{matrix}|z) = \\sum_{h=1}^n \\frac{\\prod_{j=1}^n \\EulerGamma@{a_h - a_j}^* \\prod_{j=1}^m \\EulerGamma@{1 - a_h + b_j} z^{a_h-1}}{\\prod_{j=n+1}^p \\EulerGamma@{1 - a_h + a_j} \\prod_{j=m+1}^q \\EulerGamma@{a_h - b_j}} \\times",
  "confidence" : 0.612304471713709,
  "translations" : {
    "Mathematica" : {
      "translation" : "",
      "translationInformation" : {
        "tokenTranslations" : {
          "Error" : "(LaTeX -> Mathematica) The current implementation is wrong: Wrong translation method used. You have to specify an open bracket to translate it like a sequence."
        }
      },
      "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" : "",
      "translationInformation" : {
        "tokenTranslations" : {
          "Error" : "(LaTeX -> SymPy) The current implementation is wrong: Wrong translation method used. You have to specify an open bracket to translate it like a sequence."
        }
      },
      "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" : "",
      "translationInformation" : {
        "tokenTranslations" : {
          "Error" : "(LaTeX -> Maple) The current implementation is wrong: Wrong translation method used. You have to specify an open bracket to translate it like a sequence."
        }
      },
      "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" : [ ],
  "includes" : [ "q", "z", "p,q", "\\mathbf{a}_{\\mathbf{p}}", "\\mathbf{b}_{\\mathbf{q}}", "z^{\\rho}", "j=h", "\\Gamma", "m", "n", "h" ],
  "isPartOf" : [ ],
  "definiens" : [ ]
}

Specify your own input