Documentation

Mathlib.LinearAlgebra.DirectSum.Finsupp

Results on finitely supported functions. #

noncomputable def TensorProduct.finsuppLeft (R : Type u_1) (S : Type u_2) [CommSemiring R] [Semiring S] [Algebra R S] (M : Type u_3) [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] (N : Type u_4) [AddCommMonoid N] [Module R N] (ι : Type u_5) [DecidableEq ι] :

The tensor product of ι →₀ M and N is linearly equivalent to ι →₀ M ⊗[R] N

Equations
    Instances For
      theorem TensorProduct.finsuppLeft_apply_tmul {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (p : ι →₀ M) (n : N) :
      (finsuppLeft R S M N ι) (p ⊗ₜ[R] n) = p.sum fun (i : ι) (m : M) => fun₀ | i => m ⊗ₜ[R] n
      @[simp]
      theorem TensorProduct.finsuppLeft_apply_tmul_apply {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (p : ι →₀ M) (n : N) (i : ι) :
      ((finsuppLeft R S M N ι) (p ⊗ₜ[R] n)) i = p i ⊗ₜ[R] n
      theorem TensorProduct.finsuppLeft_apply {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (t : TensorProduct R (ι →₀ M) N) (i : ι) :
      ((finsuppLeft R S M N ι) t) i = (LinearMap.rTensor N (Finsupp.lapply i)) t
      @[simp]
      theorem TensorProduct.finsuppLeft_symm_apply_single {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (i : ι) (m : M) (n : N) :
      ((finsuppLeft R S M N ι).symm fun₀ | i => m ⊗ₜ[R] n) = (fun₀ | i => m) ⊗ₜ[R] n
      noncomputable def TensorProduct.finsuppRight (R : Type u_1) (S : Type u_2) [CommSemiring R] [Semiring S] [Algebra R S] (M : Type u_3) [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] (N : Type u_4) [AddCommMonoid N] [Module R N] (ι : Type u_5) [DecidableEq ι] :

      The tensor product of M and ι →₀ N is linearly equivalent to ι →₀ M ⊗[R] N

      Equations
        Instances For
          theorem TensorProduct.finsuppRight_apply_tmul {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (m : M) (p : ι →₀ N) :
          (finsuppRight R S M N ι) (m ⊗ₜ[R] p) = p.sum fun (i : ι) (n : N) => fun₀ | i => m ⊗ₜ[R] n
          @[simp]
          theorem TensorProduct.finsuppRight_apply_tmul_apply {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (m : M) (p : ι →₀ N) (i : ι) :
          ((finsuppRight R S M N ι) (m ⊗ₜ[R] p)) i = m ⊗ₜ[R] p i
          theorem TensorProduct.finsuppRight_apply {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (t : TensorProduct R M (ι →₀ N)) (i : ι) :
          ((finsuppRight R S M N ι) t) i = (LinearMap.lTensor M (Finsupp.lapply i)) t
          @[simp]
          theorem TensorProduct.finsuppRight_tmul_single {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (i : ι) (m : M) (n : N) :
          (finsuppRight R S M N ι) (m ⊗ₜ[R] fun₀ | i => n) = fun₀ | i => m ⊗ₜ[R] n
          @[simp]
          theorem TensorProduct.finsuppRight_symm_apply_single {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (i : ι) (m : M) (n : N) :
          ((finsuppRight R S M N ι).symm fun₀ | i => m ⊗ₜ[R] n) = m ⊗ₜ[R] fun₀ | i => n
          theorem TensorProduct.finsuppLeft_smul' {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (s : S) (t : TensorProduct R (ι →₀ M) N) :
          (finsuppLeft R S M N ι) (s t) = s (finsuppLeft R S M N ι) t
          @[deprecated TensorProduct.finsuppLeft (since := "2026-01-01")]
          def TensorProduct.finsuppLeft' (R : Type u_1) (S : Type u_2) [CommSemiring R] [Semiring S] [Algebra R S] (M : Type u_3) [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] (N : Type u_4) [AddCommMonoid N] [Module R N] (ι : Type u_5) [DecidableEq ι] :

          Alias of TensorProduct.finsuppLeft.


          The tensor product of ι →₀ M and N is linearly equivalent to ι →₀ M ⊗[R] N

          Equations
            Instances For
              @[deprecated "is syntactic rfl now" (since := "2026-01-01")]
              theorem TensorProduct.finsuppLeft'_apply {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (x : TensorProduct R (ι →₀ M) N) :
              (finsuppLeft R S M N ι) x = (finsuppLeft R S M N ι) x
              noncomputable def TensorProduct.finsuppScalarLeft (R : Type u_1) [CommSemiring R] (N : Type u_4) [AddCommMonoid N] [Module R N] (ι : Type u_5) [DecidableEq ι] :

              The tensor product of ι →₀ R and N is linearly equivalent to ι →₀ N

              Equations
                Instances For
                  @[simp]
                  theorem TensorProduct.finsuppScalarLeft_apply_tmul_apply {R : Type u_1} [CommSemiring R] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (p : ι →₀ R) (n : N) (i : ι) :
                  ((finsuppScalarLeft R N ι) (p ⊗ₜ[R] n)) i = p i n
                  theorem TensorProduct.finsuppScalarLeft_apply_tmul {R : Type u_1} [CommSemiring R] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (p : ι →₀ R) (n : N) :
                  (finsuppScalarLeft R N ι) (p ⊗ₜ[R] n) = p.sum fun (i : ι) (m : R) => fun₀ | i => m n
                  theorem TensorProduct.finsuppScalarLeft_apply {R : Type u_1} [CommSemiring R] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (pn : TensorProduct R (ι →₀ R) N) (i : ι) :
                  @[simp]
                  theorem TensorProduct.finsuppScalarLeft_symm_apply_single {R : Type u_1} [CommSemiring R] {N : Type u_4} [AddCommMonoid N] [Module R N] {ι : Type u_5} [DecidableEq ι] (i : ι) (n : N) :
                  ((finsuppScalarLeft R N ι).symm fun₀ | i => n) = (fun₀ | i => 1) ⊗ₜ[R] n
                  noncomputable def TensorProduct.finsuppScalarRight (R : Type u_1) (S : Type u_2) [CommSemiring R] [Semiring S] [Algebra R S] (M : Type u_3) [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] (ι : Type u_5) [DecidableEq ι] :

                  The tensor product of M and ι →₀ R is linearly equivalent to ι →₀ M

                  Equations
                    Instances For
                      @[simp]
                      theorem TensorProduct.finsuppScalarRight_apply_tmul_apply {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {ι : Type u_5} [DecidableEq ι] (m : M) (p : ι →₀ R) (i : ι) :
                      ((finsuppScalarRight R S M ι) (m ⊗ₜ[R] p)) i = p i m
                      theorem TensorProduct.finsuppScalarRight_apply_tmul {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {ι : Type u_5} [DecidableEq ι] (m : M) (p : ι →₀ R) :
                      (finsuppScalarRight R S M ι) (m ⊗ₜ[R] p) = p.sum fun (i : ι) (n : R) => fun₀ | i => n m
                      theorem TensorProduct.finsuppScalarRight_apply {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {ι : Type u_5} [DecidableEq ι] (t : TensorProduct R M (ι →₀ R)) (i : ι) :
                      @[simp]
                      theorem TensorProduct.finsuppScalarRight_symm_apply_single {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {ι : Type u_5} [DecidableEq ι] (i : ι) (m : M) :
                      ((finsuppScalarRight R S M ι).symm fun₀ | i => m) = m ⊗ₜ[R] fun₀ | i => 1
                      theorem TensorProduct.finsuppScalarRight_smul {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {ι : Type u_5} [DecidableEq ι] (s : S) (t : TensorProduct R M (ι →₀ R)) :
                      (finsuppScalarRight R S M ι) (s t) = s (finsuppScalarRight R S M ι) t
                      @[deprecated TensorProduct.finsuppScalarRight (since := "2026-01-01")]
                      def TensorProduct.finsuppScalarRight' (R : Type u_1) (S : Type u_2) [CommSemiring R] [Semiring S] [Algebra R S] (M : Type u_3) [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] (ι : Type u_5) [DecidableEq ι] :

                      Alias of TensorProduct.finsuppScalarRight.


                      The tensor product of M and ι →₀ R is linearly equivalent to ι →₀ M

                      Equations
                        Instances For
                          @[deprecated "is syntactic rfl now" (since := "2026-01-01")]
                          theorem TensorProduct.coe_finsuppScalarRight' {R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {M : Type u_3} [AddCommMonoid M] [Module R M] [Module S M] [IsScalarTower R S M] {ι : Type u_5} [DecidableEq ι] :
                          (finsuppScalarRight R S M ι) = (finsuppScalarRight R S M ι)
                          theorem Finsupp.linearCombination_one_tmul (R : Type u_1) (S : Type u_2) (M : Type u_3) (ι : Type u_5) [CommSemiring R] [AddCommMonoid M] [Module R M] [Semiring S] [Algebra R S] [DecidableEq ι] {v : ιM} :
                          def finsuppTensorFinsupp (R : Type u_1) (S : Type u_2) (M : Type u_3) (N : Type u_4) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [Semiring S] [Algebra R S] [Module S M] [IsScalarTower R S M] :

                          The tensor product of ι →₀ M and κ →₀ N is linearly equivalent to (ι × κ) →₀ (M ⊗ N).

                          Equations
                            Instances For
                              @[simp]
                              theorem finsuppTensorFinsupp_single (R : Type u_1) (S : Type u_2) (M : Type u_3) (N : Type u_4) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [Semiring S] [Algebra R S] [Module S M] [IsScalarTower R S M] (i : ι) (m : M) (k : κ) (n : N) :
                              (finsuppTensorFinsupp R S M N ι κ) ((fun₀ | i => m) ⊗ₜ[R] fun₀ | k => n) = fun₀ | (i, k) => m ⊗ₜ[R] n
                              @[simp]
                              theorem finsuppTensorFinsupp_apply (R : Type u_1) (S : Type u_2) (M : Type u_3) (N : Type u_4) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [Semiring S] [Algebra R S] [Module S M] [IsScalarTower R S M] (f : ι →₀ M) (g : κ →₀ N) (i : ι) (k : κ) :
                              ((finsuppTensorFinsupp R S M N ι κ) (f ⊗ₜ[R] g)) (i, k) = f i ⊗ₜ[R] g k
                              @[simp]
                              theorem finsuppTensorFinsupp_symm_single (R : Type u_1) (S : Type u_2) (M : Type u_3) (N : Type u_4) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [Semiring S] [Algebra R S] [Module S M] [IsScalarTower R S M] (i : ι × κ) (m : M) (n : N) :
                              ((finsuppTensorFinsupp R S M N ι κ).symm fun₀ | i => m ⊗ₜ[R] n) = (fun₀ | i.1 => m) ⊗ₜ[R] fun₀ | i.2 => n
                              def finsuppTensorFinsuppLid (R : Type u_1) (N : Type u_4) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid N] [Module R N] :
                              TensorProduct R (ι →₀ R) (κ →₀ N) ≃ₗ[R] ι × κ →₀ N

                              A variant of finsuppTensorFinsupp where the first module is the ground ring.

                              Equations
                                Instances For
                                  @[simp]
                                  theorem finsuppTensorFinsuppLid_apply_apply (R : Type u_1) (N : Type u_4) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid N] [Module R N] (f : ι →₀ R) (g : κ →₀ N) (a : ι) (b : κ) :
                                  ((finsuppTensorFinsuppLid R N ι κ) (f ⊗ₜ[R] g)) (a, b) = f a g b
                                  @[simp]
                                  theorem finsuppTensorFinsuppLid_single_tmul_single (R : Type u_1) (N : Type u_4) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid N] [Module R N] (a : ι) (b : κ) (r : R) (n : N) :
                                  (finsuppTensorFinsuppLid R N ι κ) ((fun₀ | a => r) ⊗ₜ[R] fun₀ | b => n) = fun₀ | (a, b) => r n
                                  @[simp]
                                  theorem finsuppTensorFinsuppLid_symm_single_smul (R : Type u_1) (N : Type u_4) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid N] [Module R N] (i : ι × κ) (r : R) (n : N) :
                                  ((finsuppTensorFinsuppLid R N ι κ).symm fun₀ | i => r n) = (fun₀ | i.1 => r) ⊗ₜ[R] fun₀ | i.2 => n
                                  def finsuppTensorFinsuppRid (R : Type u_1) (M : Type u_3) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid M] [Module R M] :
                                  TensorProduct R (ι →₀ M) (κ →₀ R) ≃ₗ[R] ι × κ →₀ M

                                  A variant of finsuppTensorFinsupp where the second module is the ground ring.

                                  Equations
                                    Instances For
                                      @[simp]
                                      theorem finsuppTensorFinsuppRid_apply_apply (R : Type u_1) (M : Type u_3) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid M] [Module R M] (f : ι →₀ M) (g : κ →₀ R) (a : ι) (b : κ) :
                                      ((finsuppTensorFinsuppRid R M ι κ) (f ⊗ₜ[R] g)) (a, b) = g b f a
                                      @[simp]
                                      theorem finsuppTensorFinsuppRid_single_tmul_single (R : Type u_1) (M : Type u_3) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid M] [Module R M] (a : ι) (b : κ) (m : M) (r : R) :
                                      (finsuppTensorFinsuppRid R M ι κ) ((fun₀ | a => m) ⊗ₜ[R] fun₀ | b => r) = fun₀ | (a, b) => r m
                                      @[simp]
                                      theorem finsuppTensorFinsuppRid_symm_single_smul (R : Type u_1) (M : Type u_3) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] [AddCommMonoid M] [Module R M] (i : ι × κ) (m : M) (r : R) :
                                      ((finsuppTensorFinsuppRid R M ι κ).symm fun₀ | i => r m) = (fun₀ | i.1 => m) ⊗ₜ[R] fun₀ | i.2 => r
                                      def finsuppTensorFinsupp' (R : Type u_1) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] :
                                      TensorProduct R (ι →₀ R) (κ →₀ R) ≃ₗ[R] ι × κ →₀ R

                                      A variant of finsuppTensorFinsupp where both modules are the ground ring.

                                      Equations
                                        Instances For
                                          @[simp]
                                          theorem finsuppTensorFinsupp'_apply_apply (R : Type u_1) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] (f : ι →₀ R) (g : κ →₀ R) (a : ι) (b : κ) :
                                          ((finsuppTensorFinsupp' R ι κ) (f ⊗ₜ[R] g)) (a, b) = f a * g b
                                          @[simp]
                                          theorem finsuppTensorFinsupp'_single_tmul_single (R : Type u_1) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] (a : ι) (b : κ) (r₁ r₂ : R) :
                                          (finsuppTensorFinsupp' R ι κ) ((fun₀ | a => r₁) ⊗ₜ[R] fun₀ | b => r₂) = fun₀ | (a, b) => r₁ * r₂
                                          theorem finsuppTensorFinsupp'_symm_single_mul (R : Type u_1) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] (i : ι × κ) (r₁ r₂ : R) :
                                          ((finsuppTensorFinsupp' R ι κ).symm fun₀ | i => r₁ * r₂) = (fun₀ | i.1 => r₁) ⊗ₜ[R] fun₀ | i.2 => r₂
                                          theorem finsuppTensorFinsupp'_symm_single_eq_single_one_tmul (R : Type u_1) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] (i : ι × κ) (r : R) :
                                          ((finsuppTensorFinsupp' R ι κ).symm fun₀ | i => r) = (fun₀ | i.1 => 1) ⊗ₜ[R] fun₀ | i.2 => r
                                          theorem finsuppTensorFinsupp'_symm_single_eq_tmul_single_one (R : Type u_1) (ι : Type u_5) (κ : Type u_6) [CommSemiring R] (i : ι × κ) (r : R) :
                                          ((finsuppTensorFinsupp' R ι κ).symm fun₀ | i => r) = (fun₀ | i.1 => r) ⊗ₜ[R] fun₀ | i.2 => 1