octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 3.2.3 RC2


From: John W. Eaton
Subject: Re: 3.2.3 RC2
Date: Wed, 2 Sep 2009 14:29:44 -0400

On  1-Sep-2009, Dmitri A. Sergatskov wrote:

| On Tue, Sep 1, 2009 at 5:14 PM, Marco Atzeri<address@hidden> wrote:
| 
| > on 3..2.3-RC1 cygwin I had
| >
| >  ***** testif HAVE_ARPACK
| >  [u2,s2,v2,flag] = svds(a,k,0);
| >  s2 = diag(s2);
| >  assert(flag,!1);
| >  assert(s(k:-1:1), s2, 1e-10);
| > !!!!! test failed
| > assert (s (k:-1:1),s2,1e-10) expected
| >   38.034
| >   38.034
| >   38.015
| >   38.015
| >   38.004
| >   38.004
| > but got
| >   38.060
| >   38.034
| >   38.034
| >   38.015
| >   38.015
| >   38..004
| >   38.004
| > Dimensions don't match>>>>>
| >
| > Is eventually the expected value wrong ?
| >
| 
| > Marco
| >
| 
| It works fine on x86_64, so I tend to blame the problems like this on
| wonders of i387 floating point math...
| I am surprised that your expected values not the same as mine...

I also see this failure, but it doesn't happen on every run.  I'm
running Octave on an amd64 system.

The test is:

  n = 100;
  k = 7;
  a = 
sparse([3:n,1:n,1:(n-2)],[1:(n-2),1:n,3:n],[ones(1,n-2),0.4*n*ones(1,n),ones(1,n-2)]);
  [u,s,v] = svd(full(a));
  s = diag(s);
  [dum, idx] = sort(abs(s));
  s = s(idx);
  u = u(:,idx);
  v = v(:,idx);
  [u2,s2,v2,flag] = svds(a,k,0);
  s2 = diag(s2);
  assert(flag,!1);
  assert(s(k:-1:1), s2, 1e-10); 

If you run this repeatedly, do you see some successes and some
failures?  If it does fail, do you see that the first assert sometimes
fails, and other times it is the second?

I have not tried to debug the problem yet.

David, I'm copying you because you wrote svds and might be able to see
the problem and perhaps a fix more quickly than I could.

Thanks,

jwe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]