rank - rank
is the numerical rank of X i.e. the number of singular values of X that are larger than norm(size(X),'inf') * norm(X) * %eps.
rank(X,tol) is the number of singular values of X that are larger than tol.
Note that the default value of tol is proportional to norm(X). As a consequence
rank([1.d-80,0;0,1.d-80]) is 2 !.
rank([1.d-80,0;0,1.d-80]) rank([1,0;0,1.d-80])