def _coerce_map_from_(self, R): r""" Return a coerce map from ``R`` to this field. EXAMPLES:: sage: R.<t> = GF(5)[] sage: K = R.fraction_field() sage: L = K.function_field() sage: f = K.coerce_map_from(L); f # indirect doctest Isomorphism: From: Rational function field in t over Finite Field of size 5 To: Fraction Field of Univariate Polynomial Ring in t over Finite Field of size 5 sage: f(~L.gen()) 1/t """ from sage.rings.function_field.function_field import is_RationalFunctionField if is_RationalFunctionField(R) and self.variable_name( ) == R.variable_name() and self.base_ring() is R.constant_base_field(): from sage.categories.all import Hom parent = Hom(R, self) from sage.rings.function_field.maps import FunctionFieldToFractionField return parent.__make_element_class__(FunctionFieldToFractionField)( parent) return super(FractionField_1poly_field, self)._coerce_map_from_(R)
def _coerce_map_from_(self, R): r""" Return a coerce map from ``R`` to this field. EXAMPLES:: sage: R.<t> = GF(5)[] sage: K = R.fraction_field() sage: L = K.function_field() sage: f = K.coerce_map_from(L); f # indirect doctest Isomorphism: From: Rational function field in t over Finite Field of size 5 To: Fraction Field of Univariate Polynomial Ring in t over Finite Field of size 5 sage: f(~L.gen()) 1/t """ from sage.rings.function_field.function_field import is_RationalFunctionField if is_RationalFunctionField(R) and self.variable_name() == R.variable_name() and self.base_ring() is R.constant_base_field(): from sage.categories.all import Hom parent = Hom(R, self) from sage.rings.function_field.maps import FunctionFieldToFractionField return parent.__make_element_class__(FunctionFieldToFractionField)(parent) return super(FractionField_1poly_field, self)._coerce_map_from_(R)
def section(self): r""" Return a section of this map. EXAMPLES:: sage: R.<x> = QQ[] sage: R.fraction_field().coerce_map_from(R).section() Section map: From: Fraction Field of Univariate Polynomial Ring in x over Rational Field To: Univariate Polynomial Ring in x over Rational Field """ from sage.categories.sets_with_partial_maps import SetsWithPartialMaps from sage.all import Hom parent = Hom(self.codomain(), self.domain(), SetsWithPartialMaps()) return parent.__make_element_class__(FractionFieldEmbeddingSection)(self)