LaTeX to CAS translator

Jump to navigation Jump to search

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 \sum_{j=1}^p a_j + \sum_{j=1}^q b_j = \sum_{j=1}^m c_j + \sum_{j=1}^n d_j, }

... is translated to the CAS output ...

Semantic latex: \sum_{j=1}^p a_j + \sum_{j=1}^q b_j = \sum_{j=1}^m c_j + \sum_{j=1}^n d_j

Confidence: 0

Mathematica

Translation: Sum[Subscript[a, j], {j, 1, p}, GenerateConditions->None]+ Sum[Subscript[b, j], {j, 1, q}, GenerateConditions->None] == Sum[Subscript[c, j], {j, 1, m}, GenerateConditions->None]+ Sum[Subscript[d, j], {j, 1, n}, GenerateConditions->None]

Information

Sub Equations

  • Sum[Subscript[a, j], {j, 1, p}, GenerateConditions->None]+ Sum[Subscript[b, j], {j, 1, q}, GenerateConditions->None] = Sum[Subscript[c, j], {j, 1, m}, GenerateConditions->None]+ Sum[Subscript[d, j], {j, 1, n}, GenerateConditions->None]

Free variables

  • Subscript[a, j]
  • Subscript[b, j]
  • Subscript[c, j]
  • Subscript[d, j]
  • m
  • n
  • p
  • q

Tests

Symbolic
Numeric

SymPy

Translation: Sum(Symbol('{a}_{j}'), (j, 1, p))+ Sum(Symbol('{b}_{j}'), (j, 1, q)) == Sum(Symbol('{c}_{j}'), (j, 1, m))+ Sum(Symbol('{d}_{j}'), (j, 1, n))

Information

Sub Equations

  • Sum(Symbol('{a}_{j}'), (j, 1, p))+ Sum(Symbol('{b}_{j}'), (j, 1, q)) = Sum(Symbol('{c}_{j}'), (j, 1, m))+ Sum(Symbol('{d}_{j}'), (j, 1, n))

Free variables

  • Symbol('{a}_{j}')
  • Symbol('{b}_{j}')
  • Symbol('{c}_{j}')
  • Symbol('{d}_{j}')
  • m
  • n
  • p
  • q

Tests

Symbolic
Numeric

Maple

Translation: sum(a[j], j = 1..p)+ sum(b[j], j = 1..q) = sum(c[j], j = 1..m)+ sum(d[j], j = 1..n)

Information

Sub Equations

  • sum(a[j], j = 1..p)+ sum(b[j], j = 1..q) = sum(c[j], j = 1..m)+ sum(d[j], j = 1..n)

Free variables

  • a[j]
  • b[j]
  • c[j]
  • d[j]
  • m
  • n
  • p
  • q

Tests

Symbolic
Numeric

Dependency Graph Information

Includes

Description

  • asymmetric pair
  • further convergence condition
  • function
  • kernel

Complete translation information:

{
  "id" : "FORMULA_ef23b14b25f9fc5415a9b1b997f8c57d",
  "formula" : "\\sum_{j=1}^p a_j + \\sum_{j=1}^q b_j = \\sum_{j=1}^m c_j + \\sum_{j=1}^n d_j",
  "semanticFormula" : "\\sum_{j=1}^p a_j + \\sum_{j=1}^q b_j = \\sum_{j=1}^m c_j + \\sum_{j=1}^n d_j",
  "confidence" : 0.0,
  "translations" : {
    "Mathematica" : {
      "translation" : "Sum[Subscript[a, j], {j, 1, p}, GenerateConditions->None]+ Sum[Subscript[b, j], {j, 1, q}, GenerateConditions->None] == Sum[Subscript[c, j], {j, 1, m}, GenerateConditions->None]+ Sum[Subscript[d, j], {j, 1, n}, GenerateConditions->None]",
      "translationInformation" : {
        "subEquations" : [ "Sum[Subscript[a, j], {j, 1, p}, GenerateConditions->None]+ Sum[Subscript[b, j], {j, 1, q}, GenerateConditions->None] = Sum[Subscript[c, j], {j, 1, m}, GenerateConditions->None]+ Sum[Subscript[d, j], {j, 1, n}, GenerateConditions->None]" ],
        "freeVariables" : [ "Subscript[a, j]", "Subscript[b, j]", "Subscript[c, j]", "Subscript[d, j]", "m", "n", "p", "q" ]
      },
      "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" : "Sum(Symbol('{a}_{j}'), (j, 1, p))+ Sum(Symbol('{b}_{j}'), (j, 1, q)) == Sum(Symbol('{c}_{j}'), (j, 1, m))+ Sum(Symbol('{d}_{j}'), (j, 1, n))",
      "translationInformation" : {
        "subEquations" : [ "Sum(Symbol('{a}_{j}'), (j, 1, p))+ Sum(Symbol('{b}_{j}'), (j, 1, q)) = Sum(Symbol('{c}_{j}'), (j, 1, m))+ Sum(Symbol('{d}_{j}'), (j, 1, n))" ],
        "freeVariables" : [ "Symbol('{a}_{j}')", "Symbol('{b}_{j}')", "Symbol('{c}_{j}')", "Symbol('{d}_{j}')", "m", "n", "p", "q" ]
      },
      "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" : "sum(a[j], j = 1..p)+ sum(b[j], j = 1..q) = sum(c[j], j = 1..m)+ sum(d[j], j = 1..n)",
      "translationInformation" : {
        "subEquations" : [ "sum(a[j], j = 1..p)+ sum(b[j], j = 1..q) = sum(c[j], j = 1..m)+ sum(d[j], j = 1..n)" ],
        "freeVariables" : [ "a[j]", "b[j]", "c[j]", "d[j]", "m", "n", "p", "q" ]
      },
      "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" : 12,
    "sentence" : 0,
    "word" : 21
  } ],
  "includes" : [ "m", "q", "n", "\\mathbf{a}_{\\mathbf{p}}", "\\mathbf{b}_{\\mathbf{q}}", "j=h", "c" ],
  "isPartOf" : [ ],
  "definiens" : [ {
    "definition" : "asymmetric pair",
    "score" : 0.6859086196238077
  }, {
    "definition" : "further convergence condition",
    "score" : 0.6859086196238077
  }, {
    "definition" : "function",
    "score" : 0.6460746792928004
  }, {
    "definition" : "kernel",
    "score" : 0.6460746792928004
  } ]
}

Specify your own input