Documentation

Mathlib.LinearAlgebra.Finsupp.Supported

Finsupps supported on a given submodule #

Tags #

function with finite support, module, linear algebra

def Finsupp.supported {α : Type u_1} (M : Type u_2) (R : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) :
Submodule R (α →₀ M)

Finsupp.supported M R s is the R-submodule of all p : α →₀ M such that p.support ⊆ s.

Equations
Instances For
    theorem Finsupp.mem_supported {α : Type u_1} {M : Type u_2} (R : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] {s : Set α} (p : α →₀ M) :
    p Finsupp.supported M R s p.support s
    theorem Finsupp.mem_supported' {α : Type u_1} {M : Type u_2} (R : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] {s : Set α} (p : α →₀ M) :
    p Finsupp.supported M R s xs, p x = 0
    theorem Finsupp.mem_supported_support {α : Type u_1} {M : Type u_2} (R : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] (p : α →₀ M) :
    p Finsupp.supported M R p.support
    theorem Finsupp.single_mem_supported {α : Type u_1} {M : Type u_2} (R : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] {s : Set α} {a : α} (b : M) (h : a s) :
    theorem Finsupp.supported_eq_span_single {α : Type u_1} (R : Type u_5) [Semiring R] (s : Set α) :
    Finsupp.supported R R s = Submodule.span R ((fun (i : α) => Finsupp.single i 1) '' s)
    def Finsupp.restrictDom {α : Type u_1} (M : Type u_2) (R : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) [DecidablePred fun (x : α) => x s] :
    (α →₀ M) →ₗ[R] (Finsupp.supported M R s)

    Interpret Finsupp.filter s as a linear map from α →₀ M to supported M R s.

    Equations
    Instances For
      @[simp]
      theorem Finsupp.restrictDom_apply {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) (l : α →₀ M) [DecidablePred fun (x : α) => x s] :
      ((Finsupp.restrictDom M R s) l) = Finsupp.filter (fun (x : α) => x s) l
      theorem Finsupp.restrictDom_comp_subtype {α : Type u_1} {M : Type u_2} {R : Type u_5} [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_5} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) [DecidablePred fun (x : α) => x s] :
      theorem Finsupp.supported_mono {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] {s t : Set α} (st : s t) :
      @[simp]
      theorem Finsupp.supported_empty {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] :
      @[simp]
      theorem Finsupp.supported_univ {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] :
      theorem Finsupp.supported_iUnion {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] {δ : Type u_7} (s : δSet α) :
      Finsupp.supported M R (⋃ (i : δ), s i) = ⨆ (i : δ), Finsupp.supported M R (s i)
      theorem Finsupp.supported_union {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (s t : Set α) :
      theorem Finsupp.supported_iInter {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] {ι : Type u_7} (s : ιSet α) :
      Finsupp.supported M R (⋂ (i : ι), s i) = ⨅ (i : ι), Finsupp.supported M R (s i)
      theorem Finsupp.supported_inter {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (s t : Set α) :
      theorem Finsupp.disjoint_supported_supported {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] {s t : Set α} (h : Disjoint s t) :
      theorem Finsupp.disjoint_supported_supported_iff {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] [Nontrivial M] {s t : Set α} :
      def Finsupp.supportedEquivFinsupp {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) :
      (Finsupp.supported M R s) ≃ₗ[R] s →₀ M

      Interpret Finsupp.restrictSupportEquiv as a linear equivalence between supported M R s and s →₀ M.

      Equations
      Instances For
        @[simp]
        theorem Finsupp.supportedEquivFinsupp_apply_toFun {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) (a✝ : (Finsupp.supported M R s)) (a✝¹ : { x : α // x s }) :
        ((Finsupp.supportedEquivFinsupp s) a✝) a✝¹ = a✝ a✝¹
        @[simp]
        theorem Finsupp.supportedEquivFinsupp_symm_apply_coe_toFun {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) (a✝ : s →₀ M) (a : α) :
        ((Finsupp.supportedEquivFinsupp s).symm a✝) a = if h : a s then a✝ a, h else 0
        @[simp]
        theorem Finsupp.supportedEquivFinsupp_symm_apply_coe_support_val {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) (a✝ : s →₀ M) :
        (↑((Finsupp.supportedEquivFinsupp s).symm a✝)).support.val = Multiset.map Subtype.val a✝.support.val
        @[simp]
        theorem Finsupp.supportedEquivFinsupp_apply_support_val {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) (a✝ : (Finsupp.supported M R s)) :
        ((Finsupp.supportedEquivFinsupp s) a✝).support.val = Multiset.map (fun (x : { x : α // x Finset.filter (fun (x : α) => x s) (↑a✝).support }) => x, ) (Multiset.filter (fun (x : α) => x s) (↑a✝).support.val).attach
        @[simp]
        theorem Finsupp.supportedEquivFinsupp_symm_apply_coe {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] (s : Set α) [DecidablePred fun (x : α) => x s] (f : s →₀ M) :
        ((Finsupp.supportedEquivFinsupp s).symm f) = f.extendDomain
        theorem Finsupp.supported_comap_lmapDomain {α : Type u_1} (M : Type u_2) (R : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] {α' : Type u_7} (f : αα') (s : Set α') :
        theorem Finsupp.lmapDomain_supported {α : Type u_1} (M : Type u_2) (R : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] {α' : Type u_7} (f : αα') (s : Set α) :
        theorem Finsupp.lmapDomain_disjoint_ker {α : Type u_1} (M : Type u_2) (R : Type u_5) [Semiring R] [AddCommMonoid M] [Module R M] {α' : Type u_7} (f : αα') {s : Set α} (H : as, bs, f a = f ba = b) :
        noncomputable def Finsupp.congr {α : Type u_1} {M : Type u_2} {R : Type u_5} [Semiring R] [AddCommMonoid M] [Module R M] {α' : Type u_7} (s : Set α) (t : Set α') (e : s t) :

        An equivalence of sets induces a linear equivalence of Finsupps supported on those sets.

        Equations
        Instances For