# Pseudo inverse of a matrix in .NET (C#, Visual Basic)

The pseudo inverse of a matrix is a generalization of the inverse of a matrix for general matrices $A$. $A$ does not need to be square or non-singular. The pseudo inverse of $A$ is called $A^+$ and has some properties similar to the inverse of a matrix.

$$ A \cdot A^+ \cdot A = A $$

$$ A^+ \cdot A \cdot A^+ = A^+$$

The above equations do not imply that $A \cdot A^+$ is equal to the identity matrix.

## Calculating the pseudo inverse of a matrix in .NET (C#, Visual Basic)

The pseudo inverse is calculated by using the SVD of $A$ and then inverting the singular values. The tolerance for the inversion can be set explicitly.