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 : 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 : 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 : Basis κ R M)
(i : κ)
:
noncomputable def
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
Basis.tensorAlgebra_repr_apply
{κ : Type uκ}
{R : Type uR}
{M : Type uM}
[CommSemiring R]
[AddCommMonoid M]
[Module R M]
(b : Basis κ R M)
(a✝ : TensorAlgebra R M)
:
b.tensorAlgebra.repr a✝ = (FreeAlgebra.basisFreeMonoid R κ).repr ((TensorAlgebra.equivFreeAlgebra b) a✝)
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)