How I can separate a matrix that is not positive definite, into two matrices?

1 回表示 (過去 30 日間)
hossen hassanzadth
hossen hassanzadth 2021 年 3 月 31 日
回答済み: Sam Chak 2023 年 10 月 13 日
I want to separate a matrix that is not positive definite, into two matrices in Matlab like this:
for example this matrix:

採用された回答

Sam Chak
Sam Chak 2023 年 10 月 13 日
Your expression "" appears to resemble an attempt at performing a Cholesky decomposition. However, it's important to note that a Cholesky decomposition is defined for symmetric positive-definite matrices. In the case of a symmetric indefinite matrix, a Cholesky decomposition does not exist by definition.
Nevertheless, you can explore an alternative approach by seeking a decomposition in the form of , where represents a diagonal matrix with entries that can be both positive and negative.
Q = [-92.316 31.78 240.417;
31.78 -194.66 275.47;
240.417 275.47 938.99];
E = eig(Q) % check if indefinite matrix
E = 3×1
1.0e+03 * -0.2623 -0.1390 1.0533
[L, D] = ldl(Q) % L*D*L' factorization
L = 3×3
0.2560 0.1407 1.0000 0.2934 1.0000 0 1.0000 0 0
D = 3×3
938.9900 0 0 0 -275.4742 0 0 0 -148.4208
Sq = L'
Sq = 3×3
0.2560 0.2934 1.0000 0.1407 1.0000 0 1.0000 0 0
resnorm = norm(Q - Sq'*D*Sq, 'fro')/norm(Q, 'fro')
resnorm = 2.5972e-17
Sq'*D*Sq
ans = 3×3
-92.3160 31.7800 240.4170 31.7800 -194.6600 275.4700 240.4170 275.4700 938.9900

その他の回答 (1 件)

John D'Errico
John D'Errico 2021 年 3 月 31 日
編集済み: John D'Errico 2021 年 3 月 31 日
Please learn to use operators and to clearly explain your question.
Are you asking to find a new matrix Sq, such that the linear algebraic product Sq'*sq is equal to Q, where Q is NOT positive definite? NO. That is impossible.
Are you asking to find two matrices S and q, such that the product of the 4 matrices S*q'*S*q is Q? (I highly doubt this is your question, but you explicitly said TWO matrices.)
Since the first is impossible, you asking to find some matrix Sq such that Sq' * Sq is as close as possible to Q, based on some norm on the difference?
Are your matrices real, or are they complex? Must the solution live in the real domain?
  1 件のコメント
hossen hassanzadth
hossen hassanzadth 2021 年 4 月 1 日
hi
I want to find Sq, such that the linear algebraic product Sq'*Sq is equal or as close as possible to Q.
solution can be in real or complex domain.

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

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by