Tensor power of a semimodule over a commutative semiring #
We define the n
th tensor power of M
as the n-ary tensor product indexed by Fin n
of M
,
⨂[R] (i : Fin n), M
. This is a special case of PiTensorProduct
.
This file introduces the notation ⨂[R]^n M
for TensorPower R n M
, which in turn is an
abbreviation for ⨂[R] i : Fin n, M
.
Main definitions: #
TensorPower.gsemiring
: the tensor powers form a graded semiring.TensorPower.galgebra
: the tensor powers form a graded algebra.
Implementation notes #
In this file we use ₜ1
and ₜ*
as local notation for the graded multiplicative structure on
tensor powers. Elsewhere, using 1
and *
on GradedMonoid
should be preferred.
Homogeneous tensor powers $M^{\otimes n}$. ⨂[R]^n M
is a shorthand for
⨂[R] (i : Fin n), M
.
Equations
- TensorPower R n M = PiTensorProduct R fun (x : Fin n) => M
Instances For
Homogeneous tensor powers $M^{\otimes n}$. ⨂[R]^n M
is a shorthand for
⨂[R] (i : Fin n), M
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Two dependent pairs of tensor products are equal if their index is equal and the contents are equal after a canonical reindexing.
As a graded monoid, ⨂[R]^i M
has a 1 : ⨂[R]^0 M
.
Equations
- TensorPower.gOne = { one := (PiTensorProduct.tprod R) Fin.elim0 }
A variant of PiTensorProduct.tmulEquiv
with the result indexed by Fin (n + m)
.
Equations
- TensorPower.mulEquiv = (PiTensorProduct.tmulEquiv R M).trans (PiTensorProduct.reindex R (fun (x : Fin n ⊕ Fin m) => M) finSumFinEquiv)
Instances For
As a graded monoid, ⨂[R]^i M
has a (*) : ⨂[R]^i M → ⨂[R]^j M → ⨂[R]^(i + j) M
.
Equations
- One or more equations did not get rendered due to their size.
Cast between "equal" tensor powers.
Equations
- TensorPower.cast R M h = PiTensorProduct.reindex R (fun (x : Fin i) => M) (finCongr h)
Instances For
Equations
- TensorPower.gmonoid = GradedMonoid.GMonoid.mk ⋯ ⋯ ⋯ GradedMonoid.GMonoid.gnpowRec ⋯ ⋯
The canonical map from R
to ⨂[R]^0 M
corresponding to the algebraMap
of the tensor
algebra.
Equations
- TensorPower.algebraMap₀ = (PiTensorProduct.isEmptyEquiv (Fin 0)).symm
Instances For
Equations
- TensorPower.gsemiring = DirectSum.GSemiring.mk ⋯ ⋯ ⋯ GradedMonoid.GMonoid.gnpow ⋯ ⋯ (fun (n : ℕ) => TensorPower.algebraMap₀ ↑n) ⋯ ⋯
The tensor powers form a graded algebra.
Note that this instance implies Algebra R (⨁ n : ℕ, ⨂[R]^n M)
via DirectSum.Algebra
.
Equations
- TensorPower.galgebra = { toFun := (↑TensorPower.algebraMap₀).toAddMonoidHom, map_one := ⋯, map_mul := ⋯, commutes := ⋯, smul_def := ⋯ }