Prev: FindInstance Problem
Next: Persistent assumption
From: Andre Hautot on 29 Dec 2009 01:24 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
From: Bob Hanlon on 30 Dec 2009 04:14 Use RootApproximant. In this case it takes at least 33-digit precision x = Sqrt[2] + Sqrt[3] + Sqrt[5]; RootApproximant /@ Table[N[x, n], {n, 30, 35}] // ColumnForm Bob Hanlon ---- Andre Hautot <ahautot(a)ulg.ac.be> wrote: ============= 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
From: Robert Coquereaux on 30 Dec 2009 04:16 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 > >
From: David W. Cantrell on 30 Dec 2009 04:13 Andre Hautot <ahautot(a)ulg.ac.be> wrote: > 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 ? In[1]:= RootApproximant[5.3823323474417620387383087344468466809530954887989] Out[1]= Root[576 - 960*#1^2 + 352*#1^4 - 40*#1^6 + #1^8 & , 8] David
From: Francesco on 30 Dec 2009 04:14
"Andre Hautot" <ahautot(a)ulg.ac.be> ha scritto nel messaggio news:hhc7a1$2o2$1(a)smc.vnet.net... > 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 ? I have the impression that in your case the MinimalPolynomial is simply x-N. If you add a figure to N, let say ......9891, you will get a different polynomial. __________ Information from ESET Smart Security, version of virus signature database 4725 (20091229) __________ The message was checked by ESET Smart Security. http://www.eset.com |