%diary pascal_demo.diary

clear all
clc
%% A binomiális együtthatókat tartalmazó Pascal-mátrixnak
%% számos érdekes tulajdonsága van
help pascal
input('==> Folytatás ENTER-rel ===');
clc
n     = 4
P     = pascal(n)
%% Ha T = 0, az elõzõ Pascal-mátrixot kapjuk
P0    = pascal(n,  0)
input('==> Folytatás ENTER-rel ===');
clc
%% Ha T = -1, a Pascal-mátrix Cholesky felbontásához tartozó L-t kapjuk.
%% Ennek soraiban ismét a binomiális együtthatók állnak
%% Mivel a diagonális elemek pozitívak, P pozitív definit mátrix
Pm1   = pascal(n, -1)
LP    = chol(P, 'lower')    %% megegyezik az elõzõvel
all(all(Pm1*Pm1' == P)) %% ellenõrizzük a Cholesky-felbontást
%%
input('==> Folytatás ENTER-rel ===');
clc
%% Ha T = 1, az elõzõhöz hasonló alsó trianguláris mátrixot kapunk, de
%% most némelyik oszlop lehet negatív is. A visszadott mátrix inverze sajátmaga,
%% tehát pascal(n, 1)^2 == eye(n)
P1    = pascal(n, 1) 
P1inv = inv(P1)
P1*P1
input('==> Folytatás ENTER-rel ===');
clc
%% Ha T = 2, az egységmátrix "köbgyökét" kapjuk,
%% tehát pascal(n, 2)^3 == eye(n)
P2  = pascal(n, 2) 
P2^3
input('==> Folytatás ENTER-rel ===');
clc
%% A Pascal-mátrix egyéb érdekes tulajdonságai:
detP = det(P)
invP = inv(P)
eig(P)

diary off

