diff options
author | David A. Madore <david+git@madore.org> | 2012-03-09 18:21:23 +0100 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2012-03-09 18:21:23 +0100 |
commit | c388cd310d8fbb15833403bbd85590983f034c08 (patch) | |
tree | 76a4d5135346d96964ca91184f3f85949ec8135c /divers | |
parent | 5add41d25031e5dc02504819ceb25bffc0fad68c (diff) | |
download | galois-c388cd310d8fbb15833403bbd85590983f034c08.tar.gz galois-c388cd310d8fbb15833403bbd85590983f034c08.tar.bz2 galois-c388cd310d8fbb15833403bbd85590983f034c08.zip |
sageries: mise à jour des fichiers de calculs de racines n-ièmes de l'unité.
Diffstat (limited to 'divers')
-rw-r--r-- | divers/sageries/racine-11e-de-1 | 21 | ||||
-rw-r--r-- | divers/sageries/racine-13e-de-1 | 2 |
2 files changed, 22 insertions, 1 deletions
diff --git a/divers/sageries/racine-11e-de-1 b/divers/sageries/racine-11e-de-1 new file mode 100644 index 0000000..3da7c5e --- /dev/null +++ b/divers/sageries/racine-11e-de-1 @@ -0,0 +1,21 @@ +K.<a> = CyclotomicField(220) +omega = a^20 +zeta = a^44 +zeta10 = -zeta^3 +alpha = [sum([zeta10^(i*j)*omega^(2^i) for i in range(10)]) for j in range(10)] +powtab = [NN(10/gcd(i,10)) for i in range(10)] +atab = [alpha[i]^powtab[i] for i in range(10)] +atab_on_zeta_basis = [(QQ^4)((zeta.coordinates_in_terms_of_powers())(x)) for x in atab] +sqrt5 = 1+2*(zeta+zeta^-1) +sqrtm10m2sqrt5 = 2*(zeta-zeta^-1) +sqrtm10p2sqrt5 = 2*(zeta^2-zeta^-2) +nice_basis = [1, sqrt5, sqrtm10m2sqrt5, sqrtm10p2sqrt5] +m = Matrix(QQ, 4, 4, [(QQ^4)((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(zeta10)+0.5)) for i in range(10)] +btab = [zeta10^zetab[i] for i in range(10)] +btab_on_zeta_basis = [(QQ^4)((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(5), sqrt(-10-2*sqrt(5)), sqrt(-10+2*sqrt(5))] +symbolic_omega = sum([sum([btab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(4)])*(sum([atab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(4)]))^(1/powtab[i]) for i in range(10)])/10 +symbolic_cos = sum([sum([btab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(4)])*(sum([atab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(4)]))^(1/powtab[i]) for i in range(0,10,2)])/10 diff --git a/divers/sageries/racine-13e-de-1 b/divers/sageries/racine-13e-de-1 index e0b40eb..47d5016 100644 --- a/divers/sageries/racine-13e-de-1 +++ b/divers/sageries/racine-13e-de-1 @@ -14,5 +14,5 @@ btab = [zeta^zetab[i] for i in range(12)] btab_on_zeta_basis = [(QQ^4)((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), sqrt((1/2)*(1+sqrt(-3))), sqrt(-(3/2)*(1+sqrt(-3)))] -symbolic_zeta = sum([sum([btab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(4)])*(sum([atab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(4)]))^(1/powtab[i]) for i in range(12)])/12 +symbolic_omega = sum([sum([btab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(4)])*(sum([atab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(4)]))^(1/powtab[i]) for i in range(12)])/12 symbolic_cos = sum([sum([btab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(4)])*(sum([atab_on_nice_basis[i][j]*symbolic_basis[j] for j in range(4)]))^(1/powtab[i]) for i in range(0,12,2)])/12 |