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