MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: algebraic numbers

  • To: mathgroup at smc.vnet.net
  • Subject: [mg106011] Re: [mg105989] algebraic numbers
  • From: Robert Coquereaux <robert.coquereaux at gmail.com>
  • Date: Wed, 30 Dec 2009 04:14:16 -0500 (EST)
  • References: <200912290620.BAA02732@smc.vnet.net>

What about

z= 5.3823323474417620387383087344468466809530954887989;

In[1]:= RootApproximant[z,8]
Out[1]= Root[576-960 #1^2+352 #1^4-40 #1^6+#1^8&,8] (* you get back 
your minimal polynomial in one stroke *)

In[2]:= ToRadicals[%,8]]
Out[2]= Sqrt[2 (5+Sqrt[15]+2 Sqrt[4+Sqrt[15]])]

In[3]:= RootReduce[% ==Sqrt[2]+Sqrt[3]+Sqrt[5]] (* check *)
Out[3]= True

Notice that RootApproximant stabilizes after s=8

In[4]:= Table[RootApproximant[z, s], {s, 7, 10}]
Out[4]= {Root[421813 + 165807 #1 + 636917 #1^2 + 855877 #1^3 - 1050961 
#1^4 -
     172764 #1^5 - 22412 #1^6 + 15697 #1^7 &, 3],
  Root[576 - 960 #1^2 + 352 #1^4 - 40 #1^6 + #1^8 &, 8],
  Root[576 - 960 #1^2 + 352 #1^4 - 40 #1^6 + #1^8 &, 8],
  Root[576 - 960 #1^2 + 352 #1^4 - 40 #1^6 + #1^8 &, 8]}

However there are many (!) algebraic numbers that share the same first 
N digits...
If you give less digits for z, you will get another candidate for the 
minimal polynomial.

In[5]:= Table[RootApproximant[N[z,s],8],{s,25,27}]
Out[5]= {
Root[443+275 #1+146 #1^2-261 #1^3+234 #1^4-13 #1^5-340 #1^6-126 
#1^7+35 #1^8&,2],
Root[576-960 #1^2+352 #1^4-40 #1^6+#1^8&,8],
Root[576-960 #1^2+352 #1^4-40 #1^6+#1^8&,8]}

In any case, you will get get an answer (a polynomial)  even if x is 
not algebraic, whatever the number of digits you give.
In[6]:= Table[RootApproximant[N[Pi,10],s],{s,8,10}]
Out[6]= {Root[5-#1+7 #1^2-14 #1^3-3 #1^4-#1^5+#1^6&,2],Root[1+#1+6 
#1^2+#1^3-5 #1^4-5 #1^5+2 #1^6&,2],Root[1+#1+6 #1^2+#1^3-5 #1^4-5 
#1^5+2 #1^6&,2]}

To recognize a number x as algebraic, from its N first figures, is 
impossible.
And to recognize it as "probably algebraic", as you write, does not 
make much sense to me (using measure theory would give probability 0, 
anyway).
Now, if you already know that, for some reason, x is algebraic, like 
in your example, using RootApproximant may help you to recognize it.

Robert



Le 29 d=E9c. 09 =E0 07:20, Andre Hautot a =E9crit :

> x= Sqrt[2] + Sqrt[3] + Sqrt[5]   is an algebraic number
>
> MinimalPolynomial[Sqrt[2] + Sqrt[3] + Sqrt[5], x]
>
> returns the polynomial :  576 - 960 x^2 + 352 x^4 - 40 x^6 + x^8  as
> expected
>
> Now suppose we only know the N first figures of x (N large enough), =

> say
> :  N[x,50] = 5.3823323474417620387383087344468466809530954887989
>
> is it possible to recognize x as a probably algebraic number and to
> deduce its minimal polynomial ?
>
> Thanks for a hint,
> ahautot
>
>



  • Prev by Date: Re: Re: Replace and ReplaceAll -- simple application
  • Next by Date: Re: bug in RandomChoice if weight is zero?
  • Previous by thread: Re: algebraic numbers
  • Next by thread: Re: Re: algebraic numbers