M2
M2 copied to clipboard
minimal GB in local rings
The Mora algorithm in M2 is supposed to return a minimal Groebner/standard basis, but sometimes it doesn't. As an example:
R=QQ{x,y,z}
i=ideal"xyz+z5,2x2+y3+z7,3z5+y5"
transpose gens gb i -- this is not minimal GB... BUG!!
The problem is in e/reducedgb-field.cpp. The minimize routine used there orders the polynomials (or module elements) in an incorrect order for local orders and so returns a larger GB than desired.
See also #291
... or should this be fixed by 2.0 instead?
This one should be relatively easy to fix, I need to sort elements in a different order. I will try for 1.9.3.
On the other hand, the other bug #568 is more significant, and is perhaps really not a bug. It will have to wait for 2.0.
Fixed in commit 4612ae32d53c7d7.
However, reduction of elements is now sometimes slower (at least over QQ). This needs to be addressed, but in the next release. Here is an example:
kk = QQ
R=kk{x,y,z}
i=ideal"xyz+z5,2x2+y3+z7,3z5+y5"
transpose gens gb i
L = gens gb i
assert(numColumns L == 5)
assert(gens gb L == L)
R1 = QQ[t,x,y,z,MonomialOrder=>Eliminate 1]
ih = ideal homogenize(sub(gens i,R1),t)
dehomog = map(R,R1, {1} | gens R)
L2 = flatten entries dehomog gens gb ih
gbTrace=3
L2_2 % i