Calculate eigenfunctions to known eigenvalues
7 views (last 30 days)
Show older comments
Malte
on 15 Aug 2025
Answered: Christine Tobler
on 18 Aug 2025
Hello,
I need to find eigenfunctions and eigenvalues of an operator
. It would require to much storage to calculate the matrix depiction of
, so I am using the eigs command and calculate the eigenvalues and eigenfunctions of
by writing the operator
as a function (the input of this function is a test function f and the output is
). So far so good. Everything works.





No I have run the code and I forgot to save the eigenvectors. I could run the code again to get the eigenvectors, but I wondering: Is there a more efficient way of getting the eigenvectors if the eigenvalues are known?
Thanks for help!
0 Comments
Accepted Answer
Christine Tobler
on 18 Aug 2025
Unfortunately, there isn't a painless way to do this. That is, it's likely that writing new code to get eigenvectors given the eigenvalues will take you longer to get right, then just re-running eigs.
If you had the eigenvectors and needed the eigenvalues, that's quite painlessly possible using x'*A(x) for each eigenvector x.
The other way around, the usual way to do this would be to solve (A - lambda_mod*I) * x = rand, where lambda_mod is slightly different from lambda to avoid a singular linear system. You might need to do this in multiple iterations (inverse iteration as Torsten mentioned). But with your matrix being given as a function handle, I imagine solving a linear system with it is non-trivial.
0 Comments
More Answers (1)
Torsten
on 15 Aug 2025
Edited: Torsten
on 15 Aug 2025
You could also try
null(A-lambda*eye(size(A)))
where lambda is a given eigenvalue.
Are you talking about eigenfunctions or eigenvectors ? You mix up the two terms in your question.
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!