

It consists of more than 17000 lines of code. The program that does this has been developed over several years and is written in Maxima's own programming language.

In order to show the steps, the calculator applies the same integration techniques that a human would apply. That's why showing the steps of calculation is very challenging for integrals. The antiderivative is computed using the Risch algorithm, which is hard to understand for humans. Maxima's output is transformed to LaTeX again and is then presented to the user. Maxima takes care of actually computing the integral of the mathematical function. This time, the function gets transformed into a form that can be understood by the computer algebra system Maxima. When the "Go!" button is clicked, the Integral Calculator sends the mathematical function and the settings (variable of integration and integration bounds) to the server, where it is analyzed again. MathJax takes care of displaying it in the browser. This allows for quick feedback while typing by transforming the tree into LaTeX code. The parser is implemented in JavaScript, based on the Shunting-yard algorithm, and can run directly in the browser. The Integral Calculator has to detect these cases and insert the multiplication sign.

A specialty in mathematical expressions is that the multiplication sign can be left out sometimes, for example we write "5x" instead of "5*x". In doing this, the Integral Calculator has to respect the order of operations. It transforms it into a form that is better understandable by a computer, namely a tree (see figure below). For those with a technical background, the following section explains how the Integral Calculator works.įirst, a parser analyzes the mathematical function.
