summaryrefslogtreecommitdiffstats log msg author committer range
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. = 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. = 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. = 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. = 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 ? ``````