diff options
author | David A. Madore <david@procyon> | 2011-11-25 18:05:31 +0100 |
---|---|---|
committer | David A. Madore <david@procyon> | 2011-11-25 18:05:31 +0100 |
commit | 67b5d565ff54baf8c5cf2ed136efc8e0ba87717c (patch) | |
tree | 3a685da2ce86dc4eb31fca0c0be5b99b9968eaff /divers | |
parent | 13edc3ed9beb69c0da42c6ffff303ccc2627ee66 (diff) | |
download | galois-67b5d565ff54baf8c5cf2ed136efc8e0ba87717c.tar.gz galois-67b5d565ff54baf8c5cf2ed136efc8e0ba87717c.tar.bz2 galois-67b5d565ff54baf8c5cf2ed136efc8e0ba87717c.zip |
Plus de sageries.
Diffstat (limited to 'divers')
-rw-r--r-- | divers/sageries/resolvante-d5-dans-m20 | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/divers/sageries/resolvante-d5-dans-m20 b/divers/sageries/resolvante-d5-dans-m20 index 7c7f956..2d15b9f 100644 --- a/divers/sageries/resolvante-d5-dans-m20 +++ b/divers/sageries/resolvante-d5-dans-m20 @@ -49,9 +49,9 @@ Iq = R.ideal([q-qexpr]) B = (Isym+Iq).groebner_basis() pexpr.reduce(B) -### Encore une tentative... +### Essayons avec de l'algèbre linéaire e = SymmetricFunctionAlgebra(QQ, basis='elementary') -R.<x,z1,z2,z3,z4,z5,a1,a2,a3,a4,a5> = PolynomialRing(QQ,11,order='lex(1),lex(5),deglex(5)') +R.<z1,z2,z3,z4,z5,a1,a2,a3,a4,a5> = PolynomialRing(QQ,10,order='lex(5),deglex(5)') asym1 = -e([1]).expand(5).subs(x0=z1,x1=z2,x2=z3,x3=z4,x4=z5) asym2 = +e([2]).expand(5).subs(x0=z1,x1=z2,x2=z3,x3=z4,x4=z5) asym3 = -e([3]).expand(5).subs(x0=z1,x1=z2,x2=z3,x3=z4,x4=z5) @@ -60,12 +60,15 @@ asym5 = -e([5]).expand(5).subs(x0=z1,x1=z2,x2=z3,x3=z4,x4=z5) Isym = R.ideal([a1-asym1, a2-asym2, a3-asym3, a4-asym4, a5-asym5]) pexpr = z1^2*(z2*z5 + z3*z4) + z2^2*(z1*z3 + z4*z5) + z3^2*(z1*z5 + z2*z4) + z4^2*(z1*z2 + z3*z5) + z5^2*(z1*z4 + z2*z3) qexpr = z1*z2 + z2*z3 + z3*z4 + z4*z5 + z1*z5 -tmp = (x-pexpr)*(x-pexpr).subs({z4:z5,z5:z4}) -presful = tmp*tmp.subs({z1:z2,z2:z3,z3:z1})*tmp.subs({z1:z3,z2:z1,z3:z2}) -tmp0 = (x-qexpr)*(x-qexpr).subs({z1:z2,z2:z4,z4:z3,z3:z1}) -tmp = tmp0*tmp0.subs({z4:z5,z5:z4}) -qresful = tmp*tmp.subs({z1:z2,z2:z3,z3:z1})*tmp.subs({z1:z3,z2:z1,z3:z2}) +dexpr = (z1-z2)*(z1-z3)*(z1-z4)*(z2-z3)*(z2-z4)*(z3-z4) B = Isym.groebner_basis() -pres = presful.reduce(B) -qres = qresful.reduce(B) -# Mais que faire ensuite ? +def debase(r): + return [r.coefficient({z1:0,z2:i2,z3:i3,z4:i4,z5:i5}) for i2 in range(2) for i3 in range(3) for i4 in range(4) for i5 in range(5)] + +qtab = [debase((qexpr^i).reduce(B)) for i in range(12)] +pdtab = [debase((pexpr^i*dexpr^j).reduce(B)) for i in range(6) for j in range(2)] +qmat = matrix(R, 12, 120, qtab) +pdmat = matrix(R, 12, 120, pdtab) +cols = [0, 10, 105, 84, 109, 119, 57, 91, 111, 90, 110, 15] +qsubmat = qmat[range(12),cols] +pdsubmat = pdmat[range(12),cols] |