Ask Your Question

Revision history [back]

Inconsistency with Groebner basis

I made a computation of Groebner basis (see below), but the result found seems inconsistent. I don't know if it is a bug or a misunderstanding.

Here is the problem (see below): the two last equations of the Groebner basis are the equations for the variables a and di respectively. Then once a and di are fixed, there are two polynomial equations for the variable v1: one is of degree 4, and the other of degree 1. - first problem: why two such polynomial equations for v1whereas the one of degree 1 is enough. - second problem: according to the equation of degree 1, the variable v1 is completely determined by a and di, but if we look to the explicit solutions below, at fixed a and di there are several possible v1. See for example the 2nd and 3rd solutions, where

a == (-0.8090169943749489 + 0.5877852522924764*I), di == -1.170820353063344

but for the second:

v1 == (0.3882502019703987 + 1.194911254909264*I)

whereas for the thrid:

v1 == (-0.2069674907352382 - 0.636980438966315*I)

Question: Can you clarify the situation? Is it a bug? a misunderstanding? If so, can you explain?


Computation

sage: R.<a, di, p, q, v0, v1, v2, v3, v4>=PolynomialRing(QQ,order='invlex')
sage: Id=Ideal(q^5 - 1,
....:   p^2 - q,
....:   a*p - 1,
....:   5*di^2 + 5*di - 1,
....:   v0^2 + di - 1/5,
....:   v1*v4 - 1/5*a,
....:   -1/5*a^4 + v2*v3,
....:   -1/5*a^9 + v2*v3,
....:   -1/5*a^6 + v1*v4,
....:   1/5*p^9*v2*v3 + 1/5*p^6*v1*v4 + 1/5*p^4*v2*v3 - v0^3 + 1/5*p*v1*v4 + 1/5*v0^2 - di,
....:   1/5*(p^9*v3^2 + p^6*v2*v4 + p^4*v2*v4 + p*v0*v1 + v0*v1)*a^6 - v0*v1*v4,
....:   1/5*(p^9*v3*v4 + p^6*v3*v4 + p^4*v0*v2 + p*v1^2 + v0*v2)*a^9 - v0*v2*v3,
....:   1/5*(p^9*v0*v3 + p^6*v4^2 + p^4*v1*v2 + p*v1*v2 + v0*v3)*a^4 - v0*v2*v3,
....:   -v0*v1*v4 + 1/5*(p^9*v1*v3 + p^6*v0*v4 + p^4*v2^2 + p*v1*v3 + v0*v4)*a,
....:   -v0*v1*v4 + 1/5*(p^9*q^2*v2*v3 + p^4*q^3*v2*v3 + p^6*q*v1*v4 + p*q^4*v1*v4 + v0^2)*a,
....:   1/5*p^9*q^2*v3^2 + 1/5*p^6*q*v2*v4 + 1/5*p^4*q^3*v2*v4 + 1/5*p*q^4*v0*v1 - v0*v1*v4 + 1/5*v0*v1,
....:   1/5*(p^9*q^2*v3*v4 + p^4*q^3*v0*v2 + p^6*q*v3*v4 + p*q^4*v1^2 + v0*v2)*a^6 - v2*v4^2,
....:   1/5*(p^9*q^2*v0*v3 + p^4*q^3*v1*v2 + p^6*q*v4^2 + p*q^4*v1*v2 + v0*v3)*a^9 - v3^2*v4,
....:   1/5*(p^9*q^2*v1*v3 + p^4*q^3*v2^2 + p^6*q*v0*v4 + p*q^4*v1*v3 + v0*v4)*a^4 - v2*v4^2,
....:   1/5*(p^9*q^4*v2*v3 + p^6*q^2*v1*v4 + p^4*q*v2*v3 + p*q^3*v1*v4 + v0^2)*a^4 - v0*v2*v3,
....:   -v1^2*v3 + 1/5*(p^9*q^4*v3^2 + p^6*q^2*v2*v4 + p^4*q*v2*v4 + p*q^3*v0*v1 + v0*v1)*a,
....:   1/5*p^9*q^4*v3*v4 + 1/5*p^6*q^2*v3*v4 + 1/5*p^4*q*v0*v2 + 1/5*p*q^3*v1^2 - v0*v2*v3 + 1/5*v0*v2,
....:   1/5*(p^9*q^4*v0*v3 + p^6*q^2*v4^2 + p^4*q*v1*v2 + p*q^3*v1*v2 + v0*v3)*a^6 - v3^2*v4,
....:   1/5*(p^9*q^4*v1*v3 + p^6*q^2*v0*v4 + p^4*q*v2^2 + p*q^3*v1*v3 + v0*v4)*a^9 - v3^2*v4,
....:   1/5*(p^9*q*v2*v3 + p^6*q^3*v1*v4 + p^4*q^4*v2*v3 + p*q^2*v1*v4 + v0^2)*a^9 - v0*v2*v3,
....:   1/5*(p^9*q*v3^2 + p^6*q^3*v2*v4 + p^4*q^4*v2*v4 + p*q^2*v0*v1 + v0*v1)*a^4 - v1*v2^2,
....:   -v1*v2^2 + 1/5*(p^9*q*v3*v4 + p^6*q^3*v3*v4 + p^4*q^4*v0*v2 + p*q^2*v1^2 + v0*v2)*a,
....:   1/5*p^9*q*v0*v3 + 1/5*p^6*q^3*v4^2 + 1/5*p^4*q^4*v1*v2 + 1/5*p*q^2*v1*v2 - v0*v2*v3 + 1/5*v0*v3,
....:   1/5*(p^9*q*v1*v3 + p^6*q^3*v0*v4 + p^4*q^4*v2^2 + p*q^2*v1*v3 + v0*v4)*a^6 - v2*v4^2,
....:   1/5*(p^9*q^3*v2*v3 + p^6*q^4*v1*v4 + p^4*q^2*v2*v3 + p*q*v1*v4 + v0^2)*a^6 - v0*v1*v4,
....:   1/5*(p^9*q^3*v3^2 + p^6*q^4*v2*v4 + p^4*q^2*v2*v4 + p*q*v0*v1 + v0*v1)*a^9 - v1^2*v3,
....:   1/5*(p^9*q^3*v3*v4 + p^6*q^4*v3*v4 + p^4*q^2*v0*v2 + p*q*v1^2 + v0*v2)*a^4 - v1*v2^2,
....:   -v1^2*v3 + 1/5*(p^9*q^3*v0*v3 + p^6*q^4*v4^2 + p^4*q^2*v1*v2 + p*q*v1*v2 + v0*v3)*a,
....:   1/5*p^9*q^3*v1*v3 + 1/5*p^6*q^4*v0*v4 + 1/5*p^4*q^2*v2^2 + 1/5*p*q*v1*v3 - v0*v1*v4 + 1/5*v0*v4)
sage: L=list(Id.groebner_basis())
sage: L
[v4 - 5*a^3*v1^3 - 5*a^2*v1^3 - 5*a*v1^3 - 5*v1^3 + 2*a^3*v1^2 + a^2*v1^2 + 2*a*v1^2 - 3*a^3*v1 - 3*a^2*v1 - 3*v1 + a^3*di + a*di + di + 6/5*a^3 + 2/5*a + 2/5,
 v3 - a^2*v1^2 - 3*a*v1^2 - v1^2 - a^3*v1 - v1 - a^2*di + 1/5*a^3 - 2/5*a^2 + 1/5*a,
 v2 - 5*a^3*v1^3 - a^2*v1^2 + 2*a*v1^2 - v1^2 - 3*a^3*v1 - a^2*v1 - a*v1 - 3*v1 + a^3*di + a*di + 6/5*a^3 - 2/5*a^2 + 6/5*a,
 v1^4 - 1/5*a^3*v1^3 - 2/5*a*v1^3 - 2/5*v1^3 + 3/5*a^2*v1^2 + 3/5*v1^2 + 1/25*a^3*v1 - 1/25*a^2*v1 - 1/25*a*v1 + 1/25*v1 - 1/25*a^3*di + 2/25*a^2*di - 1/25*a*di - 2/25*a^3 + 2/25*a^2 - 2/25*a,
 di*v1 + 3/5*a^3*v1 + 3/5*a^2*v1 + 4/5*v1 - 1/5*a^3*di - 2/5*a*di - 2/5*di - 2/5*a^3 - 1/5*a - 1/5,
 v0 + di,
 q - a^3,
 p + a^3 + a^2 + a + 1,
 di^2 + di - 1/5,
 a^4 + a^3 + a^2 + a + 1]

Explicit solutions

    sage: LL=list(map(SR,L))
    sage: VV=list(map(SR,R.gens()))
    sage: SS=solve(LL,VV)
    sage: SS
[
     [a == (-0.8090169943749497 - 0.5877852522924779*I), di == -1.170820353063344, p == (-0.8090169943749548 + 0.5877852522924785*I), q == (0.309016994374959 - 0.9510565162951645*I), v0 == 1.170820353063344, v1 == (0.3882502019703987 - 1.194911254909264*I), v2 == (-0.2069674907352711 - 0.6369804389662278*I), v3 == (-0.09227681359357413 - 0.2839988300599405*I), v4 == (0.0491907034834437 - 0.1513934182929617*I)],
     [a == (-0.8090169943749489 + 0.5877852522924764*I), di == -1.170820353063344, p == (-0.8090169943749523 - 0.5877852522924765*I), q == (0.3090169943749553 + 0.9510565162951606*I), v0 == 1.170820353063344, v1 == (0.3882502019703987 + 1.194911254909264*I), v2 == (-0.2069674907352628 + 0.6369804389662612*I), v3 == (-0.09227681359357387 + 0.2839988300599376*I), v4 == (0.04919070348343766 + 0.1513934182929773*I)],
     [a == (-0.8090169943749461 + 0.5877852522924734*I), di == -1.170820353063344, p == (-0.8090169943749481 - 0.5877852522924711*I), q == (0.3090169943749492 + 0.9510565162951502*I), v0 == 1.170820353063344, v1 == (-0.2069674907352382 - 0.636980438966315*I), v2 == (0.04919070348342229 - 0.1513934182930091*I), v3 == (0.3882502019703966 - 1.194911254909263*I), v4 == (-0.09227681359357538 - 0.2839988300599334*I)],
     [a == (-0.8090169943749425 - 0.5877852522924536*I), di == -1.170820353063344, p == (-0.8090169943749161 + 0.5877852522924587*I), q == (0.3090169943748963 - 0.9510565162951212*I), v0 == 1.170820353063344, v1 == (-0.2069674907352382 + 0.636980438966315*I), v2 == (0.04919070348335221 + 0.1513934182929978*I), v3 == (0.3882502019703816 + 1.194911254909226*I), v4 == (-0.09227681359360833 + 0.2839988300599284*I)],
     [a == (0.3090169943749475 + 0.9510565162951546*I), di == 0.170820399113082, p == (0.3090169943749514 - 0.9510565162951526*I), q == (-0.8090169943749493 - 0.5877852522924756*I), v0 == -0.170820399113082, v1 == (0.4212345321918781 - 0.1502047565461548*I), v2 == (-0.2856897310924754 - 0.3440659494171282*I), v3 == (0.2389431812024569 + 0.3780293059497493*I), v4 == (-0.01268458342687886 + 0.4470336691383429*I)],
     [a == (0.3090169943749076 - 0.9510565162951591*I), di == 0.170820399113082, p == (0.3090169943749352 + 0.9510565162950034*I), q == (-0.8090169943748605 + 0.5877852522925566*I), v0 == -0.170820399113082, v1 == (0.4212345321918781 + 0.1502047565461548*I), v2 == (-0.2856897310925348 + 0.3440659494172838*I), v3 == (0.2389431812024226 - 0.3780293059496856*I), v4 == (-0.01268458342701173 - 0.4470336691382343*I)],
     [a == (0.3090169943749514 - 0.9510565162951546*I), di == 0.170820399113082, p == (0.3090169943749546 + 0.9510565162951673*I), q == (-0.8090169943749589 + 0.5877852522924687*I), v0 == -0.170820399113082, v1 == (-0.2856897310924711 - 0.3440659494171308*I), v2 == (-0.01268458342686945 + 0.4470336691383608*I), v3 == (0.4212345321918836 - 0.1502047565461499*I), v4 == (0.2389431812024579 + 0.3780293059497764*I)],
     [a == (0.3090169943749579 + 0.9510565162951621*I), di == 0.170820399113082, p == (0.3090169943749874 - 0.9510565162951853*I), q == (-0.8090169943749881 - 0.5877852522924752*I), v0 == -0.170820399113082, v1 == (-0.2856897310924711 + 0.3440659494171308*I), v2 == (-0.01268458342682646 - 0.447033669138392*I), v3 == (0.4212345321919004 + 0.150204756546148*I), v4 == (0.2389431812024945 - 0.3780293059498318*I)],
     [a == (0.3090169943749476 - 0.9510565162951539*I), di == 0.170820399113082, p == (0.3090169943749488 + 0.9510565162951539*I), q == (-0.8090169943749483 + 0.5877852522924736*I), v0 == -0.170820399113082, v1 == (-0.01268458342687628 - 0.4470336691383396*I), v2 == (0.2389431812024594 - 0.3780293059497477*I), v3 == (-0.2856897310924706 + 0.3440659494171308*I), v4 == (0.421234532191879 + 0.1502047565461552*I)],
     [a == (0.3090169943749482 + 0.9510565162951528*I), di == 0.170820399113082, p == (0.309016994374945 - 0.9510565162951573*I), q == (-0.8090169943749479 - 0.5877852522924697*I), v0 == -0.170820399113082, v1 == (-0.01268458342687628 + 0.4470336691383396*I), v2 == (0.2389431812024553 + 0.3780293059497452*I), v3 == (-0.2856897310924718 - 0.3440659494171303*I), v4 == (0.4212345321918741 - 0.1502047565461565*I)],
     [a == (0.309016994374948 + 0.9510565162951531*I), di == 0.170820399113082, p == (0.3090169943749461 - 0.9510565162951559*I), q == (-0.809016994374948 - 0.5877852522924711*I), v0 == -0.170820399113082, v1 == (0.2389431812024586 - 0.3780293059497493*I), v2 == (0.4212345321918815 + 0.1502047565461531*I), v3 == (-0.01268458342687504 - 0.4470336691383395*I), v4 == (-0.2856897310924681 + 0.3440659494171282*I)],
     [a == (0.3090169943749475 - 0.9510565162951529*I), di == 0.170820399113082, p == (0.3090169943749452 + 0.9510565162951543*I), q == (-0.8090169943749465 + 0.5877852522924712*I), v0 == -0.170820399113082, v1 == (0.2389431812024586 + 0.3780293059497493*I), v2 == (0.4212345321918798 - 0.1502047565461517*I), v3 == (-0.01268458342687504 + 0.4470336691383404*I), v4 == (-0.2856897310924703 - 0.3440659494171271*I)],
     [a == (-0.8090169943749419 + 0.5877852522924721*I), di == -1.170820353063344, p == (-0.8090169943749475 - 0.5877852522924636*I), q == (0.3090169943749497 + 0.9510565162951369*I), v0 == 1.170820353063344, v1 == (-0.09227681359357358 - 0.2839988300599309*I), v2 == (0.3882502019703853 - 1.194911254909261*I), v3 == (0.04919070348342225 - 0.1513934182930044*I), v4 == (-0.2069674907352403 - 0.636980438966312*I)],
     [a == (-0.8090169943749473 - 0.5877852522924731*I), di == -1.170820353063344, p == (-0.8090169943749473 + 0.5877852522924729*I), q == (0.3090169943749473 - 0.9510565162951534*I), v0 == 1.170820353063344, v1 == (-0.09227681359357358 + 0.2839988300599309*I), v2 == (0.3882502019703986 + 1.194911254909264*I), v3 == (0.04919070348342371 + 0.1513934182930027*I), v4 == (-0.2069674907352386 + 0.6369804389663154*I)],
     [a == (-0.8090169943749471 - 0.5877852522924722*I), di == -1.170820353063344, p == (-0.8090169943749461 + 0.5877852522924722*I), q == (0.3090169943749453 - 0.9510565162951519*I), v0 == 1.170820353063344, v1 == (0.04919070348342373 - 0.1513934182930025*I), v2 == (-0.0922768135935728 - 0.2839988300599307*I), v3 == (-0.2069674907352383 - 0.636980438966314*I), v4 == (0.3882502019703989 - 1.194911254909262*I)],
     [a == (-0.8090169943749476 + 0.5877852522924735*I), di == -1.170820353063344, p == (-0.8090169943749479 - 0.5877852522924735*I), q == (0.3090169943749482 + 0.9510565162951543*I), v0 == 1.170820353063344, v1 == (0.04919070348342373 + 0.1513934182930025*I), v2 == (-0.09227681359357369 + 0.2839988300599311*I), v3 == (-0.2069674907352385 + 0.6369804389663157*I), v4 == (0.3882502019703989 + 1.194911254909264*I)],
     [a == (0.3090169943749499 - 0.9510565162951486*I), di == -1.170820353063344, p == (0.3090169943749315 + 0.9510565162951667*I), q == (-0.8090169943749449 + 0.5877852522924567*I), v0 == 1.170820353063344, v1 == (0.3618033988749895 - 0.2628655560595668*I), v2 == (0.3618033988749795 + 0.2628655560595433*I), v3 == (0.3618033988749801 + 0.2628655560595613*I), v4 == (0.3618033988749875 - 0.2628655560595924*I)],
     [a == (0.3090169943749481 + 0.9510565162951539*I), di == -1.170820353063344, p == (0.3090169943749488 - 0.9510565162951556*I), q == (-0.8090169943749494 - 0.5877852522924727*I), v0 == 1.170820353063344, v1 == (0.3618033988749895 + 0.2628655560595668*I), v2 == (0.3618033988749859 - 0.2628655560595679*I), v3 == (0.3618033988749888 - 0.262865556059568*I), v4 == (0.3618033988749861 + 0.2628655560595671*I)],
     [a == (-0.8090169943749459 - 0.5877852522924744*I), di == 0.170820399113082, p == (-0.80901699437495 + 0.5877852522924711*I), q == (0.3090169943749523 - 0.9510565162951505*I), v0 == -0.170820399113082, v1 == (0.1381966011250105 - 0.4253254041760199*I), v2 == (0.1381966011250046 + 0.4253254041760142*I), v3 == (0.1381966011250086 + 0.4253254041760185*I), v4 == (0.138196601125007 - 0.4253254041760218*I)],
     [a == (-0.8090169943749472 + 0.587785252292473*I), di == 0.170820399113082, p == (-0.8090169943749472 - 0.5877852522924729*I), q == (0.3090169943749472 + 0.951056516295153*I), v0 == -0.170820399113082, v1 == (0.1381966011250105 + 0.4253254041760199*I), v2 == (0.138196601125011 - 0.4253254041760196*I), v3 == (0.1381966011250105 - 0.4253254041760199*I), v4 == (0.1381966011250107 + 0.4253254041760203*I)]]