MathGroup Archive 2005

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

Search the Archive

Re: How to get an answer as a Root object?


In article <d6mlqh$g9o$1 at smc.vnet.net>,
 Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote:

> Mathod 1 is of course classical (discussed for example in 1991 Henri  
> Cohen's  "A Course in Computational Algebraic Number Theory" on page  
> 100) 

Thanks for the ref. I've used this idea regularly since I first 
encountered the Recognize package but have not seen it in the literature 
(though I knew it would be classical).

> but I don't like the fact that you have to (or at least it seems  
> to me you have to) guess the degree of the polynomial used in  
> Recognize. 

You can increment the degree and determine the minimal degree (using 
FixedPoint or somesuch).

   expr = (-1 + Sqrt[2] - Sqrt[(1 + 2 Sqrt[2] - s) (-1 + s)] + s) *
  (-1 - Sqrt[2] + Sqrt[2] s - 
    Sqrt[-1 - 2 Sqrt[2] + 2 (2 + Sqrt[2] - s) s]) - 
  (-1 - Sqrt[2] + Sqrt[2] s + Sqrt[-1 - 2 Sqrt[2] + 
    2 (2 + Sqrt[2] - s) s])  (-2 - 2 Sqrt[2] + 2 s + 
      2 Sqrt[1 - (1/4) (-1 - Sqrt[2] + 
   Sqrt[(1 + 2 Sqrt[2] - s) (-1 + s)] + s)^2]);

  << NumberTheory`

  x = Chop[s /. FindRoot[expr == 0, {s, 2.5}, WorkingPrecision -> 100]]

  Table[{n, Last[FactorList[Recognize[x, n, t]]]}, {n, 10, 20}]

Also, you can verify the solution by back-substitution:

  RootReduce[expr /. s -> Root[Function[t, 
    256 t^12 - 3072 t^11 + 15872 t^10 - 46080 t^9 + 81425 t^8 -        
    86152 t^7 + 43568 t^6 + 10832 t^5 - 32136 t^4 + 21024 t^3 - 
    6112 t^2 + 512 t + 64], 8]]

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)    
AUSTRALIA                               http://physics.uwa.edu.au/~paul
        http://InternationalMathematicaSymposium.org/IMS2005/


  • Prev by Date: Re: Merging InterpolationFunctions
  • Next by Date: Re: Solve or Reduce on a monstrosity of an expresssion (and a prize!)
  • Previous by thread: Re: Re: Re: Re: Re: How to get an answer as a Root object?
  • Next by thread: Re: How to get an answer as a Root object?