M2 icon indicating copy to clipboard operation
M2 copied to clipboard

minimal GB in local rings

Open mikestillman opened this issue 8 years ago • 4 comments

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.

mikestillman avatar Jan 11 '17 01:01 mikestillman

See also #291

mikestillman avatar Jan 11 '17 01:01 mikestillman

... or should this be fixed by 2.0 instead?

DanGrayson avatar Jan 11 '17 14:01 DanGrayson

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.

mikestillman avatar Jan 11 '17 14:01 mikestillman

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

mikestillman avatar Jun 06 '17 13:06 mikestillman