Units of Laurent polynomials #
A constant Laurent polynomial C r is a unit exactly when its coefficient r is a unit. The map
C is Mathlib's AddMonoidAlgebra.singleZeroRingHom, which is a local ring homomorphism. This is
the Laurent counterpart of Mathlib's Polynomial.isUnit_C.
Over a commutative ring without zero divisors, every unit of R[T;T⁻¹] is a unit monomial
C r * T n. This is the Laurent counterpart of Mathlib's Polynomial.isUnit_iff, where only
the constants survive. Over ℤ it says that the units of ℤ[T;T⁻¹] are exactly ±Tⁿ, which is
the form taken by a unimodular determinant over the Laurent ring.
Main results #
LaurentPolynomial.isUnit_C:C ris a unit if and only ifris.LaurentPolynomial.isUnit_iff: over a commutative ring without zero divisors, the units ofR[T;T⁻¹]are the monomialsC r * T nwithra unit.LaurentPolynomial.isUnit_iff_exists_eq_T_or_neg_T: the units ofℤ[T;T⁻¹]are the±Tⁿ.TauCeti.shiftClassGroupLaurentPolynomialEquiv: forR[T;T⁻¹]graded withTof degreew, the shift class groupTauCeti.ShiftClassGroupof homogeneous unit degrees isZMod |w|.
Units of a Laurent polynomial ring. Over a commutative ring without zero divisors, a
Laurent polynomial is a unit exactly when it is a unit monomial C r * T n.
For the Laurent ring R[T;T⁻¹] over a nontrivial commutative semiring, graded with T of
degree w, the degrees of the homogeneous units are the multiples of w (by
homogeneousUnitDegrees_gradeBy), so the shift class group is ZMod |w|. This is the graded ring
of 𝔾_m acting on itself by s • x = s ^ w * x.
Instances For
The identification of the shift classes of R[T;T⁻¹] with ZMod |w| sends the class of a
shift d to d mod |w|.