Di seguito proponiamo il codice che fattorizza la matrice come .
function A=fattLDLT(A) %FATTLDLT Fattorizza la matrice A come LDLT % % A=FATTLDLT(A) % % I parametri della funzione sono: % A -> la matrice quadrata da fattorizzare % % I valori di ritorno sono: % A -> la matrice modificata contenente nella parte % strettamente triangolare inferiore L, sulla % diagonale D e nella parte strettamente superiore % la parte strettamente superiore di A % % See Also SOLVELDLT, FATTLU, FATTPALU, FATTQR n=length(A); for j=1:n if j==1 v=A(j,1:j-1)'; else (1) v=(A(j,1:j-1).*diag(A(1:j-1,1:j-1))')'; end (2) A(j,j)=A(j,j)-A(j,1:j-1)*v; (3) A(j+1:n,j)=(A(j+1:n,j)-A(j+1:n,1:j-1)*v)/A(j,j); end