scipy.linalg.pinv2#
- scipy.linalg.pinv2(a, cond=None, rcond=None, return_rank=False, check_finite=True)[source]#
Compute the (Moore-Penrose) pseudo-inverse of a matrix.
scipy.linalg.pinv2
is deprecated since SciPy 1.7.0, usescipy.linalg.pinv
instead for better tolerance control.Calculate a generalized inverse of a matrix using its singular-value decomposition and including all ‘large’ singular values.
- Parameters
- a(M, N) array_like
Matrix to be pseudo-inverted.
- cond, rcondfloat or None
Cutoff for ‘small’ singular values; singular values smaller than this value are considered as zero. If both are omitted, the default value
max(M,N)*largest_singular_value*eps
is used whereeps
is the machine precision value of the datatype ofa
.Changed in version 1.3.0: Previously the default cutoff value was just
eps*f
wheref
was1e3
for single precision and1e6
for double precision.- return_rankbool, optional
If True, return the effective rank of the matrix.
- check_finitebool, optional
Whether to check that the input matrix contains only finite numbers. Disabling may give a performance gain, but may result in problems (crashes, non-termination) if the inputs do contain infinities or NaNs.
- Returns
- B(N, M) ndarray
The pseudo-inverse of matrix a.
- rankint
The effective rank of the matrix. Returned if return_rank is True.
- Raises
- LinAlgError
If SVD computation does not converge.