negative zero as eigenvalue
1 回表示 (過去 30 日間)
古いコメントを表示
Hello,
Why do I get negative zero as eigenvalue?
ans =
0.2615 0.1950 - 0.3938i
0.1950 + 0.3938i 0.7384
>> eig(ans)
ans =
-0.0000
1.0000
thanks
2 件のコメント
abhijit kulkarni
2014 年 4 月 10 日
I think that negative zero implies that it is not treated as positive integer.
Refer: The IEEE 754 standard for floating-point arithmetic (presently used by most computers and programming languages that support floating point numbers) requires both +0 and −0. Real arithmetic with signed zeros can be considered as a variant of the extended real number line such that 1/−0 = −∞ and 1/+0 = +∞; division is only undefined for ±0/±0 and ±∞/±∞.
Negatively signed zero echoes the mathematical analysis concept of approaching 0 from below as a one-sided limit, which may be denoted by x → 0−, x → 0−, or x → ↑0. The notation "−0" may be used informally to denote a small negative number that has been rounded to zero. The concept of negative zero also has some theoretical applications in statistical mechanics and other disciplines.
It is claimed that the inclusion of signed zero in IEEE 754 makes it much easier to achieve numerical accuracy in some critical problems,[1]
採用された回答
Mischa Kim
2014 年 4 月 10 日
Suma, it's not really zero. Set the display format to long fixed decimal:
format long
[v, d] = eig(a)
v =
0.381333979059441 - 0.770099081813373i 0.226935196532721 - 0.458292719972234i
-0.511401799571426 + 0.000000000000000i 0.859341724458383 + 0.000000000000000i
d =
-0.000011841043894 0
0 0.999911841043894
5 件のコメント
Mischa Kim
2014 年 4 月 10 日
i is the imaginary unit. Since the matrix is complex you can expect the eigenvectors to be complex as well.
その他の回答 (2 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!