-
Notifications
You must be signed in to change notification settings - Fork 257
Description
@antonleykin : When working over a finite field it seems that while msolveGB and msolveEliminate handle the unit ideal correctly, msolveLeadMonomials does not. This seems to actually be an msolve issue, so perhaps we should just report it to them?
Below is an example:
restart
needsPackage "Msolve"
R=ZZ/27457[x..z]
I=ideal(x^2+y^2-1, x+y,z^2-y+x, x^3-y+z)
groebnerBasis I
--works correctly
msolveGB I
eliminate(x,I)
--also works correctly
msolveEliminate(x,I)
leadTerm I
--does NOT work correctly
msolveLeadMonomials I
This happens over any finite field, but does not happen over Q. Over Q msolveLeadMonomials gives the correct output.
On closer examination this seems to be an msolve issue, namely if one runs
needsPackage "Msolve"
R=QQ[x..z]
I=ideal(x^2+y^2-1, x+y,z^2-y+x, x^3-y+z)
msolveLeadMonomials(I,Verbosity=>2)
the output file from msolve is:
#Leading ideal data
#---
#field characteristic: 0
#variable order: p_0, p_1, p_2
#monomial order: graded reverse lexicographical
#length of basis: 1 element
#---
[1
]:
While
needsPackage "Msolve"
R=ZZ/1073741827[x..z]
I=ideal(x^2+y^2-1, x+y,z^2-y+x, x^3-y+z)
msolveLeadMonomials(I,Verbosity=>2)
gives msolve output
#Leading ideal data
#---
#field characteristic: 1073741827
#variable order: p_0, p_1, p_2
#monomial order: graded reverse lexicographical
#length of basis: 1 element
#---
[]:
Note msolve doesn't actually say the ideal is generated by 0, but rather gives an empty generating set while saying the basis has length 1. I belive for the actual 0 ideal they also return an empty generating set which is likley why we are parsing this as the 0 ideal.
Msolve's printed verbose output clearly recognizes the ideal corresponds to an empty variety in both cases... i.e. it prints
"Grobner basis has a single element
No solution"
In both cases, but just records the lead monomials wrongly over a finite field. For the regular GB we again get the right thing
needsPackage "Msolve";
R=ZZ/1073741827[x..z];
I=ideal(x^2+y^2-1, x+y,z^2-y+x, x^3-y+z);
msolveGB(I,Verbosity=>2);
gives output file
#Reduced Groebner basis data
#---
#field characteristic: 1073741827
#variable order: p_0, p_1, p_2
#monomial order: graded reverse lexicographical
#length of basis: 1 element
#---
[1]: