Eigen values/vectors large symetric matrix

  • Context: Graduate 
  • Thread starter Thread starter Gaso
  • Start date Start date
  • Tags Tags
    Matrix
Click For Summary

Discussion Overview

The discussion revolves around the calculation of eigenvalues and eigenvectors for a large symmetric real matrix, with a specific emphasis on obtaining exact eigenvectors rather than approximate solutions. The context includes numerical methods and libraries used in C++ programming.

Discussion Character

  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • One participant expresses the need for exact eigenvalues and eigenvectors for their project, indicating that previous attempts with CPPLAPACK's dgeev routine yielded only approximate results.
  • Another participant suggests using the MKL library, noting that it includes a C++ wrapper for BLAS and LAPACK, and recommends the dsyev routine as a more efficient method for real symmetric matrices.
  • A participant mentions contacting Yuki Onishi regarding a bug in dgeev, which was resolved, and indicates a shift to using dsyev after learning about the MKL C++ wrapper.
  • One participant acknowledges the age of the thread and expresses relief that the original poster found a solution.

Areas of Agreement / Disagreement

Participants generally agree on the use of dsyev as a more suitable method for the problem at hand, but there is no consensus on the effectiveness of the previous attempts with dgeev, as the original poster's experience with it was mixed.

Contextual Notes

The discussion does not clarify the specific conditions under which the eigenvalues and eigenvectors are considered "exact," nor does it address potential limitations of the numerical methods discussed.

Gaso
Messages
3
Reaction score
0
I need to calculate eigen values and eigen vectors of a large symmetric real matrix, but all eigen vectors have to be exact not just 2/3 off all eigenvectors.
I tried with CPPLAPACK and dgeev routine:
http://cpplapack.sourceforge.net/
but only about 2/3 of eigen values and vectors are exact, for my project I need all vectory exactly calculated with the norm of unity, for the time expansion of my system in eigen space. I use MKL and ICC compiler, how can I calculate numerically all eigen vectors exactly in c++, which method would be exact.
 
Physics news on Phys.org
If you have MKL then you already have a C++ library wrapper for Blas and Lapack. The MKL manuals will explain how to use them, but as far as I know dgeev is a direct routine, you should get the exact results (or as close as you can get with finite precision). However, since you have a real symmetric matrix, there are more efficient methods, like dsyev.
 
I have contacted Yuki Onishi from CPPLAPACK project.
dgeev had a bug and I reported it on 24.09.2009, the bug was solved, I have also changed my code and started to use dsyev, I didn't know that MKL have c++ library wrapper, thanks for the suggestion.
 
Oh wow... whoops, I didn't notice how old this thread was when I responded first. Well at least you got it figured out then.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 6 ·
Replies
6
Views
6K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 3 ·
Replies
3
Views
7K