       Re: Mathematica is not very clever

• To: mathgroup at smc.vnet.net
• Subject: [mg53477] Re: Mathematica is not very clever
• From: Paul Abbott <paul at physics.uwa.edu.au>
• Date: Thu, 13 Jan 2005 03:59:49 -0500 (EST)
• Organization: The University of Western Australia
• References: <cq6e2v\$2po\$1@smc.vnet.net> <cs5aj7\$3pb\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```In article <cs5aj7\$3pb\$1 at smc.vnet.net>, "Astanoff" <astanoff at yahoo.fr>
wrote:

> Klaus G wrote:
> > Mathematica refuses to compute the following integral:
> >
> > Integrate [ArcTan[Sqrt[x^2 + 2]]/((x^2 + 1)*Sqrt[x^2 + 2]), {x, 0,
> 1}]
> >
> > Why is that?
> > The correct result is 5*Pi^2 / 96, which can be proved.
> >
> > Klaus G.
>
> I wonder why mathematica doesn't provide an engine
> (like Plouffe's inverter) to convert a floating-point value
> into an exact value...

In The Mathematica Journal 6(2): 29-30, you will find code for
TranscendentalRecognize[] that rationalizes the given transcendental
basis and then uses rational arithmetic and LatticeReduce to find the
"simplest" (rational) representation for the floating point number in
that basis:

TranscendentalRecognize[n_, basis_] :=
Module[{c, d, digs, e, id, lat, powerten, r, s, vals},
{d, e} = RealDigits[n];
s = Sign[n];
c = FromDigits[d];
powerten = 10^(Length[d] - e);
digs = (RealDigits[N[#1, -e + Length[d] + 5]] & ) /@ basis;
r = (FromDigits[Take[First[#1], -e + Last[#1] +
Length[d]]] & ) /@ digs;
lat = Transpose[Append[IdentityMatrix[Length[basis] + 2],
Flatten[{powerten, r, c}]]];
vals = Take[First[LatticeReduce[lat]], Length[basis] + 2];
Expand[-((s (Take[vals, {2, -2}] . basis + First[vals]))/Last[vals])]
]

This code works fine on the example above:

num = NIntegrate[ArcTan[Sqrt[x^2 + 2]]/((x^2 + 1) Sqrt[x^2 + 2]),
{x, 0, 1}, WorkingPrecision -> 30];

TranscendentalRecognize[num, {1/Pi, Pi, Pi^2, E, Log}]

(5 Pi^2)/96

Cheers,
Paul

--
Paul Abbott                                   Phone: +61 8 6488 2734
School of Physics, M013                         Fax: +61 8 6488 1014
The University of Western Australia      (CRICOS Provider No 00126G)
35 Stirling Highway
Crawley WA 6009                      mailto:paul at physics.uwa.edu.au
AUSTRALIA                            http://physics.uwa.edu.au/~paul

```

• Prev by Date: Re: Newbie Limit problem
• Next by Date: Re: Problem with transformation rule of a function
• Previous by thread: Re: Mathematica is not very clever
• Next by thread: Re: Re: Mathematica is not very clever