Mode-k flattening

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]

Flattening a (3rd-order) tensor. The tensor can be flattened in three ways to obtain matrices comprising its mode-0, mode-1, and mode-2 vectors. [ 1 ]