# scipy.linalg.orth

scipy.linalg.orth(A, rcond=None)

  Construct an orthonormal basis for the range of A using SVD

  Parameters
    A(M, N) array_like

      Input array

    rcond float, optional

      Relative condition number. Singular values `s` smaller than `rcond * max(s)` are considered zero. Default: floating point eps * max(M,N).

  Returns
    Q(M, K) ndarray

      Orthonormal basis for the range of A. K = effective rank of A, as determined by rcond

  See also

  `svd`

    Singular value decomposition of a matrix

  `null_space`

    Matrix null space

  Examples

      >>> from scipy.linalg import orth
      >>> A = np.array([[2, 0, 0], [0, 5, 0]])  # rank 2 array
      >>> orth(A)
      array([[0., 1.],
             [1., 0.]])
      >>> orth(A.T)
      array([[0., 1.],
             [1., 0.],
             [0., 0.]])

scipy.linalg.diagsvd scipy.linalg.null_space