When I use Maple with my first year students, and we are experimenting with integration, I challenge them to produce a function which Maple can’t integrate in closed form. Given the huge number of special functions in Maple, and my students’ lack of imagination in creating functions, this is a hard exercise for them (until they get the idea of composition). Mathematica is the same; its vast library of special functions means that many integrals can be expressed in closed form. The open source CAS’s known to me: Sage, Maxima, Axiom, REDUCE, and Yacas, are generally much less able for integration. (Yacas is not being currently developed, but apparently some work is being done on a fork of it.) These systems know about the standard transcendental functions: trigonometric and hyperbolic and their inverses, exponential and logarithmic functions. However, there are a few limits even here.
I started thinking about this with the integral
which can be expressed entirely in terms of elementary functions. You can see it done in Wolfram|Alpha and check it out. However, neither Maxima (and hence Sage) can solve this, and REDUCE can only do it with a special package designed for integrals of this type. Interestingly, Axiom does this with no trouble.
Some of the open source systems know a little about other functions: the error function, or elliptic integrals, but often not enough to use them as results of integration.
is solved by all of Sage/Maxima, REDUCE and Axiom in terms of the error function, but the similar function
can’t be solved in Axiom.
Sage/Maxima can solve the integral
in terms of the error function, but REDUCE and Axiom just return the integral unevaluated. Axiom’s knowledge of special functions is the poorest of all these systems, although it would probably not be hard to build such knowledge in. However, Axiom can evaluate
None of these systems can evaluate
which involves an elliptic integral. However, Maxima gets at least half marks for being able to differentiate the result properly:
sage: maxima.diff(elliptic_f(arcsin(x),-1),x) 1/(sqrt(1-x^2)*sqrt(x^2+1))
For one final example:
is solved by Sage/Maxima using the polylogarithm function; Axiom and REDUCE can do nothing.
Maxima and REDUCE come with test suites for integration, but I don’t think there’s such a suite for Axiom. There has not been, as far as I know, a published comparison of the integration capabilities of these systems, but it seems that of the systems mentioned here, Maxima has the best all round strength.