Mercurial > octave-antonio
diff scripts/linear-algebra/rank.m @ 4706:2c73119a576a
[project @ 2004-01-22 04:36:54 by jwe]
author | jwe |
---|---|
date | Thu, 22 Jan 2004 04:36:54 +0000 |
parents | c11d138d654a |
children | 4c8a2e4e0717 |
line wrap: on
line diff
--- a/scripts/linear-algebra/rank.m Thu Jan 22 04:26:19 2004 +0000 +++ b/scripts/linear-algebra/rank.m Thu Jan 22 04:36:54 2004 +0000 @@ -39,13 +39,18 @@ if (nargin == 1) sigma = svd (A); - tolerance = max (size (A)) * sigma (1) * eps; + if (isempty (sigma)) + tolerance = 0; + else + tolerance = max (size (A)) * sigma (1) * eps; + endif elseif (nargin == 2) sigma = svd (A); tolerance = tol; else usage ("rank (A)"); endif + retval = sum (sigma > tolerance); endfunction