LaTeX to CAS translator
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
} ]
}