Rank of a matrix
Syntax
k = rank(A)
k = rank(A,tol)
Description
The rank
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.
The rank
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.
[ Previous | Help Desk | Next ]