}}}
{{{id=11|
For a positive integer $n$ we have the well-known factorization of the polynomial $X^n-1$ into irreducible factors, the cyclotomic polynomials.
$$X^n-1 = \prod_{d|n} \Phi_d(X).$$
Take $\alpha$ to be an algebraic integer of degree $m$. such that its powers $\alpha^n$ are also of the same degree $m$; denote their minimal polynomials by $f_n(X),\ n\ge1$. Now replace $X$ by $X^n$, which has $\alpha$ as a root,hence reducible: $f_n(\alpha^n)=0$. So it will have $f_1(X)$ as its factor; All numbers $\zeta\alpha$ would be roots of $f_n(X)$ for any $n$th root of unity $\zeta$.
For most cases we have the factorization $$f_n(X^n) = \prod_{d|n} \Phi_{\alpha, d}(X)$$ which imitates the cycltomic factorization, with one factor for each divisor of $d$. We call these irreducible factos the
relative cyclotomic polynomial $\Phi_{\alpha_,n}(X)$, which are degree is $\phi(d)m$.
Sometimes we get excess factors; With SAGE we explore when it behaves nicely.
///
}}}
{{{id=1|
R=PolynomialRing(QQ,x)
x=R.gen()
#####################################################
#f= x^2 + 2*x -2
f= x^3 +x^2-2*x-1 #minimal polynomial for (z + \bar z ) where z\neq1, #7th root of unity.
#f= x^6+6*x^3+27*x^2 +18*x+12 # An S_3 Galois extension
######################################################
A = companion_matrix(f)
B =A[:]
devs=[] # to stoe deviations
print f, "the minimal polynomial of alpha"
print "Degree of factors of min. poly of alpha^n, after replacing X by with X^n"
for n in range(2,30):
B = A*B
g = B.charpoly()
if not g.is_irreducible():
print "\t!!! Irreducibility failed at", n
continue
fn = g(x^n)
Fn = factor(fn)
deg_actual = [ ff[0].degree() for ff in Fn]
deg_expected = [ f.degree()*euler_phi(d) for d in divisors(n)]
if len(deg_actual)<> len(deg_expected):
print "Deviation at ", n,":", g,"with x |-->x^", n, "is\n\t=",deg_actual
devs.append(n)
else:
print n, deg_actual
print "Summary of deviations", devs
///
x^3 + x^2 - 2*x - 1 the minimal polynomial of alpha
Degree of factors of min. poly of alpha^n, after replacing X by with X^n
2 [3, 3]
3 [3, 6]
4 [3, 3, 6]
5 [3, 12]
6 [3, 3, 6, 6]
Deviation at 7 : x^3 + 57*x^2 - 289*x - 1 with x |-->x^ 7 is
= [3, 6, 6, 6]
8 [3, 3, 6, 12]
9 [3, 6, 18]
10 [3, 3, 12, 12]
11 [3, 30]
12 [3, 3, 6, 6, 6, 12]
13 [3, 36]
Deviation at 14 : x^3 - 3827*x^2 + 83635*x - 1 with x |-->x^ 14 is
= [3, 3, 6, 6, 6, 6, 6, 6]
15 [3, 6, 12, 24]
16 [3, 3, 6, 12, 24]
17 [3, 48]
18 [3, 3, 6, 6, 18, 18]
19 [3, 54]
20 [3, 3, 6, 12, 12, 24]
Deviation at 21 : x^3 + 234609*x^2 - 24186985*x - 1 with x |-->x^ 21 is
= [3, 6, 6, 6, 6, 12, 12, 12]
22 [3, 3, 30, 30]
23 [3, 66]
24 [3, 3, 6, 6, 6, 12, 12, 24]
25 [3, 12, 60]
26 [3, 3, 36, 36]
27 [3, 6, 18, 54]
Deviation at 28 : x^3 - 14478659*x^2 + 6994805571*x - 1 with x |-->x^ 28 is
= [3, 3, 6, 6, 6, 6, 6, 6, 6, 12, 12, 12]
29 [3, 84]
Summary of deviations [7, 14, 21, 28]
}}}