scipy.linalg.orth#

scipy.linalg.orth(A, rcond=None)[source]#

Construct an orthonormal basis for the range of A using SVD

Parameters:
A(M, N) array_like

Input array

rcondfloat, 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

>>> import numpy as np
>>> 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.]])