Group actions on DFinsupp #
Main results #
DFinsupp.module: pointwise scalar multiplication onDFinsuppgives a module structure
@[instance_reducible]
instance DFinsupp.instSMulZeroClass {ι : Type u} {γ : Type w} {β : ι → Type v} [(i : ι) → Zero (β i)] [(i : ι) → SMulZeroClass γ (β i)] :
SMulZeroClass γ (Π₀ (i : ι), β i)
Dependent functions with finite support inherit a semiring action from an action on each coordinate.
Equations
- DFinsupp.instSMulZeroClass = { smul := fun (c : γ) (v : Π₀ (i : ι), β i) => DFinsupp.mapRange (fun (x : ι) (x_1 : β x) => c • x_1) ⋯ v, smul_zero := ⋯ }
instance DFinsupp.smulCommClass {ι : Type u} {γ : Type w} {β : ι → Type v} {δ : Type u_1} [(i : ι) → Zero (β i)] [(i : ι) → SMulZeroClass γ (β i)] [(i : ι) → SMulZeroClass δ (β i)] [∀ (i : ι), SMulCommClass γ δ (β i)] :
SMulCommClass γ δ (Π₀ (i : ι), β i)
instance DFinsupp.isScalarTower {ι : Type u} {γ : Type w} {β : ι → Type v} {δ : Type u_1} [(i : ι) → Zero (β i)] [(i : ι) → SMulZeroClass γ (β i)] [(i : ι) → SMulZeroClass δ (β i)] [SMul γ δ] [∀ (i : ι), IsScalarTower γ δ (β i)] :
IsScalarTower γ δ (Π₀ (i : ι), β i)
instance DFinsupp.isCentralScalar {ι : Type u} {γ : Type w} {β : ι → Type v} [(i : ι) → Zero (β i)] [(i : ι) → SMulZeroClass γ (β i)] [(i : ι) → SMulZeroClass γᵐᵒᵖ (β i)] [∀ (i : ι), IsCentralScalar γ (β i)] :
IsCentralScalar γ (Π₀ (i : ι), β i)
@[instance_reducible]
instance DFinsupp.distribMulAction {ι : Type u} {γ : Type w} {β : ι → Type v} [Monoid γ] [(i : ι) → AddMonoid (β i)] [(i : ι) → DistribMulAction γ (β i)] :
DistribMulAction γ (Π₀ (i : ι), β i)
Dependent functions with finite support inherit a DistribMulAction structure from such a
structure on each coordinate.
@[instance_reducible]
instance DFinsupp.module {ι : Type u} {γ : Type w} {β : ι → Type v} [Semiring γ] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Module γ (β i)] :
Dependent functions with finite support inherit a module structure from such a structure on each coordinate.
Equations
- DFinsupp.module = { toDistribMulAction := inferInstance, add_smul := ⋯, zero_smul := ⋯ }
def DFinsupp.coeFnLinearMap {ι : Type u} (γ : Type w) {β : ι → Type v} [Semiring γ] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Module γ (β i)] :
Coercion from a DFinsupp to a pi type is a LinearMap.
Equations
- DFinsupp.coeFnLinearMap γ = { toFun := DFunLike.coe, map_add' := ⋯, map_smul' := ⋯ }
Instances For
@[simp]
theorem DFinsupp.coeFnLinearMap_apply {ι : Type u} {γ : Type w} {β : ι → Type v} [Semiring γ] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Module γ (β i)] (v : Π₀ (i : ι), β i) :
def DFinsupp.filterLinearMap {ι : Type u} (γ : Type w) (β : ι → Type v) [Semiring γ] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Module γ (β i)] (p : ι → Prop) [DecidablePred p] :
DFinsupp.filter as a LinearMap.
Equations
- DFinsupp.filterLinearMap γ β p = { toFun := DFinsupp.filter p, map_add' := ⋯, map_smul' := ⋯ }
Instances For
@[simp]
theorem DFinsupp.filterLinearMap_apply {ι : Type u} (γ : Type w) (β : ι → Type v) [Semiring γ] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Module γ (β i)] (p : ι → Prop) [DecidablePred p] (x : Π₀ (i : ι), β i) :
@[simp]
theorem DFinsupp.subtypeDomain_smul {ι : Type u} {γ : Type w} {β : ι → Type v} [(i : ι) → Zero (β i)] [(i : ι) → SMulZeroClass γ (β i)] {p : ι → Prop} [DecidablePred p] (r : γ) (f : Π₀ (i : ι), β i) :
def DFinsupp.subtypeDomainLinearMap {ι : Type u} (γ : Type w) (β : ι → Type v) [Semiring γ] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Module γ (β i)] (p : ι → Prop) [DecidablePred p] :
DFinsupp.subtypeDomain as a LinearMap.
Equations
- DFinsupp.subtypeDomainLinearMap γ β p = { toFun := DFinsupp.subtypeDomain p, map_add' := ⋯, map_smul' := ⋯ }
Instances For
@[simp]
theorem DFinsupp.subtypeDomainLinearMap_apply {ι : Type u} (γ : Type w) (β : ι → Type v) [Semiring γ] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Module γ (β i)] (p : ι → Prop) [DecidablePred p] (x : Π₀ (i : ι), β i) :
@[simp]
theorem DFinsupp.mk_smul {ι : Type u} {γ : Type w} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → SMulZeroClass γ (β i)] {s : Finset ι} (c : γ) (x : (i : ↑↑s) → β ↑i) :
@[simp]
theorem DFinsupp.single_smul {ι : Type u} {γ : Type w} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → SMulZeroClass γ (β i)] {i : ι} (c : γ) (x : β i) :
theorem DFinsupp.support_smul {ι : Type u} {β : ι → Type v} [DecidableEq ι] {γ : Type w} [(i : ι) → Zero (β i)] [(i : ι) → SMulZeroClass γ (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (b : γ) (v : Π₀ (i : ι), β i) :
@[simp]
theorem DFinsupp.comapDomain_smul {ι : Type u} {γ : Type w} {β : ι → Type v} {κ : Type u_1} [(i : ι) → Zero (β i)] [(i : ι) → SMulZeroClass γ (β i)] (h : κ → ι) (hh : Function.Injective h) (r : γ) (f : Π₀ (i : ι), β i) :
@[simp]
theorem DFinsupp.comapDomain'_smul {ι : Type u} {γ : Type w} {β : ι → Type v} {κ : Type u_1} [(i : ι) → Zero (β i)] [(i : ι) → SMulZeroClass γ (β i)] (h : κ → ι) {h' : ι → κ} (hh' : Function.LeftInverse h' h) (r : γ) (f : Π₀ (i : ι), β i) :
@[instance_reducible]
instance DFinsupp.distribMulAction₂ {ι : Type u} {γ : Type w} {α : ι → Type u_2} {δ : (i : ι) → α i → Type v} [Monoid γ] [(i : ι) → (j : α i) → AddMonoid (δ i j)] [(i : ι) → (j : α i) → DistribMulAction γ (δ i j)] :
DistribMulAction γ (Π₀ (i : ι) (j : α i), δ i j)