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)
:
TensorAlgebra R M ≃ₐ[R] FreeAlgebra R κ
A basis provides an algebra isomorphism with the free algebra, replacing each basis vector with its index.
Equations
- One or more equations did not get rendered due to their size.
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 : κ)
:
(TensorAlgebra.equivFreeAlgebra b) ((TensorAlgebra.ι R) (b i)) = FreeAlgebra.ι R 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 : κ)
:
(AlgEquiv.symm (TensorAlgebra.equivFreeAlgebra b)) (FreeAlgebra.ι R i) = (TensorAlgebra.ι R) (b i)
@[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),
(Basis.tensorAlgebra b).repr a = (FreeAlgebra.basisFreeMonoid R κ).repr ((TensorAlgebra.equivFreeAlgebra b) a)
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
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.
Equations
- ⋯ = ⋯
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.
Equations
- ⋯ = ⋯
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.
Equations
- ⋯ = ⋯
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)