A basis for TensorAlgebra R M #
Main definitions #
TensorAlgebra.equivMonoidAlgebra b : TensorAlgebra R M ≃ₐ[R] FreeAlgebra R κ: the isomorphism given by a basisb : Basis κ R M.Basis.tensorAlgebra b : Basis (FreeMonoid κ) R (TensorAlgebra R M): the basis on the tensor algebra given by a basisb : Basis κ R M.
Main results #
TensorAlgebra.instFreeModule: the tensor algebra overMis free whenMisTensorAlgebra.rank_eq
noncomputable def TensorAlgebra.equivFreeAlgebra {κ : Type uκ} {R : Type uR} {M : Type uM} [CommSemiring R] [AddCommMonoid M] [Module R M] (b : Module.Basis κ R M) :
A basis provides an algebra isomorphism with the free algebra, replacing each basis vector with its index.
Equations
- TensorAlgebra.equivFreeAlgebra b = AlgEquiv.ofAlgHom ((TensorAlgebra.lift R) (Finsupp.linearCombination R (FreeAlgebra.ι R) ∘ₗ ↑b.repr)) ((FreeAlgebra.lift R) (⇑(TensorAlgebra.ι R) ∘ ⇑b)) ⋯ ⋯
Instances For
@[simp]
theorem TensorAlgebra.equivFreeAlgebra_ι_apply {κ : Type uκ} {R : Type uR} {M : Type uM} [CommSemiring R] [AddCommMonoid M] [Module R M] (b : Module.Basis κ R M) (i : κ) :
@[simp]
theorem TensorAlgebra.equivFreeAlgebra_symm_ι {κ : Type uκ} {R : Type uR} {M : Type uM} [CommSemiring R] [AddCommMonoid M] [Module R M] (b : Module.Basis κ R M) (i : κ) :
noncomputable def Module.Basis.tensorAlgebra {κ : Type uκ} {R : Type uR} {M : Type uM} [CommSemiring R] [AddCommMonoid M] [Module R M] (b : Basis κ R M) :
Basis (FreeMonoid κ) R (TensorAlgebra R M)
A basis on M can be lifted to a basis on TensorAlgebra R M
Equations
Instances For
@[simp]
theorem Module.Basis.tensorAlgebra_repr_apply {κ : Type uκ} {R : Type uR} {M : Type uM} [CommSemiring R] [AddCommMonoid M] [Module R M] (b : Basis κ R M) (x : TensorAlgebra R M) :
b.tensorAlgebra.repr x = (FreeAlgebra.basisFreeMonoid R κ).repr ((TensorAlgebra.equivFreeAlgebra b) x)
instance TensorAlgebra.instModuleFree {R : Type uR} {M : Type uM} [CommSemiring R] [AddCommMonoid M] [Module R M] [Module.Free R M] :
Module.Free R (TensorAlgebra R M)
TensorAlgebra R M is free when M is.
instance TensorAlgebra.instNoZeroDivisors {R : Type uR} {M : Type uM} [CommSemiring R] [AddCommMonoid M] [Module R M] [NoZeroDivisors R] [Module.Free R M] :
NoZeroDivisors (TensorAlgebra R M)
The TensorAlgebra of a free module over a commutative semiring with no zero-divisors has
no zero-divisors.
instance TensorAlgebra.instIsDomain {R : Type uR} {M : Type uM} [CommRing R] [AddCommGroup M] [Module R M] [IsDomain R] [Module.Free R M] :
IsDomain (TensorAlgebra R M)
The TensorAlgebra of a free module over an integral domain is a domain.
theorem TensorAlgebra.rank_eq {R : Type uR} {M : Type uM} [CommRing R] [AddCommGroup M] [Module R M] [Nontrivial R] [Module.Free R M] :
Module.rank R (TensorAlgebra R M) = Cardinal.lift.{uR, uM} (Cardinal.sum fun (n : ℕ) => Module.rank R M ^ n)