Ask Your Question

Chris Aholt's profile - activity

2018-03-22 23:44:59 +0200 received badge  Notable Question (source)
2018-03-22 23:44:59 +0200 received badge  Popular Question (source)
2010-10-14 23:11:12 +0200 received badge  Student (source)
2010-10-14 23:11:11 +0200 received badge  Scholar (source)
2010-08-23 17:07:44 +0200 marked best answer Implementing different groebner_basis() algorithms

With the current Groebner basis commands in Sage, there is not a good way to do this. None of the underlying methods like _groebner_basis_macaulay2 support a degree limit.

As a workaround, you can do something like the following:

sage: P.<a,b,c> = PolynomialRing(QQ,3, order='lex')
sage: I = sage.rings.ideal.Katsura(P,3)
sage: I.groebner_basis()  #compute the normal Groebner basis
[a - 60*c^3 + 158/7*c^2 + 8/7*c - 1, b + 30*c^3 - 79/7*c^2 + 3/7*c, c^4 - 10/21*c^3 + 1/84*c^2 + 1/84*c]
sage: singular.eval('degBound = 2;')  #set the degree bound in Singular
'degBound = 2;'
sage: gb = Sequence(map(P, singular(I).std())); gb
[10*b*c - b + 12*c^2 - 4*c, 4*b^2 + 2*b*c - b, a + 2*b + 2*c - 1]
sage: singular.eval('degBound = 0;')  #reset it back to 0 (unlimited)
'degBound = 0;'

I've made this ticket #9789.

2010-08-23 15:28:46 +0200 asked a question Implementing different groebner_basis() algorithms

I'm not sure if this is the correct forum to ask this type of question, but I'll try anyway.

I am curious if there is a way to do the following in Sage. I would like a way to make a Groebner basis calculation to not worry about calculations involving polynomials of too high degree. Macaulay2's gb command has the ability to specify this with an option called HardDegreeLimit, for instance. The Sage documentation on groebner_basis seems to imply that I can use Macaulay2's gb command with this option, but I don't know how to make it work. Singular's std command also has a degBound option, but I again don't know how to use this in my Sage implementation.