cr.sparse.la.effective_rank_from_svd

cr.sparse.la.effective_rank_from_svd(u, s, vh, rcond=None)[source]

Returns the effective rank of a matrix from its SVD

Parameters
  • u (jax.numpy.ndarray) – Left singular vectors

  • s (jax.numpy.ndarray) – Singular values

  • vh (jax.numpy.ndarray) – Right singular vectors (Hermitian transposed)

  • 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 the effective rank by analyzing the singular values

Return type

(int)

It is assumed that the SVD has already been computed.

Examples

>>> A  = random.normal(key, (6, 4))
>>> u, s, vh = jax.scipy.linalg.svd(A)
>>> r = crla.effective_rank_from_svd(u, s, vh)
>>> print(r)
4