scipy.linalg.null_space¶
- 
scipy.linalg.null_space(A, rcond=None)[source]¶ Construct an orthonormal basis for the null space of A using SVD
- Parameters
 - A(M, N) array_like
 Input array
- rcondfloat, optional
 Relative condition number. Singular values
ssmaller thanrcond * max(s)are considered zero. Default: floating point eps * max(M,N).
- Returns
 - Z(N, K) ndarray
 Orthonormal basis for the null space of A. K = dimension of effective null space, as determined by rcond
Examples
1-D null space:
>>> from scipy.linalg import null_space >>> A = np.array([[1, 1], [1, 1]]) >>> ns = null_space(A) >>> ns * np.sign(ns[0,0]) # Remove the sign ambiguity of the vector array([[ 0.70710678], [-0.70710678]])
2-D null space:
>>> B = np.random.rand(3, 5) >>> Z = null_space(B) >>> Z.shape (5, 2) >>> np.allclose(B.dot(Z), 0) True
The basis vectors are orthonormal (up to rounding error):
>>> Z.T.dot(Z) array([[ 1.00000000e+00, 6.92087741e-17], [ 6.92087741e-17, 1.00000000e+00]])
