ring, polynomial, [name=None]) |
base_ring,
characteristic,
degree,
discriminant,
gen,
is_field,
krull_dimension,
modulus,
ngens,
number_field,
polynomial_ring
Further documentation:
) |
Return the base base ring of the polynomial ring, of which this ring is a quotient.
The base ring of
is
.
sage: R = PolynomialRing(IntegerRing(), 'z'); z = R.gen() sage: S = R.quotient(z**3 + z**2 + z + 1, 'beta') sage: S.base_ring() Integer Ring
Next we make a polynomial quotient ring over
and ask for its basering.
sage: T = PolynomialRing(S); W = T.quotient(T.gen()**99 + 99) sage: W.base_ring() Univariate Quotient Polynomial Ring in beta over Integer Ring with modulus z^3 + z^2 + z + 1
) |
Return the characteristic of this quotient ring.
This is always the same as the characteristic of the base ring.
sage: R = PolynomialRing(IntegerRing(), 'z'); z = R.gen() sage: S = R.quotient(z - 19, 'a') sage: S.characteristic() 0 sage: R = PolynomialRing(GF(9), 'x'); x = R.gen() sage: S = R.quotient(x**3 + 1) sage: S.characteristic() 3
) |
Return the degree of this quotient ring. The degree is the degree of the polynomial that we quotiented out by.
sage: R = PolynomialRing(GF(3), 'x'); x = R.gen() sage: S = R.quotient(x**2005 + 1) sage: S.degree() 2005
[v=None]) |
Return the discriminant of this ring over the base ring. This is by definition the discriminant of the polynomial that we quotiented out by.
sage: R = PolynomialRing(RationalField(), 'x'); x = R.gen() sage: S = R.quotient(x**3 + x**2 + x + 1) sage: S.discriminant() -16 sage: S = R.quotient((x + 1) * (x + 1)) sage: S.discriminant() 0
The discriminant of the quotient polynomial ring need not equal the discriminant of the corresponding number field, since the discriminant of a number field is by definition the discriminant of the ring ring of integers of the number field:
sage: S = R.quotient(x**2 - 8) sage: S.number_field().discriminant() 8 sage: S.discriminant() 32
[n=0]) |
Return the generator of this quotient ring. This is the equivalence class of the image of the generator of the polynomial ring.
sage: R = PolynomialRing(RationalField(), 'x'); x = R.gen() sage: S = R.quotient(x**2 - 8, 'gamma') sage: S.gen() gamma
) |
Return whether or not this quotient ring is a field.
sage: R = PolynomialRing(IntegerRing(), 'z'); z = R.gen() sage: S = R.quotient(z**2-2) sage: S.is_field() False sage: R = PolynomialRing(RationalField(), 'x'); x = R.gen() sage: S = R.quotient(x**2 - 2) sage: S.is_field() True
) |
Return the polynomial modulus of this quotient ring.
sage: R = PolynomialRing(GF(3), 'x'); x = R.gen() sage: S = R.quotient(x**2 - 2) sage: S.modulus() x^2 + 1
) |
Return the number of generators of this quotient ring over the base ring. This function always returns 1.
sage: R = PolynomialRing(RationalField(), 'x'); x = R.gen() sage: S = PolynomialRing(R, 'y'); y = S.gen() sage: T = S.quotient(y + x, 'z') sage: T Univariate Quotient Polynomial Ring in z over Univariate Polynomial Ring in x over Rational Field with modulus y + x sage: T.ngens() 1
) |
Return the number field isomorphic to this quotient polynomial ring, if possible.
sage: R = PolynomialRing(RationalField(), 'x'); x = R.gen() sage: S = R.quotient(x**29-17*x-1, 'alpha') sage: K = S.number_field() sage: K Number Field in alpha with defining polynomial x^29 - 17*x - 1 sage: alpha = K.gen() sage: alpha**29 17*alpha + 1
) |
Return the polynomial ring of which this ring is the quotient.
sage: R = PolynomialRing(RationalField(), 'x'); x = R.gen() sage: S = R.quotient(x**2-2) sage: S.polynomial_ring() Univariate Polynomial Ring in x over Rational Field
Instances of class PolynomialQuotientRing_generic also have the following special methods:
__call__,
__cmp__,
__repr__,
_coerce_
Further documentation:
x) |
Coerce x into this quotient ring. Anything that can be coerced into the polynomial ring can be coerced into the quotient.
INPUT: x -- object to be coerced OUTPUT: an element obtained by coercing x into this ring.
sage: R = PolynomialRing(RationalField(), 'x'); x = R.gen() sage: S = R.quotient(x**3-3*x+1, 'alpha') sage: S(x) alpha sage: S(x**3) 3*alpha - 1 sage: S([1,2]) 2*alpha + 1 sage: S([1,2,3,4,5]) 18*alpha^2 + 9*alpha - 3 sage: S(S.gen()+1) alpha + 1 sage: S(S.gen()**10+1) 90*alpha^2 - 109*alpha + 28
other) |
Compare self and other.
sage: Rx = PolynomialRing(RationalField(), 'x'); x = Rx.gen() sage: Ry = PolynomialRing(RationalField(), 'y'); y = Ry.gen() sage: Rx == Ry False sage: Qx = Rx.quotient(x**2+1) sage: Qy = Ry.quotient(y**2+1) sage: Qx == Qy False sage: Qx == Qx True sage: Qz = Rx.quotient(x**2+1) sage: Qz == Qx True