summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid A. Madore <david+git@madore.org>2012-03-22 15:06:47 (GMT)
committerDavid A. Madore <david+git@madore.org>2012-03-22 15:06:47 (GMT)
commitbacfb698a1516126d0c72d7520c61cab64146298 (patch)
treeb58f1c69c46463a8321a9df3df13ed8e794597fd
parent470ebec094f373d037f2b2251a064e672aef413a (diff)
downloadgalois-bacfb698a1516126d0c72d7520c61cab64146298.zip
galois-bacfb698a1516126d0c72d7520c61cab64146298.tar.gz
galois-bacfb698a1516126d0c72d7520c61cab64146298.tar.bz2
sageries: Un fichier sage pour la racine 7e de l'unité.
-rw-r--r--divers/sageries/racine-7e-de-119
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