[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