Stuck on equation with Hadamard product and transpose I have been stuck the last few days on the resolution of an equation I built for a phenomenon's modelling. Let $D_O$ and $D_H$ be square, diagonal, $n \times n$-sized matrices. Let also $H$, $O$, $W$ and $X$ be square, $n \times n$ (but not diagonal) matrices. 
I want to find $H$ satisfying the following equation :
$H^T = W D_H X + D_H (W \circ H) + D_O (W \circ O)$ 
$A \circ B$ being the Hadamard product of $A \text{ and } B$.
What's been blocking me is the $H^T$, that complicates the resolution since I struggle to only keep one form of $H$.
I only could go a bit further than what's above :
$
\begin{align}
H^T &= W D_H X + D_H (W \circ H) + D_O (W \circ O)\\
H^T &= W D_H X + (D_H W )\circ H + (D_O W) \circ O\\
H^T - (D_H W )\circ H &= W D_H X + (D_O W) \circ O
\end{align}$
And this is where I'm stuck. Applying the inverse of the Hadamard on $H^T$ only seems to complicate things. I have seen answers on other threads involving the Kronecker product, but the way it works confused me a bit.
Thank you
 A: Vectorizing your equation leads to a conventional system of equations on a vector of entries.  Let $\otimes$ denote the Kronecker product. Note that 


*

*$\operatorname{vec}(AXB) = (B^T \otimes A)\operatorname{vec}(X)$,

*$\operatorname{vec}(B \circ X) = \operatorname{diag}(\operatorname{vec}(B)) \operatorname{vec}(X)$,

*$\operatorname{vec}(X^T) = P\operatorname{vec}(X)$,


where $P$ denotes the permutation matrix 
$$
P = \sum_{i=1}^n \sum_{j=1}^n (e_j \otimes e_i)(e_i \otimes e_j)^T = 
\sum_{i=1}^n \sum_{j=1}^n \operatorname{vec}(E_{ij})[\operatorname{vec}(E_{ji})]^T.
$$
With that, we find that vectorizing both sides of your equation yields
$$
H^T = W \times D_H \times X  + D_O \times (W \circ O) \implies\\
H^T - D_H \times (W \circ H) =  W \times D_H \times X  + D_O \times (W \circ O) \implies\\
P\operatorname{vec}(H) - (I_n \otimes D_H)\operatorname{diag}(\operatorname{vec}(W))\operatorname{vec}(H) = \operatorname{vec}[W \times D_H \times X  + D_O \times (W \circ O)] \implies\\
[P - (I_n \otimes D_H)\operatorname{diag}(\operatorname{vec}(W))]\operatorname{vec}(H) = \operatorname{vec}[W \times D_H \times X  + D_O \times (W \circ O)].
$$
Now, simply solve for $\operatorname{vec}(H)$, then "unvectorize".
