This will be calculated:
Use parenthesesif necessary. Also see "Examples". Change integration variable and order in "Options".
Support
Please support me if you like this page.
Result
How the Integral Calculator Works
For those with a technical backgroundthe following section explains how the Integral Calculator works.
Firsta parser analyzes the mathematical function. It transforms it into a form that is better understandable by a computernamely a tree (see figure below). In doing thisthe Integral Calculator has to respect the order of operations. A specialty in mathematical expressions is that the multiplication sign can be left out sometimesfor example we write 5x instead of 5*x. The Integral Calculator has to detect these cases and insert the multiplication sign.
The parser is implemented in JavaScriptbased on the Shunting-yard algorithmand can run directly in the browser. This allows for quick feedback while typing by transforming the tree into LaTeX code. MathJax takes care of displaying it in the browser.
When the "Go!" button is clickedthe Integral Calculator sends the mathematical function and the settings (variable of integration and integration bounds) to the serverwhere it is analyzed again. This timethe function gets transformed into a form that can be understood by the computer algebra system Maxima.

Maxima takes care of actually computing the integral of the mathematical function. Maxima's output is transformed to LaTeX again and is then presented to the user. In many casesthe antiderivative is computed using the Risch algorithmwhich is hard to understand for humans. That's why showing the steps of calculation is very challenging for integrals.
In order to show the stepsthe calculator applies the same integration techniques that a human would apply. The program that does this has been developed over several years and is written in Maxima's own programming language. It consists of more than 17 000 lines of code. When the integrand matches a known formit applies fixed rules to solve the integral (e.g. partial fraction decomposition for rational functionstrigonometric substitution for integrands involving the square roots of a quadratic polynomial or integration by parts for products of certain functions). Otherwiseit tries different substitutions and transformations until either the integral is solvedtime runs out or there is nothing left to try. The calculator lacks the mathematical intuition that is very useful for finding an antiderivativebut on the other hand it can try a large number of possibilities within a short amount of time. The step by step antiderivatives are often much shorter and more elegant than those found by Maxima.
The "Check answer" feature has to solve the difficult task of determining whether two mathematical expressions are equivalent. Their difference is computed and simplified as far as possible using Maxima. For examplethis involves writing trigonometric/hyperbolic functions in their exponential forms. If it can be shown that the difference simplifies to zerothe task is solved. Otherwisea probabilistic algorithm is applied that evaluates and compares both functions at randomly chosen places. In the case of antiderivativesthe entire procedure is repeated with each function's derivativesince antiderivatives are allowed to differ by a constant.
The interactive function graphs are computed in the browser and displayed within a canvas element (HTML5). For each function to be graphedthe calculator creates a JavaScript functionwhich is then evaluated in small steps in order to draw the graph. While graphingsingularities (e.g. poles) are detected and treated specially. The gesture control is implemented using Hammer..
If you have any questions or ideas for improvements to the Integral Calculatordon't hesitate to write me an e-mail.