Name of this Kronecker-product-like operation?

149 Views Asked by At

Suppose $A,B$ are $n$-by-$m$ matrices. Let $X_i$ indicate i'th column of matrix $X$, $\otimes$ indicate Kronecker product.

I'm interested in $n^2$-by-$m$ matrix $C$ where

$c_i = a_i \otimes b_i$

Is there a name for this operation, or a way to express it in terms of conventional math operations?

1

There are 1 best solutions below

2
On BEST ANSWER

This is usually called the Khatri-Rao product. Beware though, sometimes sources (including parts of wikipedia) use the same name to refer to something different.

It often arises when dealing with tensors that have been flattened into matrices.

For a reference, see section 2.6 of the following paper:

Kolda, Tamara G., and Brett W. Bader. "Tensor decompositions and applications." SIAM review 51.3 (2009): 455-500. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.454.202&rep=rep1&type=pdf

In the paper they list some algebraic properties of the Khatri-Rao product, which I repeat here for reference.

Let $\odot$ be the Khatri-Rao product as defined in this question and $*$ be the Hadamard (entrywise multiplication) product. I.e., writing $\mathbf{a}_i$ and $\mathbf{b}_i$ as the column vectors of $A$ and $B$ respectively, we define \begin{align} A \odot B :=& \begin{bmatrix}\mathbf{a}_1 \otimes \mathbf{b}_1 & \mathbf{a}_2 \otimes \mathbf{b}_2 & \dots & \mathbf{a}_n \otimes \mathbf{b}_n\end{bmatrix}, \\ (A * B)_{ij} :=& A_{ij} B_{ij}. \end{align} Also let $M^\dagger$ denote the pseoduinverse of $M$. Then the following algebraic identities hold: \begin{align} A \odot B \odot C &= (A \odot B) \odot C = A \odot (B \odot C)\\ (A \odot B)^T(A \odot B) &= A^T A * B^TB \\ (A \odot B)^\dagger &= ((A^T A)*(B^T B))^\dagger (A \odot B)^T \end{align}