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_4(x,y)=C_1F_4(a,b,c_1,c_2;x,y)+C_2x^{1-c_1}F_4(a-c_1+1,b-c_1+1,2-c_1,c_2;x,y)+C_3y^{1-c_2}F_4(a-c_2+1,b-c_2+1,c_1,2-c_2;x,y)+C_4x^{1-c_1}y^{1-c_2}F_4(2+a-c_1-c_2,2+b-c_1-c_2,2-c_1,2-c_2;x,y)}
... is translated to the CAS output ...
Semantic latex: F_4(x,y)=C_1F_4(a,b,c_1,c_2;x,y)+C_2x^{1-c_1}F_4(a-c_1+1,b-c_1+1,2-c_1,c_2;x,y)+C_3y^{1-c_2}F_4(a-c_2+1,b-c_2+1,c_1,2-c_2;x,y)+C_4x^{1-c_1}y^{1-c_2}F_4(2+a-c_1-c_2,2+b-c_1-c_2,2-c_1,2-c_2;x,y)
Confidence: 0
Mathematica
Translation: Subscript[F, 4][x , y] == Subscript[C, 1]*Subscript[F, 4][a , b , Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 2]*(x)^(1 - Subscript[c, 1])* Subscript[F, 4][a - Subscript[c, 1]+ 1 , b - Subscript[c, 1]+ 1 , 2 - Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 3]*(y)^(1 - Subscript[c, 2])* Subscript[F, 4][a - Subscript[c, 2]+ 1 , b - 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, 4][2 + a - Subscript[c, 1]- Subscript[c, 2], 2 + b - Subscript[c, 1]- Subscript[c, 2], 2 - Subscript[c, 1], 2 - Subscript[c, 2]; x , y]
Information
Sub Equations
- Subscript[F, 4][x , y] = Subscript[C, 1]*Subscript[F, 4][a , b , Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 2]*(x)^(1 - Subscript[c, 1])* Subscript[F, 4][a - Subscript[c, 1]+ 1 , b - Subscript[c, 1]+ 1 , 2 - Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 3]*(y)^(1 - Subscript[c, 2])* Subscript[F, 4][a - Subscript[c, 2]+ 1 , b - 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, 4][2 + a - Subscript[c, 1]- Subscript[c, 2], 2 + b - Subscript[c, 1]- Subscript[c, 2], 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[c, 1]
- Subscript[c, 2]
- a
- b
- 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}_{4}')(x , y) == Symbol('{C}_{1}')*Symbol('{F}_{4}')(a , b , Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{2}')*(x)**(1 - Symbol('{c}_{1}'))* Symbol('{F}_{4}')(a - Symbol('{c}_{1}')+ 1 , b - Symbol('{c}_{1}')+ 1 , 2 - Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{3}')*(y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{4}')(a - Symbol('{c}_{2}')+ 1 , b - 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}_{4}')(2 + a - Symbol('{c}_{1}')- Symbol('{c}_{2}'), 2 + b - Symbol('{c}_{1}')- Symbol('{c}_{2}'), 2 - Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)
Information
Sub Equations
- Symbol('{F}_{4}')(x , y) = Symbol('{C}_{1}')*Symbol('{F}_{4}')(a , b , Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{2}')*(x)**(1 - Symbol('{c}_{1}'))* Symbol('{F}_{4}')(a - Symbol('{c}_{1}')+ 1 , b - Symbol('{c}_{1}')+ 1 , 2 - Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{3}')*(y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{4}')(a - Symbol('{c}_{2}')+ 1 , b - 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}_{4}')(2 + a - Symbol('{c}_{1}')- Symbol('{c}_{2}'), 2 + b - Symbol('{c}_{1}')- Symbol('{c}_{2}'), 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('{c}_{1}')
- Symbol('{c}_{2}')
- a
- b
- 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[4](x , y) = C[1]*F[4](a , b , c[1], c[2]; x , y)+ C[2]*(x)^(1 - c[1])* F[4](a - c[1]+ 1 , b - c[1]+ 1 , 2 - c[1], c[2]; x , y)+ C[3]*(y)^(1 - c[2])* F[4](a - c[2]+ 1 , b - c[2]+ 1 , c[1], 2 - c[2]; x , y)+ C[4]*(x)^(1 - c[1])* (y)^(1 - c[2])* F[4](2 + a - c[1]- c[2], 2 + b - c[1]- c[2], 2 - c[1], 2 - c[2]; x , y)
Information
Sub Equations
- F[4](x , y) = C[1]*F[4](a , b , c[1], c[2]; x , y)+ C[2]*(x)^(1 - c[1])* F[4](a - c[1]+ 1 , b - c[1]+ 1 , 2 - c[1], c[2]; x , y)+ C[3]*(y)^(1 - c[2])* F[4](a - c[2]+ 1 , b - c[2]+ 1 , c[1], 2 - c[2]; x , y)+ C[4]*(x)^(1 - c[1])* (y)^(1 - c[2])* F[4](2 + a - c[1]- c[2], 2 + b - c[1]- c[2], 2 - c[1], 2 - c[2]; x , y)
Free variables
- C[1]
- C[2]
- C[3]
- C[4]
- a
- b
- 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_3bab157c9865e5e9a177f37ddb790c36",
"formula" : "F_4(x,y)=C_1F_4(a,b,c_1,c_2;x,y)+C_2x^{1-c_1}F_4(a-c_1+1,b-c_1+1,2-c_1,c_2;x,y)+C_3y^{1-c_2}F_4(a-c_2+1,b-c_2+1,c_1,2-c_2;x,y)+C_4x^{1-c_1}y^{1-c_2}F_4(2+a-c_1-c_2,2+b-c_1-c_2,2-c_1,2-c_2;x,y)",
"semanticFormula" : "F_4(x,y)=C_1F_4(a,b,c_1,c_2;x,y)+C_2x^{1-c_1}F_4(a-c_1+1,b-c_1+1,2-c_1,c_2;x,y)+C_3y^{1-c_2}F_4(a-c_2+1,b-c_2+1,c_1,2-c_2;x,y)+C_4x^{1-c_1}y^{1-c_2}F_4(2+a-c_1-c_2,2+b-c_1-c_2,2-c_1,2-c_2;x,y)",
"confidence" : 0.0,
"translations" : {
"Mathematica" : {
"translation" : "Subscript[F, 4][x , y] == Subscript[C, 1]*Subscript[F, 4][a , b , Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 2]*(x)^(1 - Subscript[c, 1])* Subscript[F, 4][a - Subscript[c, 1]+ 1 , b - Subscript[c, 1]+ 1 , 2 - Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 3]*(y)^(1 - Subscript[c, 2])* Subscript[F, 4][a - Subscript[c, 2]+ 1 , b - 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, 4][2 + a - Subscript[c, 1]- Subscript[c, 2], 2 + b - Subscript[c, 1]- Subscript[c, 2], 2 - Subscript[c, 1], 2 - Subscript[c, 2]; x , y]",
"translationInformation" : {
"subEquations" : [ "Subscript[F, 4][x , y] = Subscript[C, 1]*Subscript[F, 4][a , b , Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 2]*(x)^(1 - Subscript[c, 1])* Subscript[F, 4][a - Subscript[c, 1]+ 1 , b - Subscript[c, 1]+ 1 , 2 - Subscript[c, 1], Subscript[c, 2]; x , y]+ Subscript[C, 3]*(y)^(1 - Subscript[c, 2])* Subscript[F, 4][a - Subscript[c, 2]+ 1 , b - 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, 4][2 + a - Subscript[c, 1]- Subscript[c, 2], 2 + b - Subscript[c, 1]- Subscript[c, 2], 2 - Subscript[c, 1], 2 - Subscript[c, 2]; x , y]" ],
"freeVariables" : [ "Subscript[C, 1]", "Subscript[C, 2]", "Subscript[C, 3]", "Subscript[C, 4]", "Subscript[c, 1]", "Subscript[c, 2]", "a", "b", "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}_{4}')(x , y) == Symbol('{C}_{1}')*Symbol('{F}_{4}')(a , b , Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{2}')*(x)**(1 - Symbol('{c}_{1}'))* Symbol('{F}_{4}')(a - Symbol('{c}_{1}')+ 1 , b - Symbol('{c}_{1}')+ 1 , 2 - Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{3}')*(y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{4}')(a - Symbol('{c}_{2}')+ 1 , b - 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}_{4}')(2 + a - Symbol('{c}_{1}')- Symbol('{c}_{2}'), 2 + b - Symbol('{c}_{1}')- Symbol('{c}_{2}'), 2 - Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)",
"translationInformation" : {
"subEquations" : [ "Symbol('{F}_{4}')(x , y) = Symbol('{C}_{1}')*Symbol('{F}_{4}')(a , b , Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{2}')*(x)**(1 - Symbol('{c}_{1}'))* Symbol('{F}_{4}')(a - Symbol('{c}_{1}')+ 1 , b - Symbol('{c}_{1}')+ 1 , 2 - Symbol('{c}_{1}'), Symbol('{c}_{2}'); x , y)+ Symbol('{C}_{3}')*(y)**(1 - Symbol('{c}_{2}'))* Symbol('{F}_{4}')(a - Symbol('{c}_{2}')+ 1 , b - 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}_{4}')(2 + a - Symbol('{c}_{1}')- Symbol('{c}_{2}'), 2 + b - Symbol('{c}_{1}')- Symbol('{c}_{2}'), 2 - Symbol('{c}_{1}'), 2 - Symbol('{c}_{2}'); x , y)" ],
"freeVariables" : [ "Symbol('{C}_{1}')", "Symbol('{C}_{2}')", "Symbol('{C}_{3}')", "Symbol('{C}_{4}')", "Symbol('{c}_{1}')", "Symbol('{c}_{2}')", "a", "b", "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[4](x , y) = C[1]*F[4](a , b , c[1], c[2]; x , y)+ C[2]*(x)^(1 - c[1])* F[4](a - c[1]+ 1 , b - c[1]+ 1 , 2 - c[1], c[2]; x , y)+ C[3]*(y)^(1 - c[2])* F[4](a - c[2]+ 1 , b - c[2]+ 1 , c[1], 2 - c[2]; x , y)+ C[4]*(x)^(1 - c[1])* (y)^(1 - c[2])* F[4](2 + a - c[1]- c[2], 2 + b - c[1]- c[2], 2 - c[1], 2 - c[2]; x , y)",
"translationInformation" : {
"subEquations" : [ "F[4](x , y) = C[1]*F[4](a , b , c[1], c[2]; x , y)+ C[2]*(x)^(1 - c[1])* F[4](a - c[1]+ 1 , b - c[1]+ 1 , 2 - c[1], c[2]; x , y)+ C[3]*(y)^(1 - c[2])* F[4](a - c[2]+ 1 , b - c[2]+ 1 , c[1], 2 - c[2]; x , y)+ C[4]*(x)^(1 - c[1])* (y)^(1 - c[2])* F[4](2 + a - c[1]- c[2], 2 + b - c[1]- c[2], 2 - c[1], 2 - c[2]; x , y)" ],
"freeVariables" : [ "C[1]", "C[2]", "C[3]", "C[4]", "a", "b", "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" : 98
} ],
"includes" : [ "F_{4}", "y", "x", "F" ],
"isPartOf" : [ ],
"definiens" : [ {
"definition" : "solution",
"score" : 0.8869384888466118
}, {
"definition" : "A system",
"score" : 0.8753892604563361
}, {
"definition" : "Appell",
"score" : 0.8753892604563361
}, {
"definition" : "definition",
"score" : 0.8753892604563361
}, {
"definition" : "partial differential equation",
"score" : 0.8753892604563361
}, {
"definition" : "system",
"score" : 0.8753892604563361
}, {
"definition" : "derivative",
"score" : 0.6954080343007951
}, {
"definition" : "derivative result from the definition",
"score" : 0.6954080343007951
}, {
"definition" : "double series",
"score" : 0.6954080343007951
}, {
"definition" : "system of differential equation",
"score" : 0.6954080343007951
}, {
"definition" : "system of second-order differential equation",
"score" : 0.6954080343007951
} ]
}