Documentation

TauCeti.LinearAlgebra.TensorSquare

Decomposing a tensor square #

When 2 is invertible, the tensor square of a module is the direct sum of its symmetric and alternating parts. This file constructs the natural equivalence

⨂[R]^2 M ≃ₗ[R] Sym[R]^2 M × ⋀[R]^2 M

using the half-symmetrizer and half-antisymmetrizer. No freeness or finite-generation hypothesis is needed. Before that splitting, it proves the characteristic-free exactness of ⋀²M → M ⊗ M → Sym²M and the resulting trace sum and difference identities for finite free modules over any commutative ring.

It then transfers the decomposition to the binary tensor square M ⊗[R] M, where the two summands are the eigenspaces TauCeti.symmetricTensors and TauCeti.antisymmetricTensors of the flip x ⊗ₜ y ↦ y ⊗ₜ x. The bridge is TauCeti.tensorProductEquivTensorSquare : M ⊗[R] M ≃ₗ[R] ⨂[R]^2 M, which carries the flip to TauCeti.tensorSwap; the two embeddings above have images the +1- and -1-eigenspaces, so the eigenspaces are Sym[R]^2 M and ⋀[R]^2 M, canonically and f ⊗ f-equivariantly. The eigenspace presentation is the one a topological or analytic development has to use — a submodule of M ⊗[R] M carries a topology where a quotient of a PiTensorProduct carries none — so these comparisons are what let a statement proved there be read as a statement about Sym² and ⋀².

Main definitions #

Main results #

References #

noncomputable def TauCeti.tensorSwap (R : Type) (M : Type v) [CommSemiring R] [AddCommMonoid M] [Module R M] :

The swap of the two factors of a tensor square, x ⊗ₜ y ↦ y ⊗ₜ x.

Equations
Instances For
    @[simp]
    theorem TauCeti.tensorSwap_tprod (R : Type) (M : Type v) [CommSemiring R] [AddCommMonoid M] [Module R M] (f : Fin 2 → M) :
    (tensorSwap R M) ((PiTensorProduct.tprod R) f) = (PiTensorProduct.tprod R) fun (i : Fin 2) => f ((Equiv.swap 0 1) i)

    The swap reads a pure tensor in the other order.

    @[simp]

    The swap is its own inverse.

    @[simp]
    theorem TauCeti.tensorSwap_tensorSwap (R : Type) (M : Type v) [CommSemiring R] [AddCommMonoid M] [Module R M] (x : TensorPower R 2 M) :
    (tensorSwap R M) ((tensorSwap R M) x) = x

    Swapping the two factors of an arbitrary tensor twice is the identity.

    The second tensor power is the binary tensor square: both are the universal target of a bilinear map out of M × M, and the equivalence matches x ⊗ₜ y with x ⊗ y. The characterising value is TauCeti.tensorProductEquivTensorSquare_tmul.

    Equations
    Instances For
      @[simp]

      The comparison with the second tensor power sends x ⊗ₜ y to the pure tensor x ⊗ y.

      @[simp]

      The inverse comparison reads a pure tensor as the product of its two entries.

      The comparison turns the flip into the swap: the flip x ⊗ₜ y ↦ y ⊗ₜ x of the binary tensor square is TauCeti.tensorSwap read through TauCeti.tensorProductEquivTensorSquare.

      @[simp]

      The flip of the binary tensor square agrees with the swap of the second tensor power.

      The comparison is natural in the module: f ⊗ f on the binary tensor square is the diagonal PiTensorProduct.map on the second tensor power.

      @[simp]
      theorem exteriorPower.toTensorPower_ιMulti_two {R : Type} {M : Type u_1} [CommRing R] [AddCommGroup M] [Module R M] (f : Fin 2 → M) :
      (toTensorPower R M 2) ((ιMulti R 2) f) = (PiTensorProduct.tprod R) f - (PiTensorProduct.tprod R) fun (i : Fin 2) => f ((Equiv.swap 0 1) i)

      Antisymmetrizing a pure exterior square is the difference of its two tensor orders.

      The symmetric quotient kills antisymmetrization of an exterior square.

      @[simp]
      theorem SymmetricPower.mk_exteriorPower_toTensorPower {R : Type} {M : Type u_1} [CommRing R] [AddCommGroup M] [Module R M] (x : ↥(⋀[R]^2 M)) :
      (mk R (Fin 2) M) ((exteriorPower.toTensorPower R M 2) x) = 0

      The symmetric quotient kills every antisymmetrized exterior square.

      Antisymmetrization and the symmetric quotient form the characteristic-free exact sequence ⋀²M → M ⊗ M → Sym²M.

      The antisymmetrization into the tensor square and its symmetric quotient are exact over every commutative ring.

      The swap acts as -1 on the alternating part: it exchanges the two pure tensors whose difference is the image of a wedge.

      @[simp]

      Swapping an antisymmetrized exterior square negates it.

      theorem SymmetricPower.mk_comp_tensorSwap {R : Type} {M : Type u_1} [CommSemiring R] [AddCommMonoid M] [Module R M] :
      mk R (Fin 2) M ∘ₗ ↑(TauCeti.tensorSwap R M) = mk R (Fin 2) M

      The swap acts as +1 on the symmetric part: that is exactly the relation defining Sym².

      @[simp]
      theorem SymmetricPower.mk_tensorSwap {R : Type} {M : Type u_1} [CommSemiring R] [AddCommMonoid M] [Module R M] (x : TensorPower R 2 M) :
      (mk R (Fin 2) M) ((TauCeti.tensorSwap R M) x) = (mk R (Fin 2) M) x

      Swapping any tensor square preserves its symmetric class.

      theorem LinearMap.trace_piTensorProduct_map_comp_tensorSwap {R : Type} {M : Type u_1} [CommSemiring R] [AddCommMonoid M] [Module R M] [Module.Free R M] [Module.Finite R M] (f : M →ₗ[R] M) :
      (trace R (TensorPower R 2 M)) ((PiTensorProduct.map fun (x : Fin 2) => f) ∘ₗ ↑(TauCeti.tensorSwap R M)) = (trace R M) (f ∘ₗ f)

      The trace of the diagonal tensor-square map composed with the swap is the trace of the square of the endomorphism.

      theorem LinearMap.trace_piTensorProduct_map_two {R : Type} {M : Type u_1} [CommRing R] [AddCommGroup M] [Module R M] [Module.Free R M] [Module.Finite R M] (f : M →ₗ[R] M) :
      (trace R (TensorPower R 2 M)) (PiTensorProduct.map fun (x : Fin 2) => f) = (trace R (SymmetricPower R (Fin 2) M)) (SymmetricPower.map f) + (trace R ↥(⋀[R]^2 M)) (exteriorPower.map 2 f)

      The trace of the diagonal tensor-square map of a finite free module over a commutative ring is the sum of the traces on its symmetric and exterior squares.

      The trace form of the two square characters. For a finite free module over a commutative ring, the traces of an endomorphism on the symmetric and exterior squares differ by the trace of its own square.

      noncomputable def SymmetricPower.toTensorSquare (R : Type) (M : Type v) [CommRing R] [Invertible 2] [AddCommGroup M] [Module R M] :

      The embedding of the symmetric square in the tensor square, given on a pure symmetric tensor by x ⊗ₛ y ↦ ⅟2 • (x ⊗ₜ y + y ⊗ₜ x).

      Equations
      Instances For
        @[simp]
        theorem SymmetricPower.toTensorSquare_tprod (R : Type) (M : Type v) [CommRing R] [Invertible 2] [AddCommGroup M] [Module R M] (f : Fin 2 → M) :
        (toTensorSquare R M) (⨂ₛ[R] (i : Fin 2), f i) = ⅟2 • ((PiTensorProduct.tprod R) f + (PiTensorProduct.tprod R) fun (i : Fin 2) => f ((Equiv.swap 0 1) i))

        The symmetric-square embedding is the half-sum of the two orders on pure tensors.

        noncomputable def exteriorPower.toTensorSquare (R : Type) (M : Type v) [CommRing R] [Invertible 2] [AddCommGroup M] [Module R M] :
        ↥(⋀[R]^2 M) →ₗ[R] TensorPower R 2 M

        The embedding of the exterior square in the tensor square, given on a pure wedge by x ∧ y ↦ ⅟2 • (x ⊗ₜ y - y ⊗ₜ x).

        Equations
        Instances For
          @[simp]
          theorem exteriorPower.toTensorSquare_ιMulti (R : Type) (M : Type v) [CommRing R] [Invertible 2] [AddCommGroup M] [Module R M] (f : Fin 2 → M) :
          (toTensorSquare R M) ((ιMulti R 2) f) = ⅟2 • ((PiTensorProduct.tprod R) f - (PiTensorProduct.tprod R) fun (i : Fin 2) => f ((Equiv.swap 0 1) i))

          The exterior-square embedding is the half-difference of the two orders on pure wedges.

          The symmetric quotient composed with the symmetric-square embedding is the identity.

          @[simp]
          theorem SymmetricPower.mk_toTensorSquare (R : Type) (M : Type v) [CommRing R] [Invertible 2] [AddCommGroup M] [Module R M] (x : SymmetricPower R (Fin 2) M) :
          (mk R (Fin 2) M) ((toTensorSquare R M) x) = x

          Projecting the symmetric-square embedding back to the symmetric square is the identity.

          The map from the symmetric square to the tensor square is injective.

          The exterior projection vanishes on the symmetric-square embedding.

          @[simp]

          The exterior projection of an element embedded from the symmetric square vanishes.

          The symmetric projection vanishes on the exterior-square embedding.

          @[simp]
          theorem SymmetricPower.mk_exteriorPower_toTensorSquare (R : Type) (M : Type v) [CommRing R] [Invertible 2] [AddCommGroup M] [Module R M] (x : ↥(⋀[R]^2 M)) :
          (mk R (Fin 2) M) ((exteriorPower.toTensorSquare R M) x) = 0

          The symmetric projection of an element embedded from the exterior square vanishes.

          The exterior projection composed with the exterior-square embedding is the identity.

          @[simp]
          theorem exteriorPower.lift_ιMulti_toTensorSquare (R : Type) (M : Type v) [CommRing R] [Invertible 2] [AddCommGroup M] [Module R M] (x : ↥(⋀[R]^2 M)) :

          Projecting the exterior-square embedding back to the exterior square is the identity.

          The map from the exterior square to the tensor square is injective.

          noncomputable def TauCeti.tensorSquareEquivSymmetricExterior (R : Type) (M : Type v) [CommRing R] [Invertible 2] [AddCommGroup M] [Module R M] :

          The tensor square is naturally the direct sum of its symmetric and exterior squares when 2 is invertible. The forward map sends a tensor to its symmetric quotient and exterior product.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]

            The tensor-square decomposition sends a pure tensor to its symmetric and exterior classes.

            @[simp]

            The inverse tensor-square decomposition is the sum of the symmetric and exterior embeddings.

            The flip eigenspaces of the binary tensor square #

            TauCeti.symmetricTensors and TauCeti.antisymmetricTensors are the ±1-eigenspaces of the flip on M ⊗[R] M. Through TauCeti.tensorProductEquivTensorSquare the flip is TauCeti.tensorSwap, whose eigenspaces are the images of the two embeddings SymmetricPower.toTensorSquare and exteriorPower.toTensorSquare; so the two eigenspaces are Sym[R]^2 M and ⋀[R]^2 M, and not merely modules of the same rank.

            The symmetric embedding is the symmetrizer: composing the symmetric quotient with the symmetric-square embedding is ⅟2 • (1 + swap).

            The exterior embedding is the antisymmetrizer: composing the exterior projection with the exterior-square embedding is ⅟2 • (1 - swap).

            A swap-invariant tensor is recovered from its symmetric class.

            A swap-anti-invariant tensor is recovered from its wedge.

            The symmetric tensors are the symmetric square. The flip-fixed submodule of M ⊗[R] M is Sym[R]^2 M, by the symmetric quotient read through TauCeti.tensorProductEquivTensorSquare; the inverse is the symmetrizer x ⊗ₛ y ↦ ⅟2 • (x ⊗ₜ y + y ⊗ₜ x). This is what justifies calling TauCeti.symmetricTensors a symmetric square: the two modules are not merely of the same rank, they are canonically the same.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The symmetrizer, explicitly: the symmetric tensor matching x ⊗ₛ y is ⅟2 • (x ⊗ₜ y + y ⊗ₜ x).

              The symmetric quotient, explicitly: the symmetrization of x ⊗ₜ y has symmetric class 2 • (x ⊗ₛ y).

              The antisymmetric tensors are the exterior square. The -1-eigenspace of the flip on M ⊗[R] M is ⋀[R]^2 M, by the wedge map read through TauCeti.tensorProductEquivTensorSquare; the inverse is the antisymmetrizer x ∧ y ↦ ⅟2 • (x ⊗ₜ y - y ⊗ₜ x).

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                The antisymmetrizer, explicitly: the antisymmetric tensor matching x ∧ y is ⅟2 • (x ⊗ₜ y - y ⊗ₜ x).

                The wedge map, explicitly: the antisymmetrization of x ⊗ₜ y wedges to 2 • (x ∧ y).

                The wedge map is natural in the module.

                The symmetric comparison is equivariant: the restriction of f ⊗ f to the symmetric tensors is SymmetricPower.map f. With TauCeti.symmetricTensorsEquivSymmetricPower this is what makes the symmetric tensors a symmetric square of representations, not only of modules.

                The exterior comparison is equivariant: the restriction of f ⊗ f to the antisymmetric tensors is exteriorPower.map 2 f.