Google Groups

Re: Guessing "exact" values


Andrzej Kozlowski May 18, 2007 3:47 AM
Posted in group: comp.soft-sys.math.mathematica
Mathematica can "recognize" algebraic numbers, by using the function
RootApproximant (or the function Recognize in the Legacy
NumberTherory package):

ToRadicals[RootApproximant[N[Sqrt[2] + Sqrt[3], 30]]]
Sqrt[5 + 2*Sqrt[6]]

This may not look so impressive  until you check:

FullSimplify[Sqrt[2] + Sqrt[3] - Sqrt[5 + 2*Sqrt[6]]]
0

Anyway, doing this for algebraic numbers has a solid mathematical
basis: the so called LLL Lattice Reduction) algorithm. I don=92t know, =

however, of any mathematical basis for "recognizing" transcendentals, =

except by means of  stored values or some other "ad hoc" approach
(essentially "sophisticated guessing")

Andrzej Kozlowski


On 17 May 2007, at 18:59, Murray Eisenberg wrote:

> As I remember, at IMS'06 (Avignon) Stephen Wolfram (via remote link-=

> up)
> played with a function to do just that.  Did I remember correctly?
>
> If so, I cannot recall the name of the function, so I don't know
> whether
> the function made it into 6.0.  The closest thing I can find is
> RootApproximant, but that doesn't seem to "recognize" an expression
> involving a transcendental number.
>
> Szabolcs wrote:
>> "Another computer algebra system" has a function, identify(), which
>> attempts to guess the exact expression that evaluates to a particular
>> numerical value.
>>
>> Example:
>>
>> In[1]:= N[3Pi+3/2,10]
>>
>> Out[1]= 10.92477796
>>
>>> identify(10.92477796);
>>                                    3
>>                                    - + 3 Pi
>>                                    2
>>
>> Is there a package with similar functionality for Mathematica?
>>
>> Szabolcs
>>
>
> --
> Murray Eisenberg                     mur...@math.umass.edu
> Mathematics & Statistics Dept.
> Lederle Graduate Research Tower      phone 413 549-1020 (H)
> University of Massachusetts                413 545-2859 (W)
> 710 North Pleasant Street            fax   413 545-1801
> Amherst, MA 01003-9305
>