octave-maintainers
[Top][All Lists]
Advanced

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

Re: svds test failures


From: Rik
Subject: Re: svds test failures
Date: Sat, 06 Aug 2011 13:06:11 -0700

On 08/06/2011 10:00 AM, address@hidden wrote:
> Date: Sat, 06 Aug 2011 12:18:15 +0200
> From: Marco atzeri <address@hidden>
> To: address@hidden
> Subject: svds test failures
> Message-ID: <address@hidden>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> Hi,
> on cygwin this test is always failing due to the
> sigma=0 value used
> 
> [u2,s2,v2,flag] = svds(A,k,0,opts);
> warning: returning fewer singular values than requested
> warning: try increasing the value of sigma
> 
> Is it a problem to increase the value to at least 0.03 ?

Yes.  The value of sigma = 0 is special case code which otherwise won't be
checked.  The excerpt below is taken from svds.m around line 161

--- svds.m ---

 if (b_sigma == 0)
   ## Find the smallest eigenvalues
   ## The eigenvalues returns by eigs for sigma=0 are symmetric about 0.
   ## As we are only interested in the positive eigenvalues, we have to
   ## double k and then throw out the k negative eigenvalues.
   ## Separately, if sigma is non-zero, but smaller than the smallest
   ## singular value, ARPACK may not return k eigenvalues. However, as
   ## computation scales with k we'd like to avoid doubling k for all
   ## scalar values of sigma.
   b_k = 2 * k;
 else
   b_k = k;  # Normal case, find just the k largest eigenvalues
 endif

--------------

I would say that there is something different about your compiled version
of ARPACK.  The tests specifically use an initialization vector so the
ARPACK code should always start in the same location in solution space and
find the same eigenvalues.  It works on UNIX systems anyways.  Are you
running an octave version > 3.4.0 when ARPACK was incorporated into
Octave's build?  Might you have a leftover ARPACK library on your system
from a previous version of Octave?

Cheers,
Rik



reply via email to

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