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{1+zf(z)}{1-zf(z)}=F(z)=\int\frac{e^{i\theta}+z}{e^{i\theta}-z}d\mu.}
... is translated to the CAS output ...
Semantic latex: \frac{1+zf(z)}{1-zf(z)} = F(z) = \int \frac{\expe^{\iunit \theta} + z}{\expe^{\iunit \theta} - z} \diff{\mu}
Confidence: 0
Mathematica
Translation: Divide[1 + zf[z],1 - zf[z]] == F[z] == Integrate[Divide[Exp[I*\[Theta]]+ z,Exp[I*\[Theta]]- z], \[Mu], GenerateConditions->None]
Information
Sub Equations
- Divide[1 + zf[z],1 - zf[z]] = F[z]
- F[z] = Integrate[Divide[Exp[I*\[Theta]]+ z,Exp[I*\[Theta]]- z], \[Mu], GenerateConditions->None]
Free variables
- \[Theta]
- z
Symbol info
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
- Recognizes e with power as the exponential function. It was translated as a function.
- Imaginary unit was translated to: I
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
Tests
Symbolic
Test expression: (Divide[1 + z*f*(z),1 - z*f*(z)])-(F*(z))
ERROR:
{
"result": "ERROR",
"testTitle": "Simple",
"testExpression": null,
"resultExpression": null,
"wasAborted": false,
"conditionallySuccessful": false
}
Test expression: (F*(z))-(Integrate[Divide[Exp[I*\[Theta]]+ z,Exp[I*\[Theta]]- z], \[Mu], GenerateConditions->None])
ERROR:
{
"result": "ERROR",
"testTitle": "Simple",
"testExpression": null,
"resultExpression": null,
"wasAborted": false,
"conditionallySuccessful": false
}
Numeric
SymPy
Translation: (1 + zf(z))/(1 - zf(z)) == F(z) == integrate((exp(I*Symbol('theta'))+ z)/(exp(I*Symbol('theta'))- z), Symbol('mu'))
Information
Sub Equations
- (1 + zf(z))/(1 - zf(z)) = F(z)
- F(z) = integrate((exp(I*Symbol('theta'))+ z)/(exp(I*Symbol('theta'))- z), Symbol('mu'))
Free variables
- Symbol('theta')
- z
Symbol info
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
- Recognizes e with power as the exponential function. It was translated as a function.
- Imaginary unit was translated to: I
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
Tests
Symbolic
Numeric
Maple
Translation: (1 + zf(z))/(1 - zf(z)) = F(z) = int((exp(I*theta)+ z)/(exp(I*theta)- z), mu)
Information
Sub Equations
- (1 + zf(z))/(1 - zf(z)) = F(z)
- F(z) = int((exp(I*theta)+ z)/(exp(I*theta)- z), mu)
Free variables
- theta
- z
Symbol info
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
- Recognizes e with power as the exponential function. It was translated as a function.
- Imaginary unit was translated to: I
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
Tests
Symbolic
Numeric
Dependency Graph Information
Includes
Description
- equation
- Schur parameter of the function
- Verblunsky coefficient of the measure
- Geronimus 's theorem
Complete translation information:
{
"id" : "FORMULA_252126e9db9ad369a9b611c47cd6107a",
"formula" : "\\frac{1+zf(z)}{1-zf(z)}=F(z)=\\int\\frac{e^{i\\theta}+z}{e^{i\\theta}-z}d\\mu",
"semanticFormula" : "\\frac{1+zf(z)}{1-zf(z)} = F(z) = \\int \\frac{\\expe^{\\iunit \\theta} + z}{\\expe^{\\iunit \\theta} - z} \\diff{\\mu}",
"confidence" : 0.0,
"translations" : {
"Mathematica" : {
"translation" : "Divide[1 + zf[z],1 - zf[z]] == F[z] == Integrate[Divide[Exp[I*\\[Theta]]+ z,Exp[I*\\[Theta]]- z], \\[Mu], GenerateConditions->None]",
"translationInformation" : {
"subEquations" : [ "Divide[1 + zf[z],1 - zf[z]] = F[z]", "F[z] = Integrate[Divide[Exp[I*\\[Theta]]+ z,Exp[I*\\[Theta]]- z], \\[Mu], GenerateConditions->None]" ],
"freeVariables" : [ "\\[Theta]", "z" ],
"tokenTranslations" : {
"zf" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary).",
"\\expe" : "Recognizes e with power as the exponential function. It was translated as a function.",
"\\iunit" : "Imaginary unit was translated to: I",
"F" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary)."
}
},
"numericResults" : {
"overallResult" : "SKIPPED",
"numberOfTests" : 0,
"numberOfFailedTests" : 0,
"numberOfSuccessfulTests" : 0,
"numberOfSkippedTests" : 0,
"numberOfErrorTests" : 0,
"wasAborted" : false,
"crashed" : false,
"testCalculationsGroups" : [ ]
},
"symbolicResults" : {
"overallResult" : "ERROR",
"numberOfTests" : 2,
"numberOfFailedTests" : 0,
"numberOfSuccessfulTests" : 0,
"numberOfSkippedTests" : 0,
"numberOfErrorTests" : 2,
"crashed" : false,
"testCalculationsGroup" : [ {
"lhs" : "Divide[1 + z*f*(z),1 - z*f*(z)]",
"rhs" : "F*(z)",
"testExpression" : "(Divide[1 + z*f*(z),1 - z*f*(z)])-(F*(z))",
"testCalculations" : [ {
"result" : "ERROR",
"testTitle" : "Simple",
"testExpression" : null,
"resultExpression" : null,
"wasAborted" : false,
"conditionallySuccessful" : false
} ]
}, {
"lhs" : "F*(z)",
"rhs" : "Integrate[Divide[Exp[I*\\[Theta]]+ z,Exp[I*\\[Theta]]- z], \\[Mu], GenerateConditions->None]",
"testExpression" : "(F*(z))-(Integrate[Divide[Exp[I*\\[Theta]]+ z,Exp[I*\\[Theta]]- z], \\[Mu], GenerateConditions->None])",
"testCalculations" : [ {
"result" : "ERROR",
"testTitle" : "Simple",
"testExpression" : null,
"resultExpression" : null,
"wasAborted" : false,
"conditionallySuccessful" : false
} ]
} ]
}
},
"SymPy" : {
"translation" : "(1 + zf(z))/(1 - zf(z)) == F(z) == integrate((exp(I*Symbol('theta'))+ z)/(exp(I*Symbol('theta'))- z), Symbol('mu'))",
"translationInformation" : {
"subEquations" : [ "(1 + zf(z))/(1 - zf(z)) = F(z)", "F(z) = integrate((exp(I*Symbol('theta'))+ z)/(exp(I*Symbol('theta'))- z), Symbol('mu'))" ],
"freeVariables" : [ "Symbol('theta')", "z" ],
"tokenTranslations" : {
"zf" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary).",
"\\expe" : "Recognizes e with power as the exponential function. It was translated as a function.",
"\\iunit" : "Imaginary unit was translated to: I",
"F" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary)."
}
}
},
"Maple" : {
"translation" : "(1 + zf(z))/(1 - zf(z)) = F(z) = int((exp(I*theta)+ z)/(exp(I*theta)- z), mu)",
"translationInformation" : {
"subEquations" : [ "(1 + zf(z))/(1 - zf(z)) = F(z)", "F(z) = int((exp(I*theta)+ z)/(exp(I*theta)- z), mu)" ],
"freeVariables" : [ "theta", "z" ],
"tokenTranslations" : {
"zf" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary).",
"\\expe" : "Recognizes e with power as the exponential function. It was translated as a function.",
"\\iunit" : "Imaginary unit was translated to: I",
"F" : "Function without DLMF-Definition. We keep it like it is (but delete prefix \\ if necessary)."
}
}
}
},
"positions" : [ {
"section" : 4,
"sentence" : 0,
"word" : 24
} ],
"includes" : [ "\\mu" ],
"isPartOf" : [ ],
"definiens" : [ {
"definition" : "equation",
"score" : 0.722
}, {
"definition" : "Schur parameter of the function",
"score" : 0.6460746792928004
}, {
"definition" : "Verblunsky coefficient of the measure",
"score" : 0.5988174995334326
}, {
"definition" : "Geronimus 's theorem",
"score" : 0.5049074255814494
} ]
}