# Integration algorithm

461 views

### MYWY Becker

Nov 23, 2000, 3:00:00 AM11/23/00
to
Does anyone know whether the integration algorithm in Maple is
Risch-complete? That is, if Maple's answer is not an elementary
function, can you be sure that there doesn't exist an elementary answer?
In other words, has Maple implemented the *entire* Risch-like algorithm,
in particular the *entire* algebraic case?

Thanks!

Moritz

### Manuel Bronstein

Nov 24, 2000, 3:00:00 AM11/24/00
to

It is not Risch-complete, even in the purely transcendental
case (recursion problems in the logarithmic case). It is not
complete either in the purely algebraic case (see below),
and certainly not in the mixed algebraic-transcendental case.

Neither is Axiom (despite various rumors). The difference
is that Axiom issues an error message when an unimplemented
branch of the algorithm is hit, so an unevaluated integral
in Axiom is a proof that the integral is not elementary.

Neither is Mathematica, despite all the hype and ads
(source code is unavailable but "black box" experiments
show Mma's integrator to be in the, ahem, "low" category).

For the sceptics, here is an elementary integral of an
algebraic function, whose integral is a simple logarithm,
missed by the Risch integrators of both Maple and Mma:

Mathematica 4.0:
g = x / Sqrt[x^4 + 10 x^2 - 96 x - 71]
Integrate[g,x]
f = -Log[(x^6+15 x^4-80 x^3+27 x^2-528 x+781) Sqrt[x^4+10 x^2-96 x-71]
- x^8 - 20 x^6 + 128 x^5 - 54 x^4 + 1408 x^3 - 3124 x^2 - 10001]/8
Simplify[D[f,x] - g]

Maple 5.5 and Maple 6:
g := x / sqrt(x^4 + 10*x^2 - 96*x - 71);
int(g,x);
int(convert(g,RootOf),x);
f := -log((x^6+15*x^4-80*x^3+27*x^2-528*x+781) *
sqrt(x^4+10*x^2-96*x-71)
- x^8 - 20*x^6 + 128*x^5 - 54*x^4 + 1408*x^3 - 3124*x^2 - 10001)/8;
normal(diff(f,x)-g);

For fairness, here is an easy one that Axiom cannot decide:
integrate(sqrt atan x,x)

-- Manuel Bronstein
-- Manuel.B...@sophia.inria.fr
-- http://www.inria.fr/cafe/Manuel.Bronstein/

### Бальтазар Лин

Dec 11, 2021, 12:00:02 PM12/11/21
to
This can be finally solved by Mathematica 13, not only by various forks of Axiom.

https://www.wolframcloud.com/obj/d9af14f6-3b98-43c4-b996-11dedc9d9f10
As they say 20 years only were needed. Thanks to https://resources.wolframcloud.com/FunctionRepository/resources/IntegrateAlgebraic/

### acer

Dec 14, 2021, 8:23:44 PM12/14/21
to
Maple 2021.0, from March, 2021,

kernelopts(version);
Maple 2021.0, X86 64 LINUX, Mar 5 2021, Build ID 1523359

int(x/sqrt(x^4 + 10*x^2 - 96*x - 71), x, method=trager);

-1/8*ln(-x^8+(x^4+10*x^2-96*x-71)^(1/2)*x^6-20*x^6+15*(x^4+10*x^2-96*x-71)^(1/2)*x^4
+128*x^5-80*(x^4+10*x^2-96*x-71)^(1/2)*x^3-54*x^4+27*(x^4+10*x^2-96*x-71)^(1/2)*x^2+
1408*x^3-528*(x^4+10*x^2-96*x-71)^(1/2)*x-3124*x^2+781*(x^4+10*x^2-96*x-71)^(1/2)-\
10001)

simplify(%);

-1/8*ln((x^6+15*x^4-80*x^3+27*x^2-528*x+781)*(x^4+10*x^2-96*x-71)^(1/2)-x^8-20*x^6+
128*x^5-54*x^4+1408*x^3-3124*x^2-10001)