Tensor product with free modules. #
This file contains lemmas about tensoring with free modules.
noncomputable def Algebra.TensorProduct.equivPiOfFiniteBasis {R : Type u_1} (A : Type u_2) {V : Type u_3} [CommSemiring A] [CommSemiring R] [Algebra R A] [AddCommGroup V] [Module R V] {ι : Type u_4} (b : Module.Basis ι R V) [Finite ι] :
The A-algebra isomorphism A ⊗[R] V ≃ₗ[A] (ι → A) coming from an
ι-indexed basis of a finite free R-module V.
Equations
- Algebra.TensorProduct.equivPiOfFiniteBasis A b = (LinearEquiv.baseChange R A V (ι → R) b.equivFun).trans (TensorProduct.piScalarRight R A A ι)
Instances For
@[simp]
theorem Algebra.TensorProduct.equivPiOfFiniteBasis_symm_apply {R : Type u_1} (A : Type u_2) {V : Type u_3} [CommSemiring A] [CommSemiring R] [Algebra R A] [AddCommGroup V] [Module R V] {ι : Type u_4} (b : Module.Basis ι R V) [Finite ι] (a✝ : ι → A) :
(equivPiOfFiniteBasis A b).symm a✝ = (LinearEquiv.baseChange R A V (ι → R) b.equivFun).symm ((TensorProduct.piScalarRight R A A ι).symm a✝)
@[simp]
theorem Algebra.TensorProduct.equivPiOfFiniteBasis_apply {R : Type u_1} (A : Type u_2) {V : Type u_3} [CommSemiring A] [CommSemiring R] [Algebra R A] [AddCommGroup V] [Module R V] {ι : Type u_4} (b : Module.Basis ι R V) [Finite ι] (x : TensorProduct R A V) (a✝ : ι) :
(equivPiOfFiniteBasis A b) x a✝ = (TensorProduct.piScalarRightHom R A A ι) ((LinearMap.baseChange A ↑b.equivFun) x) a✝
noncomputable def Algebra.TensorProduct.equivFinsuppOfBasis {R : Type u_1} (A : Type u_2) {V : Type u_3} [CommSemiring A] [CommSemiring R] [Algebra R A] [AddCommGroup V] [Module R V] {ι : Type u_4} (b : Module.Basis ι R V) :
The A-algebra isomorphism A ⊗[R] V ≃ₗ[A] (ι →₀ A) coming from an
ι-indexed basis of a free R-module V.
Equations
- Algebra.TensorProduct.equivFinsuppOfBasis A b = (LinearEquiv.baseChange R A V (ι →₀ R) b.repr).trans (TensorProduct.finsuppScalarRight R A A ι)
Instances For
@[simp]
theorem Algebra.TensorProduct.equivFinsuppOfBasis_apply {R : Type u_1} (A : Type u_2) {V : Type u_3} [CommSemiring A] [CommSemiring R] [Algebra R A] [AddCommGroup V] [Module R V] {ι : Type u_4} (b : Module.Basis ι R V) (x : TensorProduct R A V) :
(equivFinsuppOfBasis A b) x = (TensorProduct.finsuppScalarRight R A A ι) ((LinearMap.baseChange A ↑b.repr) x)
@[simp]
theorem Algebra.TensorProduct.equivFinsuppOfBasis_symm_apply {R : Type u_1} (A : Type u_2) {V : Type u_3} [CommSemiring A] [CommSemiring R] [Algebra R A] [AddCommGroup V] [Module R V] {ι : Type u_4} (b : Module.Basis ι R V) (a✝ : ι →₀ A) :
(equivFinsuppOfBasis A b).symm a✝ = (LinearEquiv.baseChange R A V (ι →₀ R) b.repr).symm ((TensorProduct.finsuppScalarRight R A A ι).symm a✝)