Documentation

Mathlib.RingTheory.TensorProduct.MvPolynomial

Tensor Product of (multivariate) polynomial rings #

Let Semiring R, Algebra R S and Module R N.

TODO : #

noncomputable def MvPolynomial.rTensor {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [DecidableEq σ] [AddCommMonoid N] [Module R N] :

The tensor product of a polynomial ring by a module is linearly equivalent to a Finsupp of a tensor product

Equations
    Instances For
      theorem MvPolynomial.rTensor_apply_tmul {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [DecidableEq σ] [AddCommMonoid N] [Module R N] (p : MvPolynomial σ S) (n : N) :
      rTensor (p ⊗ₜ[R] n) = Finsupp.sum p fun (i : σ →₀ ) (m : S) => fun₀ | i => m ⊗ₜ[R] n
      theorem MvPolynomial.rTensor_apply_tmul_apply {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [DecidableEq σ] [AddCommMonoid N] [Module R N] (p : MvPolynomial σ S) (n : N) (d : σ →₀ ) :
      (rTensor (p ⊗ₜ[R] n)) d = coeff d p ⊗ₜ[R] n
      theorem MvPolynomial.rTensor_apply_monomial_tmul {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [DecidableEq σ] [AddCommMonoid N] [Module R N] (e : σ →₀ ) (s : S) (n : N) (d : σ →₀ ) :
      (rTensor ((monomial e) s ⊗ₜ[R] n)) d = if e = d then s ⊗ₜ[R] n else 0
      theorem MvPolynomial.rTensor_apply_X_tmul {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [DecidableEq σ] [AddCommMonoid N] [Module R N] (s : σ) (n : N) (d : σ →₀ ) :
      (rTensor (X s ⊗ₜ[R] n)) d = if (fun₀ | s => 1) = d then 1 ⊗ₜ[R] n else 0
      theorem MvPolynomial.rTensor_apply {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [DecidableEq σ] [AddCommMonoid N] [Module R N] (t : TensorProduct R (MvPolynomial σ S) N) (d : σ →₀ ) :
      (rTensor t) d = (LinearMap.rTensor N (R (lcoeff S d))) t
      @[simp]
      theorem MvPolynomial.rTensor_symm_apply_single {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [DecidableEq σ] [AddCommMonoid N] [Module R N] (d : σ →₀ ) (s : S) (n : N) :
      noncomputable def MvPolynomial.scalarRTensor {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} [DecidableEq σ] [AddCommMonoid N] [Module R N] :

      The tensor product of the polynomial algebra by a module is linearly equivalent to a Finsupp of that module

      Equations
        Instances For
          theorem MvPolynomial.scalarRTensor_apply_tmul {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} [DecidableEq σ] [AddCommMonoid N] [Module R N] (p : MvPolynomial σ R) (n : N) :
          scalarRTensor (p ⊗ₜ[R] n) = Finsupp.sum p fun (i : σ →₀ ) (m : R) => fun₀ | i => m n
          theorem MvPolynomial.scalarRTensor_apply_tmul_apply {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} [DecidableEq σ] [AddCommMonoid N] [Module R N] (p : MvPolynomial σ R) (n : N) (d : σ →₀ ) :
          (scalarRTensor (p ⊗ₜ[R] n)) d = coeff d p n
          theorem MvPolynomial.scalarRTensor_apply_monomial_tmul {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} [DecidableEq σ] [AddCommMonoid N] [Module R N] (e : σ →₀ ) (r : R) (n : N) (d : σ →₀ ) :
          (scalarRTensor ((monomial e) r ⊗ₜ[R] n)) d = if e = d then r n else 0
          theorem MvPolynomial.scalarRTensor_apply_X_tmul_apply {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} [DecidableEq σ] [AddCommMonoid N] [Module R N] (s : σ) (n : N) (d : σ →₀ ) :
          (scalarRTensor (X s ⊗ₜ[R] n)) d = if (fun₀ | s => 1) = d then n else 0
          noncomputable def MvPolynomial.rTensorAlgHom {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [CommSemiring N] [Algebra R N] :

          The algebra morphism from a tensor product of a polynomial algebra by an algebra to a polynomial algebra

          Equations
            Instances For
              @[simp]
              theorem MvPolynomial.coeff_rTensorAlgHom_tmul {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [CommSemiring N] [Algebra R N] (p : MvPolynomial σ S) (n : N) (d : σ →₀ ) :
              theorem MvPolynomial.coeff_rTensorAlgHom_monomial_tmul {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [CommSemiring N] [Algebra R N] [DecidableEq σ] (e : σ →₀ ) (s : S) (n : N) (d : σ →₀ ) :
              noncomputable def MvPolynomial.rTensorAlgEquiv {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [CommSemiring N] [Algebra R N] [DecidableEq σ] :

              The tensor product of a polynomial algebra by an algebra is algebraically equivalent to a polynomial algebra

              Equations
                Instances For
                  noncomputable def MvPolynomial.scalarRTensorAlgEquiv {R : Type u} {N : Type v} [CommSemiring R] {σ : Type u_1} [CommSemiring N] [Algebra R N] [DecidableEq σ] :

                  The tensor product of the polynomial algebra by an algebra is algebraically equivalent to a polynomial algebra with coefficients in that algebra

                  Equations
                    Instances For
                      noncomputable def MvPolynomial.algebraTensorAlgEquiv (R : Type u) [CommSemiring R] {σ : Type u_1} (A : Type u_4) [CommSemiring A] [Algebra R A] :

                      Tensoring MvPolynomial σ R on the left by an R-algebra A is algebraically equivalent to MvPolynomial σ A.

                      Equations
                        Instances For
                          @[simp]
                          theorem MvPolynomial.algebraTensorAlgEquiv_tmul (R : Type u) [CommSemiring R] {σ : Type u_1} (A : Type u_4) [CommSemiring A] [Algebra R A] (a : A) (p : MvPolynomial σ R) :
                          @[simp]
                          theorem MvPolynomial.algebraTensorAlgEquiv_symm_X (R : Type u) [CommSemiring R] {σ : Type u_1} (A : Type u_4) [CommSemiring A] [Algebra R A] (s : σ) :
                          @[simp]
                          theorem MvPolynomial.algebraTensorAlgEquiv_symm_monomial (R : Type u) [CommSemiring R] {σ : Type u_1} (A : Type u_4) [CommSemiring A] [Algebra R A] (m : σ →₀ ) (a : A) :
                          theorem MvPolynomial.aeval_one_tmul (R : Type u) {N : Type v} [CommSemiring R] {σ : Type u_1} {S : Type u_3} [CommSemiring S] [Algebra R S] [CommSemiring N] [Algebra R N] (f : σS) (p : MvPolynomial σ R) :
                          (aeval fun (x : σ) => 1 ⊗ₜ[R] f x) p = 1 ⊗ₜ[R] (aeval f) p
                          def MvPolynomial.tensorEquivSum (R : Type u) [CommSemiring R] (σ : Type u_1) (ι : Type u_2) (S : Type u_3) [CommSemiring S] [Algebra R S] :

                          S[X] ⊗[R] R[Y] ≃ S[X, Y]

                          Equations
                            Instances For
                              @[simp]
                              theorem MvPolynomial.tensorEquivSum_X_tmul_one {R : Type u} [CommSemiring R] {σ : Type u_1} {ι : Type u_2} {S : Type u_3} [CommSemiring S] [Algebra R S] (i : σ) :
                              (tensorEquivSum R σ ι S) (X i ⊗ₜ[R] 1) = X (Sum.inl i)
                              @[simp]
                              theorem MvPolynomial.tensorEquivSum_C_tmul_one {R : Type u} [CommSemiring R] {σ : Type u_1} {ι : Type u_2} {S : Type u_3} [CommSemiring S] [Algebra R S] (r : S) :
                              (tensorEquivSum R σ ι S) (C r ⊗ₜ[R] 1) = C r
                              @[simp]
                              theorem MvPolynomial.tensorEquivSum_one_tmul_X {R : Type u} [CommSemiring R] {σ : Type u_1} {ι : Type u_2} {S : Type u_3} [CommSemiring S] [Algebra R S] (i : ι) :
                              (tensorEquivSum R σ ι S) (1 ⊗ₜ[R] X i) = X (Sum.inr i)
                              @[simp]
                              theorem MvPolynomial.tensorEquivSum_one_tmul_C {R : Type u} [CommSemiring R] {σ : Type u_1} {ι : Type u_2} {S : Type u_3} [CommSemiring S] [Algebra R S] (r : R) :
                              (tensorEquivSum R σ ι S) (1 ⊗ₜ[R] C r) = C ((algebraMap R S) r)
                              @[simp]
                              theorem MvPolynomial.tensorEquivSum_C_tmul_C {R : Type u} [CommSemiring R] {σ : Type u_1} {ι : Type u_2} {S : Type u_3} [CommSemiring S] [Algebra R S] (r : R) (s : S) :
                              (tensorEquivSum R σ ι S) (C s ⊗ₜ[R] C r) = C (r s)
                              @[simp]
                              theorem MvPolynomial.tensorEquivSum_X_tmul_X {R : Type u} [CommSemiring R] {σ : Type u_1} {ι : Type u_2} {S : Type u_3} [CommSemiring S] [Algebra R S] (i : σ) (j : ι) :
                              (tensorEquivSum R σ ι S) (X i ⊗ₜ[R] X j) = X (Sum.inl i) * X (Sum.inr j)