- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'M trying to use the ippmEigenValuesVectorsLeft_m_64f and ippmEigenValuesVectorsRight_m_64f functions.
I think there is a bug (or I missunderstand) the defintion:
A*z=λ*z for the right eigenvectors z,
zH*A=λ*zH for the left eigenvectors z,
My example:
A(2x2) = 2, -2, 1, 5
ippmEigenValuesVectorsLeft_m_64f gives λ1=3, λ2=4
and eigenvectors(2x2) = -0,89, 0.71, 0.44, -0.71
ippmEigenValuesVectorsRight_m_64f gives λ1=3, λ2=4
and eigenvectors(2x2) = -0,71, -0.44, -0.71, -0.89
The test of the definition fails. It seems that the result of ippmEigenValuesVectorsLeft_m_64f are the right eigenvectors. The result of ippmEigenValuesVectorsRight_m_64f I does not match do any defintion.
Example:
z1 = -0.89, 0.44
A*z1=-2.69, 1.34 and 3*z1=-2.69, 1.34 -> defintion of right eigenvectors but result of left eigenvectors
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yes, at the first glance it looks like a bug. I would recommend you to try mkl's implementation of EigenSolvers. MKL's implementation much more stable (I mean eignesolvers only in that case ) and optimize for medium and big problems.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried LAPACKE_dgeev. It works mostly. But for example.A(2,2) = 1,2, -2, 5. gives two (same) eigenvalues 3,3., but only one eigenvector. Is this the correct behaviour?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Steffen.
I've checked your issue with matlab. You are absolutely right, there is error in IPP func.
>> A=[2 -2 ;1 5]
A =
2 -2
1 5
>> [V D] = eig(A)
V =
-0.8944 0.7071
0.4472 -0.7071
D =
3 0
0 4
>> [VL D] = eig(A')
VL =
-0.7071 -0.4472
-0.7071 -0.8944
D =
3 0
0 4
>>
It looks like that IPP left and right vectors are just swapped. This issue wil be fixed in next release.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page