13.15.4 Tensor Contraction Component Array Reduction
Tensor Contraction reduces tensor components by summing over indices, simplifying complex array structures in mathematical models.
Tensor Contraction Component Array Reduction is the change in the size of the multidimensional array used to store a tensor's components that results from a contraction operation. Where order reduction and slot count reduction describe abstract index bookkeeping, component array reduction describes the concrete shrinkage in the number of stored numerical values needed to represent the tensor after contraction.
Definition
A tensor of type over an -dimensional vector space is represented, in a fixed basis, by an array with:
components. After a single contraction reduces the type to , the resulting array has:
components, so the component array reduction factor is exactly .
Reduction Factor Behavior
Dimension Dependence
Unlike order reduction, which is always exactly two regardless of the underlying space, component array reduction depends strongly on the dimension . In a two-dimensional space, contraction shrinks the component count by a factor of four; in a ten-dimensional space, the reduction factor is one hundred.
Absolute Count Change
The absolute drop in component count is:
which grows rapidly with both the original order and the dimension of the space.
Summation Cost Versus Storage Reduction
Although the resulting array is smaller, computing each of its entries requires summing over terms, the range of the contracted index. The component array reduction in storage therefore comes with an offsetting computational cost during the contraction itself, proportional to the size of the original array.
Iterated Reduction
After k Contractions
Applying contractions in sequence reduces the component array to:
components, an overall reduction factor of relative to the original array.
Full Contraction to Scalar
When , iterated contraction reduces the component array all the way to a single scalar value, , from an original array of components.
Visual Comparison
Practical Consequences
Component array reduction is the reason contraction is often used to compress high-order tensor data, such as reducing a stress-energy tensor to a trace scalar, or reducing a Riemann curvature tensor to a Ricci tensor and then to a scalar curvature. Each contraction step trades a fixed multiplicative shrinkage in stored size for a summation computed once during the contraction pass.