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

1 回表示 (過去 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 ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by