0

When I calculate Covariance (A_Transposed * A) and Calculate the eigenvalues and eigenvectors I always get ONE very small eigenval Here I have 3 images in my training set.

-0.0000000242 17221292.9979712702 11732978.3353619855

This first unsorted eigenval is super small. When I do SVD on these Eigenvectors I need to do eigenValues[i]^(-0.5) at some point to get the desired eigenvectors (Initial eigenvectors are smaller in length since I did (A_Transposed * A) instead of ( A * A_Transposed )).

Long storyshort, the smallest eigenval turns out to be a complex number when I do Math.pow(eval_i,-0.5). So do I suppose to use comlex eigensolver ? Is such a small number normal ? The other eigenvalues look huge, is that normal?

I have followed this

Thanks

Evren Bingøl
  • 1,306
  • 1
  • 20
  • 32
  • 1
    Small eigenvalues are normal. The ratio of max to min eigenvalue is the condition number for your matrix. A large condition number means your matrix is ill-conditioned; close to singular. SVD can handle this, because it'll set the small eigenvalue to zero and solve on the reduced eigenspace. – duffymo Aug 08 '16 at 13:54
  • 1
    Here's a response I gave to somebody else's SVD question that worked out. See if it helps you: http://stackoverflow.com/questions/19763698/solving-non-square-linear-system-with-r/19767525#19767525 – duffymo Aug 08 '16 at 20:50

0 Answers0