spchol
Factorisation de Cholesky creuse
Séquence d'appel
[R,P] = spchol(X)
Paramètres
- X
matrice creuse réelle symétrique et définie positive.
- P
matrice de permutation
- R
facteur de Cholesky
Description
[R,P] = spchol(X)
produit une matrice triangulaire inférieure R
telle que P*R*R'*P' = X
.
Exemples
// Factorisation: Xfull = [ 3., 0., 0., 2., 0., 0., 2., 0., 2., 0., 0. 0., 5., 4., 0., 0., 0., 0., 0., 0., 0., 0. 0., 4., 5., 0., 0., 0., 0., 0., 0., 0., 0. 2., 0., 0., 3., 0., 0., 2., 0., 2., 0., 0. 0., 0., 0., 0. , 5., 0., 0., 0., 0., 0., 4. 0., 0., 0., 0., 0., 4., 0., 3., 0., 3., 0. 2., 0., 0., 2., 0., 0., 3., 0., 2., 0., 0. 0., 0., 0., 0., 0., 3., 0., 4., 0., 3., 0. 2., 0., 0., 2., 0., 0., 2., 0., 3., 0., 0. 0., 0., 0., 0., 0., 3., 0., 3., 0., 4., 0. 0., 0., 0., 0., 4., 0., 0., 0., 0., 0., 5.]; X = sparse(Xfull); [R, P] = spchol(X); max(P*R*R'*P'-X) // Factorisation puis résolution avec l'opérateur '\': Afull = [ 2 -1 0 0 0; -1 2 -1 0 0; 0 -1 2 -1 0; 0 0 -1 2 -1; 0 0 0 -1 2 ]; A = sparse(Afull); [L, P] = spchol(A); max(P*L*L'*P'-A) n = size(A, "r"); e = (1:n)'; b = A * e; x = P*(L'\(L\(P'*b))); A*x-b
Voir aussi
Report an issue | ||
<< lusolve | Décompositions Creuses | Manipulation des Matrices Creuses >> |