Polynomials over finite fields #
A polynomial over the integers is divisible by n : ℕ
if and only if it is zero over ZMod n.
theorem MvPolynomial.frobenius_zmod {σ : Type u_1} {p : ℕ} [Fact (Nat.Prime p)] (f : MvPolynomial σ (ZMod p)) :
noncomputable def MvPolynomial.indicator {K : Type u_1} {σ : Type u_2} [Fintype K] [Fintype σ] [CommRing K] (a : σ → K) :
MvPolynomial σ K
Over a field, this is the indicator function as an MvPolynomial.
Equations
- MvPolynomial.indicator a = ∏ n : σ, (1 - (MvPolynomial.X n - MvPolynomial.C (a n)) ^ (Fintype.card K - 1))
Instances For
MvPolynomial.eval as a K-linear map.
Equations
- MvPolynomial.evalₗ K σ = { toFun := fun (p : MvPolynomial σ K) (e : σ → K) => (MvPolynomial.eval e) p, map_add' := ⋯, map_smul' := ⋯ }
Instances For
@[simp]
theorem MvPolynomial.evalₗ_apply (K : Type u_1) (σ : Type u_2) [CommSemiring K] (p : MvPolynomial σ K) (e : σ → K) :
The submodule of multivariate polynomials whose degree of each variable is strictly less than the cardinality of K.
Equations
- MvPolynomial.R σ K = ↥(MvPolynomial.restrictDegree σ K (Fintype.card K - 1))
Instances For
@[instance_reducible]
noncomputable instance MvPolynomial.instAddCommGroupR (σ K : Type u) [Fintype K] [CommRing K] :
AddCommGroup (R σ K)
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
Equations
- MvPolynomial.instModuleR σ K = { smul := MvPolynomial.instModuleR._aux_1 σ K, mul_smul := ⋯, one_smul := ⋯, smul_zero := ⋯, smul_add := ⋯, add_smul := ⋯, zero_smul := ⋯ }
@[instance_reducible]
Equations
- MvPolynomial.instInhabitedR σ K = { default := MvPolynomial.instInhabitedR._aux_1 σ K }
Evaluation in the MvPolynomial.R subtype.
Equations
- MvPolynomial.evalᵢ σ K = MvPolynomial.evalₗ K σ ∘ₗ (MvPolynomial.restrictDegree σ K (Fintype.card K - 1)).subtype
Instances For
@[instance_reducible]
Equations
instance MvPolynomial.instFiniteDimensionalROfFinite (σ K : Type u) [Fintype K] [Field K] [Finite σ] :
FiniteDimensional K (R σ K)
theorem MvPolynomial.eq_zero_of_eval_eq_zero (σ K : Type u) [Fintype K] [Field K] [Finite σ] (p : MvPolynomial σ K) (h : ∀ (v : σ → K), (eval v) p = 0) (hp : p ∈ restrictDegree σ K (Fintype.card K - 1)) :