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 \frac{x_1^2}{a^2} + \frac{y_1^2}{b^2} = 1}
... is translated to the CAS output ...
Semantic latex: \frac{x_1^2}{a^2} + \frac{y_1^2}{b^2} = 1
Confidence: 0
Mathematica
Translation: Divide[(Subscript[x, 1])^(2),(a)^(2)]+Divide[(Subscript[y, 1])^(2),(b)^(2)] == 1
Information
Sub Equations
- Divide[(Subscript[x, 1])^(2),(a)^(2)]+Divide[(Subscript[y, 1])^(2),(b)^(2)] = 1
Free variables
- Subscript[x, 1]
- Subscript[y, 1]
- a
- b
Tests
Symbolic
Numeric
SymPy
Translation: ((Symbol('{x}_{1}'))**(2))/((a)**(2))+((Symbol('{y}_{1}'))**(2))/((b)**(2)) == 1
Information
Sub Equations
- ((Symbol('{x}_{1}'))**(2))/((a)**(2))+((Symbol('{y}_{1}'))**(2))/((b)**(2)) = 1
Free variables
- Symbol('{x}_{1}')
- Symbol('{y}_{1}')
- a
- b
Tests
Symbolic
Numeric
Maple
Translation: ((x[1])^(2))/((a)^(2))+((y[1])^(2))/((b)^(2)) = 1
Information
Sub Equations
- ((x[1])^(2))/((a)^(2))+((y[1])^(2))/((b)^(2)) = 1
Free variables
- a
- b
- x[1]
- y[1]
Tests
Symbolic
Numeric
Dependency Graph Information
Includes
Complete translation information:
{
"id" : "FORMULA_340f0388a75be84d6fa9cfcbd2c27884",
"formula" : "\\frac{x_1^2}{a^2} + \\frac{y_1^2}{b^2} = 1",
"semanticFormula" : "\\frac{x_1^2}{a^2} + \\frac{y_1^2}{b^2} = 1",
"confidence" : 0.0,
"translations" : {
"Mathematica" : {
"translation" : "Divide[(Subscript[x, 1])^(2),(a)^(2)]+Divide[(Subscript[y, 1])^(2),(b)^(2)] == 1",
"translationInformation" : {
"subEquations" : [ "Divide[(Subscript[x, 1])^(2),(a)^(2)]+Divide[(Subscript[y, 1])^(2),(b)^(2)] = 1" ],
"freeVariables" : [ "Subscript[x, 1]", "Subscript[y, 1]", "a", "b" ]
},
"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('{x}_{1}'))**(2))/((a)**(2))+((Symbol('{y}_{1}'))**(2))/((b)**(2)) == 1",
"translationInformation" : {
"subEquations" : [ "((Symbol('{x}_{1}'))**(2))/((a)**(2))+((Symbol('{y}_{1}'))**(2))/((b)**(2)) = 1" ],
"freeVariables" : [ "Symbol('{x}_{1}')", "Symbol('{y}_{1}')", "a", "b" ]
},
"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" : "((x[1])^(2))/((a)^(2))+((y[1])^(2))/((b)^(2)) = 1",
"translationInformation" : {
"subEquations" : [ "((x[1])^(2))/((a)^(2))+((y[1])^(2))/((b)^(2)) = 1" ],
"freeVariables" : [ "a", "b", "x[1]", "y[1]" ]
},
"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" : [ "= 1", "b", "a", "y", "x" ],
"isPartOf" : [ ],
"definiens" : [ ]
}