MathJax

Friday, April 24, 2015

Relationship between vec operator, Schur, Kronecker and Khatri-Rao product

\(\DeclareMathOperator{\diag}{diag}\)\(\DeclareMathOperator{\vec}{vec}\) Define \(\vec(A)\) as the operation of stacking the columns of matrix \(A\) into a vector, \(A\otimes B\) the Kronecker product, \(A\circ B\) the Schur (Hadamard) product and finally \(A\diamond B\) Bhatri-Rao product is defined as the column wise Kronecker product.

Here are some useful properties:
\[(A\otimes B)^T = A^T \otimes B^T\]
\[A \diag(x \circ y) B^T = A \diag(x) \diag(y) B^T\]
\[(C\otimes D) ( A \diamond B) = CA \diamond DB \]
\[\vec(AXB^T) = (B \otimes A) \vec(X)\]
\[\vec(A \diag(x) B^T) = (A \diamond B) x\]
\[(A\diamond B \diamond x^T) y = (A \diamond B) (x \circ y)\]

Where \(A,B,C,D,X\) are matrices and \(x,y\) are vectors of compatible dimensions.

No comments: