✦ For everyone, free.

Practical knowledge for real and everyday life

Home

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 (p,q) over an n-dimensional vector space is represented, in a fixed basis, by an array with:

np+q

components. After a single contraction reduces the type to (p-1,q-1), the resulting array has:

np+q-2

components, so the component array reduction factor is exactly 1/n2.


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 n. 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:

np+q - np+q-2 = np+q-2 (n2-1)

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 n 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 k contractions in sequence reduces the component array to:

np+q-2k

components, an overall reduction factor of 1/n2k relative to the original array.

Full Contraction to Scalar

When p=q=k, iterated contraction reduces the component array all the way to a single scalar value, n0=1, from an original array of n2k components.


Visual Comparison

Before: n = 3, type (2,1), 27 components After: type (1,0), 3 components

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.