forum.alglib.net
http://forum.alglib.net/

eigenvals problem
http://forum.alglib.net/viewtopic.php?f=2&t=3858
Page 1 of 1

Author:  WorldMaster [ Thu Jun 21, 2018 4:46 pm ]
Post subject:  eigenvals problem

Hello. I already have a lot of time and can not really figure out how to count eigenvecs in the AlgLib library.

Here is an example with a solution in the matkad with which I try to reduce my results:
http://old.exponenta.ru/soft/mathcad/learn/la/mathcad/ex3/ex3.htm
There is a matrix:

Code:
{ 1, 2, 3 },
{ 0, 1, 2 },
{ 3, 4, 1 }


Next, I use the alglib.rmatrixevd
Code:
alglib.rmatrixevd(M, 3, 3, out wr, out wi, out vl, out vr);


Here are the results:
Code:
матрица wr
Eigenvals
-2,710+0,000i
0,271+0,000i
5,439+0,000i


This corresponds to the eigenvalues ??in the same example of the mitkad, even in an inverted form.

But here's the trouble.
The library function gives me the result as left and right vectors:
Code:
Eigenvec
Матрица vr
0.518   -1.000   -0.879   
0.539   0.803   -0.451   
-1.000   -0.293   -1.000   

Матрица vl
0.809   -0.708   -0.561   
0.642   1.000   -1.000   
-1.000   0.172   -0.829



In the description they write:
Quote:
VL, VR - arrays of left and right eigenvectors (if they are needed).
If WI[i]=0, the respective eigenvalue is a real number,
and it corresponds to the column number I of matrices VL/VR.
If WI[i]>0, we have a pair of complex conjugate numbers with
positive and negative imaginary parts:
the first eigenvalue WR[i] + sqrt(-1)*WI[i];
the second eigenvalue WR[i+1] + sqrt(-1)*WI[i+1];
WI[i]>0
WI[i+1] = -WI[i] < 0
In that case, the eigenvector corresponding to the first
eigenvalue is located in i and i+1 columns of matrices
VL/VR (the column number i contains the real part, and the
column number i+1 contains the imaginary part), and the vector
corresponding to the second eigenvalue is a complex conjugate to
the first vector.
Arrays whose indexes range within [0..N-1, 0..N-1].


How much I did not get into it and did not even try the required result even close.

Should be:

Code:
0,625 0,76 -0,415
0,321 -0,611 -0,432
0,711 0,222 0,801


In general, please poke my nose that where and how do I count to come to the specified result?
Thank you.

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/