cr.sparse.la.left_null_space

cr.sparse.la.left_null_space(A, rcond=None)[source]

Constructs an orthonormal basis for the left null space of A using SVD

Parameters
  • A (jax.numpy.ndarray) – Input matrix of size (M, N) where M is the dimension of the ambient vector space and N is the number of vectors in A

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

Returns

Returns a tuple consisting of
  • the left singular vectors of A

  • the effective rank of A

Return type

(jax.numpy.ndarray, int)

To get the ONB for the left null space of A, follow the two step process:

Z, r = left_null_space(A)
Z = Z[:, r:]

The dimension of the effective null space is \(M - r\) where r is the rank of A.

Examples

>>> A = random.normal(key, (6, 4))
>>> Z, r = left_null_space(A)
>>> Z = Z[:, r:]
>>> Z.shape
(6, 2)
>>> print(jnp.allclose(Z.T @ A, 0))
True