Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

How to force eig() to return a triangular matrix

1 Ansicht (letzte 30 Tage)
Stephan
Stephan am 19 Aug. 2017
Kommentiert: Stephan am 23 Aug. 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 Kommentare
John D'Errico
John D'Errico am 19 Aug. 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 am 23 Aug. 2017
Thank you!

Antworten (0)

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by