[Math] Matrix product of Hadamard products

hadamard-productlinear algebramatrices

Is there a way of expressing the following expression using only matrix products ?

$(A \circ B ) (A \circ B)^H $

$\circ$ is the Hadamard product and $.^H$ is the conjugate-transpose operator.

$A$ and $B$ are matrices in $\mathbb{C}^{m \times n}$.

Best Answer

According to the comments the only ugly part was the devectorization.

Consider the 3x3 matrix $${\bf X}=\left[\begin{array}{ccc} 1&2&3\\4&5&6\\7&8&9\end{array}\right]$$

It's lexical vectorization is:

$$\text{vec}({\bf X}) = \left[\begin{array}{ccccccccc}1&4&7&2&5&8&3&6&9\end{array}\right]^T$$

We consider that kind of vectorization here.

The Matlab / Octave expression:

kron([1,0,0]',eye(3))'*kron(R(:),[1,0,0])+
kron([0,1,0]',eye(3))'*kron(R(:),[0,1,0])+
kron([0,0,1]',eye(3))'*kron(R(:),[0,0,1])-R

evaluates to the zero matrix for several random matrices R, each new term "selecting" a new row.

Then a guess would be that $${\bf R}=\sum_k({\bf v_k} \otimes {\bf I})^T(\text{vec}({\bf R})\otimes {\bf v_k}^T)$$ With $\bf v_k$ being the Dirac or selector vector: $$({\bf v_k})_i = \cases{0, k \neq i\\1, k=i}$$

Feel free to try and simplify it if you want.

Related Question