Ask Your Question
0

Inconsistency with Groebner basis

asked 2020-09-03 07:13:22 +0100

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)]]
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
2

answered 2020-09-03 18:28:27 +0100

rburing gravatar image

There is no inconsistency or bug, but a misunderstanding: the linear equation for v1 has a single solution only if the coefficient of v1 is nonzero. If the coefficient of v1 is zero, then the equation puts no restriction on v1. (So the linear equation is not always enough to determine v1.)

The coefficient of v1 in the linear equation is di + 3/5*a^3 + 3/5*a^2 + 4/5. Indeed, it vanishes for some of the solutions (to check: do Id.variety(QQbar), substitute each solution into the coefficient, and call the radical_expression() method).

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2020-09-03 07:13:22 +0100

Seen: 432 times

Last updated: Sep 03 '20