What could be causing spurious eigenvalues in my Eigensystem command?

  • Mathematica
  • Thread starter member 428835
  • Start date
  • Tags
    Eigenvalue
In summary, the conversation discusses an eigenvalue problem involving matrices constructed through integrating basis functions. The size of the system depends on the number of basis functions chosen, and both matrices are dependent on this number. The problem is being solved using the Eigensystem command, with the expectation that the eigenvalues should converge to their analytic values as the resolution increases. However, when the number of basis functions is increased to 6, the eigenvalues become spurious and diverge from their analytic values. Troubleshooting suggests that there may be an issue with solving the eigensystem, as well as possibilities of integration errors or limitations with the Eigensystem command.
  • #1
member 428835
Hi PF!

I have an eigenvalue problem ##K = \lambda M##. Matrices ##M,K## are constructed via integrating combinations of basis functions (similar to a finite element method). The system is the size of the number of basis functions included: if we choose ##3##, the first three basis functions, ##M,K## are ##3\times 3## matrices. In general if we choose the first ##n## basis functions, the system is an ##N\times N## system. So both matrices ##M,K## are dependent on ##n##.

I'm solving this eigenvalue problem via the Eigensystem command, which looks like this

Code:
Eigensystem[{K[n], M[n]}]

I know the eigenvalues should converge to the analytic eigenvalues as we increase the resolution ##n##. And that's exactly what happens...at first. The ##ith## eigenvalue converges closer and closer to its analytic value until I let ##n>5##. When I change ##n## to 6 suddenly the eigenvalues are spurious, growing very large and diverging from their analytic values.

When troubleshooting, two things came to mind: 1) an integration error exists. 2) an error exists when solving the matrix system. No warning signs appear on the integration, so I think ##M,K## are well constructed (I am using NIntegrate with no further specifications on accuracy, etc). So perhaps there's an issue with solving the eigensystem?

Obviously one (inefficient) way to solve the system ##K = \lambda M## is to compute ##M^{-1}## and then take ##\det (M^{-1} K) = 0##. For ##n\leq 5## when I compute the eigenvalues this method, Mathematica does not output any errors and the computed eigenvalues are close to their analytic values. However, when I increase ##n=6## suddenly Mathematica outputs the error message Inverse: Result for Inverse of badly conditioned matrix may contain significant numerical errors. Alongside this, the eigenvalues begin to diverge.

Does anyone have an idea what is going wrong? I thought Eigensystem was very robust; could this be the issue?
 
Last edited by a moderator:
Physics news on Phys.org

1. What are eigenvalues and eigenvectors?

Eigenvalues and eigenvectors are important concepts in linear algebra that are used to solve systems of linear equations. Eigenvalues are scalar values that represent the amount by which an eigenvector is scaled when multiplied by a specific matrix. Eigenvectors are non-zero vectors that remain in the same direction when multiplied by the matrix.

2. Why are eigenvalue problems important in science?

Eigenvalue problems are important in science because they allow us to find the fundamental properties and characteristics of a system. In physics, they are used to determine the energy levels of quantum systems. In engineering, they are used to analyze the stability of a system. In data analysis, they are used to find the principal components of a dataset.

3. How do you solve eigenvalue problems?

To solve an eigenvalue problem, we need to find the eigenvalues and corresponding eigenvectors of a given matrix. This can be done by setting up and solving a characteristic equation, which involves finding the roots of a polynomial equation. Alternatively, we can use numerical methods, such as the power method or the QR algorithm, to approximate the eigenvalues and eigenvectors.

4. What are some real-world applications of eigenvalue problems?

Eigenvalue problems have many real-world applications, including image and signal processing, network analysis, and quantum mechanics. They are also used in machine learning and data analysis to reduce the dimensionality of a dataset and identify important features.

5. What are the differences between eigenvalues and singular values?

Eigenvalues and singular values are both used to analyze the properties of a matrix, but they have different interpretations and applications. Eigenvalues are used to determine the behavior of a linear transformation on a vector, while singular values are used to quantify the amount of variation in a dataset. Additionally, while eigenvalues are only defined for square matrices, singular values can be calculated for any matrix.

Similar threads

  • Linear and Abstract Algebra
Replies
8
Views
1K
  • Quantum Physics
Replies
2
Views
976
  • Linear and Abstract Algebra
Replies
1
Views
813
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
268
Replies
13
Views
1K
Replies
2
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
4
Views
4K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
8K
  • Calculus and Beyond Homework Help
Replies
2
Views
530
  • Linear and Abstract Algebra
Replies
12
Views
1K
Back
Top