23.9 Quotient Ring Elements

Module: sage.rings.quotient_ring_element

Quotient Ring Elements

Author: William Stein

TODO: This implementation is very basic.

Class: QuotientRingElement

class QuotientRingElement
QuotientRingElement( self, parent, rep, [reduce=True])

An element of a quotient ring $ R/I$ .

sage: R.<x> = PolynomialRing(ZZ)
sage: S.<xbar> = R.quo((4 + 3*x + x^2, 1 + x^2)); S
Quotient of Univariate Polynomial Ring in x over Integer Ring by the ideal
(x^2 + 3*x + 4, x^2 + 1)
sage: v = S.gens(); v
(xbar,)

sage: loads(v[0].dumps()) == v[0]  
True

sage: R.<x,y> = PolynomialRing(QQ, 2)
sage: S = R.quo(x^2 + y^2); S
Quotient of Multivariate Polynomial Ring in x, y over Rational Field by the
ideal (x^2 + y^2)
sage: S.gens()
(xbar, ybar)

We name each of the generators.

sage: S.<a,b> = R.quotient(x^2 + y^2)
sage: a
a
sage: b
b
sage: a^2 + b^2 == 0
True
sage: b.lift()
y
sage: (a^3 + b^2).lift()
-x*y^2 + y^2

Functions: copy,$ \,$ is_unit,$ \,$ lc,$ \,$ lift,$ \,$ lm,$ \,$ lt,$ \,$ monomials,$ \,$ reduce,$ \,$ variables

lc( self)

Return the leading coefficent of this quotient ring element.

sage: R.<x,y,z>=PolynomialRing(GF(7),3,order='lex')
sage: I = sage.rings.ideal.FieldIdeal(R)
sage: Q = R.quo( I )
sage: f = Q( z*y + 2*x )
sage: f.lc()
2

lm( self)

Return the leading monomial of this quotient ring element.

sage: R.<x,y,z>=PolynomialRing(GF(7),3,order='lex')
sage: I = sage.rings.ideal.FieldIdeal(R)
sage: Q = R.quo( I )
sage: f = Q( z*y + 2*x )
sage: f.lm()
xbar

lt( self)

Return the leading term of this quotient ring element.

sage: R.<x,y,z>=PolynomialRing(GF(7),3,order='lex')
sage: I = sage.rings.ideal.FieldIdeal(R)
sage: Q = R.quo( I )
sage: f = Q( z*y + 2*x )
sage: f.lt()
2*xbar

reduce( self, G)

Reduce this quotient ring element by a set of quotient ring elements G.

Input:

G
- a list of quotient ring elements

sage: P.<a,b,c,d,e> = PolynomialRing(GF(2), 5, order='lex')
sage: I1 = ideal([a*b + c*d + 1, a*c*e + d*e, a*b*e + c*e, b*c + c*d*e + 1])
sage: Q = P.quotient( sage.rings.ideal.FieldIdeal(P) )
sage: I2 = ideal([Q(f) for f in I1.gens()])
sage: f = Q((a*b + c*d + 1)^2  + e)
sage: f.reduce(I2.gens())
ebar

Special Functions: __cmp__,$ \,$ __float__,$ \,$ __init__,$ \,$ __int__,$ \,$ __invert__,$ \,$ __long__,$ \,$ __neg__,$ \,$ __pos__,$ \,$ __rdiv__,$ \,$ _add_,$ \,$ _div_,$ \,$ _integer_,$ \,$ _magma_,$ \,$ _mul_,$ \,$ _rational_,$ \,$ _reduce_,$ \,$ _repr_,$ \,$ _singular_,$ \,$ _sub_

_magma_( self, [magma=None])

Returns the MAGMA representation of this quotient ring element.

sage: P.<x,y> = PolynomialRing(GF(2))
sage: Q = P.quotient(sage.rings.ideal.FieldIdeal(P))
sage: xbar, ybar = Q.gens()
sage: xbar._magma_() # optional requires magma
x

_singular_( self, [singular=Singular])

Return Singular representation of self.

Input:

singular
- a non-standard interpreter may be provided

sage: P.<x,y>  = PolynomialRing(GF(2),2)
sage: I = sage.rings.ideal.FieldIdeal(P)
sage: Q = P.quo(I)
sage: Q._singular_()
//   characteristic : 2
//   number of vars : 2
//        block   1 : ordering dp
//                  : names    x y
//        block   2 : ordering C
// quotient ring from ideal
_[1]=x2+x
_[2]=y2+y
sage: xbar = Q(x); xbar
xbar
sage: xbar._singular_()
x
sage: Q(xbar._singular_()) # a round-trip
xbar

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