0
$\begingroup$

Does anyone how to solve this matrix equation? $$ PXQ^T+P^TXQ=A$$ where all matrices are real and square. Can you provide me with some guidelines? Thanx

$\endgroup$
0

2 Answers 2

2
$\begingroup$

Use vectorization operator $\mathrm{vec}(\cdot)$ to convert your matrix equation into linear equation form.

Note that $\mathrm{vec}(PXQ^T)=(Q \otimes P) \mathrm{vec(X)}$.

So it is sufficient to solve linear equation $Bx=b$, where $B=P \otimes Q+Q^T \otimes P^T$, $x=\mathrm{vec}(X)$, and $b=\mathrm{vec}(A)$.

$\endgroup$
2
  • $\begingroup$ Presumably you mean vectorization en.wikipedia.org/wiki/Vectorization_(mathematics), and $\mathrm{vec}(PQ)$ means $\mathrm{vec}(Q \otimes P)$. $\endgroup$
    – S. Carnahan
    Commented Jul 3, 2014 at 13:01
  • $\begingroup$ $B$ should be $Q\otimes P + Q^T \otimes P^T$, without the $\operatorname{vec}$, isn't it? $\endgroup$ Commented Jul 3, 2014 at 14:17
1
$\begingroup$

If you are solving this numerically on a computer, you should use a variant of the Bartels-Stewart method; see for instance http://dl.acm.org/citation.cfm?id=146929 (Gardiner, Laub, Amato, Moler).

This costs $O(n^3)$ operations rather than $O(n^6)$ for the vectorization approach.

$\endgroup$
2
  • $\begingroup$ Why downvote? Did the vectorization approach was incorrect? $\endgroup$ Commented Jul 3, 2014 at 13:34
  • $\begingroup$ @Mahdi no, the idea works, it is just inefficient if the OP has practical solution in mind, and it seems to me that the algebra in your post is still incorrect. Please do not take the downvote as a personal thing. $\endgroup$ Commented Jul 3, 2014 at 13:54

Not the answer you're looking for? Browse other questions tagged .