[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Computation of Varieties

The slightly non-standard term variety in this section refers to the (finite) solution set of the system of polynomials that make up a zero-dimensional ideal. It can also be thought of as the set of points of a zero-dimensional affine scheme over a specified field extension of the polynomial ring base field. For more general functionality for schemes of arbitrary dimension, see the chapters on Algebraic and Arithmetic Geometry. The functions here also work for higher-dimensional ideals if the base field is finite, when the solution set is again finite (over the base or a finite extension of the base).

The functions compute solutions over the base field of the polynomial ring or over an extension field L. Magma's algebraically closed fields (see Chapter ALGEBRAICALLY CLOSED FIELDS) may be used to get all solutions if so desired when an explicit splitting field is not known for the system. L should be an exact field over which Magma has a root-finding algorithm for univariate polynomials or a real or complex field.

For the corresponding functions with argument a zero-dimensional scheme which may not be affine, see the Section Rational Points and Point Sets in the Schemes chapter.

Variety(I) : RngMPol -> [ ModTupFldElt ]
Variety(I, L) : RngMPol, Rng -> [ ModTupFldElt ]
    Digits: RngIntElt                   Default: 38
Given a zero-dimensional ideal I of a polynomial ring P, return the variety of I over its coefficient field K as a sequence of tuples. Each tuple is of length n, where n is the rank of P, and corresponds to an assignment of the n variables of P (in order) such that all polynomials in I vanish with this assignment.

If K is not a finite field then the ideal must be the full polynomial ring or be zero-dimensional so that the variety is known to be finite. If a superfield L of K is also given, the variety is computed over L instead, so the entries of the tuples lie in L.

If the field over which the variety is computed is the free complex field, Magma uses a special root finding algorithm to ensure the precision of the results; in this case, the parameter Digits may be given (see the Roots function in the Real and Complex Fields chapter (Chapter REAL AND COMPLEX FIELDS)).

The function works in the zero-dimensional case by first computing a triangular or radical decomposition of I (see Section Radical and Decomposition of Ideals). This reduces the problem to successively computing roots of univariate polynomials.

VarietySequence(I) : RngMPol -> [ [ RngElt ] ]
VarietySequence(I, L) : RngMPol, Rng -> [ [ RngElt ] ]
    Digits: RngIntElt                   Default: 38
Given a zero-dimensional ideal I of a polynomial ring P whose order is of lexicographic type, return the variety of I over its coefficient field K as a sequence of sequences of elements of K. Each inner sequence is of length n, where n is the rank of P, and corresponds to an assignment of the n variables of P (in order) such that all polynomials in I vanish with this assignment.

If K is not a finite field then the ideal must be the full polynomial ring or be zero-dimensional so that the variety is known to be finite. If a superfield L of K is also given, the variety is computed over L instead, so the entries of the sequences lie in L.

If the field over which the variety is computed is the free complex field, Magma uses a special root finding algorithm to ensure the precision of the results; in this case, the parameter Digits may be given (see the Roots intrinsic function in the Real and Complex Fields chapter (Chapter REAL AND COMPLEX FIELDS)).

The function works in the zero-dimensional case by first computing a triangular or radical decomposition of I (see Section Radical and Decomposition of Ideals). This reduces the problem to successively computing roots of univariate polynomials.

VarietySizeOverAlgebraicClosure(I) : RngMPol -> RngIntElt
Given a zero-dimensional ideal I of a polynomial ring P over a field K, return the size of the variety of I over the algebraic closure K' of K. The size is determined by finding the (prime) radical decomposition of I and placing each component of the decomposition into normal position so the size of the variety of the component over K' can be read off. Note that this function will usually be much faster than actually computing the variety of I over a suitable extension field of K.

Example Ideal_Variety (H106E3)

We construct an ideal I of the polynomial ring GF(27)[x, y], and then find the variety V = V(I). We then check that I vanishes on V.

> K<w> := GF(27);
> P<x, y> := PolynomialRing(K, 2);
> I := ideal<P | x^8 + y + 2, y^6 + x*y^5 + x^2>;
> Groebner(I);
> I;
Ideal of Polynomial ring of rank 2 over GF(3^3)
Order: Lexicographical
Variables: x, y
Inhomogeneous, Dimension 0
Groebner basis:
[
    x + 2*y^47 + 2*y^45 + y^44 + 2*y^43 + y^41 + 2*y^39 + 2*y^38 + 2*y^37 + 
        2*y^36 + y^35 + 2*y^34 + 2*y^33 + y^32 + 2*y^31 + y^30 + y^28 + y^27 + 
        y^26 + y^25 + 2*y^23 + y^22 + y^21 + 2*y^19 + 2*y^18 + 2*y^16 + y^15 + 
        y^13 + y^12 + 2*y^10 + y^9 + y^8 + y^7 + 2*y^6 + y^4 + y^3 + y^2 + y + 
        2,
    y^48 + y^41 + 2*y^40 + y^37 + 2*y^36 + 2*y^33 + y^32 + 2*y^29 + y^28 + 
        2*y^25 + y^24 + y^2 + y + 1
]
> V := Variety(I);
> V;
[ <w^14, w^12>, <w^16, w^10>, <w^22, w^4> ]
> // Check that the original polynomials vanish:
> [
>    <x^8 + y + 2, y^6 + x*y^5 + x^2> where x is v[1] where y is v[2]: v in V
> ];
[ <0, 0>, <0, 0>, <0, 0> ]
> // Note that the variety of I would be larger over an extension field of K:
> VarietySizeOverAlgebraicClosure(I);
48

 [Next][Prev] [Right] [Left] [Up] [Index] [Root]

Version: V2.19 of Wed Apr 24 15:09:57 EST 2013