The product of tensors #
i. Overview #
In this module we define the tensor product of
- index components of tensors,
- pure tensors, and
- tensors. We prove a number of properties about these products, for example, permutation of the factors, equivariance, and associativity.
ii. Key results #
Pure.prodP: The tensor product of two pure tensors.prodT: The tensor product of two tensors.
The following results exist for both prodP and prodT :
prodT_swap: Swapping the order of the product of two tensors.prodT_permT_left: Permuting the indices of the left tensor commute with the product.prodT_permT_right: Permuting the indices of the right tensor commute with the product.prodT_equivariant: The product of two tensors is equivariant.prodT_assoc: The product of three tensors is associative.prodT_assoc': The product of three tensors is associative in the other direction.
iii. Table of contents #
- A. Products of index components
- B. Products of pure tensors
- B.1. Indexing pure tensors by
Fin n1 ⊕ Fin n2rather thanFin (n1 + n2) - B.2. The product of two pure tensors
- B.3. The vectors making up product of two pure tensors
- B.4. The product of two pure basis vectors
- B.5. The basis components of the product of two pure tensors
- B.6. Equivariance of the product of two pure tensors
- B.7. Product with a tensor with no indices on the right
- B.8. Swapping the order of the product of two pure tensors
- B.9. Permuting the indices of the left tensor in a product
- B.10. Permuting the indices of the right tensor in a product
- B.11. Associativity of the product of three pure tensors in one direction
- B.12. Associativity of the product of three pure tensors in the other direction
- B.1. Indexing pure tensors by
- C. Products of tensors
- C.1. Indexing tensors by
Fin n1 ⊕ Fin n2rather thanFin (n1 + n2) - C.2. The product of two tensors
- C.3. The product of two pure tensors as a tensor
- C.4. The product of basis vectors
- C.5. The product as an equivalence
- C.6. Rewriting the basis for the product in terms of the tensor product basis
- C.7. Equivariance of the product of two tensors
- C.8. The product with the default tensor with no indices on the right
- C.9. Swapping the order of the product of two tensors
- C.10. Permuting the indices of the left tensor in a product
- C.11. Permuting the indices of the right tensor in a product
- C.12. Associativity of the product of three tensors in one direction
- C.13. Associativity of the product of three tensors in the other direction
- C.1. Indexing tensors by
iv. References #
- arXiv:2411.07667
A. Products of index components #
The equivalence between ComponentIdx (Fin.append c c1) and
Π (i : Fin n1 ⊕ Fin n2), Fin (S.repDim (Sum.elim c c1 i)).
Equations
- TensorSpecies.Tensor.ComponentIdx.prodIndexEquiv = (finSumFinEquiv.piCongr fun (x : Fin n1 ⊕ Fin n2) => finCongr ⋯).symm
Instances For
A.2. The product of two index components #
The product of two component indices.
Equations
Instances For
A.3. The product of component indices as an equivalence #
The equivalence between ComponentIdx (Fin.append c c1) and
ComponentIdx c × ComponentIdx c1 formed by products.
Equations
- One or more equations did not get rendered due to their size.
Instances For
B. Products of pure tensors #
The equivalence between pure tensors based on a product of lists of indices, and
the type Π (i : Fin n1 ⊕ Fin n2), S.FD.obj (Discrete.mk ((Sum.elim c c1) i)).
Equations
- One or more equations did not get rendered due to their size.
Instances For
B.2. The product of two pure tensors #
Given two pure tensors p1 : Pure S c and p2 : Pure S c, prodP p p2 is the tensor
product of those tensors returning an element in
Pure S (Sum.elim c c1 ∘ ⇑finSumFinEquiv.symm).
Equations
Instances For
B.3. The vectors making up product of two pure tensors #
B.4. The product of two pure basis vectors #
B.5. The basis components of the product of two pure tensors #
B.6. Equivariance of the product of two pure tensors #
B.7. Product with a tensor with no indices on the right #
B.8. Swapping the order of the product of two pure tensors #
B.9. Permuting the indices of the left tensor in a product #
B.10. Permuting the indices of the right tensor in a product #
B.11. Associativity of the product of three pure tensors in one direction #
B.12. Associativity of the product of three pure tensors in the other direction #
C. Products of tensors #
The equivalence between the type S.F.obj (OverColor.mk (Sum.elim c c1)) and the type
S.Tensor (Fin.append c c1).
Equations
- One or more equations did not get rendered due to their size.
Instances For
C.2. The product of two tensors #
The tensor product of two tensors as a bi-linear map from
S.Tensor c and S.Tensor c1 to S.Tensor (Fin.append c c1).
Equations
- One or more equations did not get rendered due to their size.
Instances For
C.3. The product of two pure tensors as a tensor #
C.4. The product of basis vectors #
C.5. The product as an equivalence #
The linear equivalence between S.Tensor c ⊗[k] S.Tensor c1 and
S.Tensor (Fin.append c c1).
Equations
- One or more equations did not get rendered due to their size.
Instances For
C.6. Rewriting the basis for the product in terms of the tensor product basis #
Rewriting basis for the product in terms of the tensor product basis.