Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I have given a general $n \times d$ matrix $B$, and need to compute two similarity matrices $R \in \mathbb{R}^{n \times n}$ and $S \in \mathbb{R}^{d \times d}$ as follows:

$R = BSB^\top$ and $S = B^\top RB$.

Inserting one equation into the other yields $S = B^\top B S B^\top B$. I assume a solution doesn't always exist. In this case, I'm interested in an approximate solution that minimizes $||S - B^\top B S B^\top B||_F$.

Is there a name for this kind of problem? And is there an efficient way to solve it (possibly using some iterative algorithm)?

Note: The zero matrix would satisfy above equation, but I need similarity matrices, i.e. symmetric matrices for which the diagonal elements must be equal to 1.

share|improve this question
The zero matrix seems to work - do you want to exclude it? –  Mark Bennet May 22 '12 at 17:33
@MarkBennet: Thanks, I simply forgot to check. The zero matrix is excluded, see the edit. –  blubb May 22 '12 at 19:20
This seems relevant: en.wikipedia.org/wiki/Lyapunov_equation –  Rahul May 22 '12 at 19:26
@RahulNarain: Unfortunately, this method is not restricted to similarity matrices and always returns the zero matrix. –  blubb May 22 '12 at 19:52

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.