# HG changeset patch # User jwe # Date 1074746214 0 # Node ID 2c73119a576a98d92084f198787d87e760f38d93 # Parent a1b165f5e934be53082c38a166f388353748de03 [project @ 2004-01-22 04:36:54 by jwe] diff -r a1b165f5e934 -r 2c73119a576a scripts/ChangeLog --- a/scripts/ChangeLog Thu Jan 22 04:26:19 2004 +0000 +++ b/scripts/ChangeLog Thu Jan 22 04:36:54 2004 +0000 @@ -1,3 +1,8 @@ +2004-01-21 Quentin Spencer + + * linear-algebra/rank.m: Allow rank ([]) to return 0, same as + rank ([], tol). + 2004-01-10 John W. Eaton * elfun/acot.m: Return atan (1./z). diff -r a1b165f5e934 -r 2c73119a576a scripts/linear-algebra/rank.m --- 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