Turning Matrix Equation into a Sylvester Equation

112 Views Asked by At

Let $\mathbf X$ be an $n \times m$ matrix, $\mathbf a_i$ be an $n\times 1$ vector for all $i\in\{1,\dots,n\}$, $\mathbf B_i$ be an $m\times m$ matrix for all $i\in\{1,\dots,n\}$, and $\mathbf C$ be an $n \times m$ matrix.

I am trying to solve the following equation for $\mathbf X$:

\begin{equation} \mathbf X -\begin{bmatrix} \mathbf a_1'\mathbf X\mathbf B_1\\ \vdots\\ \mathbf a_n'\mathbf X\mathbf B_n \end{bmatrix}= \mathbf C. \end{equation}

My guess is that this can be represented as a Sylvester Equation using some Kronecker product trick, but I haven't been able to work it out.

1

There are 1 best solutions below

0
On BEST ANSWER

I suppose $a_i'$ means the transpose of $a_i$. Let $e_i$ be the $i$-th vector in the standard basis of the $n$-dimensional vector space. Then your equation is equivalent to $e_i'X-a_i'XB_i=e_iC$ for each $i$, which can be rewritten as $(I_m\otimes e_i'-B_i^T\otimes a_i')\operatorname{vec}(X)=\operatorname{vec}(e_i'C)=C^Te_i$. Collect all equations together, you get $$ \pmatrix{ I_m\otimes e_1'-B_1^T\otimes a_1'\\ \vdots\\ I_m\otimes e_n'-B_n^T\otimes a_n'\\ }\operatorname{vec}(X)=\operatorname{vec}(C^T). $$ There is nothing fancy here. Since $X$ has $mn$ entries and the matrix equation is linear in $X$, you get a system of $mn$ homogeneous linear equations in $mn$ unknowns.