changeset 27685:cb656f5fa083

svds.m: Undo fix in 2213e82bb9d3 now that eigs() has been updated (bug #57185). * svds.m: Remove call to real() on output of eigs() now that eigs() is guaranteed to return real values for a symmetric input. Remove FIXME note.
author Rik <rik@octave.org>
date Wed, 13 Nov 2019 10:56:03 -0800
parents becd6267d6d1
children 7b68c080723d
files scripts/sparse/svds.m
diffstat 1 files changed, 2 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/sparse/svds.m	Wed Nov 13 18:58:32 2019 +0100
+++ b/scripts/sparse/svds.m	Wed Nov 13 10:56:03 2019 -0800
@@ -179,14 +179,12 @@
       b_k = k;  # Normal case, find just the k largest eigenvalues
     endif
 
-    ## FIXME: singular values are always real.  Until eigs() guarantees
-    ## real results for symmetric inputs (bug #57196), use real() here.
     if (nargout > 1)
       [V, s, flag] = eigs ([sparse(m,m), b; b', sparse(n,n)],
                            b_k, b_sigma, b_opts);
-      s = real (diag (s));
+      s = diag (s);
     else
-      s = real (eigs ([sparse(m,m), b; b', sparse(n,n)], b_k, b_sigma, b_opts));
+      s = eigs ([sparse(m,m), b; b', sparse(n,n)], b_k, b_sigma, b_opts);
     endif
 
     if (ischar (sigma))