Why does chol([4, -4;-4, 4]) fail to produce an answer?

6 vues (au cours des 30 derniers jours)
Paul Mellor
Paul Mellor le 22 Déc 2015
Commenté : Paul Mellor le 22 Déc 2015
>> chol([4, -4;-4, 4])
Error using chol
Matrix must be positive definite.
Yet clearly
R = [2, -2];
R' * R
Gives ans =
4 -4
-4 4

Réponse acceptée

Stephen23
Stephen23 le 22 Déc 2015
Modifié(e) : Stephen23 le 22 Déc 2015
Actually that matrix is not positive definite. From the chol documentation:
" [R,p] = chol(A) for positive definite A, produces an upper triangular matrix R from the diagonal and upper triangle of matrix A, satisfying the equation R'*R=A and p is zero. If A is not positive definite, then p is a positive integer and MATLAB® does not generate an error."
Lets try it:
>> [~,p] = chol([4, -4;-4, 4])
p =
2
This is the same method that TMW gives here:
  1 commentaire
Paul Mellor
Paul Mellor le 22 Déc 2015
I see. Then is there a way to obtain a factorization R' * R = A for this matrix, even though it is not defined to be positive definite (since one of its eigenvalues is zero)? This factorization clearly exists as R = [2, -2];

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Linear Algebra dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by