cholesky
Descompunerea Cholesky este o metodă de factorizare a unei matrice simetrice pozitiv definite în produsul unei matrice inferioare triunghiulare și transpusa sa.
Implementare
Funcția va returna o matrice triunghiulară inferioară L caracteristica descompunerii Cholesky
determin dimensiunea matricei
Ași initializez matriceaLca o matrice pătratică de dimensiunenxn[n, m] = size(A); L = zeros(n);calculez elementele diagonale ale matricei
Lfolosind rădăcina pătrată a diferenței dintre elementul corespunzător dinAși suma pătratelor elementelor anterioare din aceeași linie.for i = 1:n L(i, i) = sqrt(A(i, i) - dot(L(i, 1:i-1), L(i, 1:i-1)));calculez elementele non-diagonale ale matricei
Lprin scăderea produsului scalar al elementelor anterioare din liniaiși coloanajși împărțirea rezultatului la elementul diagonal curent dinLfor j = i+1:n L(j, i) = (A(j, i) - dot(L(i, 1:i-1), L(j, 1:i-1))) / L(i, i);
Cod sursa
function L = cholesky(A)
[n, m] = size(A);
L = zeros(n);
for i = 1:n
L(i, i) = sqrt(A(i, i) - dot(L(i, 1:i-1), L(i, 1:i-1)));
for j = i+1:n
L(j, i) = (A(j, i) - dot(L(i, 1:i-1), L(j, 1:i-1))) / L(i, i);
end
end
endfunction
Last modified: 30 April 2024