|
Computation in ideals of local polynomial rings is possible because
of the construction of standard bases of such ideals.
These are the counterpart to Gröbner bases for ideals of
global polynomial rings.
Currently, standard bases may only be computed for ideals defined
over fields.
Magma computes a standard basis of an ideal using the Mora normal
form and standard basis algorithms (with the homogenization technique):
see [CLO98, Sec. 4.4] for an overview.
In contrast to the global case,
for a given fixed monomial ordering
a standard basis of an ideal is not unique
in general because it can be difficult to get the lower order
terms of polynomials in the standard basis into a unique form.
But the leading monomials of a standard basis are always sorted
in Magma and are unique.
The following functions and procedures allow one to construct standard
bases.
Note that a standard basis for an ideal will be automatically generated
when necessary; the Groebner procedure below simply allows
control of the algorithms used to compute the standard basis.
The verbose flags are shared with those for global Gröbner basis
construction (since the standard basis algorithms reduce to those),
so see Section Verbosity for details on these.
StandardBasis(I) : RngMPolLoc -> RngMPolLocElt
Given an ideal I, force the standard basis of I to be computed,
and then return that.
StandardBasis(S) : { RngMPolLocElt } -> [ RngMPolLocElt ]
Given a set or sequence S of polynomials of a local polynomial ring R,
return a standard basis of the ideal generated by S as a sorted sequence.
Coordinates(I, f) : RngMPolLoc, RngMPolLocElt -> [ RngMPolLocElt ]
Given an ideal I of a local polynomial ring R, together with a polynomial
f in I, and supposing that I has basis b1, ..., bk, return
a sequence [g1, ..., gk] of elements of R so that f = g1 *
b1 + ... + gk * bk. If I was created by
IdealWithFixedBasis(B), then the fixed basis B is used as
the basis b1, ..., bk; otherwise the Gröbner basis of
I is used as the basis b1, ..., bk. The resulting sequence is
not necessarily unique.
Given an ideal I such that I has a fixed basis (i.e., such that
I was created via the function IdealWithFixedBasis),
return the coordinate matrix C of I. The i-th row of C gives
the coordinates of the i-th element of the Gröebner basis of I
w.r.t. the fixed basis of I. The Gröebner basis of I is first
computed if it has not been already.
We compute the standard basis of the ideal given in [CLO98, p.167].
> Q := RationalField();
> R<x,y,z> := LocalPolynomialRing(Q, 3);
> I := Ideal([x^5 - x*y^6 + z^7, x*y + y^3 + z^3, x^2 + y^2 - z^2]);
> I;
Ideal of Localization of Polynomial Ring of rank 3 over Rational Field
Order: Local Lexicographical
Variables: x, y, z
Basis:
[
x^5 - x*y^6 + z^7,
x*y + y^3 + z^3,
x^2 + y^2 - z^2
]
> StandardBasis(I);
[
x^2 + y^2 - z^2,
x*y + y^3 + z^3,
y^3 - x*y^3 - y*z^2 - x*z^3,
x*z^4 + 3*y^2*z^4 + 4*x*y^4*z^4 + y*z^5 + 5*x*y^3*z^5 - 2*z^6 + 4*y^2*z^6 +
x*y^2*z^6 + z^7 - 2*x*z^7 + 7*y*z^7 + 4*x*y*z^7 - y^2*z^7 + 3*z^8 +
4*x*z^8,
y^2*z^4 + 3*y^5*z^5 - z^6 + 3/2*x*z^6 + 2*y^2*z^6 + y^4*z^6 - x*z^7 +
7/2*y*z^7 - x*y^2*z^7 - y^3*z^7 + 3/2*z^8 - 3/2*x*z^8 - 2*y*z^8 +
2*x*y*z^8 + 3/2*y^2*z^8,
y*z^7 + 1/2*x*z^8 + 23/4*y*z^8 - 9/4*x*y^3*z^8 + 3/2*y^4*z^8,
z^9
]
We note that no elements of the standard basis have factors which are
units in R.
> [Factorization(f): f in $1];
[
[
<x^2 + y^2 - z^2, 1>
],
[
<x*y + y^3 + z^3, 1>
],
[
<y^2 - x*y^2 - y*z + x*y*z - x*z^2, 1>,
<y + z, 1>
],
[
<z, 4>,
<x + 3*y^2 + 4*x*y^4 + y*z + 5*x*y^3*z - 2*z^2 + 4*y^2*z^2 + x*y^2*z^2 +
z^3 - 2*x*z^3 + 7*y*z^3 + 4*x*y*z^3 - y^2*z^3 + 3*z^4 + 4*x*z^4, 1>
],
[
<z, 4>,
<y^2 + 3*y^5*z - z^2 + 3/2*x*z^2 + 2*y^2*z^2 + y^4*z^2 - x*z^3 +
7/2*y*z^3 - x*y^2*z^3 - y^3*z^3 + 3/2*z^4 - 3/2*x*z^4 - 2*y*z^4 +
2*x*y*z^4 + 3/2*y^2*z^4, 1>
],
[
<z, 7>,
<y + 1/2*x*z + 23/4*y*z - 9/4*x*y^3*z + 3/2*y^4*z, 1>
],
[
<z, 9>
]
]
We note that starting from an ideal I of a global polynomial ring,
the standard basis of the localization of I may be much simpler
than the Gröbner basis of I.
> Q := RationalField();
> R<x,y,z> := PolynomialRing(Q, 3);
> I := Ideal([x^2 - x*y^3 + z^3, x*y + y^2 + z, x + y^2 - z^2]);
> Groebner(I); I;
Ideal of Polynomial ring of rank 3 over Rational Field
Order: Lexicographical
Variables: x, y, z
Inhomogeneous, Dimension 0
Groebner basis:
[
x - y*z + 127/1052*z^9 + 585/1052*z^8 + 233/263*z^7 + 1273/1052*z^6 +
695/526*z^5 + 223/1052*z^4 + 569/526*z^3 + 35/1052*z^2 - z,
y^2 + y*z - 127/1052*z^9 - 585/1052*z^8 - 233/263*z^7 - 1273/1052*z^6 -
695/526*z^5 - 223/1052*z^4 - 569/526*z^3 - 1087/1052*z^2 + z,
y*z^2 + 51/263*z^9 + 208/263*z^8 + 308/263*z^7 + 476/263*z^6 + 465/263*z^5 +
278/263*z^4 + 691/263*z^3 + 217/263*z^2,
z^10 + 5*z^9 + 10*z^8 + 15*z^7 + 16*z^6 + 9*z^5 + 12*z^4 + 13*z^3 + 2*z^2
]
> QuotientDimension(I);
12
>
> IL := Localization(I);
> StandardBasis(IL);
[
x + y^2,
y^2 - y^3 + z,
z^2
]
> QuotientDimension(IL);
4
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|