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

1 visualización (últimos 30 días)
I want to separate a matrix that is not positive definite, into two matrices in Matlab like this:
for example this matrix:

Respuesta aceptada

Sam Chak
Sam Chak el 13 de Oct. de 2023
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

Más respuestas (1)

John D'Errico
John D'Errico el 31 de Mzo. de 2021
Editada: John D'Errico el 31 de Mzo. de 2021
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 comentario
hossen hassanzadth
hossen hassanzadth el 1 de Abr. de 2021
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.

Iniciar sesión para comentar.

Categorías

Más información sobre Linear Algebra en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by