Tensor Algebras #
Given a commutative semiring R, and an R-module M, we construct the tensor algebra of M.
This is the free R-algebra generated (R-linearly) by the module M.
Notation #
TensorAlgebra R Mis the tensor algebra itself. It is endowed with an R-algebra structure.TensorAlgebra.ι Ris the canonical R-linear mapM → TensorAlgebra R M.- Given a linear map
f : M → Ato an R-algebraA,lift R fis the lift offto anR-algebra morphismTensorAlgebra R M → A.
Theorems #
ι_comp_liftstates that the composition(lift R f) ∘ (ι R)is identical tof.lift_uniquestates that whenever an R-algebra morphismg : TensorAlgebra R M → Ais given whose composition withι Risf, then one hasg = lift R f.hom_extis a variant oflift_uniquein the form of an extensionality theorem.lift_comp_ιis a combination ofι_comp_liftandlift_unique. It states that the lift of the composition of an algebra morphism withιis the algebra morphism itself.
Implementation details #
As noted above, the tensor algebra of M is constructed as the free R-algebra generated by M,
modulo the additional relations making the inclusion of M into an R-linear map.
An inductively defined relation on Pre R M used to force the initial algebra structure on
the associated quotient.
- add {R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] {a b : M} : Rel R M (FreeAlgebra.ι R (a + b)) (FreeAlgebra.ι R a + FreeAlgebra.ι R b)
- smul {R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] {r : R} {a : M} : Rel R M (FreeAlgebra.ι R (r • a)) ((algebraMap R (FreeAlgebra R M)) r * FreeAlgebra.ι R a)
Instances For
The tensor algebra of the module M over the commutative semiring R.
Equations
- TensorAlgebra R M = RingQuot (TensorAlgebra.Rel R M)
Instances For
Equations
Equations
Equations
Equations
The canonical linear map M →ₗ[R] TensorAlgebra R M.
Equations
- TensorAlgebra.ι R = { toFun := fun (m : M) => (RingQuot.mkAlgHom R (TensorAlgebra.Rel R M)) (FreeAlgebra.ι R m), map_add' := ⋯, map_smul' := ⋯ }
Instances For
Given a linear map f : M → A where A is an R-algebra, lift R f is the unique lift
of f to a morphism of R-algebras TensorAlgebra R M → A.
Equations
- One or more equations did not get rendered due to their size.
Instances For
See note [partially-applied ext lemmas].
If C holds for the algebraMap of r : R into TensorAlgebra R M, the ι of x : M,
and is preserved under addition and multiplication, then it holds for all of TensorAlgebra R M.
The left-inverse of algebraMap.
Equations
Instances For
A TensorAlgebra over a nontrivial semiring is nontrivial.
The canonical map from TensorAlgebra R M into TrivSqZeroExt R M that sends
TensorAlgebra.ι to TrivSqZeroExt.inr.
Equations
Instances For
The left-inverse of ι.
As an implementation detail, we implement this using TrivSqZeroExt which has a suitable
algebra structure.
Instances For
The generators of the tensor algebra are disjoint from its scalars.
Construct a product of n elements of the module within the tensor algebra.
See also PiTensorProduct.tprod.
Equations
- TensorAlgebra.tprod R M n = (MultilinearMap.mkPiAlgebraFin R n (TensorAlgebra R M)).compLinearMap fun (x : Fin n) => TensorAlgebra.ι R
Instances For
The canonical image of the FreeAlgebra in the TensorAlgebra, which maps
FreeAlgebra.ι R x to TensorAlgebra.ι R x.