Hi,
How do you know that the output of spec is correct ?
In theory, it is possible that both are wrong...
Here is my result (on Windows 32 bits) :
-->eigs(A,B,3,"SM")
ans =
3.331D-16
11.183884
28.207091
-->spec(A,B)
ans =
126.48866
5.868D-15
31.225951
48.000134
84.284743
11.715411
Notice that the output of eigs is different, and that the smallest
eigenvalue of spec is also different.
When I increase the number of iterations, it seems that the eigenvalues
changes slightly :
-->opts.maxiter=3000
opts =
maxiter: 3000
-->d = eigs(A, B, 3, "SM", opts)
d =
3.331D-16
13.964502
24.24136
Also, when I run the algorithm twice, the output changes :
-->eigs(A, B, 3, "SM")
ans =
3.331D-16
11.943745
16.273117
-->eigs(A, B, 3, "SM")
ans =
3.331D-16
10.417895
18.461929
This is because the algorithm is initialized with a random vector,
which changes everytime the algorithm is launched. In this example, the
output is very sensitive to small changes in the initialization.
Did you compute the condition number associated with this generalized
eigenvalue problem ?
For the "simple" eigenvalue problem, I know that the condition number
of the problem depends on the condition number of the eigenvectors
matrix (see, for example "Numerical computations in Matlab", section
"10.6 Eigenvalue Sensitivity and Accuracy"). But I have no idea about
the condition number of the generalized eigenvalue problem.
Best regards,
Michaël
Le 2012-10-16 06:57, Xuefeng LIU a écrit :
Dear users and developers of SCILAB,
I would to report two issues about eigs function in 5.4.
1) There come different results from spec and eigs. It seems that
eigs give
false results.
The example:
-----------------------------------------
A=[ 1. -0.5 0. -0.5 0. 0. ;
-0.5 2. -0.5 0. -1. 0. ;
0. -0.5 0.5 0. 0. 0. ;
-0.5 0. 0. 2. -1. -0.5 ;
0. -1. 0. -1. 2. 0. ;
0. 0. 0. -0.5 0. 0.5 ];
B=[
0.0208333 0.0104167 0. 0.0104167 0.
0.
0.0104167 0.0625 0.0104167 0.0208333 0.0208333
0.
0. 0.0104167 0.0208333 0. 0.0104167
0.
0.0104167 0.0208333 0. 0.0625 0.0208333
0.0104167
0. 0.0208333 0.0104167 0.0208333 0.0625
0.0104167
0. 0. 0. 0.0104167 0.0104167
0.0208333 ];
eigs(A,B,3,"SM")
ans =
3.331D-16
13.120083
23.909112
spec(A,B)
ans =
126.48866
1.089D-15
31.225951
48.000134
84.284743
11.715411
--------------------------------
Enviorment: MAC 10.7.4, SCILAB 5.4
2) On Ubuntu systems(3.2.0-32-generic-pae), the installation of
SCILAB from the
package on SCILAB homepage has somethong wrong with the Arlnodi
Package. The
executation of eigs gives error information on loading
libsciarnoldi.so.
Xuefeng LIU
_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users
_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users