Added Algorithm 10

This commit is contained in:
Sergiusz Warga 2021-03-13 21:13:03 +01:00
parent 19cba61d44
commit 8a90e7eecd
2 changed files with 25 additions and 1 deletions

View File

@ -0,0 +1,24 @@
function A = Alg10(A)
% Algorithm 10: Cholesky (Banachiewicz) factorization.
% Matrix A has to be symmetric and positive-definite:
% all d(i, i) > 0 for A = LDL^T.
% We are using Outer product Version (Golub, Load, Alg. 4.2.2).
[m, n] = size(A);
if m ~= n
error('Matrix is not square!')
end
for k = 1:m
A(k,k) = sqrt(A(k,k));
A(k+1:n, k) = A(k+1:n, k)/A(k,k);
for j = k+1:n
A(j:n, j) = A(j:n, j) - A(j:n, k)*A(j, k);
end
end
A = tril(A);
end

View File

@ -3,7 +3,7 @@ function b = Alg3_forward_substitution(L, b)
[m, n] = size(L); [m, n] = size(L);
if m ~= n if m ~= n
error('Matrix is not squared!') error('Matrix is not squar!')
end end
if length(b) ~= m if length(b) ~= m