[Bugzilla] [Bug 13480] Samuel GOUGEON has changed cc

bugzilla.admin at scilab.org bugzilla.admin at scilab.org
Sat Mar 31 17:09:49 CEST 2018


http://bugzilla.scilab.org/show_bug.cgi?id=13480
--------- Bug Summary -----------
eigs fails with small matrices

---------- Changed by ------------
sgougeon at free.fr

---------- What changed ----------
cc


Samuel GOUGEON <sgougeon at free.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |adeline.carnis at scilab-enter
                   |                            |prises.com

--- Comment #3 from Samuel GOUGEON <sgougeon at free.fr> ---
The issue is that these limitations to not reach size(1,"r") are not clear at all.

For any real not symmetric matrix of rank n, there could be n distinct eigen values:
--> A = rand(5,5);
--> [vecs, vals] = spec(A)
 vals  = 
   2.6610822   0.          0.          0.          0.       
   0.          0.5652193   0.          0.          0.       
   0.          0.          0.2926694   0.          0.       
   0.          0.          0.         -0.2984406   0.       
   0.          0.          0.          0.         -0.8511138

 vecs  = 
  -0.3130811  -0.4239171  -0.5036691   0.219505    0.401101 
  -0.5590759   0.7534038   0.2490181   0.6465172   0.3560444
  -0.2548128  -0.3258518   0.6504096   0.3658849  -0.3690703
  -0.4836174  -0.2160961   0.1564502  -0.4081144   0.3163786
  -0.5390723   0.3159116  -0.486619   -0.483119   -0.689958 

eigs() should be able to output n eigen values and vectors as well. Not only n-1 ones.

By the way, the eigs() gateways has inconsistent checking:

* When checking inputs, it authorizes to reach n:
SCI\modules\arnoldi\sci_gateway\c\sci_eigs.c, line #269:
    if (!finite(dblNEV)) {
    Scierror(999, _("%s: Wrong value for input argument #%d: k must be in the range 1 to N.\n"), "eigs", 3);

* But when eigs() for its own fails for k=N (why?) and returns an error code, the gateway displays the reported message:
SCI\modules\arnoldi\sci_gateway\c\sci_eigs.c, line #750:
case -2 :
  if (Asym && !Acomplex && !Bcomplex)
    { Scierror(999, _("%s: Wrong value for input argument #%d: For real symmetric problems, k must be an integer in the range 1 to N - 1.\n"),
"eigs", 3); }
  else
    { Scierror(999, _("%s: Wrong value for input argument #%d: For real non symmetric or complex problems, k must be an integer in the range 1 to N -
2.\n"), "eigs", 3); }


@ Adeline: as mentionned in the files headers, you are the author of eigs(): Do you know why eigs() fails when N=size(A,"r") whereas spec() succeeds?

-- 
You are receiving this mail because:
You are watching all bug changes.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/bugzilla/attachments/20180331/b28d92b0/attachment.htm>


More information about the Bugzilla mailing list