scipy.linalg.pinv

scipy.linalg.pinv(a, cond=None, rcond=None)

Compute the (Moore-Penrose) pseudo-inverse of a matrix.

Calculate a generalized inverse of a matrix using a least-squares solver.

Parameters :

a : array, shape (M, N)

Matrix to be pseudo-inverted

cond, rcond : float

Cutoff for ‘small’ singular values in the least-squares solver. Singular values smaller than rcond*largest_singular_value are considered zero.

Returns :

B : array, shape (N, M)

Raises LinAlgError if computation does not converge :

Examples

>>> from numpy import *
>>> a = random.randn(9, 6)
>>> B = linalg.pinv(a)
>>> allclose(a, dot(a, dot(B, a)))
True
>>> allclose(B, dot(B, dot(a, B)))
True

Previous topic

scipy.linalg.lstsq

Next topic

scipy.linalg.pinv2

This Page