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