getting warning while using eigs on the matrices obtained from freefem++
Show older comments
I am trying to solve for the temporal stability of the incompressible viscous plane poiseuille flow using freefem++.
When i import the matrices and solve for eigen value using eigs , i get this warning:
Warning: The first input matrix, shifted by sigma, is close to singular or badly scaled (RCOND = 7.026665e-305) and results may be inaccurate. Consider specifying a perturbed numeric sigma value to improve the condition of the matrix.
Do i have to do some preconditioning in the matrices in freefem or is there some option in the MATLAB to do the same.
Accepted Answer
More Answers (1)
Bruno Luong
on 13 Feb 2024
0 votes
Try to follow the suggestion you get " Consider specifying a perturbed numeric sigma value to improve the condition of the matrix."
5 Comments
AMIT
on 13 Feb 2024
AMIT
on 13 Feb 2024
Bruno Luong
on 13 Feb 2024
Edited: Bruno Luong
on 13 Feb 2024
You didn't tell us what sigma you use to call eigs, but it looks like to fall right on the eigenvalue. I would to perturb your sigma by
norm(M,2) * epsilon
with epsilon in 1e-12 to 1e-10 or something like that, M being your matrix.
AMIT
on 13 Feb 2024
Bruno Luong
on 13 Feb 2024
Edited: Bruno Luong
on 13 Feb 2024
"i do know that real part of eigen values will lie between 0 to 0.8 and i used 5 for sigma. "
Why you chose 5 if you know the realpart is in between 0 and 0.8? How exactly do you call eigs?
If the matrices is from FEM simulation, the chance that the eigen value is exactly 5 is zero.
I suspect the call eigs command is incorrect, sounds like you mix up k and sigma arguments and your matrix M is singular.
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!