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 \begin{align}&\Gamma(a+ix)\,\Gamma(b+ix)\,\Gamma(c-ix)\,\Gamma(d-ix)\,p_n(x;a,b,c,d)\\ &\qquad=\frac{(-1)^n}{n!}\frac{d^n}{dx^n}\left(\Gamma\left(a+\frac{n}{2}+ix\right)\,\Gamma\left(b+\frac{n}{2}+ix\right)\,\Gamma\left(c+\frac{n}{2}-ix\right)\,\Gamma\left(d+\frac{n}{2}-ix\right)\right).\end{align}}

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

Semantic latex: \begin{align}&\Gamma(a + \iunit x) \Gamma(b + \iunit x) \Gamma(c - \iunit x) \Gamma(d - \iunit x) \contHahnpolyp{n}@{x}{a}{b}{c}{d} \\ &\qquad = \frac{(-1)^n}{n!} \deriv [n]{ }{x}(\Gamma(a + \frac{n}{2} + \iunit x) \Gamma(b + \frac{n}{2} + \iunit x) \Gamma(c + \frac{n}{2} - \iunit x) \Gamma(d + \frac{n}{2} - \iunit x)) .\end{align}

Confidence: 0.71685960350077

Mathematica

Translation: \[CapitalGamma]*(a + I*x)*\[CapitalGamma]*(b + I*x)*\[CapitalGamma]*(c - I*x)*\[CapitalGamma]*(d - I*x)*I^(n)*Divide[Pochhammer[a + c, n]*Pochhammer[a + d, n], (n)!] * HypergeometricPFQ[{-(n), n + 2*Re[a + b] - 1, a + I*(x)}, {a + c, a + d}, 1] == Divide[(- 1)^(n),(n)!]*D[, {x, n}]

Information

Free variables

  • \[CapitalGamma]
  • a
  • b
  • c
  • d
  • n
  • x

Symbol info

  • Continuous Hahn polynomial; Example: \contHahnpolyp{n}@{x}{a}{b}{\conj{a}}{\conj{b}}

Will be translated to: Alternative translations: [I^($0)*Divide[Pochhammer[$2 + $4, $0]*Pochhammer[$2 + $5, $0], ($0)!] * HypergeometricPFQ[{-($0), $0 + 2*Re[$2 + $3] - 1, $2 + I*($1)}, {$2 + $4, $2 + $5}, 1]]Relevant links to definitions: DLMF: http://dlmf.nist.gov/18.19#P2.p1 Mathematica:

  • Imaginary unit was translated to: I
  • Derivative; Example: \deriv[n]{f}{x}

Will be translated to: D[$1, {$2, $0}] Relevant links to definitions: DLMF: http://dlmf.nist.gov/1.4#E4 Mathematica: https://reference.wolfram.com/language/ref/D.html

Tests

Symbolic
Numeric

SymPy

Translation:

Information

Symbol info

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

Tests

Symbolic
Numeric

Maple

Translation:

Information

Symbol info

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

Tests

Symbolic
Numeric

Dependency Graph Information

Includes

Is part of

Complete translation information:

{
  "id" : "FORMULA_9986799bfb80d62ae30d7997d3eba38d",
  "formula" : "\\begin{align}&\\Gamma(a+ix)\\Gamma(b+ix)\\Gamma(c-ix)\\Gamma(d-ix)p_n(x;a,b,c,d)\\\\\n&\\qquad=\\frac{(-1)^n}{n!}\\frac{d^n}{dx^n}\\left(\\Gamma\\left(a+\\frac{n}{2}+ix\\right)\\Gamma\\left(b+\\frac{n}{2}+ix\\right)\\Gamma\\left(c+\\frac{n}{2}-ix\\right)\\Gamma\\left(d+\\frac{n}{2}-ix\\right)\\right).\\end{align}",
  "semanticFormula" : "\\begin{align}&\\Gamma(a + \\iunit x) \\Gamma(b + \\iunit x) \\Gamma(c - \\iunit x) \\Gamma(d - \\iunit x) \\contHahnpolyp{n}@{x}{a}{b}{c}{d} \\\\ &\\qquad = \\frac{(-1)^n}{n!} \\deriv [n]{ }{x}(\\Gamma(a + \\frac{n}{2} + \\iunit x) \\Gamma(b + \\frac{n}{2} + \\iunit x) \\Gamma(c + \\frac{n}{2} - \\iunit x) \\Gamma(d + \\frac{n}{2} - \\iunit x)) .\\end{align}",
  "confidence" : 0.7168596035007688,
  "translations" : {
    "Mathematica" : {
      "translation" : "\\[CapitalGamma]*(a + I*x)*\\[CapitalGamma]*(b + I*x)*\\[CapitalGamma]*(c - I*x)*\\[CapitalGamma]*(d - I*x)*I^(n)*Divide[Pochhammer[a + c, n]*Pochhammer[a + d, n], (n)!] * HypergeometricPFQ[{-(n), n + 2*Re[a + b] - 1, a + I*(x)}, {a + c, a + d}, 1] == Divide[(- 1)^(n),(n)!]*D[, {x, n}]",
      "translationInformation" : {
        "freeVariables" : [ "\\[CapitalGamma]", "a", "b", "c", "d", "n", "x" ],
        "tokenTranslations" : {
          "\\contHahnpolyp" : "Continuous Hahn polynomial; Example: \\contHahnpolyp{n}@{x}{a}{b}{\\conj{a}}{\\conj{b}}\nWill be translated to: \nAlternative translations: [I^($0)*Divide[Pochhammer[$2 + $4, $0]*Pochhammer[$2 + $5, $0], ($0)!] * HypergeometricPFQ[{-($0), $0 + 2*Re[$2 + $3] - 1, $2 + I*($1)}, {$2 + $4, $2 + $5}, 1]]Relevant links to definitions:\nDLMF:         http://dlmf.nist.gov/18.19#P2.p1\nMathematica:  ",
          "\\iunit" : "Imaginary unit was translated to: I",
          "\\deriv1" : "Derivative; Example: \\deriv[n]{f}{x}\nWill be translated to: D[$1, {$2, $0}]\nRelevant links to definitions:\nDLMF:         http://dlmf.nist.gov/1.4#E4\nMathematica:  https://reference.wolfram.com/language/ref/D.html"
        }
      }
    },
    "SymPy" : {
      "translation" : "",
      "translationInformation" : {
        "tokenTranslations" : {
          "Error" : "(LaTeX -> SymPy) No translation possible for given token: Cannot extract information from feature set: \\contHahnpolyp [\\contHahnpolyp]"
        }
      }
    },
    "Maple" : {
      "translation" : "",
      "translationInformation" : {
        "tokenTranslations" : {
          "Error" : "(LaTeX -> Maple) No translation possible for given token: Cannot extract information from feature set: \\contHahnpolyp [\\contHahnpolyp]"
        }
      }
    }
  },
  "positions" : [ ],
  "includes" : [ "p_{n}(x;a,b,c,d)", "\\begin{align}&\\Gamma(a+ix)\\,\\Gamma(b+ix)\\,\\Gamma(c-ix)\\,\\Gamma(d-ix)\\,p_n(x;a,b,c,d)\\\\&\\qquad=\\frac{(-1)^n}{n!}\\frac{d^n}{dx^n}\\left(\\Gamma\\left(a+\\frac{n}{2}+ix\\right)\\,\\Gamma\\left(b+\\frac{n}{2}+ix\\right)\\,\\Gamma\\left(c+\\frac{n}{2}-ix\\right)\\,\\Gamma\\left(d+\\frac{n}{2}-ix\\right)\\right).\\end{align}", "F_{n}" ],
  "isPartOf" : [ "\\begin{align}&\\Gamma(a+ix)\\,\\Gamma(b+ix)\\,\\Gamma(c-ix)\\,\\Gamma(d-ix)\\,p_n(x;a,b,c,d)\\\\&\\qquad=\\frac{(-1)^n}{n!}\\frac{d^n}{dx^n}\\left(\\Gamma\\left(a+\\frac{n}{2}+ix\\right)\\,\\Gamma\\left(b+\\frac{n}{2}+ix\\right)\\,\\Gamma\\left(c+\\frac{n}{2}-ix\\right)\\,\\Gamma\\left(d+\\frac{n}{2}-ix\\right)\\right).\\end{align}" ],
  "definiens" : [ ]
}

Specify your own input