Message Boards Message Boards

Solving matrix equation using Solve?

Posted 2 years ago

Hi, I am a new Mathematica user.

Is there a way to solve analytically the following matrix equation for the unknown matrix C?

Solve[A11 . C == C . A21 . C + C . A22 , C]

where A11, A21, A22 and C are all 2x2 matrices?

Not sure my syntax above is correct but Mathematica says "Solve: This system cannot be solved with the methods available to Solve."

Perhaps an analytical solution is not always available?

I would appreciate any comments or suggestions...

POSTED BY: Anton Nakov
3 Replies

That is nonlinear and with symbolic parameters, good luck!

POSTED BY: Gianluca Gorni
Posted 2 years ago

Thanks a lot, that's very useful!!

The problem I am trying to solve is listed below, it says "running", hopefully it works also with symbols Where beta kappa sigma theta are all real numbers.

A11 = {{\[Beta] + \[Kappa]/\[Sigma], \[Kappa]}, {1/\[Sigma], 1}};
A21 = {{\[Theta]/(\[Sigma] . \[Sigma]) - \[Kappa]/\[Sigma] - \[Beta], \
\[Theta]/\[Sigma] - \[Kappa]}, {\[Beta] . \[Theta]/(\[Sigma] . \
\[Sigma]), \[Beta] . \[Theta]/\[Sigma]}};
A22 = {{1 + \[Kappa]/\[Sigma], 
    1}, {\[Beta] . \[Kappa]/\[Sigma], \[Beta]}};
Solve[A11 . c == c . A21 . c + c . A22 && 
  Element[c, Matrices[{2, 2}]], c]
POSTED BY: Anton Nakov

You can declare that your variable c is a matrix:

A11 = RandomInteger[{-3, 3}, {2, 2}];
A22 = RandomInteger[{-3, 3}, {2, 2}];
A21 = RandomInteger[{-3, 3}, {2, 2}];
Solve[A11 . c == c . A21 . c + c . A22 && 
  Element[c, Matrices[{2, 2}]], c]
POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract