summaryrefslogtreecommitdiffstats
path: root/divers
diff options
context:
space:
mode:
authorDavid A. Madore <david@procyon>2011-11-25 17:05:31 (GMT)
committerDavid A. Madore <david@procyon>2011-11-25 17:05:31 (GMT)
commit67b5d565ff54baf8c5cf2ed136efc8e0ba87717c (patch)
tree3a685da2ce86dc4eb31fca0c0be5b99b9968eaff /divers
parent13edc3ed9beb69c0da42c6ffff303ccc2627ee66 (diff)
downloadgalois-67b5d565ff54baf8c5cf2ed136efc8e0ba87717c.zip
galois-67b5d565ff54baf8c5cf2ed136efc8e0ba87717c.tar.gz
galois-67b5d565ff54baf8c5cf2ed136efc8e0ba87717c.tar.bz2
Plus de sageries.
Diffstat (limited to 'divers')
-rw-r--r--divers/sageries/resolvante-d5-dans-m2023
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]