| FreeMat
    | 
Section: Array Generation and Manipulations
Returns the rank of a matrix. There are two ways to use the rank function is 
y = rank(A,tol)
 where tol is the tolerance to use when computing the rank. The second form is 
y = rank(A)
 in which case the tolerance tol is chosen as 
tol = max(size(A))*max(s)*eps,
 where s is the vector of singular values of A. The rank is computed using the singular value decomposition svd. 
Some examples of matrix rank calculations
--> rank([1,3,2;4,5,6]) ans = 2 --> rank([1,2,3;2,4,6]) ans = 1
Here we construct an ill-conditioned matrix, and show the use of the tol argument.
--> A = [1,0;0,eps/2]
A = 
    1.0000         0 
         0    0.0000 
--> rank(A)
ans = 
 1 
--> rank(A,eps/8)
ans = 
 2