diff options
author | David A. Madore <david+git@madore.org> | 2012-03-22 16:06:47 +0100 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2012-03-22 16:06:47 +0100 |
commit | bacfb698a1516126d0c72d7520c61cab64146298 (patch) | |
tree | b58f1c69c46463a8321a9df3df13ed8e794597fd /divers | |
parent | 470ebec094f373d037f2b2251a064e672aef413a (diff) | |
download | galois-bacfb698a1516126d0c72d7520c61cab64146298.tar.gz galois-bacfb698a1516126d0c72d7520c61cab64146298.tar.bz2 galois-bacfb698a1516126d0c72d7520c61cab64146298.zip |
sageries: Un fichier sage pour la racine 7e de l'unité.
Diffstat (limited to 'divers')
-rw-r--r-- | divers/sageries/racine-7e-de-1 | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/divers/sageries/racine-7e-de-1 b/divers/sageries/racine-7e-de-1 new file mode 100644 index 0000000..a9628fb --- /dev/null +++ b/divers/sageries/racine-7e-de-1 @@ -0,0 +1,19 @@ +K.<a> = CyclotomicField(42) +omega = a^6 +zeta = a^14 +zeta6 = -zeta^2 +alpha = [sum([zeta6^(i*j)*omega^(3^i) for i in range(6)]) for j in range(6)] +powtab = [NN(6/gcd(i,6)) for i in range(6)] +atab = [alpha[i]^powtab[i] for i in range(6)] +atab_on_zeta_basis = [(QQ^2)((zeta.coordinates_in_terms_of_powers())(x)) for x in atab] +sqrtm3 = 2*zeta+1 +nice_basis = [1, sqrtm3] +m = Matrix(QQ, 2, 2, [(QQ^2)((zeta.coordinates_in_terms_of_powers())(x)) for x in nice_basis]) +atab_on_nice_basis = [v * m.inverse() for v in atab_on_zeta_basis] +zetab = [ZZ(floor(arg(CC(N(alpha[i])/N(atab[i]^(1/powtab[i]))))/arg(zeta6)+0.5)) for i in range(6)] +btab = [zeta6^zetab[i] for i in range(6)] +btab_on_zeta_basis = [(QQ^2)((zeta.coordinates_in_terms_of_powers())(x)) for x in btab] +btab_on_nice_basis = [v * m.inverse() for v in btab_on_zeta_basis] +symbolic_basis = [1, sqrt(-3)] +symbolic_omega = sum([sum([btab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(2)])*(sum([atab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(2)]))^(1/powtab[i]) for i in range(6)])/6 +symbolic_cos = sum([sum([btab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(2)])*(sum([atab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(2)]))^(1/powtab[i]) for i in range(0,6,2)])/6 |