Looking Portable Mathematical Notation(s) [LaTeX, Mathematica, Maple, Macsyma] that are open

172 Views Asked by At

I'm looking for a portable Mathematical notation. What I mean by that is: I want to create a collection of (open-source) math problems that can be:

  1. Rendered for the Web or say in ePS format for printing
  2. that can be submitted to backends such as Mathematica or Sage

For example:

$$\int_{-\infty}^{\infty}e^{-x^2/2}dx\,?$$

The above, can be written in in several formats -- however I want one which can be translated (and has the tools to do so) to other formats say LaTex, Mathematica, and also submitted for solution to solvers.

1

There are 1 best solutions below

2
On BEST ANSWER

There does not exist a uniform way of representing math in backends. More importantly, the ways in which math and mathematical logic is interpreted and stored varies widely.

Mathematica, Maple, Matlab, Macsyma, and Sage are all computer algebra systems with backends written in various programming languages. If you are interested in contributing to one of them, then you should learn about that system and its underlying programming language.

For instance, to contribute a package to SageMath, you would need to write some python or python-compatible code. If you want to learn more, you can read SageMath's How to contribute to Sage page. I should add that further questions in this direction are not on topic for this forum, and should be directed at the maintainers and organizers of Sage (or whatever system you want to start developing with).

You also mention that you want to write a repository of math problems in a convenient web-friendly format. The standard way of representing math in text documents is through $\LaTeX$. For online display, one either prerenders the TeX into images and embeds the images, or one uses a javascript engine such as MathJax to have the TeX be rendered dynamically (as is done on Math.SE).

I have the impression that you implicitly imagine that one can write TeX and somehow feed it into a computer algebra system like Sage. This is somewhat backwards. Mathematical information is (usually) stored as python objects in Sage [and in different but parallel methods in other systems that I do not describe here]. But Sage objects also have toLaTeX methods that allow them to give TeX code for easy display. For instance, the backend for the L-Function and Modular Form DataBase consists largely of python and Sage code along with methods to display the resulting information through MathJax. Note the distinction between display (MathJax) and storage (python objects, etc.).

So if your intent is to store mathematical content programatically, or to come up with a better mathematical information storage system, then you should note that these are fundamentally programming questions which do not have a single answer [and which are likely not on topic for this forum]. If your intent is to store content as in a book, then the clear best way is to use LaTeX.

Otherwise, good luck.