tensorly.kr

kr(matrices, mask=None)

Khatri-Rao product of a list of matrices

This can be seen as a column-wise kronecker product.

Parameters

matrices : list of tensors

List of 2D tensors with the same number of columns, i.e.:

for i in len(matrices):
    matrices[i].shape = (n_i, m)
Returns

khatri_rao_product : tensor of shape (prod(n_i), m)

Where prod(n_i) = prod([m.shape[0] for m in matrices]) (i.e. the product of the number of rows of all the matrices in the product.)

Notes

Mathematically:

\text{If every matrix } U_k \text{ is of size } (I_k \times R),\\
\text{Then } \left(U_1 \bigodot \cdots \bigodot U_n \right) \\
text{ is of size } (\prod_{k=1}^n I_k \times R)