<html>
<head>
<base href="http://bugzilla.scilab.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:sgougeon@free.fr" title="Samuel GOUGEON <sgougeon@free.fr>"> <span class="fn">Samuel GOUGEON</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - eigs fails with small matrices"
href="http://bugzilla.scilab.org/show_bug.cgi?id=13480">bug 13480</a>
<br><br>
---------- Bug Summary ----------- <br>eigs fails with small matrices <br><br>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>adeline.carnis@scilab-enterprises.com
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - eigs fails with small matrices"
href="http://bugzilla.scilab.org/show_bug.cgi?id=13480#c3">Comment # 3</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - eigs fails with small matrices"
href="http://bugzilla.scilab.org/show_bug.cgi?id=13480">bug 13480</a>
from <span class="vcard"><a class="email" href="mailto:sgougeon@free.fr" title="Samuel GOUGEON <sgougeon@free.fr>"> <span class="fn">Samuel GOUGEON</span></a>
</span></b>
<pre>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?</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are watching all bug changes.</li>
</ul>
</body>
</html>