The field structure of rational functions #
Main definitions #
Working with rational functions as polynomials:
RatFunc.instFieldprovides a field structure You can useIsFractionRingAPI to treatRatFuncas the field of fractions of polynomials:
algebraMap K[X] K⟮X⟯maps polynomials to rational functionsIsFractionRing.algEquivmaps other fields of fractions ofK[X]toK⟮X⟯.
In particular:
FractionRing.algEquiv K[X] K⟮X⟯maps the generic field of fraction construction toK⟮X⟯. Combine this withAlgEquiv.restrictScalarsto change theFractionRing K[X] ≃ₐ[K[X]] K⟮X⟯toFractionRing K[X] ≃ₐ[K] K⟮X⟯.
Working with rational functions as fractions:
RatFunc.numandRatFunc.denomgive the numerator and denominator. These values are chosen to be coprime and such thatRatFunc.denomis monic.
Lifting homomorphisms of polynomials to other types, by mapping and dividing, as long as the homomorphism retains the non-zero-divisor property:
RatFunc.liftMonoidWithZeroHomlifts aK[X] →*₀ G₀to aK⟮X⟯ →*₀ G₀, where[CommRing K] [CommGroupWithZero G₀]RatFunc.liftRingHomlifts aK[X] →+* Lto aK⟮X⟯ →+* L, where[CommRing K] [Field L]RatFunc.liftAlgHomlifts aK[X] →ₐ[S] Lto aK⟮X⟯ →ₐ[S] L, where[CommRing K] [Field L] [CommSemiring S] [Algebra S K[X]] [Algebra S L]This is satisfied by injective homs.
We also have lifting homomorphisms of polynomials to other polynomials, with the same condition on retaining the non-zero-divisor property across the map:
RatFunc.mapliftsK[X] →* R[X]when[CommRing K] [CommRing R]RatFunc.mapRingHomliftsK[X] →+* R[X]when[CommRing K] [CommRing R]RatFunc.mapAlgHomliftsK[X] →ₐ[S] R[X]when[CommRing K] [IsDomain K] [CommRing R] [IsDomain R]
The zero rational function.
Instances For
Addition of rational functions.
Instances For
Subtraction of rational functions.
Instances For
Additive inverse of a rational function.
Instances For
The multiplicative unit of rational functions.
Instances For
Multiplication of rational functions.
Instances For
Division of rational functions.
Instances For
Multiplicative inverse of a rational function.
Instances For
Scalar multiplication of rational functions.
Instances For
K⟮X⟯ is isomorphic to the field of fractions of K[X], as rings.
This is an auxiliary definition; simp-normal form is IsLocalization.algEquiv.
Instances For
Solve equations for K⟮X⟯ by working in FractionRing K[X].
Instances For
Solve equations for K⟮X⟯ by applying RatFunc.induction_on.
Instances For
K⟮X⟯ is a commutative monoid.
This is an intermediate step on the way to the full instance RatFunc.instCommRing.
Instances For
K⟮X⟯ is an additive commutative group.
This is an intermediate step on the way to the full instance RatFunc.instCommRing.
Instances For
Lift a monoid homomorphism that maps polynomials φ : R[X] →* S[X]
to a R⟮X⟯ →* S⟮X⟯,
on the condition that φ maps non-zero-divisors to non-zero-divisors,
by mapping both the numerator and denominator and quotienting them.
Instances For
Lift a ring homomorphism that maps polynomials φ : R[X] →+* S[X]
to a R⟮X⟯ →+* S⟮X⟯,
on the condition that φ maps non-zero-divisors to non-zero-divisors,
by mapping both the numerator and denominator and quotienting them.
Instances For
Lift a monoid with zero homomorphism R[X] →*₀ G₀ to a R⟮X⟯ →*₀ G₀
on the condition that φ maps non-zero-divisors to non-zero-divisors,
by mapping both the numerator and denominator and quotienting them.
Instances For
Lift an injective ring homomorphism R[X] →+* L to a R⟮X⟯ →+* L
by mapping both the numerator and denominator and quotienting them.
Instances For
RatFunc as field of fractions of Polynomial #
The coercion from polynomials to rational functions, implemented as the algebra map from a domain to its field of fractions
Instances For
The equivalence between K⟮X⟯ and the field of fractions of K[X]
Instances For
Lift an algebra homomorphism that maps polynomials φ : K[X] →ₐ[S] R[X]
to a K⟮X⟯ →ₐ[S] R⟮X⟯,
on the condition that φ maps non-zero-divisors to non-zero-divisors,
by mapping both the numerator and denominator and quotienting them.
Instances For
Lift an injective algebra homomorphism K[X] →ₐ[S] L to a K⟮X⟯ →ₐ[S] L
by mapping both the numerator and denominator and quotienting them.
Instances For
K⟮X⟯ is the field of fractions of the polynomials over K.
Induction principle for K⟮X⟯: if f p q : P (p / q) for all p q : K[X],
then P holds on all elements of K⟮X⟯.
See also induction_on', which is a recursion principle defined in terms of RatFunc.mk.
FractionRing.liftAlgebra specialized to R⟮X⟯.
This is a scoped instance because it creates a diamond when L = R⟮X⟯.
Instances For
FractionRing.isScalarTower_liftAlgebra specialized to R⟮X⟯.
FractionRing.instFaithfulSMul specialized to R⟮X⟯.
Let A⟮X⟯ / A[X] / R / R₀ be a tower. If A[X] / R / R₀ is a scalar tower
then so is A⟮X⟯ / R / R₀.
Let K / A⟮X⟯ / A[X] / R be a tower. If K / A[X] / R is a scalar tower
then so is K / A⟮X⟯ / R.
Let K / k / A⟮X⟯ / A[X] be a tower. If K / k / A[X] is a scalar tower
then so is K / k / A⟮X⟯.
Numerator and denominator #
RatFunc.numDenom are numerator and denominator of a rational function over a field,
normalized such that the denominator is monic.
Instances For
RatFunc.num is the numerator of a rational function,
normalized such that the denominator is monic.
Instances For
A version of num_div_dvd with the LHS in simp normal form
RatFunc.denom is the denominator of a rational function,
normalized such that it is monic.