11.8 Quotient Rings

Module: sage.rings.quotient_ring

Author: William Stein

Module-level Functions

QuotientRing( R, I)

is_QuotientRing( x)

Class: QuotientRing_generic

class QuotientRing_generic
The quotient ring of $ R$ by the ideal $ I$ .

sage: R = PolynomialRing(Z)
sage: I = R.ideal([4 + 3*x + x^2, 1 + x^2])
sage: S = R.quotient_ring(I); S
Quotient of Univariate Polynomial Ring in x over Integer Ring by the ideal
(x^2 + 1, x^2 + 3*x + 4)

sage: R, (x,y) = PolynomialRing(Q, 2, 'xy').objgens()
sage: S, (a,b) = (R/(x^2 + y^2)).objgens('ab')
sage: a^2 + b^2 == 0
True
sage: S(0) == a^2 + b^2
True

Quotient of quotient

A quotient of a quotient is just the quotient of the original top ring by the sum of two ideals.

sage: R, (x,y) = PolynomialRing(Q, 2, 'xy').objgens()
sage: S, (a,b) = (R/(1 + y^2)).objgens('ab')
sage: T, (c,d) = (S/(a, )).objgens('cd')
sage: T
Quotient of Polynomial Ring in x, y over Rational Field by the ideal (x, 1
+ y^2)
sage: T.gens()
(0, d)
QuotientRing_generic( self, R, I, [names=None])

Create the quotient ring of R by the ideal I.

INPUT:
    R -- a commutative ring
    I -- an ideal

Functions: characteristic,$  $ cover,$  $ cover_ring,$  $ defining_ideal,$  $ gen,$  $ is_field,$  $ is_integral_domain,$  $ lift,$  $ ngens

cover( self)

The covering ring homomorphism $ R \to R/I$ , equipped with a section.

sage: R = Z/(3*Z)
sage: pi = R.cover()
sage: pi
Ring morphism:
  From: Integer Ring
  To:   Ring of integers modulo 3
  Defn: Natural quotient map
sage: pi(5)
2
sage: 
sage: l = pi.lift()

sage: R, (x,y)  = QQ['x,y'].objgens()
sage: Q = R/(x^2,y^2)
sage: pi = Q.cover()
sage: pi(x^3+y)
y
sage: l = pi.lift(x+y^3)
sage: l
x
sage: l = pi.lift(); l
Set-theoretic ring morphism:
  From: Quotient of Polynomial Ring in x, y over Rational Field by the
ideal (y^2, x^2)
  To:   Polynomial Ring in x, y over Rational Field
  Defn: Choice of lifting map
sage: l(x+y^3)
x

lift( self)

Return the lifting map to the cover.

sage: R, (x,y) = PolynomialRing(Q, 2, 'xy').objgens()
sage: S = R.quotient(x^2 + y^2, names=['xbar', 'ybar'])
sage: pi = S.cover(); pi
Ring morphism:
  From: Polynomial Ring in x, y over Rational Field
  To:   Quotient of Polynomial Ring in x, y over Rational Field by the
ideal (y^2 + x^2)
  Defn: Natural quotient map
sage: L = S.lift(); L
Set-theoretic ring morphism:
  From: Quotient of Polynomial Ring in x, y over Rational Field by the
ideal (y^2 + x^2)
  To:   Polynomial Ring in x, y over Rational Field
  Defn: Choice of lifting map
sage: L(S.0)
x
sage: L(S.1)
y

Note that some reduction may be applied so that the lift of a reduction need not equal the original element.

sage: z = pi(x^3 + 2*y^2); z
2*ybar^2 - xbar*ybar^2
sage: L(z)
2*y^2 - x*y^2
sage: L(z) == x^3 + 2*y^2
False

Special Functions: __call__,$  $ __cmp__,$  $ _latex_,$  $ _repr_

__cmp__( self, other)

Only quotients by the same (in "is") ring and same ideal are considered equal.

See About this document... for information on suggesting changes.