summaryrefslogtreecommitdiffstats
path: root/divers/sageries/resolvante-d5-dans-m20
blob: 7c7f9569d8fca43d5c176eb325d5be74a388e521 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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 ?