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 \lambda(\tau) = \Bigg(\frac{\sqrt{2}\,\eta(\tfrac{\tau}{2})\eta^2(2\tau)}{\eta^3(\tau)}\Bigg)^8 = \frac{16}{\left(\frac{\eta(\tau/2)}{\eta(2\tau)}\right)^8 + 16} =\frac{\theta_2^4(0,\tau)}{\theta_3^4(0,\tau)} }
... is translated to the CAS output ...
Semantic latex: \modularlambdatau@{\tau} =(\frac{\sqrt{2} \Dedekindeta@{\tfrac{\tau}{2}} \eta^2(2 \tau)}{\eta^3(\tau)})^8 = \frac{16}{(\frac{\Dedekindeta@{\tau / 2}}{\Dedekindeta@{2 \tau}})^8 + 16} = \frac{\theta_2^4(0,\tau)}{\theta_3^4(0,\tau)}
Confidence: 0.6805
Mathematica
Translation: ModularLambda[\[Tau]] == (Divide[Sqrt[2]*DedekindEta[Divide[\[Tau],2]]*(\[Eta][2*\[Tau]])^(2),(\[Eta][\[Tau]])^(3)])^(8) == Divide[16,(Divide[DedekindEta[\[Tau]/2],DedekindEta[2*\[Tau]]])^(8)+ 16] == Divide[(Subscript[\[Theta], 2])^(4)[0 , \[Tau]],(Subscript[\[Theta], 3])^(4)[0 , \[Tau]]]
Information
Sub Equations
- ModularLambda[\[Tau]] = (Divide[Sqrt[2]*DedekindEta[Divide[\[Tau],2]]*(\[Eta][2*\[Tau]])^(2),(\[Eta][\[Tau]])^(3)])^(8)
- (Divide[Sqrt[2]*DedekindEta[Divide[\[Tau],2]]*(\[Eta][2*\[Tau]])^(2),(\[Eta][\[Tau]])^(3)])^(8) = Divide[16,(Divide[DedekindEta[\[Tau]/2],DedekindEta[2*\[Tau]]])^(8)+ 16]
- Divide[16,(Divide[DedekindEta[\[Tau]/2],DedekindEta[2*\[Tau]]])^(8)+ 16] = Divide[(Subscript[\[Theta], 2])^(4)[0 , \[Tau]],(Subscript[\[Theta], 3])^(4)[0 , \[Tau]]]
Free variables
- Subscript[\[Theta], 2]
- Subscript[\[Theta], 3]
- \[Eta]
- \[Tau]
Symbol info
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
- Elliptic modular function; Example: \modularlambdatau@{\tau}
Will be translated to: ModularLambda[$0] Relevant links to definitions: DLMF: http://dlmf.nist.gov/23.15#E6 Mathematica: https://reference.wolfram.com/language/ref/ModularLambda.html
- Dedikind's Eta function; Example: \Dedekindeta@{\tau}
Will be translated to: DedekindEta[$0] Relevant links to definitions: DLMF: http://dlmf.nist.gov/23.15#E9 Mathematica: https://reference.wolfram.com/language/ref/DedekindEta.html
Tests
Symbolic
Numeric
SymPy
Translation:
Information
Symbol info
- (LaTeX -> SymPy) No translation possible for given token: Cannot extract information from feature set: \modularlambdatau [\modularlambdatau]
Tests
Symbolic
Numeric
Maple
Translation:
Information
Symbol info
- (LaTeX -> Maple) No translation possible for given token: Cannot extract information from feature set: \modularlambdatau [\modularlambdatau]
Tests
Symbolic
Numeric
Dependency Graph Information
Includes
Is part of
Complete translation information:
{
"id" : "FORMULA_d6c4d2084ffc580ed0b98cf204cb43c4",
"formula" : "\\lambda(\\tau) = (\\frac{\\sqrt{2}\\eta(\\tfrac{\\tau}{2})\\eta^2(2\\tau)}{\\eta^3(\\tau)})^8 = \\frac{16}{\\left(\\frac{\\eta(\\tau/2)}{\\eta(2\\tau)}\\right)^8 + 16} =\\frac{\\theta_2^4(0,\\tau)}{\\theta_3^4(0,\\tau)}",
"semanticFormula" : "\\modularlambdatau@{\\tau} =(\\frac{\\sqrt{2} \\Dedekindeta@{\\tfrac{\\tau}{2}} \\eta^2(2 \\tau)}{\\eta^3(\\tau)})^8 = \\frac{16}{(\\frac{\\Dedekindeta@{\\tau / 2}}{\\Dedekindeta@{2 \\tau}})^8 + 16} = \\frac{\\theta_2^4(0,\\tau)}{\\theta_3^4(0,\\tau)}",
"confidence" : 0.6805,
"translations" : {
"Mathematica" : {
"translation" : "ModularLambda[\\[Tau]] == (Divide[Sqrt[2]*DedekindEta[Divide[\\[Tau],2]]*(\\[Eta][2*\\[Tau]])^(2),(\\[Eta][\\[Tau]])^(3)])^(8) == Divide[16,(Divide[DedekindEta[\\[Tau]/2],DedekindEta[2*\\[Tau]]])^(8)+ 16] == Divide[(Subscript[\\[Theta], 2])^(4)[0 , \\[Tau]],(Subscript[\\[Theta], 3])^(4)[0 , \\[Tau]]]",
"translationInformation" : {
"subEquations" : [ "ModularLambda[\\[Tau]] = (Divide[Sqrt[2]*DedekindEta[Divide[\\[Tau],2]]*(\\[Eta][2*\\[Tau]])^(2),(\\[Eta][\\[Tau]])^(3)])^(8)", "(Divide[Sqrt[2]*DedekindEta[Divide[\\[Tau],2]]*(\\[Eta][2*\\[Tau]])^(2),(\\[Eta][\\[Tau]])^(3)])^(8) = Divide[16,(Divide[DedekindEta[\\[Tau]/2],DedekindEta[2*\\[Tau]]])^(8)+ 16]", "Divide[16,(Divide[DedekindEta[\\[Tau]/2],DedekindEta[2*\\[Tau]]])^(8)+ 16] = Divide[(Subscript[\\[Theta], 2])^(4)[0 , \\[Tau]],(Subscript[\\[Theta], 3])^(4)[0 , \\[Tau]]]" ],
"freeVariables" : [ "Subscript[\\[Theta], 2]", "Subscript[\\[Theta], 3]", "\\[Eta]", "\\[Tau]" ],
"tokenTranslations" : {
"\\theta" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary).",
"\\eta" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary).",
"\\modularlambdatau" : "Elliptic modular function; Example: \\modularlambdatau@{\\tau}\nWill be translated to: ModularLambda[$0]\nRelevant links to definitions:\nDLMF: http://dlmf.nist.gov/23.15#E6\nMathematica: https://reference.wolfram.com/language/ref/ModularLambda.html",
"\\Dedekindeta" : "Dedikind's Eta function; Example: \\Dedekindeta@{\\tau}\nWill be translated to: DedekindEta[$0]\nRelevant links to definitions:\nDLMF: http://dlmf.nist.gov/23.15#E9\nMathematica: https://reference.wolfram.com/language/ref/DedekindEta.html"
}
},
"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) No translation possible for given token: Cannot extract information from feature set: \\modularlambdatau [\\modularlambdatau]"
}
},
"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" : "",
"translationInformation" : {
"tokenTranslations" : {
"Error" : "(LaTeX -> Maple) No translation possible for given token: Cannot extract information from feature set: \\modularlambdatau [\\modularlambdatau]"
}
},
"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" : [ "\\tau", "\\lambda", "\\eta(\\tau)", "\\lambda(\\tau) = \\Bigg(\\frac{\\sqrt{2}\\,\\eta(\\tfrac{\\tau}{2})\\eta^2(2\\tau)}{\\eta^3(\\tau)}\\Bigg)^8 = \\frac{16}{\\left(\\frac{\\eta(\\tau/2)}{\\eta(2\\tau)}\\right)^8 + 16} =\\frac{\\theta_2^4(0,\\tau)}{\\theta_3^4(0,\\tau)}", "\\lambda(\\tau)" ],
"isPartOf" : [ "\\lambda(\\tau) = \\Bigg(\\frac{\\sqrt{2}\\,\\eta(\\tfrac{\\tau}{2})\\eta^2(2\\tau)}{\\eta^3(\\tau)}\\Bigg)^8 = \\frac{16}{\\left(\\frac{\\eta(\\tau/2)}{\\eta(2\\tau)}\\right)^8 + 16} =\\frac{\\theta_2^4(0,\\tau)}{\\theta_3^4(0,\\tau)}" ],
"definiens" : [ ]
}