> In order to show the steps, the 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 17000 lines of code. When the integrand matches a known form, it applies fixed rules to solve the integral (e. g. partial fraction decomposition for rational functions, trigonometric substitution for integrands involving the square roots of a quadratic polynomial or integration by parts for products of certain functions). Otherwise, it tries different substitutions and transformations until either the integral is solved, time runs out or there is nothing left to try. The calculator lacks the mathematical intuition that is very useful for finding an antiderivative, but 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.
ah the comparison is here : https://www.12000.org/my_notes/CAS_integration_tests/index.h...
(and posted by other on this very thread...)
I wonder what those early versions were like. It's on lisp so it's feasibly still runnable without too much fussing around
The syntax it's the same, I even made a plot and 'printed' into the host from an ARDS output from the plot command, by converting the file into PPM->PNG or PPM->PDF.
This is a plot from Macsyma converted into PDF:
Calculating integrals is extremely hard (unlike calculating derivatives, which is very easy to do) and maxima comes with some of the more advanced and comprehensive strategies to solve integrals.
Fricas home page: http://fricas.github.io
Fricas Archlinux package page: https://archlinux.org/packages/extra/x86_64/fricas/
Some independent integration benchmarks, comparing multiple computer algebra systems: https://www.12000.org/my_notes/CAS_integration_tests/index.h...
But, the magic of Lisp is that you might call Common Lisp functions from one suite into another and viceversa without too much trouble.