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 q-q_0 = \mp 2\sqrt{\frac{2}{\pi}} \left( \frac{1+k}{1-k}\right)^{-\kappa/k} \left( \frac{8\kappa}{1-k^2}\right)^{q_0/2}\frac{1}{[(q_0-1)/2]!} \left[ 1 - \frac{3(q^2_0+1)(1+k^2)}{2^5\kappa} + \cdots \right]. }

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

Semantic latex: q - q_0 = \mp 2 \sqrt{\frac{2}{\cpi}}(\frac{1+k}{1-k})^{-\kappa/k}(\frac{8\kappa}{1-k^2})^{q_0/2} \frac{1}{[(q_0-1)/2]!} [1 - \frac{3(q_0^2 + 1)(1 + k^2)}{2^5\kappa} + \cdots]

Confidence: 0

Mathematica

Translation: q - Subscript[q, 0] == \[MinusPlus]2*Sqrt[Divide[2,Pi]]*(Divide[1 + k,1 - k])^(- \[Kappa]/k)*(Divide[8*\[Kappa],1 - (k)^(2)])^(Subscript[q, 0]/2)*Divide[1,((Subscript[q, 0]- 1)/2)!]*(1 -Divide[3*((Subscript[q, 0])^(2)+ 1)*(1 + (k)^(2)),(2)^(5)* \[Kappa]]+ \[Ellipsis])

Information

Sub Equations

  • q - Subscript[q, 0] = - 2*Sqrt[Divide[2,Pi]]*(Divide[1 + k,1 - k])^(- \[Kappa]/k)*(Divide[8*\[Kappa],1 - (k)^(2)])^(Subscript[q, 0]/2)*Divide[1,((Subscript[q, 0]- 1)/2)!]*(1 -Divide[3*((Subscript[q, 0])^(2)+ 1)*(1 + (k)^(2)),(2)^(5)* \[Kappa]]+ \[Ellipsis])
  • q - Subscript[q, 0] = + 2*Sqrt[Divide[2,Pi]]*(Divide[1 + k,1 - k])^(- \[Kappa]/k)*(Divide[8*\[Kappa],1 - (k)^(2)])^(Subscript[q, 0]/2)*Divide[1,((Subscript[q, 0]- 1)/2)!]*(1 -Divide[3*((Subscript[q, 0])^(2)+ 1)*(1 + (k)^(2)),(2)^(5)* \[Kappa]]+ \[Ellipsis])

Free variables

  • Subscript[q, 0]
  • \[Kappa]
  • k
  • q

Symbol info

  • was translated to: \[MinusPlus]
  • Pi was translated to: Pi

Tests

Symbolic
Numeric

SymPy

Translation:

Information

Symbol info

  • (LaTeX -> SymPy) An unknown or missing element occurred: Cannot translate operation \mp

Tests

Symbolic
Numeric

Maple

Translation: q - q[0] = &-+ 2*sqrt((2)/(Pi))*((1 + k)/(1 - k))^(- kappa/k)*((8*kappa)/(1 - (k)^(2)))^(q[0]/2)*(1)/(factorial((q[0]- 1)/2))*(1 -(3*((q[0])^(2)+ 1)*(1 + (k)^(2)))/((2)^(5)* kappa)+ ..)

Information

Sub Equations

  • q - q[0] = - 2*sqrt((2)/(Pi))*((1 + k)/(1 - k))^(- kappa/k)*((8*kappa)/(1 - (k)^(2)))^(q[0]/2)*(1)/(factorial((q[0]- 1)/2))*(1 -(3*((q[0])^(2)+ 1)*(1 + (k)^(2)))/((2)^(5)* kappa)+ ..)
  • q - q[0] = + 2*sqrt((2)/(Pi))*((1 + k)/(1 - k))^(- kappa/k)*((8*kappa)/(1 - (k)^(2)))^(q[0]/2)*(1)/(factorial((q[0]- 1)/2))*(1 -(3*((q[0])^(2)+ 1)*(1 + (k)^(2)))/((2)^(5)* kappa)+ ..)

Free variables

  • k
  • kappa
  • q
  • q[0]

Symbol info

  • was translated to: &-+
  • Pi was translated to: Pi

Tests

Symbolic
Numeric

Dependency Graph Information

Includes

Description

  • boundary condition
  • ellipsoidal wave
  • period
  • prime meaning
  • quarter period

Complete translation information:

{
  "id" : "FORMULA_56938cde91cda5da47c45530efe8544f",
  "formula" : "q-q_0 = \\mp 2\\sqrt{\\frac{2}{\\pi}} \\left( \\frac{1+k}{1-k}\\right)^{-\\kappa/k} \\left( \\frac{8\\kappa}{1-k^2}\\right)^{q_0/2}\\frac{1}{[(q_0-1)/2]!} \\left[ 1 - \\frac{3(q^2_0+1)(1+k^2)}{2^5\\kappa} + \\cdots \\right]",
  "semanticFormula" : "q - q_0 = \\mp 2 \\sqrt{\\frac{2}{\\cpi}}(\\frac{1+k}{1-k})^{-\\kappa/k}(\\frac{8\\kappa}{1-k^2})^{q_0/2} \\frac{1}{[(q_0-1)/2]!} [1 - \\frac{3(q_0^2 + 1)(1 + k^2)}{2^5\\kappa} + \\cdots]",
  "confidence" : 0.0,
  "translations" : {
    "Mathematica" : {
      "translation" : "q - Subscript[q, 0] == \\[MinusPlus]2*Sqrt[Divide[2,Pi]]*(Divide[1 + k,1 - k])^(- \\[Kappa]/k)*(Divide[8*\\[Kappa],1 - (k)^(2)])^(Subscript[q, 0]/2)*Divide[1,((Subscript[q, 0]- 1)/2)!]*(1 -Divide[3*((Subscript[q, 0])^(2)+ 1)*(1 + (k)^(2)),(2)^(5)* \\[Kappa]]+ \\[Ellipsis])",
      "translationInformation" : {
        "subEquations" : [ "q - Subscript[q, 0] = - 2*Sqrt[Divide[2,Pi]]*(Divide[1 + k,1 - k])^(- \\[Kappa]/k)*(Divide[8*\\[Kappa],1 - (k)^(2)])^(Subscript[q, 0]/2)*Divide[1,((Subscript[q, 0]- 1)/2)!]*(1 -Divide[3*((Subscript[q, 0])^(2)+ 1)*(1 + (k)^(2)),(2)^(5)* \\[Kappa]]+ \\[Ellipsis])", "q - Subscript[q, 0] = + 2*Sqrt[Divide[2,Pi]]*(Divide[1 + k,1 - k])^(- \\[Kappa]/k)*(Divide[8*\\[Kappa],1 - (k)^(2)])^(Subscript[q, 0]/2)*Divide[1,((Subscript[q, 0]- 1)/2)!]*(1 -Divide[3*((Subscript[q, 0])^(2)+ 1)*(1 + (k)^(2)),(2)^(5)* \\[Kappa]]+ \\[Ellipsis])" ],
        "freeVariables" : [ "Subscript[q, 0]", "\\[Kappa]", "k", "q" ],
        "tokenTranslations" : {
          "\\mp" : "was translated to: \\[MinusPlus]",
          "\\cpi" : "Pi was translated to: Pi"
        }
      },
      "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) An unknown or missing element occurred: Cannot translate operation \\mp"
        }
      },
      "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" : "q - q[0] =  &-+ 2*sqrt((2)/(Pi))*((1 + k)/(1 - k))^(- kappa/k)*((8*kappa)/(1 - (k)^(2)))^(q[0]/2)*(1)/(factorial((q[0]- 1)/2))*(1 -(3*((q[0])^(2)+ 1)*(1 + (k)^(2)))/((2)^(5)* kappa)+ ..)",
      "translationInformation" : {
        "subEquations" : [ "q - q[0] = - 2*sqrt((2)/(Pi))*((1 + k)/(1 - k))^(- kappa/k)*((8*kappa)/(1 - (k)^(2)))^(q[0]/2)*(1)/(factorial((q[0]- 1)/2))*(1 -(3*((q[0])^(2)+ 1)*(1 + (k)^(2)))/((2)^(5)* kappa)+ ..)", "q - q[0] = + 2*sqrt((2)/(Pi))*((1 + k)/(1 - k))^(- kappa/k)*((8*kappa)/(1 - (k)^(2)))^(q[0]/2)*(1)/(factorial((q[0]- 1)/2))*(1 -(3*((q[0])^(2)+ 1)*(1 + (k)^(2)))/((2)^(5)* kappa)+ ..)" ],
        "freeVariables" : [ "k", "kappa", "q", "q[0]" ],
        "tokenTranslations" : {
          "\\mp" : "was translated to:  &-+ ",
          "\\cpi" : "Pi was translated to: Pi"
        }
      },
      "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" : 2,
    "sentence" : 3,
    "word" : 49
  } ],
  "includes" : [ "\\kappa", "q", "k", "q_0" ],
  "isPartOf" : [ ],
  "definiens" : [ {
    "definition" : "boundary condition",
    "score" : 0.6954080343007951
  }, {
    "definition" : "ellipsoidal wave",
    "score" : 0.6954080343007951
  }, {
    "definition" : "period",
    "score" : 0.6954080343007951
  }, {
    "definition" : "prime meaning",
    "score" : 0.6954080343007951
  }, {
    "definition" : "quarter period",
    "score" : 0.6954080343007951
  } ]
}

Specify your own input