Three-way tensors, tensor rank, and border rank #
A 3-tensor T ∈ ℂ^α ⊗ ℂ^β ⊗ ℂ^γ is given by its coordinates T i j k in the standard bases
a_i ⊗ b_j ⊗ c_k (Algebraic.Tensor3). It carries the pointwise vector-space structure and the
product topology on coordinates; for finite index types this is the usual Euclidean topology of
ℂ^{α × β × γ}.
Tensor3.outer u v wis the outer productu ⊗ v ⊗ w, with coordinatesu i * v j * w k.Tensor3.RankLE T r:Tis a sum ofrouter products. Zero summands are allowed, so this is monotone inr;RankLE T 1says thatTis an outer product (rank at most one).Tensor3.tensorRank Tis the least suchr.Tensor3.BorderRankLE T r:Tlies in the closure of the set of tensors of rank at mostr, that is,Tis a limit of tensors of rank at mostr.Tensor3.borderRank Tis the least suchr.Tensor3.map X Y Z Tapplies the matricesX,Y,Zto the three factors, the linear mapX ⊗ Y ⊗ Z.Tensor3.subtensor T f g hreindexesTalong maps of the index types: deleting, permuting, or repeating slices in each factor.
The basic facts about these notions are in
Complexitylib.Algebraic.LinearAlgebra.Tensor.BorderRank.
A 3-tensor in ℂ^α ⊗ ℂ^β ⊗ ℂ^γ, given by its coordinates: T i j k is the coefficient of
a_i ⊗ b_j ⊗ c_k.
Equations
- Algebraic.Tensor3 α β γ = (α → β → γ → ℂ)
Instances For
The tensor rank of T: the least r such that T is a sum of r outer products. Over
finite index types such an r exists (Tensor3.rankLE_tensorRank).
Instances For
T has border rank at most r: it lies in the closure, for the product topology on
coordinates, of the set of tensors of rank at most r.
Equations
- T.BorderRankLE r = (T ∈ closure {S : Algebraic.Tensor3 α β γ | S.RankLE r})
Instances For
The border rank of T: the least r such that T is a limit of tensors of rank at most
r. Over finite index types such an r exists (Tensor3.borderRankLE_borderRank).
Equations
- T.borderRank = sInf {r : ℕ | T.BorderRankLE r}
Instances For
The image of T under the linear map X ⊗ Y ⊗ Z, for matrices X : ℂ^α → ℂ^α',
Y : ℂ^β → ℂ^β', and Z : ℂ^γ → ℂ^γ'.
Equations
- Algebraic.Tensor3.map X Y Z T i' j' k' = ∑ i : α, ∑ j : β, ∑ k : γ, X i' i * Y j' j * Z k' k * T i j k
Instances For
Reindex T along maps of the three index types: the (i, j, k) coordinate of the result
is the (f i, g j, h k) coordinate of T. For injective maps this deletes and permutes
slices.