Eigen values/vectors large symetric matrix

  • Thread starter Gaso
  • Start date
  • Tags
    Matrix
In summary, the conversation discusses the need to calculate exact eigen values and eigen vectors for a large symmetric real matrix, using CPPLAPACK and dgeev routine. However, it is mentioned that only about 2/3 of the eigen values and vectors are exact and a more efficient method, dsyev, is suggested. It is also mentioned that the MKL manuals explain how to use the C++ library wrapper for Blas and Lapack. A bug in dgeev is reported and it is recommended to use dsyev instead. The conversation ends with the acknowledgement that the issue has been resolved.
  • #1
Gaso
4
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
  • #2
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.
 
  • #3
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.
 
  • #4
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.
 

FAQ: Eigen values/vectors large symetric matrix

What are eigenvalues and eigenvectors?

Eigenvalues and eigenvectors are mathematical concepts used to solve systems of linear equations. An eigenvalue is a scalar value that represents the scaling factor for an eigenvector. An eigenvector is a non-zero vector that does not change direction when multiplied by a matrix.

How are eigenvalues and eigenvectors calculated for a large symmetric matrix?

The eigenvalues and eigenvectors of a large symmetric matrix can be calculated using various methods, such as the power method, inverse iteration, or Jacobi method. These methods involve iteratively solving equations until a desired level of precision is achieved.

What is the significance of eigenvalues and eigenvectors in scientific research?

Eigenvalues and eigenvectors have various applications in scientific research, including in physics, engineering, and statistics. They are used to analyze and interpret data, solve differential equations, and model complex systems.

Can a matrix have complex eigenvalues and eigenvectors?

Yes, a matrix can have complex eigenvalues and eigenvectors. This is often the case for matrices with complex elements or for non-symmetric matrices. In these cases, the eigenvalues and eigenvectors can be represented using complex numbers.

Are eigenvalues and eigenvectors unique for a given matrix?

Yes, eigenvalues and eigenvectors are unique for a given matrix. However, different methods of calculation may result in different values for the eigenvalues and eigenvectors. The eigenvectors may also differ by a scalar factor, but they still represent the same direction in space.

Back
Top