If you don't mind a bit of algebra, you could write the equations in terms of their real and imaginary parts:
M A = B
(Re M + i Im M) (Re A + i Im A) = (Re B + i Im B)
(Re M) (Re A) - (Im M) (Im A) = Re B
(Re M) (Im A) + (Im M) (Re A) = Im B
The latter two equations are two coupled (real) equations for the unknowns Re A
and Im A
, which you can solve for using Math::MatrixReal as in your example.
Update: You could write these two coupled equations as one matrix equation:
/ Re M -Im M \ / Re A \ / Re B \
| | | | = | |
\ Im M Re M / \ Im A / \ Im B /
and then use Math::MatrixReal as before.