Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
How to force eig() to return a triangular matrix
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
John D'Errico
le 19 Août 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.
Réponses (0)
Cette question est clôturée.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!