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 F_2(x,y)=C_1F_2(a,b_1,b_2,c_1,c_2;x,y)+C_2x^{1-c_1}F_2(a-c_1+1,b_1-c_1+1,b_2,2-c_1,c_2;x,y)+C_3y^{1-c_2}F_2(a-c_2+1,b_1,b_2-c_2+1,c_1,2-c_2;x,y)+C_4x^{1-c_1}y^{1-c_2}F_2(a-c_1-c_2+2,b_1-c_1+1,b_2-c_2+1,2-c_1,2-c_2;x,y)}
... is translated to the CAS output ...
Semantic latex: F_2(x,y)=C_1F_2(a,b_1,b_2,c_1,c_2;x,y)+C_2x^{1-c_1}F_2(a-c_1+1,b_1-c_1+1,b_2,2-c_1,c_2;x,y)+C_3y^{1-c_2}F_2(a-c_2+1,b_1,b_2-c_2+1,c_1,2-c_2;x,y)+C_4x^{1-c_1}y^{1-c_2}F_2(a-c_1-c_2+2,b_1-c_1+1,b_2-c_2+1,2-c_1,2-c_2;x,y)
Confidence: 0
Mathematica
Translation: Subscript[F, 2][x , y] == Subscript[C, 1]*Subscript[F, 2][a , Subscript[b, 1], Subscript[b, 2], Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 2]*(x)^(1 - Subscript[c, 1])* Subscript[F, 2][a - Subscript[c, 1]+ 1 , Subscript[b, 1]- Subscript[c, 1]+ 1 , Subscript[b, 2], 2 - Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 3]*(y)^(1 - Subscript[c, 2])* Subscript[F, 2][a - Subscript[c, 2]+ 1 , Subscript[b, 1], Subscript[b, 2]- Subscript[c, 2]+ 1 , Subscript[c, 1], 2 - Subscript[c, 2]; x , y]+ Subscript[C, 4]*(x)^(1 - Subscript[c, 1])* (y)^(1 - Subscript[c, 2])* Subscript[F, 2][a - Subscript[c, 1]- Subscript[c, 2]+ 2 , Subscript[b, 1]- Subscript[c, 1]+ 1 , Subscript[b, 2]- Subscript[c, 2]+ 1 , 2 - Subscript[c, 1], 2 - Subscript[c, 2]; x , y]
Information
Sub Equations
- Subscript[F, 2][x , y] = Subscript[C, 1]*Subscript[F, 2][a , Subscript[b, 1], Subscript[b, 2], Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 2]*(x)^(1 - Subscript[c, 1])* Subscript[F, 2][a - Subscript[c, 1]+ 1 , Subscript[b, 1]- Subscript[c, 1]+ 1 , Subscript[b, 2], 2 - Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 3]*(y)^(1 - Subscript[c, 2])* Subscript[F, 2][a - Subscript[c, 2]+ 1 , Subscript[b, 1], Subscript[b, 2]- Subscript[c, 2]+ 1 , Subscript[c, 1], 2 - Subscript[c, 2]; x , y]+ Subscript[C, 4]*(x)^(1 - Subscript[c, 1])* (y)^(1 - Subscript[c, 2])* Subscript[F, 2][a - Subscript[c, 1]- Subscript[c, 2]+ 2 , Subscript[b, 1]- Subscript[c, 1]+ 1 , Subscript[b, 2]- Subscript[c, 2]+ 1 , 2 - Subscript[c, 1], 2 - Subscript[c, 2]; x , y]
Free variables
- Subscript[C, 1]
- Subscript[C, 2]
- Subscript[C, 3]
- Subscript[C, 4]
- Subscript[b, 1]
- Subscript[b, 2]
- Subscript[c, 1]
- Subscript[c, 2]
- a
- x
- y
Symbol info
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
Tests
Symbolic
Numeric
SymPy
Translation: Symbol('{F}_{2}')(x , y) == Symbol('{C}_{1}')*Symbol('{F}_{2}')(a , Symbol('{b}_{1}'), Symbol('{b}_{2}'), Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{2}')*(x)**(1 - Symbol('{c}_{1}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{1}')+ 1 , Symbol('{b}_{1}')- Symbol('{c}_{1}')+ 1 , Symbol('{b}_{2}'), 2 - Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{3}')*(y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{2}')+ 1 , Symbol('{b}_{1}'), Symbol('{b}_{2}')- Symbol('{c}_{2}')+ 1 , Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{4}')*(x)**(1 - Symbol('{c}_{1}'))* (y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{1}')- Symbol('{c}_{2}')+ 2 , Symbol('{b}_{1}')- Symbol('{c}_{1}')+ 1 , Symbol('{b}_{2}')- Symbol('{c}_{2}')+ 1 , 2 - Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)
Information
Sub Equations
- Symbol('{F}_{2}')(x , y) = Symbol('{C}_{1}')*Symbol('{F}_{2}')(a , Symbol('{b}_{1}'), Symbol('{b}_{2}'), Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{2}')*(x)**(1 - Symbol('{c}_{1}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{1}')+ 1 , Symbol('{b}_{1}')- Symbol('{c}_{1}')+ 1 , Symbol('{b}_{2}'), 2 - Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{3}')*(y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{2}')+ 1 , Symbol('{b}_{1}'), Symbol('{b}_{2}')- Symbol('{c}_{2}')+ 1 , Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{4}')*(x)**(1 - Symbol('{c}_{1}'))* (y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{1}')- Symbol('{c}_{2}')+ 2 , Symbol('{b}_{1}')- Symbol('{c}_{1}')+ 1 , Symbol('{b}_{2}')- Symbol('{c}_{2}')+ 1 , 2 - Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)
Free variables
- Symbol('{C}_{1}')
- Symbol('{C}_{2}')
- Symbol('{C}_{3}')
- Symbol('{C}_{4}')
- Symbol('{b}_{1}')
- Symbol('{b}_{2}')
- Symbol('{c}_{1}')
- Symbol('{c}_{2}')
- a
- x
- y
Symbol info
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
Tests
Symbolic
Numeric
Maple
Translation: F[2](x , y) = C[1]*F[2](a , b[1], b[2], c[1], c[2]; x , y)+ C[2]*(x)^(1 - c[1])* F[2](a - c[1]+ 1 , b[1]- c[1]+ 1 , b[2], 2 - c[1], c[2]; x , y)+ C[3]*(y)^(1 - c[2])* F[2](a - c[2]+ 1 , b[1], b[2]- c[2]+ 1 , c[1], 2 - c[2]; x , y)+ C[4]*(x)^(1 - c[1])* (y)^(1 - c[2])* F[2](a - c[1]- c[2]+ 2 , b[1]- c[1]+ 1 , b[2]- c[2]+ 1 , 2 - c[1], 2 - c[2]; x , y)
Information
Sub Equations
- F[2](x , y) = C[1]*F[2](a , b[1], b[2], c[1], c[2]; x , y)+ C[2]*(x)^(1 - c[1])* F[2](a - c[1]+ 1 , b[1]- c[1]+ 1 , b[2], 2 - c[1], c[2]; x , y)+ C[3]*(y)^(1 - c[2])* F[2](a - c[2]+ 1 , b[1], b[2]- c[2]+ 1 , c[1], 2 - c[2]; x , y)+ C[4]*(x)^(1 - c[1])* (y)^(1 - c[2])* F[2](a - c[1]- c[2]+ 2 , b[1]- c[1]+ 1 , b[2]- c[2]+ 1 , 2 - c[1], 2 - c[2]; x , y)
Free variables
- C[1]
- C[2]
- C[3]
- C[4]
- a
- b[1]
- b[2]
- c[1]
- c[2]
- x
- y
Symbol info
- Function without DLMF-Definition. We keep it like it is (but delete prefix \ if necessary).
Tests
Symbolic
Numeric
Dependency Graph Information
Includes
Description
- solution
- A system
- Appell
- definition
- partial differential equation
- system
- derivative
- derivative result from the definition
- double series
- system of differential equation
- system of second-order differential equation
Complete translation information:
{
"id" : "FORMULA_26fb9e69275fe26d56459576839eeb84",
"formula" : "F_2(x,y)=C_1F_2(a,b_1,b_2,c_1,c_2;x,y)+C_2x^{1-c_1}F_2(a-c_1+1,b_1-c_1+1,b_2,2-c_1,c_2;x,y)+C_3y^{1-c_2}F_2(a-c_2+1,b_1,b_2-c_2+1,c_1,2-c_2;x,y)+C_4x^{1-c_1}y^{1-c_2}F_2(a-c_1-c_2+2,b_1-c_1+1,b_2-c_2+1,2-c_1,2-c_2;x,y)",
"semanticFormula" : "F_2(x,y)=C_1F_2(a,b_1,b_2,c_1,c_2;x,y)+C_2x^{1-c_1}F_2(a-c_1+1,b_1-c_1+1,b_2,2-c_1,c_2;x,y)+C_3y^{1-c_2}F_2(a-c_2+1,b_1,b_2-c_2+1,c_1,2-c_2;x,y)+C_4x^{1-c_1}y^{1-c_2}F_2(a-c_1-c_2+2,b_1-c_1+1,b_2-c_2+1,2-c_1,2-c_2;x,y)",
"confidence" : 0.0,
"translations" : {
"Mathematica" : {
"translation" : "Subscript[F, 2][x , y] == Subscript[C, 1]*Subscript[F, 2][a , Subscript[b, 1], Subscript[b, 2], Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 2]*(x)^(1 - Subscript[c, 1])* Subscript[F, 2][a - Subscript[c, 1]+ 1 , Subscript[b, 1]- Subscript[c, 1]+ 1 , Subscript[b, 2], 2 - Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 3]*(y)^(1 - Subscript[c, 2])* Subscript[F, 2][a - Subscript[c, 2]+ 1 , Subscript[b, 1], Subscript[b, 2]- Subscript[c, 2]+ 1 , Subscript[c, 1], 2 - Subscript[c, 2]; x , y]+ Subscript[C, 4]*(x)^(1 - Subscript[c, 1])* (y)^(1 - Subscript[c, 2])* Subscript[F, 2][a - Subscript[c, 1]- Subscript[c, 2]+ 2 , Subscript[b, 1]- Subscript[c, 1]+ 1 , Subscript[b, 2]- Subscript[c, 2]+ 1 , 2 - Subscript[c, 1], 2 - Subscript[c, 2]; x , y]",
"translationInformation" : {
"subEquations" : [ "Subscript[F, 2][x , y] = Subscript[C, 1]*Subscript[F, 2][a , Subscript[b, 1], Subscript[b, 2], Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 2]*(x)^(1 - Subscript[c, 1])* Subscript[F, 2][a - Subscript[c, 1]+ 1 , Subscript[b, 1]- Subscript[c, 1]+ 1 , Subscript[b, 2], 2 - Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 3]*(y)^(1 - Subscript[c, 2])* Subscript[F, 2][a - Subscript[c, 2]+ 1 , Subscript[b, 1], Subscript[b, 2]- Subscript[c, 2]+ 1 , Subscript[c, 1], 2 - Subscript[c, 2]; x , y]+ Subscript[C, 4]*(x)^(1 - Subscript[c, 1])* (y)^(1 - Subscript[c, 2])* Subscript[F, 2][a - Subscript[c, 1]- Subscript[c, 2]+ 2 , Subscript[b, 1]- Subscript[c, 1]+ 1 , Subscript[b, 2]- Subscript[c, 2]+ 1 , 2 - Subscript[c, 1], 2 - Subscript[c, 2]; x , y]" ],
"freeVariables" : [ "Subscript[C, 1]", "Subscript[C, 2]", "Subscript[C, 3]", "Subscript[C, 4]", "Subscript[b, 1]", "Subscript[b, 2]", "Subscript[c, 1]", "Subscript[c, 2]", "a", "x", "y" ],
"tokenTranslations" : {
"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" : "SKIPPED",
"numberOfTests" : 0,
"numberOfFailedTests" : 0,
"numberOfSuccessfulTests" : 0,
"numberOfSkippedTests" : 0,
"numberOfErrorTests" : 0,
"crashed" : false,
"testCalculationsGroup" : [ ]
}
},
"SymPy" : {
"translation" : "Symbol('{F}_{2}')(x , y) == Symbol('{C}_{1}')*Symbol('{F}_{2}')(a , Symbol('{b}_{1}'), Symbol('{b}_{2}'), Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{2}')*(x)**(1 - Symbol('{c}_{1}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{1}')+ 1 , Symbol('{b}_{1}')- Symbol('{c}_{1}')+ 1 , Symbol('{b}_{2}'), 2 - Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{3}')*(y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{2}')+ 1 , Symbol('{b}_{1}'), Symbol('{b}_{2}')- Symbol('{c}_{2}')+ 1 , Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{4}')*(x)**(1 - Symbol('{c}_{1}'))* (y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{1}')- Symbol('{c}_{2}')+ 2 , Symbol('{b}_{1}')- Symbol('{c}_{1}')+ 1 , Symbol('{b}_{2}')- Symbol('{c}_{2}')+ 1 , 2 - Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)",
"translationInformation" : {
"subEquations" : [ "Symbol('{F}_{2}')(x , y) = Symbol('{C}_{1}')*Symbol('{F}_{2}')(a , Symbol('{b}_{1}'), Symbol('{b}_{2}'), Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{2}')*(x)**(1 - Symbol('{c}_{1}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{1}')+ 1 , Symbol('{b}_{1}')- Symbol('{c}_{1}')+ 1 , Symbol('{b}_{2}'), 2 - Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{3}')*(y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{2}')+ 1 , Symbol('{b}_{1}'), Symbol('{b}_{2}')- Symbol('{c}_{2}')+ 1 , Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{4}')*(x)**(1 - Symbol('{c}_{1}'))* (y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{2}')(a - Symbol('{c}_{1}')- Symbol('{c}_{2}')+ 2 , Symbol('{b}_{1}')- Symbol('{c}_{1}')+ 1 , Symbol('{b}_{2}')- Symbol('{c}_{2}')+ 1 , 2 - Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)" ],
"freeVariables" : [ "Symbol('{C}_{1}')", "Symbol('{C}_{2}')", "Symbol('{C}_{3}')", "Symbol('{C}_{4}')", "Symbol('{b}_{1}')", "Symbol('{b}_{2}')", "Symbol('{c}_{1}')", "Symbol('{c}_{2}')", "a", "x", "y" ],
"tokenTranslations" : {
"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" : "SKIPPED",
"numberOfTests" : 0,
"numberOfFailedTests" : 0,
"numberOfSuccessfulTests" : 0,
"numberOfSkippedTests" : 0,
"numberOfErrorTests" : 0,
"crashed" : false,
"testCalculationsGroup" : [ ]
}
},
"Maple" : {
"translation" : "F[2](x , y) = C[1]*F[2](a , b[1], b[2], c[1], c[2]; x , y)+ C[2]*(x)^(1 - c[1])* F[2](a - c[1]+ 1 , b[1]- c[1]+ 1 , b[2], 2 - c[1], c[2]; x , y)+ C[3]*(y)^(1 - c[2])* F[2](a - c[2]+ 1 , b[1], b[2]- c[2]+ 1 , c[1], 2 - c[2]; x , y)+ C[4]*(x)^(1 - c[1])* (y)^(1 - c[2])* F[2](a - c[1]- c[2]+ 2 , b[1]- c[1]+ 1 , b[2]- c[2]+ 1 , 2 - c[1], 2 - c[2]; x , y)",
"translationInformation" : {
"subEquations" : [ "F[2](x , y) = C[1]*F[2](a , b[1], b[2], c[1], c[2]; x , y)+ C[2]*(x)^(1 - c[1])* F[2](a - c[1]+ 1 , b[1]- c[1]+ 1 , b[2], 2 - c[1], c[2]; x , y)+ C[3]*(y)^(1 - c[2])* F[2](a - c[2]+ 1 , b[1], b[2]- c[2]+ 1 , c[1], 2 - c[2]; x , y)+ C[4]*(x)^(1 - c[1])* (y)^(1 - c[2])* F[2](a - c[1]- c[2]+ 2 , b[1]- c[1]+ 1 , b[2]- c[2]+ 1 , 2 - c[1], 2 - c[2]; x , y)" ],
"freeVariables" : [ "C[1]", "C[2]", "C[3]", "C[4]", "a", "b[1]", "b[2]", "c[1]", "c[2]", "x", "y" ],
"tokenTranslations" : {
"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" : "SKIPPED",
"numberOfTests" : 0,
"numberOfFailedTests" : 0,
"numberOfSuccessfulTests" : 0,
"numberOfSkippedTests" : 0,
"numberOfErrorTests" : 0,
"crashed" : false,
"testCalculationsGroup" : [ ]
}
}
},
"positions" : [ {
"section" : 3,
"sentence" : 0,
"word" : 55
} ],
"includes" : [ "F_{2}", "y", "x", "F" ],
"isPartOf" : [ ],
"definiens" : [ {
"definition" : "solution",
"score" : 0.8869384888466118
}, {
"definition" : "A system",
"score" : 0.8426021531523621
}, {
"definition" : "Appell",
"score" : 0.8426021531523621
}, {
"definition" : "definition",
"score" : 0.8426021531523621
}, {
"definition" : "partial differential equation",
"score" : 0.8426021531523621
}, {
"definition" : "system",
"score" : 0.8426021531523621
}, {
"definition" : "derivative",
"score" : 0.6687181434333315
}, {
"definition" : "derivative result from the definition",
"score" : 0.6687181434333315
}, {
"definition" : "double series",
"score" : 0.6687181434333315
}, {
"definition" : "system of differential equation",
"score" : 0.6687181434333315
}, {
"definition" : "system of second-order differential equation",
"score" : 0.6687181434333315
} ]
}