Scilab 6.0.2
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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 >> |