Documentation

TauCeti.Algebra.Module.GradedModule.TensorProduct

Tensor products of internally graded modules #

The tensor product of internally ℤ-graded modules is graded by total degree. Its degree-n piece is the sum of the images of

G.piece p ⊗ H.piece (n - p)

inside the ambient tensor product. These pieces form an internal direct sum: first use DirectSum.IsInternal.tensorProduct for the bidegree decomposition, then collect bidegrees with the same sum.

The resulting grading has the expected API on pure tensors. In particular, a tensor of elements of degrees p and q has degree p + q, and tensoring homogeneous linear maps adds their degrees. This is the tensor-product compatibility requested in Layer 0 of the DGAInfinity roadmap and supplies the grading used by tensor products of DG objects.

Main definitions #

Main results #

The proof reuses Tau Ceti's two-factor internal decomposition theorem DirectSum.IsInternal.tensorProduct; no formalization is vendored.

theorem TauCeti.InternalGrading.piTensorProduct_ext {R : Type u} [CommSemiring R] {M : Type v} [AddCommMonoid M] [Module R M] {N : Type w} [AddCommMonoid N] [Module R N] (G : InternalGrading R M) {n : ℕ} {f g : (PiTensorProduct R fun (x : Fin n) => M) →ₗ[R] N} (h : ∀ (q : Fin n → (d : ℤ) × ↥(G.piece d)), f ((PiTensorProduct.tprod R) fun (i : Fin n) => ↑(q i).snd) = g ((PiTensorProduct.tprod R) fun (i : Fin n) => ↑(q i).snd)) :
f = g

Two linear maps from a finite tensor product of an internally graded module agree if they agree on pure tensors of homogeneous elements.

noncomputable def TauCeti.InternalGrading.tensorProduct {R : Type u} [CommSemiring R] {M : Type v} {N : Type w} [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] (G : InternalGrading R M) (H : InternalGrading R N) :

The tensor product of internally graded modules, graded by total degree.

Equations
Instances For
    theorem TauCeti.InternalGrading.tensorProduct_piece_eq_iSup {R : Type u} [CommSemiring R] {M : Type v} {N : Type w} [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] (G : InternalGrading R M) (H : InternalGrading R N) (n : ℤ) :
    (G.tensorProduct H).piece n = ⨆ (p : ℤ), Submodule.map₂ (TensorProduct.mk R M N) (G.piece p) (H.piece (n - p))

    The degree-n piece of the tensor-product grading is the sum of the tensor-product images whose first degree is p and whose second degree is n - p.

    theorem TauCeti.InternalGrading.tmul_mem_tensorProduct {R : Type u} [CommSemiring R] {M : Type v} {N : Type w} [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] (G : InternalGrading R M) (H : InternalGrading R N) {p q : ℤ} {x : M} {y : N} (hx : x ∈ G.piece p) (hy : y ∈ H.piece q) :
    x ⊗ₜ[R] y ∈ (G.tensorProduct H).piece (p + q)

    A pure tensor of elements of degrees p and q is homogeneous of degree p + q in the tensor-product grading.

    Reassociating a triple tensor product preserves total degree.

    The Koszul twist for the total grading of a tensor product is the tensor product of the Koszul twists of the factors.

    theorem TauCeti.LinearMap.IsHomogeneous.tensorProduct {R : Type u} [CommSemiring R] {M : Type v} {N : Type w} {M' : Type v'} {N' : Type w'} [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [AddCommMonoid M'] [Module R M'] [AddCommMonoid N'] [Module R N'] {G : InternalGrading R M} {H : InternalGrading R N} {G' : InternalGrading R M'} {H' : InternalGrading R N'} {f : M →ₗ[R] M'} {g : N →ₗ[R] N'} {a b : ℤ} (hf : IsHomogeneous f G.piece G'.piece a) (hg : IsHomogeneous g H.piece H'.piece b) :

    Tensoring homogeneous linear maps adds their degrees for the total tensor-product gradings.