TP7
Exercice 1
restart:
with(Groebner);
N0RJJkJhc2lzRzYiSSVGR0xNR0YkSTFIaWxiZXJ0RGltZW5zaW9uR0YkSTJIaWxiZXJ0UG9seW5vbWlhbEdGJEkuSGlsYmVydFNlcmllc0dGJEkrSG9tb2dlbml6ZUdGJEksSW5pdGlhbEZvcm1HRiRJLEludGVyUmVkdWNlR0YkSShJc0Jhc2lzR0YkSSlJc1Byb3BlckdGJEkySXNaZXJvRGltZW5zaW9uYWxHRiRJM0xlYWRpbmdDb2VmZmljaWVudEdGJEkwTGVhZGluZ01vbm9taWFsR0YkSSxMZWFkaW5nVGVybUdGJEksTWF0cml4T3JkZXJHRiRJNk1heGltYWxJbmRlcGVuZGVudFNldEdGJEkuTW9ub21pYWxPcmRlckdGJEk1TXVsdGlwbGljYXRpb25NYXRyaXhHRiRJOU11bHRpdmFyaWF0ZUN5Y2xpY1ZlY3RvckdGJEkrTm9ybWFsRm9ybUdGJEkqTm9ybWFsU2V0R0YkSUFSYXRpb25hbFVuaXZhcmlhdGVSZXByZXNlbnRhdGlvbkdGJEknUmVkdWNlR0YkSS5SZW1lbWJlckJhc2lzR0YkSSxTUG9seW5vbWlhbEdGJEkmU29sdmVHRiRJNVN1Z2dlc3RWYXJpYWJsZU9yZGVyR0YkSShTdXBwb3J0R0YkSSpUZXN0T3JkZXJHRiRJMFRvcmljSWRlYWxCYXNpc0dGJEktVHJhaWxpbmdUZXJtR0YkSTVVbml2YXJpYXRlUG9seW5vbWlhbEdGJEklV2Fsa0dGJEkvV2VpZ2h0ZWREZWdyZWVHRiQ=
n:=8:
A:=[[1,2],[1,5],[1,6],[2,3],[2,4],[2,8],[3,4],[3,8],[4,5],
[4,7],[5,6],[5,7],[6,7],[7,8]];
NzA3JCIiIiIiIzckRiQiIiY3JEYkIiInNyRGJSIiJDckRiUiIiU3JEYlIiIpNyRGK0YtNyRGK0YvNyRGLUYnNyRGLSIiKDckRidGKTckRidGNDckRilGNDckRjRGLw==
F0:=seq(X[i]^3-1,i=1..n);
NiosJiokJkkiWEc2IjYjIiIiIiIkRikhIiJGKSwmKiQmRiY2IyIiI0YqRilGK0YpLCYqJCZGJjYjRipGKkYpRitGKSwmKiQmRiY2IyIiJUYqRilGK0YpLCYqJCZGJjYjIiImRipGKUYrRiksJiokJkYmNiMiIidGKkYpRitGKSwmKiQmRiY2IyIiKEYqRilGK0YpLCYqJCZGJjYjIiIpRipGKUYrRik=
F1:=seq(X[a[1]]^2+X[a[1]]*X[a[2]]+X[a[2]]^2,a in A);
NjAsKCokJkkiWEc2IjYjIiIiIiIjRikqJkYlRikmRiY2I0YqRilGKSokRixGKkYpLChGJEYpKiZGJUYpJkYmNiMiIiZGKUYpKiRGMUYqRiksKEYkRikqJkYlRikmRiY2IyIiJ0YpRikqJEY3RipGKSwoRi5GKSomRixGKSZGJjYjIiIkRilGKSokRj1GKkYpLChGLkYpKiZGLEYpJkYmNiMiIiVGKUYpKiRGQ0YqRiksKEYuRikqJkYsRikmRiY2IyIiKUYpRikqJEZJRipGKSwoRkBGKSomRj1GKUZDRilGKUZGRiksKEZARikqJkY9RilGSUYpRilGTEYpLChGRkYpKiZGQ0YpRjFGKUYpRjRGKSwoRkZGKSomRkNGKSZGJjYjIiIoRilGKSokRlVGKkYpLChGNEYpKiZGMUYpRjdGKUYpRjpGKSwoRjRGKSomRjFGKUZVRilGKUZYRiksKEY6RikqJkY3RilGVUYpRilGWEYpLChGWEYpKiZGVUYpRklGKUYpRkxGKQ==
F:=[F0,F1];
NzgsJiokJkkiWEc2IjYjIiIiIiIkRikhIiJGKSwmKiQmRiY2IyIiI0YqRilGK0YpLCYqJCZGJjYjRipGKkYpRitGKSwmKiQmRiY2IyIiJUYqRilGK0YpLCYqJCZGJjYjIiImRipGKUYrRiksJiokJkYmNiMiIidGKkYpRitGKSwmKiQmRiY2IyIiKEYqRilGK0YpLCYqJCZGJjYjIiIpRipGKUYrRiksKCokRiVGMEYpKiZGJUYpRi5GKUYpKiRGLkYwRiksKEZPRikqJkYlRilGPEYpRikqJEY8RjBGKSwoRk9GKSomRiVGKUZBRilGKSokRkFGMEYpLChGUUYpKiZGLkYpRjNGKUYpKiRGM0YwRiksKEZRRikqJkYuRilGN0YpRikqJEY3RjBGKSwoRlFGKSomRi5GKUZLRilGKSokRktGMEYpLChGWkYpKiZGM0YpRjdGKUYpRmduRiksKEZaRikqJkYzRilGS0YpRilGam5GKSwoRmduRikqJkY3RilGPEYpRilGVEYpLChGZ25GKSomRjdGKUZGRilGKSokRkZGMEYpLChGVEYpKiZGPEYpRkFGKUYpRldGKSwoRlRGKSomRjxGKUZGRilGKUZjb0YpLChGV0YpKiZGQUYpRkZGKUYpRmNvRiksKEZjb0YpKiZGRkYpRktGKUYpRmpuRik=
G:=Basis(F,plex(seq(X[i],i=1..n)));
NyosJiokJkkiWEc2IjYjIiIpIiIkIiIiISIiRissKCokJkYmNiMiIigiIiNGKyomRi9GK0YlRitGKyokRiVGMkYrLCZGJUYsJkYmNiMiIidGKywoRi9GK0YlRismRiY2IyIiJkYrLCZGJUYsJkYmNiMiIiVGKywmRi9GLCZGJjYjRipGKywoRi9GK0YlRismRiY2I0YyRissJkYvRiwmRiY2I0YrRis=
map(g->LeadingMonomial(g,plex(seq(X[i],i=1..n))),G);
NyoqJCZJIlhHNiI2IyIiKSIiJCokJkYlNiMiIigiIiMmRiU2IyIiJyZGJTYjIiImJkYlNiMiIiUmRiU2I0YpJkYlNiNGLiZGJTYjIiIi
IsZeroDimensional(F);
SSV0cnVlRyUqcHJvdGVjdGVkRw==
for i from 1 to n do
p[i]:=UnivariatePolynomial(X[i],F)
end do;
LCYqJCZJIlhHNiI2IyIiIiIiJEYoISIiRig=
LCYqJCZJIlhHNiI2IyIiIyIiJCIiIiEiIkYq
LCYqJCZJIlhHNiI2IyIiJEYoIiIiISIiRik=
LCYqJCZJIlhHNiI2IyIiJSIiJCIiIiEiIkYq
LCYqJCZJIlhHNiI2IyIiJiIiJCIiIiEiIkYq
LCYqJCZJIlhHNiI2IyIiJyIiJCIiIiEiIkYq
LCYqJCZJIlhHNiI2IyIiKCIiJCIiIiEiIkYq
LCYqJCZJIlhHNiI2IyIiKSIiJCIiIiEiIkYq
sol:=[solve({op(G)},{seq(X[i],i=1..n)})];
NyU8Ki8mSSJYRzYiNiMiIiItSSdSb290T2ZHNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHRic2IywoKiRJI19aR0YsIiIjRilGMkYpRilGKS8mRiY2I0YzLCZGKiEiIkY4RikvJkYmNiMiIiRGKi8mRiY2IyIiJUYpLyZGJjYjIiImRjcvJkYmNiMiIidGKS8mRiY2IyIiKEYqLyZGJjYjIiIpRik8Ki9GJUYpRjQvRjpGKS9GPkYqRkEvRkZGKi9GSkYpL0ZORio8Ki9GJUY3L0Y1RikvRjpGN0ZUL0ZCRilGVS9GSkY3Rlc=
toutessol:=map(allvalues,sol);
Nyg8Ki8mSSJYRzYiNiMiIiIsJiMhIiIiIiNGKSomXiMjRilGLUYpIiIkRjBGKS8mRiY2I0YtLCZGK0YpKiZeI0YrRilGMUYwRikvJkYmNiNGMUYqLyZGJjYjIiIlRikvJkYmNiMiIiZGNS8mRiY2IyIiJ0YpLyZGJjYjIiIoRiovJkYmNiMiIilGKTwqL0YlRjUvRjNGKi9GOUY1RjsvRkBGKkZDL0ZIRjVGSzwqL0YlRilGMi9GOUYpL0Y8RipGPy9GREYqL0ZIRikvRkxGKjwqRlZGUUZXL0Y8RjVGUy9GREY1RlovRkxGNTwqRlAvRjNGKUZSRlgvRkBGKUZZRlRGZW48KkYkRltvRjhGZ25GXG9GaG5GR0Zpbg==
nops(toutessol);
IiIn
Exercice 2
restart;
with(Groebner):
f1:=X^2*Y-Y+Z;
LCgqJkkiWEc2IiIiI0kiWUdGJSIiIkYoRichIiJJIlpHRiVGKA==
f2:=X*Y^2-X+Z;
LCgqJkkiWEc2IiIiIkkiWUdGJSIiI0YmRiQhIiJJIlpHRiVGJg==
f3:=X+Y+Z-1;
LCpJIlhHNiIiIiJJIllHRiRGJUkiWkdGJEYlISIiRiU=
on calcule la base de Gr\303\266bner r\303\251duite pour l'ordre lexicographique
G:=Basis([f1,f2,f3],plex(X,Y,Z));
NyYsLCokSSJaRzYiIiIlIiIjKiRGJSIiJCEiKCokRiVGKCEjOkYlIiM6ISIkIiIiLCwqJkkiWUdGJkYwRiVGMEYnRixGKEYzISIjRiVGL0YwRjAsLkYpRigqJEYzRihGJ0YsRitGM0Y0RiUhIzwiIidGMCwqSSJYR0YmRjBGM0YwRiVGMCEiIkYw
puis les mon\303\264mes dominants de chaque \303\251l\303\251ment de G
lmG:=map(e->LeadingMonomial(e,plex(X,Y,Z)),G);
NyYqJEkiWkc2IiIiJSomRiQiIiJJIllHRiVGKCokRikiIiNJIlhHRiU=
les mon\303\264mes standard sont les mon\303\264mes qui ne sont divisilbes par aucub des \303\251l\303\251ments de lmG de sorte que l'on a:
B := [1, Y, Z, Z^2, Z^3];
NyciIiJJIllHNiJJIlpHRiUqJEYmIiIjKiRGJiIiJA==
ces mon\303\264mes forment une base du quotient Q[X,Y,Z]/I qui esr donc de dimension 5
u_ := X^5+Y^5+Z^5-5*X^2*Y-5*Y^2*Z-5*Z*X^2-1;
LDAqJEkiWEc2IiIiJiIiIiokSSJZR0YlRiZGJyokSSJaR0YlRiZGJyomRiQiIiNGKUYnISImKiZGJEYtRitGJ0YuKiZGKUYtRitGJ0YuISIiRic=
u:=NormalForm(u_,G,plex(X,Y,Z));
LCwjIiM6IiIjIiIiKiRJIlpHNiIiIiQjIiNORiUqJEYoRiUjIiNYRiVJIllHRikhIiZGKCMhI2xGJQ==
u est inversible si et seulement s'il existe v avec uv=1; de plus si v existe il est unique.
on cherche v avec des coefficients ind\303\251termin\303\251s. x_1,x_2,x_3,x_3,x_5
on travaille donc dans l'extension Q(x_1,x_2,x_3,x_3,x_5) ;
unassign('x'):v:=add(x[i]*B[i],i=1..nops(B));
LCwqJkkiWkc2IiIiJCZJInhHRiU2IyIiJiIiIkYrKiZGJCIiIyZGKDYjIiIlRitGKyomSSJZR0YlRismRig2I0YtRitGKyomRiRGKyZGKDYjRiZGK0YrJkYoNiNGK0Yr
p:=NormalForm(expand(u*v)-1,G,plex(X,Y,Z));;
LDYqJiwsJkkieEc2IjYjIiIiISRnIiZGJjYjIiIjISQ1IiZGJjYjIiIkISMhKSZGJjYjIiIlISNTJkYmNiMiIiYhIz9GKUkiWUdGJ0YpI0YpIiNLKiYsLEYlIiRnJkYrISQhKSpGLyIlIW8jRjMiJj9FIkY3IiZJLSdGKUkiWkdGJ0YxRjwqJiwsRiUiJD8oRishJSs6Ri8iJVNLRjMiJmdnIkY3IiYhUnZGKUZFRi1GPComLCxGJSElUzVGKyIkbChGLyElITMlRjMhJiFHPkY3ISZTMSpGKUZFRilGPEYlIyIjOkYtRisjISNYRj1GLyMiI2JGLUYzIyIkMCZGNUY3IyIlTloiIikhIiJGKQ==
sol:=solve({coeffs(p,{X,Y,Z})},{seq(x[i],i=1..nops(B))});
PCcvJkkieEc2IjYjIiIiIyEoXilRPCIoZyU+Ni8mRiU2IyIiIyMhJGMjIiU6Ni8mRiU2IyIiJCMiKHhSayIiJ0koZiYvJkYlNiMiIiUjIicicGQjIicjKlFBLyZGJTYjIiImIyEnVkA/Rjk=
assign(sol);v;
LCwqJEkiWkc2IiIiJCMhJ1ZAPyInSShmJiokRiQiIiMjIicicGQjIicjKlFBSSJZR0YlIyEkYyMiJTo2RiQjIih4UmsiRikjISheKVE8IihnJT42IiIi
sur cet exemple i lest possible de r\303\251soudre explicitement le syst\303\250me
S1:=[solve({f1,f2,f3},{X,Y,Z})]:
S2:=map(allvalues,S1):
S3:=map(evalc,S2);
Nyc8JS9JIlhHNiIsJiMiIiIiIiVGKSokIiM8I0YpIiIjIyEiIkYqL0kiWUdGJiwmRihGKUYrRigvSSJaR0YmRi08JS9GJUYzL0YyRidGNDwlL0YlLCoqJiIiKSNGKSIiJC1JJGNvc0c2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkdGJjYjLCRJI1BpR0ZDI0YuIiIqRilGLyomRj0jRi5GP0ZARikjRjBGPSomRj9GLSwmKiZGPUY+LUkkc2luR0ZCRkVGKUYtKiZGPUZLRlBGKUYoRilGLSomXiNGKUYpLChGT0YvRlIjRilGPSomRj9GLSwmRjxGLUZKRi9GKSNGMEYuRilGKS9GMkY7L0Y1LCxGPEYtRkpGKEZNRjBGKUYpKiZGVEYpLChGT0YtRlJGL0ZXRilGKUYpPCUvRiUsKEY8Ri1GSkYoKiZGVEYpLCZGT0YtRlJGL0YpRikvRjJGW28vRjUsKkY8RjBGSkZZRilGKSomRlRGKSwmRk9GMEZSRi1GKUYpPCUvRiUsKkY8Ri9GSkZMRk1GWSomRlRGKSwoRk9GL0ZSRlZGV0YtRilGKS9GMkZlby9GNSwsRjxGLUZKRihGTUYpRilGKSomRlRGKSwoRk9GLUZSRi9GV0YwRilGKQ==
nops(S3);
IiIm