Details of the Groebner Package
|
Calling Sequence
|
|
Groebner[command](arguments)
command(arguments)
|
|
Description
|
|
•
|
This page contains complete information about the Groebner package, with the exception of computations of Groebner bases for modules, for which users are referred to Groebner Bases for Modules. For basic information on the Groebner package, see the Groebner help page.
|
•
|
The Groebner package is a collection of commands for doing Groebner basis calculations in skew algebras like Weyl and Ore algebras and in corresponding modules like D-modules. It can also be used in the case of usual commutative polynomials.
|
•
|
Whereas in the commutative case the ideals (respectively modules) are two-sided, in the skew case we focus on left-sided ideal (respectively modules). This corresponds to skew polynomials acting on functions on the left.
|
•
|
Each command in the Groebner package can be accessed by using either the long form or the short form of the command name in the command calling sequence.
|
|
|
List of Groebner Package Commands
|
|
•
|
The following is a list of available commands.
|
•
|
The MonomialOrder command declares a monomial order on an algebra and returns a table that describes it. This table is needed by other commands in the package. Alternatively, a short monomial order description can be used in simple cases (see type(...,ShortMonomialOrder)). The TestOrder command checks if two monomials are in a given monomial order. Many predefined monomial orderings are available, including total degree, lexicographic, elimination, and matrix-defined orderings.
|
•
|
The NormalForm command computes the normal form of a polynomial modulo an ideal. The command Reduce returns the pseudo-remainder of a polynomial in the division by a list of polynomials. The InterReduce command inter-reduces a list of polynomials. Both the NormalForm and Reduce commands are usually used after a (reduced) Groebner basis has been computed.
|
•
|
The Basis command computes a (reduced) Groebner bases either in an algebra of skew polynomials (an Ore algebra) or in an algebra of usual polynomials. It also computes Groebner bases for modules over (usual or skew) polynomial rings. The RememberBasis command makes a Groebner basis known to the system without performing any computation.
|
•
|
In the commutative case, the Solve command preprocesses a set of generators in view of solving.
|
•
|
The SPolynomial command computes the S-polynomial of two polynomials.
|
•
|
The UnivariatePolynomial command finds univariate polynomials of least degree in a polynomial ideal.
|
•
|
The MultivariateCyclicVector command is a general-purpose and parametrizable iteration algorithm based on idea behind the FGLM algorithm.
|
•
|
The commands IsZeroDimensional and IsProper decide whether an ideal has finitely many solutions, or at least one solution, respectively.
|
•
|
A typical Groebner basis computation is one of the following.
|
•
|
A typical test of membership in an ideal is:
|
|
1. Perform a Groebner basis computation to find a Groebner basis of the ideal (usually with tdeg);
|
•
|
A typical use of Groebner bases for elimination is:
|
|
1. Compute a Groebner basis with respect to an elimination monomial order (with the lexdeg syntax);
|
|
2. Select those polynomials in which the indeterminate to be eliminated has disappeared.
|
|
Note: Elimination of a single indeterminate between two polynomials can also be performed using Ore_algebra[skew_elim].
|
•
|
You can use the Groebner package in conjunction with the PolynomialIdeals package.
|
|
Note: Both packages have the following exports of the same name and almost identical functionality: HilbertDimension, IsProper, IsZeroDimensional, and UnivariatePolynomial. After loading both packages using with, these names refer to the corresponding exports of the most recently loaded package, but you can still access the exports with the same name in the other package using the long form, that is, by prepending the package name.
|
|
|
Examples
|
|
|
Short Versus General Syntax for Term Orders
|
|
>
|
|
Simple Groebner basis calculation using the short syntax:
>
|
|
>
|
|
| (1) |
More complicated one using the general syntax:
>
|
|
>
|
|
>
|
|
>
|
|
| (2) |
|
|
Lauricella Functions and Partial Differential Systems
|
|
The following example deals with Lauricella functions. It illustrates Groebner basis computation in D-modules with parameters in the ground field.
>
|
|
>
|
|
| (3) |
>
|
|
>
|
|
| (4) |
The following operators introduce other parameters.
>
|
|
| (5) |
>
|
|
The result is a third-order differential system of four equations.
>
|
|
| (6) |
|
|
Legendre Polynomials and Differential-Difference Linear Systems
|
|
The following example deals with Legendre polynomials: from a differential equation and a mixed differential-difference equation that define them, elimination of yields a difference equation that vanishes on them.
>
|
|
>
|
|
| (7) |
>
|
|
| (8) |
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
| (9) |
Continuing this application, we derive a proof that Legendre polynomials satisfy
>
|
|
| (10) |
Indeed, it follows that the summand in the identity that we want to prove satisfies
>
|
|
| (11) |
in the new algebra . (Since the index of summation is , we consider polynomials in this variable to allow for its elimination.)
>
|
|
| (12) |
>
|
|
>
|
|
>
|
|
| (13) |
The previous equations are satisfied by the summand. Setting in them yields equations satisfied by the sum. A final Groebner basis calculation returns these equations:
>
|
|
>
|
|
| (14) |
Solving this simple system of PDEs yields the announced closed form.
|
|
|
See Also
|
|
Groebner, Ore_algebra, Ore_algebra/poly_algebra, Ore_algebra/skew_algebra, Ore_algebra/Weyl_algebra, PolynomialIdeals, PolynomialIdeals Example Worksheet, PolynomialIdeals[PolynomialIdeal], RegularChains, Terminology Used in Groebner, UsingPackages, with
|
|