compute a Groebner basis - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Algebra : Polynomials : Groebner : Groebner/Basis

Groebner[Basis] - compute a Groebner basis

Calling Sequence

Basis(J, tord, opts)

Parameters

J

-

a list or set of polynomials or a PolynomialIdeal

tord

-

a MonomialOrder, a ShortMonomialOrder, or a name

opts

-

optional arguments of the form keyword=value

Description

• 

The Groebner[Basis] command computes Groebner bases for ideals and modules over both commutative and skew polynomial rings.  This help page covers the most common case, which is a list or set of commutative polynomials defining an ideal. To compute Groebner bases for modules or to compute non-commutative Groebner bases, refer to the Basis_details help page.

• 

A Groebner basis has the property that the leading monomial of every polynomial in the ideal is divisible by the leading monomial of some polynomial in the Groebner basis.  Division by a Groebner basis produces a unique remainder, or NormalForm.

• 

The argument J should be a list or set of polynomial generators, or a PolynomialIdeal data structure. PolynomialIdeals offer important performance advantages for large problems.  Groebner bases are saved in the structure in a format that permits many optimizations and type checking is avoided.

• 

The argument tord is typically a monomial order.  For example, plex(x,y,z) denotes lexicographic order with x > y > z. For a list of available monomial orders refer to the Monomial Orders help page.  This argument can also be a name, in which case Groebner[Basis] will choose a monomial order and assign it to tord.  In this case the variables can be specified using an optional argument variables={...}, and the type of order can be specified by order=....  See the examples below.

• 

Note: the monomial orders on this help page are all of type ShortMonomialOrder, where the polynomial algebra is inferred from the generators J.  For monomial orders constructed using the MonomialOrder command (including user-defined orders) see the Basis_details help page.

• 

The optional argument characteristic=p specifies the ring characteristic, allowing you to do computations modulo p instead of over the rationals.  This option is ignored when the input is a PolynomialIdeal, however in that case you can specify J mod p as the first argument to obtain the desired result.  No algorithms are currently available to compute Groebner bases over the integers in Maple, so the coefficient ring must be a field.  Algebraic extensions can be specified using RootOfs or radicals.

• 

The optional argument output=extended computes a transformation matrix C expressing the Groebner basis in terms of the generators J.  The output is a sequence (G, C) where G is the Groebner basis and C is a list of lists.  Each G[i] is equal to the dot product of C[i] with J.  This matrix is not stored, so if it is requested again it must be recomputed together with the Groebner basis.

• 

The optional argument method=... specifies the algorithm or strategy used to compute the Groebner basis. For more information on this and other topics relevant to performance, refer to the Basis_algorithms help page.

• 

Note that the gbasis command is deprecated.  It may not be supported in a future Maple release.

Examples

withGroebner:

F:=x33xy,x2y2y2+x

F:=x33xy,x2y2y2+x

(1)

BasisF,plexx,y

y63y3,y52y2+x

(2)

BasisF,tdegx,y

y3+xy,xy2+x2,x2y2y2+x,x33xy

(3)

BasisF,'tord'

y63y3,y52y2+x

(4)

tord

plexx,y

(5)

BasisF,'tord',order='grlex'

x33xy,x2y2y2+x,xy2+x2,y3+xy

(6)

tord

grlexy,x

(7)

BasisF,plexx,y,characteristic=3

y6,y5+y2+x

(8)

G,C:=BasisF,plexx,y,output=extended

G,C:=y63y3,y52y2+x,12xy+12+12y634xy4+12y314x2y5,12x234xy5+12x2y3y2x12y4+32y+14x3y4,12y212xy3,xy+1+12x2y212y3

(9)

seqexpandaddCijFj,j=1..nopsF,i=1..nopsC

y63y3,y52y2+x

(10)

We construct a PolynomialIdeal data structure, which automatically keeps track of known Groebner bases.

withPolynomialIdeals:

J:=F

J:=x33xy,x2y2y2+x

(11)

IdealInfoKnownGroebnerBasesJ

grlexy,x,plexx,y,tdegx,y,tdegy,x

(12)

The commands below do not perform any Groebner basis computations. The known Groebner bases are examined to see if a computation can be avoided.

HilbertDimensionJ

0

(13)

UnivariatePolynomialy,J

y63y3

(14)

HomogenizeJ,h

hxy+y3,3hxy+x3,hx2+xy2,h2x2hy2+x2y

(15)

PolynomialIdeals can also be given to the NormalForm command and the corresponding Groebner basis is used automatically for the division.

f:=x3y2xy1

f:=x3y2xy1

(16)

NormalFormf,J,tdegx,y

xy6y2+3x1

(17)

NormalFormf,J,plexx,y

3y5+y31

(18)

See Also

Basis_algorithms, Basis_details, Monomial Orders, NormalForm, PolynomialIdeal


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam