Il calcolo del fattore incompleto di Cholesky si basa sulla fattorizzazione
triangolare di matrici simmetriche che viene di seguito brevemente richiamata.
Poichè con la memorizzazione compatta di vengono conservati i soli
elementi appartenenti alla triangolare alta, conviene riscrivere la
(21) come:
Supponiamo che sia una matrice 3
3 piena di cui svolgiamo per esteso
la fattorizzazione:
Sviluppiamo il prodotto (23) procedendo secondo la successione delle
righe di . Per la prima riga vale:
001
002 Per
003
004 Fine Per
005 Per
006
007 Per
008
009 Fine Per
010 Fine Per
Il passaggio concettuale dal fattore completo di Cholesky a quello incompleto
secondo Kershaw risulta a questo punto banale, in quanto all'algoritmo
precedente è sufficiente aggiungere l'assegnazione:
Il nuovo algoritmo di calcolo del fattore incompleto di Cholesky secondo Kershaw con la memorizzazione in formato CRS risulta pertanto:
001 PREC
002 Per IA(1)+1, IA(2)-1
003 PREC SYSMAT
PREC(1)
004 Fine Per
005 Per
006 IA
007 ogni
per cui JA
008 PREC
009 Per IA
IA
010 JA
011 ogni
per cui JA
012 ogni
per cui JA
013 PREC
014 Fine Per
015 Fine Per
Va osservato, tuttavia, che l'implementazione efficiente delle sommatorie in
riga 8 e 13 sugli indici ,
ed
è in realtà non banale e va
preferibilmente effettuata calcolando separatamente il contributo del
coefficiente relativo al
corrente in modo da evitare le dispendiose
ricerche previste in riga 7, 11 e 12. Tale implementazione è effettuata
nella subroutine KERSH a disposizione dello studente.
Si deve infine ricordare che l'uso generalizzato delle (24) e
(25) comporta l'estrazione di radici quadrate il cui argomento, nel
caso di una fattorizzazione incompleta, non è più garantito essere positivo.
In questo caso l'elemento diagonale in questione verrà posto pari ad un
numero positivo arbitrario (ad esempio, l'ultimo coefficiente diagonale di
non nullo). Si dimostra comunque teoricamente che se la matrice
è di tipo M, cioè diagonalmente dominante con elementi extra-diagonali
di segno opposto rispetto a quelli diagonali, come ad esempio si verifica nella
discretizzazione agli elementi finiti dell'equazione ellittica di Laplace,
tutte le radici da calcolare nel fattore incompleto esistono nel campo reale.