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.

Comment onRe: Working with complex, not real number matricesSelectorDownloadCode