Ideals and Quotient Rings

The following entries describe the operations on ideals in a commutative ring R. Certain operations on left and right ideals in non-commutative rings will be described in the online help nodes for the corresponding rings.

Contents

Defining Ideals and Quotient Rings

ideal< R | a1, ..., ar > : Rng, RngElt, ..., RngElt -> RngIdl
Given a ring R and elements a1, ..., ar of R, create the ideal I of R generated by a1, ..., ar.
quo< R | ar, ..., ar > : Rng, RngElt, ..., RngElt -> Rng
Given a ring R and elements a1, ..., ar of R, construct the quotient ring Q = R/I, where I is the ideal of R generated by a1, ..., ar.
R / I : Rng, RngIdl -> Rng
Given a ring R and an ideal I of R, construct the quotient ring Q = R/I, as well as the canonical map R -> R/I.

Note, however, that there can be pitfalls with this, particularly if the first argument is itself interpreted as an ideal, when instead the result could be interpreted as something like the ColonIdeal.

For instance:

> Z := Integers();
> I := ideal<Z|1>; // ideal of Z
> Z/I; // ideal quotient, similar to ColonIdeal
Integer Ring
> quo<Z|I>; // quotient of ring by ideal
Residue class ring of integers modulo 1

In fact, Z/I is computing the (fractional) ideal J such that JI=Z. The technical reason for this is that both Z and I are of type RngInt, and there is no specific RngIntIdl type as with order of number fields (where there are RngOrd and RngOrdIdl).

On the other hand, for instance for univariate polynomial rings where again there is no specific type for ideals, the / operator acts as the ring/ideal quotient (while ColonIdeal does not exist for this type, though it does for the multivariate polynomial ring type RngMPol).

> Zx<x> := PolynomialRing(Rationals());
> I := ideal<Zx|x>;
> Type(Zx),Type(I);
RngUPol RngUPol
> Zx/I; // same as quo<Zx|I>
Univariate Quotient Polynomial Algebra in over Rational Field
> Type(Zx/I);
RngUPolRes
PowerIdeal(R) : Rng -> PowIdl
The set of ideals of R. This is the parent of all ideals of R.

Arithmetic Operations on Ideals

I + J : RngIdl, RngIdl -> RngIdl
The sum of the ideals I and J of the ring R. This ideal consists of elements a + b, with a∈I and b∈J. If I is generated by {a1, ..., ak} and J is generated by {b1, ..., bm}, then I + J is generated by {a1, ..., ak, b1, ..., bm}.
I * J : RngIdl, RngIdl -> RngIdl
The product of the ideals I and J of the ring R. This is the ideal generated by elements a.b, with a∈I and b∈J, and it consists of elements a1b1 + ... + anbn, with ai∈I and bj∈J.
I meet J : RngIdl, RngIdl -> RngIdl
The intersection of the ideals I and J of the ring R.

Boolean Operators on Ideals

Throughout this subsection I and J are ideals belonging to the same integer ring R, while a is an element of R.

a in I : RngElt, RngIdl -> BoolElt
Returns true if and only if the element a is a member of the ideal I.
a notin I : RngElt, RngIdl -> BoolElt
Returns true if and only if the element a is not a member of the ideal I.
I eq J : RngIdl, RngIdl -> BoolElt
Returns true if and only if the ideals I and J are equal.
I ne J : RngIdl, RngIdl -> BoolElt
Returns true if and only if the ideals I and J are distinct.
I subset J : RngIdl, RngIdl -> BoolElt
Returns true if and only if the ideal I is contained in the ideal J.
I notsubset J : RngIdl, RngIdl -> BoolElt
Returns true if and only if the ideal I is not contained in the ideal J.
V2.28, 13 July 2023