%% Základní maticové rozklady
%
%% LU rozklad
% Pro regulární matici A hledáme dolní trojúhelníkovou matici L a horní trojúhelníkovou matici U, že platí A=LU. Tento rozklad existuje, pokud všechny hlavní minory matice A jsou nenulové. V opačném případě je potřeba permutovat řádky matice A, takže PA=LU. Softwarové balíky zpravidla permutují řádky hlavně kvůli částečnému výběru vedoucího prvku - pivota.
% Použití v Matlabu:

format short
A=[1 2 3;4 5 6;7 8 10]
[L,U]=lu(A) % L je dolni trojuhelnikova s permutovanymi radky
L*U

%
% Rozšířená verze:

[L,U,P]=lu(A)
P*A
L*U

%
% Varianta s vektorem:

[L,U,p]=lu(A,'vector')
A(p,:)
L*U

%
%% Choleského rozklad
% Pro symetrickou matici A, která má všechny hlavní minory nenulové, existuje horní trojúhelníková matice T, že platí A=T^TT. V případě zápornýmch minorů je ale matice T komplexní, takže softwarové balíky počítají zpravidla Choleského rozklad jen pro matice pozitivně definitní.
% Použití v Matlabu:

A=[1 1;1 2]
T=chol(A)
T'*T

%
% Pro matici, která není pozitivně definitní:

A=[1 2;2 1]
chol(A)

%
% Úkol: Najděte řešení v komplexním oboru:

T=[]