3
$\begingroup$

I have the matrix

{{3, 2, 1}, {3, 1, 2}, {2, 3, -1}, 
{-(3/b), -(3/b^2) - 2/b, -(3/b^3) - 2/b^2 - 1/b}, 
{-(3/b), -(3/b^2) - 1/b, -(3/b^3) - 1/b^2 - 2/b}, 
{-(2/b), -(2/b^2) - 3/b, -(2/b^3) - 3/b^2 + 1/b}}

and I want to compute its inverse (or pseudoinverse).

The problem is that Mathematica solves this regarding b as a complex number. How do I change this to set b as real? I tried Assuming but that didn't work. Maybe I am writing it wrong. Any ideas? It should be fairly simple, but I am not really good at Mathematica and I couldn't find a solution elsewhere. I would be greatful for a general answer, not one specifically for this example; e.g., Pseudoinverse[a] /. Reals[b] -> ... (this didn't work).

Thanks

$\endgroup$
  • $\begingroup$ Try ComplexExpand[PseudoInverse[mat]]. $\endgroup$ – b.gates.you.know.what Nov 17 '12 at 15:16
8
$\begingroup$

Usually simplifying the result with appropriate assumptions gives desired result:

m={{3, 2, 1},
 {3, 1, 2},
 {2, 3, -1},
 {-(3/b), -(3/b^2) - 2/b, -(3/b^3) - 2/b^2 - 1/b},
 {-(3/b), -(3/b^2) - 1/b, -(3/b^3) - 1/b^2 - 2/b},
 {-(2/b), -(2/b^2) - 3/b, -(2/b^3) - 3/b^2 + 1/b}};

Simplify[PseudoInverse[m], b \[Element] Reals]
$\endgroup$
  • $\begingroup$ Yes thats true,it works just fine, thank you very much you have been very helpful! $\endgroup$ – Lazaros Moysis Nov 17 '12 at 15:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.