Poichè una matrice simmetrica e definita positiva si può fattorizzare come con matrice triangolare inferiore, allora per generare le nostre matrici di prova, utilizzeremo proprio questa proprietà
» r=tril(round(5*rand(10))) r = 5 0 0 0 0 0 0 0 0 0 4 2 0 0 0 0 0 0 0 0 2 1 1 0 0 0 0 0 0 0 1 1 2 2 0 0 0 0 0 0 5 3 2 5 4 0 0 0 0 0 5 3 0 1 1 2 0 0 0 0 4 1 4 0 0 1 2 0 0 0 3 4 4 4 4 0 0 2 0 0 3 1 2 5 3 5 2 1 1 0 1 4 4 2 2 3 2 3 4 4 » a=r*r' a = 25 20 10 5 25 25 20 15 15 5 20 20 10 6 26 26 18 20 14 12 10 10 6 5 15 13 13 14 9 10 5 6 5 10 22 10 13 23 18 17 25 26 15 22 79 43 31 71 59 43 25 26 13 10 43 40 25 35 36 27 20 18 13 13 31 25 38 32 30 31 15 20 14 23 71 35 32 77 55 57 15 14 9 18 59 36 30 55 79 57 5 12 10 17 43 27 31 57 57 95 » A=fattldlt(a) A = Columns 1 through 4 25.00000000000000 20.00000000000000 10.00000000000000 5.00000000000000 0.80000000000000 4.00000000000000 10.00000000000000 6.00000000000000 0.40000000000000 0.50000000000000 1.00000000000000 5.00000000000000 0.20000000000000 0.50000000000000 2.00000000000000 4.00000000000000 1.00000000000000 1.50000000000000 2.00000000000000 2.50000000000000 1.00000000000000 1.50000000000000 0 0.50000000000000 0.80000000000000 0.50000000000000 4.00000000000000 0 0.60000000000000 2.00000000000000 4.00000000000000 2.00000000000000 0.60000000000000 0.50000000000000 2.00000000000000 2.50000000000000 0.20000000000000 2.00000000000000 4.00000000000000 1.00000000000000 Columns 5 through 8 25.00000000000000 25.00000000000000 20.00000000000000 15.00000000000000 26.00000000000000 26.00000000000000 18.00000000000000 20.00000000000000 15.00000000000000 13.00000000000000 13.00000000000000 14.00000000000000 22.00000000000000 10.00000000000000 13.00000000000000 23.00000000000000 16.00000000000000 43.00000000000000 31.00000000000000 71.00000000000000 0.25000000000000 4.00000000000000 25.00000000000000 35.00000000000000 0 0.50000000000000 4.00000000000000 32.00000000000000 1.00000000000000 0 0 4.00000000000000 0.75000000000000 2.50000000000000 1.00000000000000 0.50000000000000 0.50000000000000 1.50000000000000 1.00000000000000 1.50000000000000 Columns 9 through 10 15.00000000000000 5.00000000000000 14.00000000000000 12.00000000000000 9.00000000000000 10.00000000000000 18.00000000000000 17.00000000000000 59.00000000000000 43.00000000000000 36.00000000000000 27.00000000000000 30.00000000000000 31.00000000000000 55.00000000000000 57.00000000000000 1.00000000000000 57.00000000000000 4.00000000000000 16.00000000000000 » l=tril(A,-1)+eye(10) l = Columns 1 through 4 1.00000000000000 0 0 0 0.80000000000000 1.00000000000000 0 0 0.40000000000000 0.50000000000000 1.00000000000000 0 0.20000000000000 0.50000000000000 2.00000000000000 1.00000000000000 1.00000000000000 1.50000000000000 2.00000000000000 2.50000000000000 1.00000000000000 1.50000000000000 0 0.50000000000000 0.80000000000000 0.50000000000000 4.00000000000000 0 0.60000000000000 2.00000000000000 4.00000000000000 2.00000000000000 0.60000000000000 0.50000000000000 2.00000000000000 2.50000000000000 0.20000000000000 2.00000000000000 4.00000000000000 1.00000000000000 Columns 5 through 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.00000000000000 0 0 0 0.25000000000000 1.00000000000000 0 0 0 0.50000000000000 1.00000000000000 0 1.00000000000000 0 0 1.00000000000000 0.75000000000000 2.50000000000000 1.00000000000000 0.50000000000000 0.50000000000000 1.50000000000000 1.00000000000000 1.50000000000000 Columns 9 through 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.00000000000000 0 4.00000000000000 1.00000000000000 » d=diag(A) d = 25 4 1 4 16 4 4 4 1 16 » l*diag(d)*l' ans = 25 20 10 5 25 25 20 15 15 5 20 20 10 6 26 26 18 20 14 12 10 10 6 5 15 13 13 14 9 10 5 6 5 10 22 10 13 23 18 17 25 26 15 22 79 43 31 71 59 43 25 26 13 10 43 40 25 35 36 27 20 18 13 13 31 25 38 32 30 31 15 20 14 23 71 35 32 77 55 57 15 14 9 18 59 36 30 55 79 57 5 12 10 17 43 27 31 57 57 95 » a a = 25 20 10 5 25 25 20 15 15 5 20 20 10 6 26 26 18 20 14 12 10 10 6 5 15 13 13 14 9 10 5 6 5 10 22 10 13 23 18 17 25 26 15 22 79 43 31 71 59 43 25 26 13 10 43 40 25 35 36 27 20 18 13 13 31 25 38 32 30 31 15 20 14 23 71 35 32 77 55 57 15 14 9 18 59 36 30 55 79 57 5 12 10 17 43 27 31 57 57 95 »
esattamente la matrice di partenza.