Absolute value on polynomials over a finite field. #
Let 𝔽_q be a finite field of cardinality q, then the map sending a polynomial p
to q ^ degree p (where q ^ degree 0 = 0) is an absolute value.
Main definitions #
Polynomial.cardPowDegreeis an absolute value on𝔽_q[t], the ring of polynomials over a finite field of cardinalityq, mapping a polynomialptoq ^ degree p(whereq ^ degree 0 = 0)
Main results #
Polynomial.cardPowDegree_isEuclidean:cardPowDegreerespects the Euclidean domain structure on the ring of polynomials
noncomputable def
Polynomial.cardPowDegree
{Fq : Type u_1}
[Field Fq]
[Fintype Fq]
:
AbsoluteValue (Polynomial Fq) ℤ
cardPowDegree is the absolute value on 𝔽_q[t] sending f to q ^ degree f.
cardPowDegree 0 is defined to be 0.
Equations
- Polynomial.cardPowDegree = { toFun := fun (p : Polynomial Fq) => if p = 0 then 0 else ↑(Fintype.card Fq) ^ p.natDegree, map_mul' := ⋯, nonneg' := ⋯, eq_zero' := ⋯, add_le' := ⋯ }
Instances For
theorem
Polynomial.cardPowDegree_apply
{Fq : Type u_1}
[Field Fq]
[Fintype Fq]
[DecidableEq Fq]
(p : Polynomial Fq)
:
@[simp]
@[simp]
theorem
Polynomial.cardPowDegree_nonzero
{Fq : Type u_1}
[Field Fq]
[Fintype Fq]
(p : Polynomial Fq)
(hp : p ≠ 0)
: