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 2a = \left|LF_2\right| < \left|QF_2\right| + \left|QL\right| = \left|QF_2\right| + \left|QF_1\right|}
... is translated to the CAS output ...
Semantic latex: 2 a =|LF_2|<|QF_2|+|QL|=|QF_2|+|QF_1|
Confidence: 0
Mathematica
Translation: 2*a == Abs[L*Subscript[F, 2]] < Abs[Q*Subscript[F, 2]]+Abs[Q*L] == Abs[Q*Subscript[F, 2]]+Abs[Q*Subscript[F, 1]]
Information
Sub Equations
- 2*a = Abs[L*Subscript[F, 2]]
- Abs[L*Subscript[F, 2]] < Abs[Q*Subscript[F, 2]]+Abs[Q*L]
- Abs[Q*Subscript[F, 2]]+Abs[Q*L] = Abs[Q*Subscript[F, 2]]+Abs[Q*Subscript[F, 1]]
Free variables
- L
- Q
- Subscript[F, 1]
- Subscript[F, 2]
- a
Tests
Symbolic
Numeric
SymPy
Translation: 2*a == abs(L*Symbol('{F}_{2}')) < abs(Q*Symbol('{F}_{2}'))+abs(Q*L) == abs(Q*Symbol('{F}_{2}'))+abs(Q*Symbol('{F}_{1}'))
Information
Sub Equations
- 2*a = abs(L*Symbol('{F}_{2}'))
- abs(L*Symbol('{F}_{2}')) < abs(Q*Symbol('{F}_{2}'))+abs(Q*L)
- abs(Q*Symbol('{F}_{2}'))+abs(Q*L) = abs(Q*Symbol('{F}_{2}'))+abs(Q*Symbol('{F}_{1}'))
Free variables
- L
- Q
- Symbol('{F}_{1}')
- Symbol('{F}_{2}')
- a
Tests
Symbolic
Numeric
Maple
Translation: 2*a = abs(L*F[2]) < abs(Q*F[2])+abs(Q*L) = abs(Q*F[2])+abs(Q*F[1])
Information
Sub Equations
- 2*a = abs(L*F[2])
- abs(L*F[2]) < abs(Q*F[2])+abs(Q*L)
- abs(Q*F[2])+abs(Q*L) = abs(Q*F[2])+abs(Q*F[1])
Free variables
- F[1]
- F[2]
- L
- Q
- a
Tests
Symbolic
Numeric
Dependency Graph Information
Includes
Description
- diagram
- triangle inequality
Complete translation information:
{
"id" : "FORMULA_31ce0ab3a20929fb12ba76f79f08aadb",
"formula" : "2a = \\left|LF_2\\right| < \\left|QF_2\\right| + \\left|QL\\right| = \\left|QF_2\\right| + \\left|QF_1\\right|",
"semanticFormula" : "2 a =|LF_2|<|QF_2|+|QL|=|QF_2|+|QF_1|",
"confidence" : 0.0,
"translations" : {
"Mathematica" : {
"translation" : "2*a == Abs[L*Subscript[F, 2]] < Abs[Q*Subscript[F, 2]]+Abs[Q*L] == Abs[Q*Subscript[F, 2]]+Abs[Q*Subscript[F, 1]]",
"translationInformation" : {
"subEquations" : [ "2*a = Abs[L*Subscript[F, 2]]", "Abs[L*Subscript[F, 2]] < Abs[Q*Subscript[F, 2]]+Abs[Q*L]", "Abs[Q*Subscript[F, 2]]+Abs[Q*L] = Abs[Q*Subscript[F, 2]]+Abs[Q*Subscript[F, 1]]" ],
"freeVariables" : [ "L", "Q", "Subscript[F, 1]", "Subscript[F, 2]", "a" ]
},
"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" : "2*a == abs(L*Symbol('{F}_{2}')) < abs(Q*Symbol('{F}_{2}'))+abs(Q*L) == abs(Q*Symbol('{F}_{2}'))+abs(Q*Symbol('{F}_{1}'))",
"translationInformation" : {
"subEquations" : [ "2*a = abs(L*Symbol('{F}_{2}'))", "abs(L*Symbol('{F}_{2}')) < abs(Q*Symbol('{F}_{2}'))+abs(Q*L)", "abs(Q*Symbol('{F}_{2}'))+abs(Q*L) = abs(Q*Symbol('{F}_{2}'))+abs(Q*Symbol('{F}_{1}'))" ],
"freeVariables" : [ "L", "Q", "Symbol('{F}_{1}')", "Symbol('{F}_{2}')", "a" ]
},
"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" : "2*a = abs(L*F[2]) < abs(Q*F[2])+abs(Q*L) = abs(Q*F[2])+abs(Q*F[1])",
"translationInformation" : {
"subEquations" : [ "2*a = abs(L*F[2])", "abs(L*F[2]) < abs(Q*F[2])+abs(Q*L)", "abs(Q*F[2])+abs(Q*L) = abs(Q*F[2])+abs(Q*F[1])" ],
"freeVariables" : [ "F[1]", "F[2]", "L", "Q", "a" ]
},
"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" : 17,
"sentence" : 6,
"word" : 10
} ],
"includes" : [ "a", "2a" ],
"isPartOf" : [ ],
"definiens" : [ {
"definition" : "diagram",
"score" : 0.6460746792928004
}, {
"definition" : "triangle inequality",
"score" : 0.5988174995334326
} ]
}