### Navigation

- index
- modules |
- modules |
- next |
- previous |
- SciPy v0.12 Reference Guide (DRAFT) »
- Linear algebra (`scipy.linalg`) »

# scipy.linalg.pinvh

`scipy.linalg.``pinvh`(a, cond=None, rcond=None, lower=True, return_rank=False, check_finite=True)

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

  Calculate a generalized inverse of a Hermitian or real symmetric matrix using its eigenvalue decomposition and including all eigenvalues with ‘large’ absolute value.

  Parameters : | a : (N, N) array_like Real symmetric or complex hermetian matrix to be pseudo-inverted cond, rcond : float or None Cutoff for ‘small’ eigenvalues. Singular values smaller than rcond * largest_eigenvalue are considered zero. If None or -1, suitable machine precision is used. lower : bool Whether the pertinent array data is taken from the lower or upper triangle of a. (Default: lower) return_rank : bool, optional if True, return the effective rank of the matrix check_finite : boolean, optional Whether to check the input matrixes contain only finite numbers. Disabling may give a performance gain, but may result to problems (crashes, non-termination) if the inputs do contain infinities or NaNs.
  Returns : | B : (N, N) ndarray The pseudo-inverse of matrix a. rank : int The effective rank of the matrix. Returned if return_rank == True
  Raises : | LinAlgError : If eigenvalue does not converge

  Examples

      >>> from numpy import *
      >>> a = random.randn(9, 6)
      >>> a = np.dot(a, a.T)
      >>> B = pinvh(a)
      >>> allclose(a, dot(a, dot(B, a)))
      True
      >>> allclose(B, dot(B, dot(a, B)))
      True

### Navigation

- index
- modules |
- modules |
- next |
- previous |
- SciPy v0.12 Reference Guide (DRAFT) »
- Linear algebra (`scipy.linalg`) »