estimate_rank — SciPy v1.15.3 Manual (original) (raw)
scipy.linalg.interpolative.
scipy.linalg.interpolative.estimate_rank(A, eps, rng=None)[source]#
Estimate matrix rank to a specified relative precision using randomized methods.
The matrix A can be given as either a numpy.ndarray or ascipy.sparse.linalg.LinearOperator, with different algorithms used for each case. If A is of type numpy.ndarray, then the output rank is typically about 8 higher than the actual numerical rank.
Parameters:
Anumpy.ndarray or scipy.sparse.linalg.LinearOperator
Matrix whose rank is to be estimated, given as either anumpy.ndarray or a scipy.sparse.linalg.LinearOperatorwith the rmatvec method (to apply the matrix adjoint).
epsfloat
Relative error for numerical rank definition.
rngnumpy.random.Generator, optional
Pseudorandom number generator state. When rng is None, a newnumpy.random.Generator is created using entropy from the operating system. Types other than numpy.random.Generator are passed to numpy.random.default_rng to instantiate a Generator
. If rand is False
, the argument is ignored.
Returns:
int
Estimated matrix rank.