Eigen values differs with mchines

조회 수: 1 (최근 30일)
Gopalsamy Muthiah
Gopalsamy Muthiah 2016년 10월 29일
답변: Daniel kiracofe 2016년 11월 2일
I am computing [V,D] = eig(A,B); cond(A) ans = 3.352631943951038e+09; Ill condition matrix using eig function, with different machines i am getting different answers(varies in first decimal points). But the same machines yields same answer when repeated. I have followed a discussion saying "inherent problem with ill conditioned matrix",could anyone share the text for this to understand. My main query is that could i have any control in terms of precision or something to close the gap in these results.
Aryanrook
  댓글 수: 1
Marc
Marc 2016년 10월 29일
Can you give use A and B so we can reproduce the problem

댓글을 달려면 로그인하십시오.

답변 (1개)

Daniel kiracofe
Daniel kiracofe 2016년 11월 2일
high condition number is not the same thing as non-deterministic. If you repeat an ill-condition computation multiple times, you will get the same answer every time. Ill-conditioned means that if you solve the problem for matrix A, and for matrix A+epsilon, where epsilon is a very small number, that the results will be very different (much bigger than epsilon). This is important because all floating point calculations involve roundoff error. And this may differ between machines. So if you try to solve a problem with matrix A on two different machines, you may really get A+1e-16 on one machine but A+1e-16 on another (for example). If your problem is well-conditioned, the differences between the two machines will be small. But if your problem is ill-conditioned, the differences could be huge.
For more info, The wikipedia page for condition number is pretty good https://en.wikipedia.org/wiki/Condition_number
3e9 is not a good condition number, but I've certainly seen worse. You don't state what the condition number of matrix B is. That could be the one causing the problem.
In terms of what you can do about it... hard to say without seeing what your A and B matrices are or where they come from. You might be able to use the 'qz' algorithm instead of the default 'chol' algorithm (https://www.mathworks.com/help/matlab/ref/eig.html).
I'd suggest you post more detail and maybe someone can help.

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by