Ring homomorphisms from a polynomial ring to another ring¶
This module currently implements the canonical ring homomorphism from \(A[x]\) to \(B[x]\) induced by a ring homomorphism from \(A\) to \(B\).
Todo
Implement homomorphisms from \(A[x]\) to an arbitrary ring \(R\), given by a ring homomorphism from \(A\) to \(R\) and the image of \(x\) in \(R\).
AUTHORS:
Peter Bruin (March 2014): initial version
- class sage.rings.polynomial.polynomial_ring_homomorphism.PolynomialRingHomomorphism_from_base[source]¶
Bases:
RingHomomorphism_from_base
The canonical ring homomorphism from \(R[x]\) to \(S[x]\) induced by a ring homomorphism from \(R\) to \(S\).
EXAMPLES:
sage: QQ['x'].coerce_map_from(ZZ['x']) Ring morphism: From: Univariate Polynomial Ring in x over Integer Ring To: Univariate Polynomial Ring in x over Rational Field Defn: Induced from base ring by Natural morphism: From: Integer Ring To: Rational Field
>>> from sage.all import * >>> QQ['x'].coerce_map_from(ZZ['x']) Ring morphism: From: Univariate Polynomial Ring in x over Integer Ring To: Univariate Polynomial Ring in x over Rational Field Defn: Induced from base ring by Natural morphism: From: Integer Ring To: Rational Field
QQ['x'].coerce_map_from(ZZ['x'])
- is_injective()[source]¶
Return whether this morphism is injective.
EXAMPLES:
sage: R.<x> = ZZ[] sage: S.<x> = QQ[] sage: R.hom(S).is_injective() True
>>> from sage.all import * >>> R = ZZ['x']; (x,) = R._first_ngens(1) >>> S = QQ['x']; (x,) = S._first_ngens(1) >>> R.hom(S).is_injective() True
R.<x> = ZZ[] S.<x> = QQ[] R.hom(S).is_injective()
- is_surjective()[source]¶
Return whether this morphism is surjective.
EXAMPLES:
sage: R.<x> = ZZ[] sage: S.<x> = Zmod(2)[] sage: R.hom(S).is_surjective() True
>>> from sage.all import * >>> R = ZZ['x']; (x,) = R._first_ngens(1) >>> S = Zmod(Integer(2))['x']; (x,) = S._first_ngens(1) >>> R.hom(S).is_surjective() True
R.<x> = ZZ[] S.<x> = Zmod(2)[] R.hom(S).is_surjective()