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$
1
  • $\begingroup$ Try ComplexExpand[PseudoInverse[mat]]. $\endgroup$ Commented Nov 17, 2012 at 15:16

1 Answer 1

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$
1
  • $\begingroup$ Yes thats true,it works just fine, thank you very much you have been very helpful! $\endgroup$ Commented Nov 17, 2012 at 15:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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