Singular’s Groebner Strategy Objects#
AUTHORS:
Martin Albrecht (2009-07): initial implementation
Michael Brickenstein (2009-07): initial implementation
Hans Schoenemann (2009-07): initial implementation
- class sage.libs.singular.groebner_strategy.GroebnerStrategy#
Bases:
SageObject
A Wrapper for Singular’s Groebner Strategy Object.
This object provides functions for normal form computations and other functions for Groebner basis computation.
ALGORITHM:
Uses Singular via libSINGULAR
- ideal()#
Return the ideal this strategy object is defined for.
EXAMPLES:
sage: from sage.libs.singular.groebner_strategy import GroebnerStrategy sage: P.<x,y,z> = PolynomialRing(GF(32003)) sage: I = Ideal([x + z, y + z]) sage: strat = GroebnerStrategy(I) sage: strat.ideal() Ideal (x + z, y + z) of Multivariate Polynomial Ring in x, y, z over Finite Field of size 32003
- normal_form(p)#
Compute the normal form of
p
with respect to the generators of this object.EXAMPLES:
sage: from sage.libs.singular.groebner_strategy import GroebnerStrategy sage: P.<x,y,z> = PolynomialRing(QQ) sage: I = Ideal([x + z, y + z]) sage: strat = GroebnerStrategy(I) sage: strat.normal_form(x*y) # indirect doctest z^2 sage: strat.normal_form(x + 1) -z + 1
- ring()#
Return the ring this strategy object is defined over.
EXAMPLES:
sage: from sage.libs.singular.groebner_strategy import GroebnerStrategy sage: P.<x,y,z> = PolynomialRing(GF(32003)) sage: I = Ideal([x + z, y + z]) sage: strat = GroebnerStrategy(I) sage: strat.ring() Multivariate Polynomial Ring in x, y, z over Finite Field of size 32003
- class sage.libs.singular.groebner_strategy.NCGroebnerStrategy#
Bases:
SageObject
A Wrapper for Singular’s Groebner Strategy Object.
This object provides functions for normal form computations and other functions for Groebner basis computation.
ALGORITHM:
Uses Singular via libSINGULAR
- ideal()#
Return the ideal this strategy object is defined for.
EXAMPLES:
sage: from sage.libs.singular.groebner_strategy import NCGroebnerStrategy sage: A.<x,y,z> = FreeAlgebra(QQ, 3) sage: H.<x,y,z> = A.g_algebra({y*x:x*y-z, z*x:x*z+2*x, z*y:y*z-2*y}) sage: I = H.ideal([y^2, x^2, z^2-H.one()]) sage: strat = NCGroebnerStrategy(I) sage: strat.ideal() == I True
- normal_form(p)#
Compute the normal form of
p
with respect to the generators of this object.EXAMPLES:
sage: A.<x,y,z> = FreeAlgebra(QQ, 3) sage: H.<x,y,z> = A.g_algebra({y*x:x*y-z, z*x:x*z+2*x, z*y:y*z-2*y}) sage: JL = H.ideal([x^3, y^3, z^3 - 4*z]) sage: JT = H.ideal([x^3, y^3, z^3 - 4*z], side='twosided') sage: from sage.libs.singular.groebner_strategy import NCGroebnerStrategy sage: SL = NCGroebnerStrategy(JL.std()) sage: ST = NCGroebnerStrategy(JT.std()) sage: SL.normal_form(x*y^2) x*y^2 sage: ST.normal_form(x*y^2) y*z
- ring()#
Return the ring this strategy object is defined over.
EXAMPLES:
sage: from sage.libs.singular.groebner_strategy import NCGroebnerStrategy sage: A.<x,y,z> = FreeAlgebra(QQ, 3) sage: H.<x,y,z> = A.g_algebra({y*x:x*y-z, z*x:x*z+2*x, z*y:y*z-2*y}) sage: I = H.ideal([y^2, x^2, z^2-H.one()]) sage: strat = NCGroebnerStrategy(I) sage: strat.ring() is H True
- sage.libs.singular.groebner_strategy.unpickle_GroebnerStrategy0(I)#
EXAMPLES:
sage: from sage.libs.singular.groebner_strategy import GroebnerStrategy sage: P.<x,y,z> = PolynomialRing(GF(32003)) sage: I = Ideal([x + z, y + z]) sage: strat = GroebnerStrategy(I) sage: loads(dumps(strat)) == strat # indirect doctest True
- sage.libs.singular.groebner_strategy.unpickle_NCGroebnerStrategy0(I)#
EXAMPLES:
sage: from sage.libs.singular.groebner_strategy import NCGroebnerStrategy sage: A.<x,y,z> = FreeAlgebra(QQ, 3) sage: H.<x,y,z> = A.g_algebra({y*x:x*y-z, z*x:x*z+2*x, z*y:y*z-2*y}) sage: I = H.ideal([y^2, x^2, z^2-H.one()]) sage: strat = NCGroebnerStrategy(I) sage: loads(dumps(strat)) == strat # indirect doctest True