getting warning while using eigs on the matrices obtained from freefem++
显示 更早的评论
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.
采纳的回答
更多回答(1 个)
Bruno Luong
2024-2-13
0 个投票
Try to follow the suggestion you get " Consider specifying a perturbed numeric sigma value to improve the condition of the matrix."
5 个评论
AMIT
2024-2-13
AMIT
2024-2-13
Bruno Luong
2024-2-13
编辑:Bruno Luong
2024-2-13
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
2024-2-13
Bruno Luong
2024-2-13
编辑:Bruno Luong
2024-2-13
"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.
类别
在 帮助中心 和 File Exchange 中查找有关 Linear Algebra 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!