Cyclotomic Factorization

Author

Eric W. Weisstein
February 17, 2008

This notebook downloaded from http://mathworld.wolfram.com/notebooks/Algebra/CyclotomicFactorization.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/CyclotomicFactorization.html.

©2008 Wolfram Research, Inc. except for portions noted otherwise

Examples

Do[Print[{k,FullSimplify[(z^Prime[k]-y^Prime[k])-Product[z-E^((2Pi I j)/Prime[k])y,{j,0,Prime[k]-1}]]//Timing}],{k,10}]

FullSimplify is full of all kinds of costly operations, so it may take a very long time until it gets to a transformation that can actually do this simplification. Another problem is that even if FullSimplify gets to calling RootReduce on the numeric coefficients converted to the radical form, RootReduce will hang. Converting these radicals one operation at a time leads to intermediate Root objects with very high degrees.

ToNumberField (in V6.1) looks for a small basis generating the radicals present in the input, so it does pretty well here.  But still, the complexity grows quite fast with k.

simp[f_]:=Collect[f, {y, z}, ToNumberField[Together[#]]&]

Do[Print[{k,simp[(z^Prime[k]-y^Prime[k])-Product[z-E^((2*Pi*I*j)/Prime[k])*y,{j,0,Prime[k]-1}]]//Timing}],{k,20}]