In the following, note that since ideals of a full polynomial ring P are regarded as subrings of P, the ring P itself is a valid ideal as well (the ideal containing 1).
Given ideals I and J of the same polynomial ring P, return the sum of I and J, which is the ideal generated by the generators of I and those of J.
Given ideals I and J of the same polynomial ring P, return the product of I and J, which is the ideal generated by the products of the generators of I and those of J.
Given an ideal I of the polynomial ring P, and an integer k, return the k-th power of I.
Given a polynomial ring P over a field and an ideal J of P, return the affine algebra P/J.
Given ideals I and J of the same polynomial ring P, return the colon ideal I:J (or ideal quotient of I by J), consisting of the polynomials f of P such that f * g is in I for all g in J.
Given an ideal I and an element f of a polynomial ring P, return the colon ideal I:f^Infinity, consisting of the polynomials g of P such that there exists an i >= 1 with f^i * g in I. An integer s with s >= 1 is also returned such that I:f^Infinity = I:f^s. Note that if s is not needed, only one return value of the function should be expected which increases the efficiency enormously. Note also that this function is not equivalent to taking the ideal quotient of I by the ideal of P generated by f.
Given an ideal I of a generic polynomial ring P, return P.
Given an ideal I, return the leading monomial ideal of I; that is, the ideal generated by all the leading monomials of I.
Given ideals I and J of the same polynomial ring P, return the intersection of I and J.
Given a set or sequence S of ideals of the same polynomial ring P, return the intersection of all the ideals of S.
Given two ideals I and J of the same polynomial ring P, return whether I and J are equal.
Given two ideals I and J of the same polynomial ring P, return whether I and J are not equal.
Given two ideals I and J in the same polynomial ring P return whether I is not contained in J.
Given two ideals I and J in the same polynomial ring P return whether I is contained in J.
Given an ideal I of the polynomial ring P, return whether I is the zero ideal (contains zero alone).
Given an ideal I of the polynomial ring P, return whether I is proper; that is, whether I is strictly contained in P, or whether the Groebner basis of I does not contain 1 alone.
Given an ideal I of the polynomial ring P, return whether I is principal, and if so, return also a generator of I.
Given an ideal I of the polynomial ring P, return whether I is primary. An ideal I is primary if and only if for all ab in I, either a in I or b^n in I for some n >= 1. The restrictions on I are the same as for the function PrimaryDecomposition---see the description of that function.
Given an ideal I of the polynomial ring P, return whether I is prime. An ideal I is prime if and only if for all ab in I, either a in I or b in I. The restrictions on I are the same as for the function PrimaryDecomposition---see the description of that function.
Given an ideal I of the polynomial ring P, return whether I is maximal. The restrictions on I are the same as for the function PrimaryDecomposition---see the description of that function.
Given an ideal I of the polynomial ring P, return whether I is radical; that is, whether the radical of I is I itself. The restrictions on I are the same as for the function Radical---see the description of that function.
Given an ideal I of the polynomial ring P, defined over a field, return whether I is zero-dimensional (so the quotient of P by I has non-zero finite dimension as a vector space over the coefficient field -- see the section on dimension for further details). Note that the full polynomial ring P has dimension -1, so it is not zero-dimensional.
> P<x, y, z> := PolynomialAlgebra(RationalField(), 3);
> I := ideal<P | x*y - 1, x^3*z^2 - y^2, x*z^3 - x - 1>;
> J := ideal<P | x*y - 1, x^2*z - y, x*z^3 - x - 1>;
> A := I * J;
> A;
Ideal of Polynomial ring of rank 3 over Rational Field
Lexicographical Order
Variables: x, y, z
Basis:
[
x^2*y^2 - 2*x*y + 1
x^3*y*z - x^2*z - x*y^2 + y
x^2*y*z^3 - x^2*y - x*y - x*z^3 + x + 1
x^4*y*z^2 - x^3*z^2 - x*y^3 + y^2
x^5*z^3 - x^3*y*z^2 - x^2*y^2*z + y^3
x^4*z^5 - x^4*z^2 - x^3*z^2 - x*y^2*z^3 + x*y^2 + y^2
x^2*y*z^3 - x^2*y - x*y - x*z^3 + x + 1
x^3*z^4 - x^3*z - x^2*z - x*y*z^3 + x*y + y
x^2*z^6 - 2*x^2*z^3 + x^2 - 2*x*z^3 + 2*x + 1
]
> M := I meet J;
> M;
Ideal of Polynomial ring of rank 3 over Rational Field
Lexicographical Order
Variables: x, y, z
Basis:
[
x^3 + x^2 + y^5 - y^2*z - z^2
x^4 + x^3 - x*z^2 + y^4 - y*z
-y + z^3 - 1
x*y - 1
]
> A eq M;
true
> ColonIdeal(I, J);
Ideal of Polynomial ring of rank 3 over Rational Field
Lexicographical Order
Variables: x, y, z
Basis:
[
-x*z^2 + y^4
-x^2 - x + y^3*z
x^2*z^2 - y^3
x^3 + x^2 - y^2*z
-y + z^3 - 1
x*y - 1
]
Given a polynomial f from a polynomial ring P, together with an ideal I of P, return whether f is in I.
Given a polynomial f from a polynomial ring P, together with an ideal I of P, return whether f is in the radical of I. Note that using this function is much quicker in general than actually computing the radical of I.
Return the ideal generated by all first partial derivatives of the polynomial f.
Given a polynomial f from a polynomial ring P, together with an ideal I of P, return the unique normal form of f with respect to (the Gröbner basis of) I. The normal form of f is zero if and only if f is in I.
Given a polynomial f from a polynomial ring P, together with a set or sequence S of polynomials from P, return a normal form of f with respect to S. This is not unique in general. If the normal form of f is zero then f is in the ideal generated by S, but the converse is false in general. In fact, the normal form is unique if and only if S forms a Gro"ebner basis.
Given a polynomial f from a polynomial ring P, together with an ideal I of P, return whether f is not in I.
Given elements f and g from a polynomial ring P, return the S-polynomial of f and g.
> P<x, y, z> := PolynomialRing(RationalField(), 3); > I := ideal<P | (x + y)^3, (y - z)^2, y^2*z + z>; > NormalForm(y^2*z + z, I); 0 > NormalForm(x^3, I); -3*x^2*y - 3*x*z^4 - 6*x*z^2 + 1/2*z^3 + 3/2*z > NormalForm(z^4 + y^2, I); 2*z^4 + 2*z^2 > x + y in I; false > IsInRadical(x + y, I); true > IsInRadical((x + y)^2, I); true > IsInRadical(z, I); false > SPolynomial(x^4 + y - z, x^2 + y - z); -x^2*y + x^2*z + y - z