Why Matlab tells the following A*A^T matrix is not a positive Semi-definite Matrix ?

2 ビュー (過去 30 日間)
HN
HN 2020 年 10 月 22 日
コメント済み: HN 2020 年 10 月 22 日
M = [ 1.0000 0 0 0 0 0;...
0 0.9803 -0.0000 -0.0000 -0.0984 0.0984;...
0 -0.0000 0.9902 -0.0984 0.0000 0.0000;...
0 -0.0000 -0.0984 0.0098 0.0000 -0.0000;...
0 -0.0984 0.0000 0.0000 0.0099 -0.0099;...
0 0.0984 0.0000 -0.0000 -0.0099 0.0099];
Is from and its eigenvalues are
d =
-0.0000
-0.0000
0.0000
1.0000
1.0000
1.0000 =
%When vpa is used it shows
-7.365e-18
-2.12e-18
1.347e-16
1.0
1.0
1.0
So, can't we call matrix M, positive semidefinite ?
Apperciated!

採用された回答

Matt J
Matt J 2020 年 10 月 22 日
編集済み: Matt J 2020 年 10 月 22 日
Yes, it is positive semi-definite. But Matlab's ability to detect that is limited, because finite precision prevents it from computing exact eigenvalues.
  5 件のコメント
Matt J
Matt J 2020 年 10 月 22 日
編集済み: Matt J 2020 年 10 月 22 日
It is very easy to prove from the definition of positive semidefiniteness
x.'*(A*A.')*x
=(x.'*A)*(A.'*x)
=(A.'*x).' * (A.'*x)
=dot(A.'*x,A.'*x)
>=0
HN
HN 2020 年 10 月 22 日
Thank you Matt J ,

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeEigenvalues & Eigenvectors についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by