Solving for an unkown matrix

Is there a way to solve the following matrix equation in matlab?
P*A + B*P = C
A,B,C,P have the same matrix dimensions. A,B,C are known matrices. P is an unknown matrix.

 Accepted Answer

This is the Sylvester equation. You can solve it using the LYAP command.
A = rand(3);
B = rand(3);
C = rand(3);
P = lyap(B,A,-C)
P*A+B*P - C

More Answers (1)

Walter Roberson
Walter Roberson on 22 Sep 2011
Computationally, it can be solved when A, B, and C are given -- with, of course, exceptions for cases such as A and B are all 0 and C is not.
However, I do not know if there is a good way to formulate what the solution will be. I have the general symbolic 4 x 4 case running now, and it is taking its sweet time...

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!