summaryrefslogtreecommitdiffstats
path: root/divers/sageries
diff options
context:
space:
mode:
authorDavid A. Madore <david@procyon>2011-11-15 18:24:19 +0100
committerDavid A. Madore <david@procyon>2011-11-15 18:24:19 +0100
commit8103630e169e7c9891b5931f32082cba9a36290d (patch)
tree91ed34e593fdb9d6495a8437a30c16dc38c3b9e4 /divers/sageries
parentfaf27ec75f269e96a298dc99f580875bf044522e (diff)
downloadgalois-8103630e169e7c9891b5931f32082cba9a36290d.tar.gz
galois-8103630e169e7c9891b5931f32082cba9a36290d.tar.bz2
galois-8103630e169e7c9891b5931f32082cba9a36290d.zip
Des notes de calculs en sage qui ne marchent pas. ☹
Diffstat (limited to 'divers/sageries')
-rw-r--r--divers/sageries/resolvante-d5-dans-m2071
1 files changed, 71 insertions, 0 deletions
diff --git a/divers/sageries/resolvante-d5-dans-m20 b/divers/sageries/resolvante-d5-dans-m20
new file mode 100644
index 0000000..7c7f956
--- /dev/null
+++ b/divers/sageries/resolvante-d5-dans-m20
@@ -0,0 +1,71 @@
+### Trop compliqué, le calcul ne termine pas... :-(
+e = SymmetricFunctionAlgebra(QQ, basis='elementary')
+R.<z1,z2,z3,z4,z5,p,d,a1,a2,a3,a4,a5> = PolynomialRing(QQ,12,order='lex(5),lex(1),lex(1),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)
+asym4 = +e([4]).expand(5).subs(x0=z1,x1=z2,x2=z3,x3=z4,x4=z5)
+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)
+Ip = R.ideal([p-pexpr])
+dexpr = (z1-z2)*(z1-z3)*(z1-z4)*(z2-z3)*(z2-z4)*(z3-z4)
+Id = R.ideal([d-dexpr])
+qexpr = z1*z2 + z2*z3 + z3*z4 + z4*z5 + z1*z5
+B = (Isym+Ip+Id).groebner_basis()
+qexpr.reduce(B)
+
+### Autre tentative... toujours trop compliquée.
+e = SymmetricFunctionAlgebra(QQ, basis='elementary')
+R.<z1,z2,z3,z4,z5,p,a1,a2,a3,a4,a5> = PolynomialRing(QQ,11,order='lex(5),lex(1),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)
+asym4 = +e([4]).expand(5).subs(x0=z1,x1=z2,x2=z3,x3=z4,x4=z5)
+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)
+Ip = R.ideal([p-pexpr])
+qexpr = z1*z2 + z2*z3 + z3*z4 + z4*z5 + z1*z5
+qexprConj = qexpr.subs({z2:z5,z3:z4,z4:z3,z5:z2})
+coef0 = qexpr*qexprConj
+coef1 = -(qexpr+qexprConj)
+B = (Isym+Ip).groebner_basis()
+coef1.reduce(B)
+coef0.reduce(B)
+
+### Encore une tentative... pas mieux...
+e = SymmetricFunctionAlgebra(QQ, basis='elementary')
+R.<z1,z2,z3,z4,z5,q,a1,a2,a3,a4,a5> = PolynomialRing(QQ,11,order='lex(5),lex(1),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)
+asym4 = +e([4]).expand(5).subs(x0=z1,x1=z2,x2=z3,x3=z4,x4=z5)
+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
+Iq = R.ideal([q-qexpr])
+B = (Isym+Iq).groebner_basis()
+pexpr.reduce(B)
+
+### Encore une tentative...
+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)')
+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)
+asym4 = +e([4]).expand(5).subs(x0=z1,x1=z2,x2=z3,x3=z4,x4=z5)
+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})
+B = Isym.groebner_basis()
+pres = presful.reduce(B)
+qres = qresful.reduce(B)
+# Mais que faire ensuite ?