Recordar que la entrada debe ser una matriz cuadrada y simetrica. Luego le ire agregando los comentarios.
Este código es una implementación del algoritmo que aparece en el libro:
Técnicas de Cálculo para Sistemas de Ecuaciones, Programación Lineal y ...
Se puede probar un ejemplo con la matriz:
2 4 6 8 4 9 17 22 6 17 44 61 8 22 61 118
function d = ldlt(A) n = size(A) // Dimensiones de la matriz n = n(1) d = zeros(1,n) for k = 1:n suma = 0; for p = 1:k-1 suma = suma + A(k,p)*A(k,p)*d(p) end d(k) = A(k,k) - suma if (d(k)==0) then return d end for i = k+1:n do suma = 0 for p = 1:k-1 do suma = suma + A(i,p)*A(k,p)*d(p) end A(i,k) = (A(i,k) - suma) / d(k) end end return d endfunction
hola oye y para la factorizacion LLT como es , te lo agradeceria si subieras el código! gracias
ResponderEliminar