In multilinear algebra, mode-m flattening[1][2][3], also known as matrixizing, matricizing, or unfolding,[4] is an operation that reshapes a multi-way array
into a matrix denoted by
(a two-way array).
Matrixizing may be regarded as a generalization of the mathematical concept of vectorizing.
The mode-m matrixizing of tensor
is defined as the matrix
As the parenthetical ordering indicates, the mode-m column vectors are arranged by sweeping all the other mode indices through their ranges, with smaller mode indexes varying more rapidly than larger ones; thus[1]
{\displaystyle [{\bf {A}}_{[m]}]_{jk}=a_{i_{1}\dots i_{m}\dots i_{M}},}
ℓ = 0
ℓ ≠ m
ℓ
By comparison, the matrix
that results from an unfolding[4] has columns that are the result of sweeping through all the modes in a circular manner beginning with mode m + 1 as seen in the parenthetical ordering.
This is an inefficient way to matrixize.
[citation needed] This operation is used in tensor algebra and its methods, such as Parafac and HOSVD.
[citation needed]