Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Let $A∈R^{4×4}$ be a non-invertible matrix, with $2$-dimensional kernel. How can I compute the inverse of the restriction of $A$ on a subspace where it is invertible: $A^{-1}v \,\,\,\,$ where $\,\,\,\,v∉kerA$

I have the matrix $A$ precisely, but the vector $v$ depends on some parameters and is really complicated, but I know that it doesn't belong to the kernel. More precisely

A={{e, -1, e, 1/2+e}, {-e, 1/2, -e, -e}, {e, 1/2+e, e, -1}, {-e, -e, -e, 1/2}};
NullSpace_A={{(1-2e)/(2e), 1, 0, 1}, {-1, 0, 1, 0}};

The above NullSpace_A was computed using the function NullSpace of Mathematica, so we see that

$$kerA=span\{(c_0,1,0,1);(-1,0,1,0)\}=\{(c_0α-β,\,\,α,\,\,β,\,\,α) \,\,/\,\,α,β∈R\}$$

where $c_0$ is a given constant.

P.S. Maybe this is trivial, but I am new to Mathematica.

share|improve this question
This is a Mathematica-site. Now you have 2 possibilities: (a) Rewrite your question in Mathematica Input-form and provide example data or move it to one of the other StackExchange-sites. Interesting question, though. – eldo Jun 20 '14 at 22:21
PseudoInverse is probably the function you are looking for. – Daniel Lichtblau Jun 20 '14 at 22:23
@eldo I'm sorry, I have just edited... – user149901 Jun 20 '14 at 22:36
up vote 3 down vote accepted

There is an issue of math here independent of Mathematica. A vector not being in the null space is not the same as it being in the invertible subspace. What you want to consider is the eigensystem of the matrix. The invertible subspace corresponds to the span of the eigenvecotrs with nonzero eigenvalues (the eigenspace with eigenvalues of 0 is precisely the null space).

Here is your example.

mat = {{e, -1, e, 1/2 + e}, {-e, 1/2, -e, -e},
  {e, 1/2 + e, e, -1}, {-e, -e, -e, 1/2}};

{vals, vecs} = Eigensystem[mat]

(* Out[56]= {{0, 0, 1/2 (1 + 2 e), 1/2 (1 + 2 e)},
{{-((-1 + 2 e)/(2 e)), 1, 0, 1}, {-1, 0, 1, 0},
   {-3 - 2 e, 2 (1 + e), 0, 1}, {-2 (1 + e), 1 + 2 e, 1, 0}}} *)

So the nonnull space is spanned by the third and fourth eigenvectors. If you work with PseudoInverse[mat] you will see that it does in fact allow to recover those vectors.

share|improve this answer
Thanks, exactly. One, of course, needs to see what is the image of the restriction, and if we then apply Pseudoinverse[mat] to a vector from that image we obtain the inverse of it. I checked this after your first comment to the question. Thanks :) And of course $v∉kerA$ is not enough to get invertibility, it should also belong to the image of the restriction... – user149901 Jun 22 '14 at 18:08

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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