Fraction Field of Integral Domains¶
AUTHORS:
- William Stein (with input from David Joyner, David Kohel, and Joe Wetherell)
- Burcin Erocal
EXAMPLES:
Quotienting is a constructor for an element of the fraction field:
sage: R.<x> = QQ[]
sage: (x^2-1)/(x+1)
x - 1
sage: parent((x^2-1)/(x+1))
Fraction Field of Univariate Polynomial Ring in x over Rational Field
The GCD is not taken (since it doesn’t converge sometimes) in the inexact case:
sage: Z.<z> = CC[]
sage: I = CC.gen()
sage: (1+I+z)/(z+0.1*I)
(z + 1.00000000000000 + I)/(z + 0.100000000000000*I)
sage: (1+I*z)/(z+1.1)
(I*z + 1.00000000000000)/(z + 1.10000000000000)
TESTS:
sage: F = FractionField(IntegerRing())
sage: F == loads(dumps(F))
True
sage: F = FractionField(PolynomialRing(RationalField(),'x'))
sage: F == loads(dumps(F))
True
sage: F = FractionField(PolynomialRing(IntegerRing(),'x'))
sage: F == loads(dumps(F))
True
sage: F = FractionField(PolynomialRing(RationalField(),2,'x'))
sage: F == loads(dumps(F))
True
-
sage.rings.fraction_field.
FractionField
(R, names=None)¶ Create the fraction field of the integral domain
R
.INPUT:
R
– an integral domainnames
– ignored
EXAMPLES:
We create some example fraction fields:
sage: FractionField(IntegerRing()) Rational Field sage: FractionField(PolynomialRing(RationalField(),'x')) Fraction Field of Univariate Polynomial Ring in x over Rational Field sage: FractionField(PolynomialRing(IntegerRing(),'x')) Fraction Field of Univariate Polynomial Ring in x over Integer Ring sage: FractionField(PolynomialRing(RationalField(),2,'x')) Fraction Field of Multivariate Polynomial Ring in x0, x1 over Rational Field
Dividing elements often implicitly creates elements of the fraction field:
sage: x = PolynomialRing(RationalField(), 'x').gen() sage: f = x/(x+1) sage: g = x**3/(x+1) sage: f/g 1/x^2 sage: g/f x^2
The input must be an integral domain:
sage: Frac(Integers(4)) Traceback (most recent call last): ... TypeError: R must be an integral domain.
-
class
sage.rings.fraction_field.
FractionField_1poly_field
(R, element_class=<class 'sage.rings.fraction_field_element.FractionFieldElement_1poly_field'>)¶ Bases:
sage.rings.fraction_field.FractionField_generic
The fraction field of a univariate polynomial ring over a field.
Many of the functions here are included for coherence with number fields.
-
class_number
()¶ Here for compatibility with number fields and function fields.
EXAMPLES:
sage: R.<t> = GF(5)[]; K = R.fraction_field() sage: K.class_number() 1
-
maximal_order
()¶ Returns the maximal order in this fraction field.
EXAMPLES:
sage: K = FractionField(GF(5)['t']) sage: K.maximal_order() Univariate Polynomial Ring in t over Finite Field of size 5
-
ring_of_integers
()¶ Returns the ring of integers in this fraction field.
EXAMPLES:
sage: K = FractionField(GF(5)['t']) sage: K.ring_of_integers() Univariate Polynomial Ring in t over Finite Field of size 5
-
-
class
sage.rings.fraction_field.
FractionField_generic
(R, element_class=<type 'sage.rings.fraction_field_element.FractionFieldElement'>, category=Category of quotient fields)¶ Bases:
sage.rings.ring.Field
The fraction field of an integral domain.
-
base_ring
()¶ Return the base ring of
self
; this is the base ring of the ring which this fraction field is the fraction field of.EXAMPLES:
sage: R = Frac(ZZ['t']) sage: R.base_ring() Integer Ring
-
characteristic
()¶ Return the characteristic of this fraction field.
EXAMPLES:
sage: R = Frac(ZZ['t']) sage: R.base_ring() Integer Ring sage: R = Frac(ZZ['t']); R.characteristic() 0 sage: R = Frac(GF(5)['w']); R.characteristic() 5
-
construction
()¶ EXAMPLES:
sage: Frac(ZZ['x']).construction() (FractionField, Univariate Polynomial Ring in x over Integer Ring) sage: K = Frac(GF(3)['t']) sage: f, R = K.construction() sage: f(R) Fraction Field of Univariate Polynomial Ring in t over Finite Field of size 3 sage: f(R) == K True
-
gen
(i=0)¶ Return the
i
-th generator ofself
.EXAMPLES:
sage: R = Frac(PolynomialRing(QQ,'z',10)); R Fraction Field of Multivariate Polynomial Ring in z0, z1, z2, z3, z4, z5, z6, z7, z8, z9 over Rational Field sage: R.0 z0 sage: R.gen(3) z3 sage: R.3 z3
-
is_exact
()¶ Return if
self
is exact which is if the underlying ring is exact.EXAMPLES:
sage: Frac(ZZ['x']).is_exact() True sage: Frac(CDF['x']).is_exact() False
-
is_field
(proof=True)¶ Return
True
, since the fraction field is a field.EXAMPLES:
sage: Frac(ZZ).is_field() True
-
is_finite
()¶ Tells whether this fraction field is finite.
Note
A fraction field is finite if and only if the associated integral domain is finite.
EXAMPLE:
sage: Frac(QQ['a','b','c']).is_finite() False
-
ngens
()¶ This is the same as for the parent object.
EXAMPLES:
sage: R = Frac(PolynomialRing(QQ,'z',10)); R Fraction Field of Multivariate Polynomial Ring in z0, z1, z2, z3, z4, z5, z6, z7, z8, z9 over Rational Field sage: R.ngens() 10
-
random_element
(*args, **kwds)¶ Returns a random element in this fraction field.
The arguments are passed to the random generator of the underlying ring.
EXAMPLES:
sage: F = ZZ['x'].fraction_field() sage: F.random_element() # random (2*x - 8)/(-x^2 + x)
sage: f = F.random_element(degree=5) sage: f.numerator().degree() 5 sage: f.denominator().degree() 5
-
ring
()¶ Return the ring that this is the fraction field of.
EXAMPLES:
sage: R = Frac(QQ['x,y']) sage: R Fraction Field of Multivariate Polynomial Ring in x, y over Rational Field sage: R.ring() Multivariate Polynomial Ring in x, y over Rational Field
-
-
sage.rings.fraction_field.
is_FractionField
(x)¶ Test whether or not
x
inherits fromFractionField_generic
.EXAMPLES:
sage: from sage.rings.fraction_field import is_FractionField sage: is_FractionField(Frac(ZZ['x'])) True sage: is_FractionField(QQ) False