2
$\begingroup$

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.

$\endgroup$
1
  • 1
    $\begingroup$ MathML is probably the most widely supported interchange format for formulas. Mathematica and Maple supports it (import/export). Can be converted to LaTeX, rendered by some browsers, or rendered by MathJax. MS Word supports it as a copy/paste format for real typeset equations. Probably other CAS supports it too but I'm not familiar with them. $\endgroup$
    – Szabolcs
    Nov 20, 2016 at 20:10

1 Answer 1

2
$\begingroup$

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.

$\endgroup$
2
  • $\begingroup$ many thanks for the answer -- I was trying to create a collection of math problems (that would be open source) so I want to represent them in a portable manner -- these could then be submitted to say a sage backed for solution. The primary objective I have is really Math education $\endgroup$ Dec 29, 2015 at 22:00
  • 1
    $\begingroup$ It may be also worth to mention OpenMath and its practical use in the remote procedure call protocol called SCSCP (Symbolic Computation Software Composability Protocol) - see symbolic-computing.org. $\endgroup$ Dec 30, 2015 at 23:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .