# Inverse of a restriction of a non-invertible matrix

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

e=0.001;
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.

• 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

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 eigenvectors 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.

• 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