This forum has been archived. All content is frozen. Please use KDE Discuss instead.

eigen vs Matlab

Tags: None
(comma "," separated)
lorenzoz
Registered Member
Posts
2
Karma
0

eigen vs Matlab

Fri Dec 14, 2012 5:08 pm
Hello,

I'm solving a generalized eigenvalue problem which looks like this

Code: Select all
   
   Matrix<long double, Dynamic, Dynamic> m_A(N,N);
    Matrix<long double, Dynamic, Dynamic> m_B(N,N);
   
   for (unsigned int i=0; i<N; i++)
      for (unsigned int j=0; j<N; j++)
      {
         m_A(i,j)=RB_system_matrix_A(i,j);
         m_B(i,j)=RB_system_matrix_B(i,j);
      }
   
   GeneralizedSelfAdjointEigenSolver<Matrix<long double, Dynamic, Dynamic> > solverAB(m_A,m_B);
   Matrix<long double, Dynamic, 1> eigenvAB(N);
   eigenvAB = solverAB.eigenvalues();
   std::cout << eigenvAB << std::endl;


But the results I get using the same matrices in Matlab are different, and apparently more reliable. Switching every time to Matlab is annoying though. Can anvbody give me an explanation?

Thanks!!
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS

Re: eigen vs Matlab

Sat Dec 15, 2012 6:19 pm
Recall that for GeneralizedSelfAdjointEigenSolver, B must be positive definite. Maybe in your case it is nearly singular? Without the matrices A and B, I cannot help more!!
lorenzoz
Registered Member
Posts
2
Karma
0

Re: eigen vs Matlab

Fri Jan 11, 2013 11:33 am
Sorry for reviving the topic only now, but I had vacation!

Yes, my B is s.p.d. but condition number is quite high, 10^6.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Sogou [Bot], Yahoo [Bot]