| MATLAB Function Reference | Search  Help Desk |
| rank |
Syntax
k = rank(A) k = rank(A,tol)
Description
Therank function provides an estimate of the number of linearly independent rows or columns of a matrix.
k = rank(A)
returns the number of singular values of A that are larger than the default tolerance, max(size(A))*norm(A)*eps.
k = rank(A,tol)
returns the number of singular values of A that are larger than tol.
Algorithm
There are a number of ways to compute the rank of a matrix. MATLAB uses the method based on the singular value decomposition, or SVD, described in Chapter 11 of the LINPACK Users' Guide. The SVD algorithm is the most time consuming, but also the most reliable. Therank algorithm is
s = svd(A); tol = max(size(A))*s(1)*eps; r = sum(s > tol);
References
[1] Dongarra, J.J., J.R. Bunch, C.B. Moler, and G.W. Stewart, LINPACK Users' Guide, SIAM, Philadelphia, 1979.