Can you help solve for this equation or give some hints for me?

108 Views Asked by At

$C \in \mathbb{R}^{m \times n}$, $X \in \mathbb{R}^{m \times n}$, $W \in \mathbb{R}^{m \times k}$, $H \in \mathbb{R}^{n \times k}$

$\circ$ is Hadamard product (element-wise product).

$$[C \circ (WH^T)]H - (C \circ X)H +{\lambda}W = 0 \quad (1)$$

Hi everyone,

In equation (1), how to get the $W$ expression, that is $W$ was expressed by other matrices. Or is there some ways to change the hadamard product to ordinary matrix product (if no such hadamard product, it is easy to solve as usual)? What is the trick to solve such kinds of equations?

$$W = ?$$

Thanks.

Kevin

2

There are 2 best solutions below

1
On

It's of the form $L(W) + \lambda W = B$ where $L$ is a linear operator, so if $L + \lambda I$ is invertible the solution is $W = (L+\lambda I)^{-1} B$. I don't know if there is a very nice expression for $(L + \lambda I)^{-1}$.

2
On

I try to solve it by vectorization and kronecker product according to the fact.

$$vec(ABC) = (C^T \otimes A) vec(B)$$

$$vec(A \circ B )=diag(vec(A)) vec(B)$$

So,

$$I_m[C \circ (W \times H^T) ]H + \lambda I_m W I_k = I_m (C \circ X)H$$

$$(H^T \otimes I_m) vec[C \circ (WH^T)] + \lambda (I_k^T \otimes I_m)vec(W)=(H^T \otimes I_m)vec(C \circ X) $$

$$(H^T \otimes I_m) diag[vec(C)]vec[I_m WH^T] + \lambda (I_k^T \otimes I_m)vec(W)=(H^T \otimes I_m)vec(C \circ X)$$

$$(H^T \otimes I_m) diag[vec(C)](H \otimes I_m) vec(W) + \lambda (I_k^T \otimes I_m)vec(W)=(H^T \otimes I_m)vec(C \circ X)$$

So,

$$vec(W)=[(H^T \otimes I_m) diag[vec(C)](H \otimes I_m) + \lambda (I_k^T \otimes I_m)]^{-1}(H^T \otimes I_m)vec(C \circ X)$$

Hope, anyone help check the result if it is right. Thanks.