Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

How to force eig() to return a triangular matrix

1 visualización (últimos 30 días)
Stephan
Stephan el 19 de Ag. de 2017
Comentada: Stephan el 23 de Ag. de 2017
Hello everyone,
the following code gives an example, where eig() should use the cholesky decomposition, i.e. should return a triangular matrix like chol(). However, it does not.
% positive definite matrix
A = [4,2,-1;
2,5,1;
-1,1,6];
% Cholesky works and returns triangular matrix
TriangularMatrix = chol(A);
% no triangular matrix
[V,D] = eig(A);
How do I get a decomposition A = VDV^{-1}, where V is the triangular matrix from a cholesky decomposition.
Thanks for any help!
  2 comentarios
John D'Errico
John D'Errico el 19 de Ag. de 2017
I'll tell you this much: The decomposition you are looking for does not exist.
If A is SPD, V lower triangular, D is diagonal, then the product
V*D*inv(V)
will not be symmetric. Therefore there is no need to look for a solution. This is because a lower triangular V will not have an inverse that is the transpose of V. That will happen only if V has very special properties that preclude it being lower triangular, UNLESS it is also diagonal and an identity matrix. So any matrix V that satisfies the requirements will produce a very boring solution, with D==A.
So don't waste your time searching for a solution.
Stephan
Stephan el 23 de Ag. de 2017
Thank you!

Respuestas (0)

La pregunta está cerrada.

Community Treasure Hunt

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

Start Hunting!

Translated by