Eigenvalue problem and badly conditioned matrices

Click For Summary
SUMMARY

The discussion centers on solving the generalized eigenvalue problem of the form \(A v = \lambda B v\) where \(B^{-1}\) is badly conditioned. The user initially attempted to use the built-in Eigenvalues and Eigenvectors function on the matrix \(B^{-1}A\) but faced issues due to the conditioning of \(B^{-1}\). The solution highlighted is to utilize Mathematica's Eigensystem function, specifically Eigensystem[A,B], which effectively addresses the problem without the need for explicit matrix inversion. This approach is recommended over MATLAB's eigenvalue solver, which may not handle such cases robustly.

PREREQUISITES
  • Understanding of generalized eigenvalue problems
  • Familiarity with matrix conditioning and its implications
  • Experience with Mathematica, particularly the Eigensystem function
  • Basic knowledge of MATLAB's eigenvalue solvers
NEXT STEPS
  • Research the implementation of Eigensystem in Mathematica for generalized eigenvalue problems
  • Explore the Lanczos method for solving eigenvalue problems without explicit matrix inversion
  • Study the effects of matrix conditioning on numerical stability in eigenvalue computations
  • Compare the performance of MATLAB and Mathematica for solving eigenvalue problems in practice
USEFUL FOR

Mathematicians, physicists, and engineers dealing with eigenvalue problems, particularly those working with badly conditioned matrices and seeking robust computational methods.

member 428835
Hi PF!

I am trying to solve the eigenvalue problem ##A v = \lambda B v##. I thought I'd solve this by $$A v = \lambda B v \implies\\
B^{-1} A v = \lambda v\implies\\
(B^{-1} A - \lambda I) v = 0 $$
and then using the built in function Eigenvalues and Eigenvectors on the matrix ##B^{-1}A##. But as you can see from the title, ##B^{-1}## is badly conditioned. Any ideas on how to get around this?
 
Physics news on Phys.org
I don't follow. Isn't this a problem that you tackled ##\gt 6 ## months ago?

E.g. I asked about it here and linked to an old thread tackling this problem via use of Lancosz method (to avoid explicit inversion among other things):

https://www.physicsforums.com/threa...e-calculus-of-variations.936407/#post-5917752

but that was back in January of this year, and you mentioned you had already solved the problem.
 
  • Like
Likes   Reactions: member 428835
StoneTemplePython said:
I don't follow. Isn't this a problem that you tackled ##\gt 6 ## months ago?

E.g. I asked about it here and linked to an old thread tackling this problem via use of Lancosz method (to avoid explicit inversion among other things):

https://www.physicsforums.com/threa...e-calculus-of-variations.936407/#post-5917752

but that was back in January of this year, and you mentioned you had already solved the problem.
Thanks for bringing this up again. I was previously using both Mathematica and MATLAB (odd I know) and at the time someone convinced me that the built in eigenvalue solver in MATLAB was robust. However, now that I am using Mathematica exclusively, I forgot that explicitly computing the matrix inverse was the issue, not the eigenvalue solver.

For those in the future, generalized eigenvalue problems of the above form are solved very robustly in Mathematica via Eigensystem[A,B] following from above.

Thanks StoneTemplePython
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 18 ·
Replies
18
Views
4K
Replies
2
Views
1K
  • · Replies 2 ·
Replies
2
Views
9K
  • · Replies 12 ·
Replies
12
Views
2K
Replies
11
Views
6K