Back to LAPACK/BLAS
la.inverses.pinv
Compute the Moore-Penrose pseudoinverse of an m×n matrix A.
Syntax
la.inverses.pinv(A, options?)
Description
Compute the Moore-Penrose pseudoinverse of an m×n matrix A. The pseudoinverse A^+ satisfies: - A * A^+ * A = A - A^+ * A * A^+ = A^+ - (A * A^+)^T = A * A^+ - (A^+ * A)^T = A^+ * A For full-rank matrices: - If m >= n (overdetermined): A^+ = (A^T*A)^(-1) * A^T - If m < n (underdetermined): A^+ = A^T * (A*A^T)^(-1) This implementation uses SVD: A = U * S * V^T => A^+ = V * S^+ * U^T where S^+ is the pseudoinverse of the diagonal singular value matrix.
Parameters
| Name | Description |
|---|---|
| A | - Input matrix (m × n) |
| options(optional) | - Computation options |
Returns
PinvResult