Physlib.Relativity.Tensors.Product
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 - A.1. Indexing components by `Fin n1 ⊕ Fin n2` rather than `Fin (n1 + n2)` - A.2. The product of two index components - A.3. The product of component indices as an equivalence - B. Products of pure tensors - B.1. Indexing pure tensors by `Fin n1 ⊕ Fin n2` rather than `Fin (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 - C. Products of tensors - C.1. Indexing tensors by `Fin n1 ⊕ Fin n2` rather than `Fin (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
iv. References
- arXiv:2411.07667
A. Products of index components
A.1. Indexing components by `Fin n1 ⊕ Fin n2` rather than `Fin (n1 + n2)`
A.2. The product of two index components
A.3. The product of component indices as an equivalence
B. Products of pure tensors
B.1. Indexing pure tensors by `Fin n1 ⊕ Fin n2` rather than `Fin (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
C. Products of tensors
C.1. Indexing tensors by `Fin n1 ⊕ Fin n2` rather than `Fin (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
52 declarations
Equivalence for product of component indices
Given natural numbers and , and color sequence mappings and , this defines the equivalence between the component indices of the appended sequence, denoted as `ComponentIdx (Fin.append c c1)`, and the dependent product , where represents the disjoint union (sum elimination) of the sequences and .
Product of component indices and
Given color sequences and , and component indices and , their product is a component index for the concatenated color sequence . Specifically, for an index , the value of the product index at is if , and if .
Components of the product of component indices and
Let and let and be color sequences. For component indices and , their product is a component index for the concatenated sequence . Let be the standard equivalence between the disjoint union and the finite set of the sum. For any , the evaluation of the product index is given by:
Equivalence
Let be a tensor species. For any two color sequences and , let be the set of basis indices for a tensor with colors . This definition establishes a bijective correspondence (equivalence) between the component indices of the concatenated color sequence, , and the Cartesian product of the individual component index sets . Specifically, the forward map splits a combined index into its first and subsequent components, while the inverse map concatenates a pair of indices into a single index for the combined sequence.
Equivalence between pure tensors over concatenated indices and disjoint union of indices
Let be a tensor species, and let and be index maps. This establishes an equivalence between the pure tensors of indexed by the concatenation of and , and the dependent product , where is the induced map on the disjoint union and is the functor mapping indices to their associated vector spaces.
Tensor Product of Pure Tensors
Let be a tensor species. For any two pure tensors and with index maps and respectively, their tensor product is the pure tensor in defined by the concatenation of their components. Specifically, for an index , the component of the product is , and for , the component at the corresponding shifted index is , subject to the appropriate canonical isomorphisms between the vector spaces.
Components of the Product of Pure Tensors via Disjoint Union of Indices
Let be a tensor species. For any two pure tensors and , where and are index maps, let denote their tensor product. Let be the standard equivalence between the disjoint union and the combined finite set. For any index , the component of the tensor product at is given by: - If for , then , - If for , then , where and are canonical isomorphisms between the corresponding vector spaces in the tensor species (formally defined as the action of the functor on the identity morphism).
Evaluation of the Tensor Product of Pure Tensors on Left Indices
Let be a tensor species. For any two pure tensors and with index maps and respectively, let denote their tensor product. For any index , the component of the tensor product at the index (embedded into the combined index set ) is given by: where is the canonical isomorphism between the vector spaces at the corresponding indices (formally defined as the action of the functor on the identity morphism).
Evaluation of the Tensor Product of Pure Tensors on Right Indices
Let be a tensor species. For any two pure tensors and with index maps and respectively, let denote their tensor product. For any index , the component of the tensor product at the shifted index is given by: where is the canonical isomorphism between the vector spaces at the corresponding indices (formally defined as the action of the functor on the identity morphism).
for Pure Basis Vectors
Let be a tensor species. For color sequences and , let and be component indices, and let and denote their corresponding pure basis vectors. The tensor product of these basis vectors is equal to the basis vector associated with the product of the component indices: where denotes the product of pure tensors (`prodP`) and denotes the product of component indices.
for Pure Tensors
Let be a tensor species. For any two pure tensors and with color sequences and respectively, let denote their tensor product. For any basis index of the concatenated color sequence , the component of the product at index is equal to the product of the individual components: where is the pair of indices in corresponding to under the canonical equivalence.
Equivariance of Pure Tensor Product:
Let be a tensor species and be a group acting on the tensors. For any group element and any two pure tensors and , the tensor product operation is equivariant with respect to the group action: where denotes the tensor product of pure tensors (`prodP`) and denotes the group action.
Permutation Condition for Product with a Pure Tensor with No Indices on the Right
For any sequence of indices and an empty sequence of indices , the identity permutation satisfies the permutation condition between and the concatenation of and .
Tensor Product of a Pure Tensor with a Right Zero-Index Pure Tensor
Let be a tensor species. For any pure tensor with index map and any pure tensor with an empty index map , the tensor product is equal to the pure tensor re-indexed via the identity permutation onto the concatenated index sequence .
Product Swap Map
For natural numbers and , this defines the map between and formed by swapping the two blocks of elements.
The swap map satisfies the permutation condition for concatenated indices
For any natural numbers and , and any index species mappings and , the permutation —which swaps two blocks of indices of sizes and —satisfies the permutation condition relative to the concatenated index mappings and . This ensures that the species of indices are preserved when the order of the tensor components is swapped.
Swapping the order of the product of two pure tensors
Let be a tensor species. For any two pure tensors and with index mappings and respectively, the tensor product is equal to the permutation of the tensor product under the map , which swaps the block of indices with the block of indices. That is, where denotes the permutation of the indices of a pure tensor.
Induced map on left tensor indices
Given a natural number and a map , this defines the induced map which applies to the first elements and acts as the identity on the remaining elements.
For any natural numbers and , the induced map on the combined indices that applies the identity map to the first indices and acts as the identity on the remaining indices is equal to the identity map on .
`prodLeftMap` preserves the permutation condition
Let be natural numbers. Let , , and be index type assignments. Suppose a map satisfies the permutation condition . Then the induced map , which applies to the first indices and acts as the identity on the remaining indices, satisfies the permutation condition with respect to the concatenated index types and .
Let be a tensor species. Let be a pure tensor with index map and be a pure tensor with index map . For any map satisfying the permutation condition between and , let be the tensor with its indices permuted by . Then the tensor product of this permuted tensor with satisfies: where is the map on the combined index set that applies to the first indices and acts as the identity on the remaining indices, and is the induced permutation condition for the concatenated index maps.
Induced map on right indices
Given a natural number and a map , this defines the induced map that acts as the identity on the first elements and applies to the remaining elements.
For any natural numbers and , the induced map on the set of indices , which is defined to act as the identity on the first indices and apply the identity map to the remaining indices, is equal to the identity map on the entire set .
`prodRightMap` preserves the permutation condition of species maps
Let and be maps assigning species to tensor indices. Let be a map satisfying the permutation condition , which ensures that the species at index in matches the species at in . For any natural number and any species map , let the induced map be the map on indices that acts as the identity on the first indices and applies (offset by ) to the remaining indices. This theorem states that the induced map satisfies the permutation condition for the concatenated species maps and .
Let be a tensor species. Let be a pure tensor with index map and be a pure tensor with index map . For any map satisfying the permutation condition between and , let be the tensor with its indices permuted by . Then the tensor product of with this permuted tensor satisfies: where is the map on the combined index set that acts as the identity on the first indices and applies to the remaining indices, and is the induced permutation condition for the concatenated index maps.
Product associativity map
The map between the finite sets of size and formed by casting using the associativity of addition.
The product associativity map preserves indices in the first block
For any natural numbers and any index , the product associativity map maps the index , when embedded into the first block of the set , to the corresponding index in the first block of . Specifically, where denotes the inclusion of into as the first elements, and is the canonical isomorphism between the disjoint union and the set .
Value of `prodAssocMap` for middle indices
For any natural numbers and any index , the product associativity map satisfies: In this context, represents the set of natural numbers . The expression identifies as an element of the "middle" block of size within the range , yielding the value . The function is the standard equivalence between the sum of finite sets and the finite set . Thus, the theorem states that maps the index from the first grouping to the corresponding index in the second grouping.
`prodAssocMap` preserves right-side indices of a triple product
For any natural numbers and an index , the product associativity map maps the index (offset by ) to the result of nested right-injections into the sum type structure. Specifically: where denotes the canonical equivalence between a sum type and the finite set , and is the right injection into a sum type.
satisfies the permutation condition for triple concatenated species maps
For any natural numbers and maps , , and assigning species labels to indices, the product associativity map satisfies the permutation condition relating the two ways of concatenating these maps. Specifically, the species assigned to an index in the regrouped concatenation is identical to the species assigned to its image in the concatenation .
Associativity of the Tensor Product of Pure Tensors:
Let be a tensor species. For any three pure tensors , , and with index maps , , and respectively, the tensor product operation (denoted formally as `prodP`) is associative up to a canonical re-indexing. Specifically: where is the `prodAssocMap`, which regroups the indices based on the associativity of natural number addition, and `permP` is the operation that permutes the indices of the pure tensor.
Associativity casting map from to
Given natural numbers , , and , this function provides the map from to formed by casting using the associativity of addition.
preserves indices in the first summand
For any natural numbers and any index , the associativity map maps (embedded as an element of the first summand of the right-associated sum) to the index corresponding to in the first summand of the left-associated sum. Mathematically, this is expressed as: where the left side treats as an element of via the natural inclusion `Fin.castAdd`, and the right side represents the nested inclusion of into the first summand of .
The map preserves indices in the middle block
For any natural numbers , , and , the associativity casting map maps an index located in the "middle" block (i.e., shifted by ) to the corresponding index in the reassociated sum. Specifically, it maps the index in to the index in , which is identified as being the right-hand part of the first indices.
The map preserves indices in the third block
For any natural numbers , , and , the associativity casting map maps an index located in the third block (i.e., shifted by and then by ) to the corresponding index in the reassociated sum. Specifically, it maps the index in to the index in , which is identified as being the right-hand summand of the final sum.
`prodAssocMap'` satisfies the permutation condition for tensor associativity
For any natural numbers and index color configurations , the associativity map satisfies the permutation condition between the concatenated colorings and . This indicates that the map correctly preserves the colors of the indices when reassociating the product of three tensors.
Associativity of the Pure Tensor Product:
Let be a tensor species. For any natural numbers and pure tensors , , and with index color configurations , , and respectively, the product of pure tensors is associative up to a reindexing of the indices. Specifically: where denotes the pure tensor product (`prodP`), is the canonical associativity casting map (`prodAssocMap'`), and is the operation that permutes the indices of a pure tensor according to .
Product Index Equivalence
Given a tensor species and color configurations and , this defines the linear equivalence over a field between the type and the tensor space .
The inverse index equivalence of a pure tensor equals the tensor product of its constituent vectors.
Let be a tensor species over a field . For index color configurations and , let be a pure tensor indexed by the concatenation of and . The theorem states that the inverse of the product index equivalence, , applied to the tensor representation of , is equal to the tensor product , where is the family of vectors that constitute the pure tensor .
Tensor product of tensors
For a tensor species over a ring , and index color configurations and , the function is the -bilinear map that takes a tensor and a tensor and produces their tensor product in the space , where (represented by `Fin.append c c1`) is the concatenation of the two index configurations.
Let be a tensor species over a ring . For any two pure tensors and with index color configurations and respectively, the tensor product of their general tensor representations is equal to the general tensor representation of their pure tensor product: .
for Tensor Products
Let be a tensor species over a ring . For any two index color configurations and , and for component indices and , the tensor product of the basis elements corresponding to and is equal to the tensor representation of the pure basis vector associated with the concatenated index : where denotes the tensor product of tensors (`prodT`), (represented by `Fin.append c c1`) is the concatenation of the color configurations, and (represented by `b.prod b1`) is the product of the component indices.
Linear equivalence
Let be a tensor species over a ring . For index color configurations and , let and be the respective spaces of tensors. The definition is the -linear equivalence: where (denoted by `Fin.append c c1`) is the concatenation of the color configurations. This equivalence is the linear lift of the bilinear product map , mapping the elementary tensor to the product tensor .
The basis of is the product of the bases of and
Let be a tensor species over a ring . For any two index color configurations and , the basis for the tensor space of the concatenated configuration (denoted `Fin.append c c1`) can be expressed in terms of the bases for the individual tensor spaces and . Specifically, the basis is equal to the tensor product of the bases and , reindexed by the canonical equivalence between product indices and concatenated indices, and mapped through the linear equivalence between and .
for Tensors
Let be a tensor species. For any two tensors and with index color configurations and , let (denoted `prodT t t1`) be their tensor product in the space . For any basis index , the component of the product at index is equal to the product of the components of and : where is the pair of indices in corresponding to under the canonical equivalence.
Equivariance of Tensor Product:
Let be a tensor species and be a group acting on the tensors. For any group element and any two tensors and , the tensor product operation is equivariant with respect to the group action: where denotes the tensor product of tensors (`prodT`) and denotes the group action.
Tensor Product with the Default Zero-Index Tensor on the Right:
Let be a tensor species over a ring . For any tensor with index color configuration and the default tensor with an empty index configuration , their tensor product is equal to the tensor re-indexed via the identity permutation onto the concatenated index sequence .
Swapping the order of the product of two tensors:
Let be a tensor species. For any two tensors and with index color configurations and , the tensor product is equal to the tensor product permuted by the map , which swaps the block of indices with the block of indices. That is, where is the permutation condition ensuring the species of indices are preserved.
Let be a tensor species over a ring . Let be a tensor with index color configuration and be a tensor with index color configuration . For any map satisfying the permutation condition between and , the tensor product of the permuted tensor with satisfies: where is the induced map (represented by `prodLeftMap n2 σ`) that applies to the first indices and acts as the identity on the remaining indices, and is the induced permutation condition for the concatenated index configurations.
Let be a tensor species over a ring . Let be a tensor with index color configuration and be a tensor with index color configuration . For any map satisfying the permutation condition between and , the tensor product of with the permuted tensor satisfies: where is the induced map (represented by `prodRightMap n2 σ`) that acts as the identity on the first indices and applies to the remaining indices, and is the induced permutation condition for the concatenated index configurations.
Associativity of the tensor product:
Let be a tensor species. For any three tensors with index configurations , , and respectively, the tensor product operation (denoted formally as `prodT`) is associative up to a canonical re-indexing of indices. Specifically, where is the map `prodAssocMap` that regroups the indices according to the associativity of natural number addition, is the permutation condition `prodAssocMap_permCond`, and `permT` is the operation that permutes the tensor indices.
Associativity of Tensor Product:
Let be a tensor species. For any natural numbers and tensors with index color configurations , , and respectively, the product of tensors is associative up to a re-indexing of the indices. Specifically: where is the canonical associativity casting map `prodAssocMap'`, and is the operation that permutes the indices of a tensor according to .
