Finsupps supported on a given submodule #
Finsupp.restrictDom:Finsupp.filteras a linear map toFinsupp.supported s;Finsupp.supported R R sand codomainSubmodule.span R (v '' s);Finsupp.supportedEquivFinsupp: a linear equivalence between the functionsα →₀ Msupported onsand the functionss →₀ M;Finsupp.domLCongr: aLinearEquivversion ofFinsupp.domCongr;Finsupp.congr: if the setssandtare equivalent, thensupported M R sis equivalent tosupported M R t;
Tags #
function with finite support, module, linear algebra
def Finsupp.supported {α : Type u_1} (M : Type u_2) (R : Type u_3) [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) :
Finsupp.supported M R s is the R-submodule of all p : α →₀ M such that p.support ⊆ s.
Equations
Instances For
theorem Finsupp.single_mem_span_single {α : Type u_1} (R : Type u_3) [Semiring R] [Nontrivial R] {a : α} {s : Set α} :
theorem Finsupp.span_le_supported_biUnion_support {α : Type u_1} {M : Type u_2} (R : Type u_3) [Semiring R] [AddCommMonoid M] [Module R M] (s : Set (α →₀ M)) :
noncomputable def Finsupp.restrictDom {α : Type u_1} (M : Type u_2) (R : Type u_3) [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) [DecidablePred fun (x : α) => x ∈ s] :
Interpret Finsupp.filter s as a linear map from α →₀ M to supported M R s.
Equations
- Finsupp.restrictDom M R s = LinearMap.codRestrict (Finsupp.supported M R s) { toFun := Finsupp.filter fun (x : α) => x ∈ s, map_add' := ⋯, map_smul' := ⋯ } ⋯
Instances For
@[simp]
theorem Finsupp.restrictDom_apply {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) (l : α →₀ M) [DecidablePred fun (x : α) => x ∈ s] :
theorem Finsupp.restrictDom_comp_subtype {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) [DecidablePred fun (x : α) => x ∈ s] :
theorem Finsupp.range_restrictDom {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) [DecidablePred fun (x : α) => x ∈ s] :
theorem Finsupp.disjoint_supported_supported_iff {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] [Nontrivial M] {s t : Set α} :
theorem Finsupp.codisjoint_supported_supported {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] {s t : Set α} (h : Codisjoint s t) :
Codisjoint (supported M R s) (supported M R t)
theorem Finsupp.codisjoint_supported_supported_iff {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] [Nontrivial M] {s t : Set α} :
noncomputable def Finsupp.supportedEquivFinsupp {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) :
Interpret Finsupp.restrictSupportEquiv as a linear equivalence between
supported M R s and s →₀ M.
Equations
Instances For
@[simp]
theorem Finsupp.supportedEquivFinsupp_apply_support_val {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) (a✝ : ↥(supported M R s)) :
((supportedEquivFinsupp s) a✝).support.val = Multiset.map (fun (x : ↥({x ∈ (↑a✝).support | x ∈ s})) => ⟨↑x, ⋯⟩)
(Multiset.filter (fun (x : α) => x ∈ s) (↑a✝).support.val).attach
@[simp]
theorem Finsupp.supportedEquivFinsupp_symm_apply_coe_support_val {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) (a✝ : ↑s →₀ M) :
@[simp]
theorem Finsupp.supportedEquivFinsupp_symm_apply_coe {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) [DecidablePred fun (x : α) => x ∈ s] (f : ↑s →₀ M) :
@[simp]
theorem Finsupp.supportedEquivFinsupp_symm_single {α : Type u_1} {M : Type u_2} {R : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) (i : ↑s) (a : M) :
theorem Finsupp.supported_comap_lmapDomain {α : Type u_1} (M : Type u_2) (R : Type u_3) [Semiring R] [AddCommMonoid M] [Module R M] {α' : Type u_4} (f : α → α') (s : Set α') :
theorem Finsupp.lmapDomain_supported {α : Type u_1} (M : Type u_2) (R : Type u_3) [Semiring R] [AddCommMonoid M] [Module R M] {α' : Type u_4} (f : α → α') (s : Set α) :