Calcolo numerico/Tecniche del pivot
Tecnica del pivot parziale
Supponiamo di essere al -esimo passo di fattorizzazione, in cui bisogna azzerare i coefficienti della -esima colonna a partire dall'entrata . Cerchiamo l'indice tale che , e scambiamo quindi la -esima riga con la -esima, applicando alla matrice la matrice di permutazione , che è l'identità in cui scambio la -esima riga con la -esima.
Bisogna verificare che anche moltiplicando per la matrice di permutazione, la fattorizzazione rimane del tipo .
Esempio in dimensione n=4
In dimensione , all'ultimo passo dell'eliminazione si ottiene
(le matrici di permutazione sono alternate a quelle elementari)
Le matrici di permutazione hanno la proprietà che , allora, inserisco il doppio prodotto nell'uguaglianza nelle posizioni opportune, per far comparire vicine tra loro le matrici di permutazione.
Ad esempio:
Ponendo , al passo successivo otteniamo:
e ponendo , e , ottengo:
e si pone .
Vogliamo verificare che anche le matrici segnate sono ancora matrici elementari di Gauss, e quindi invertibili.
Consideriamo, ad esempio,
Invece
Allora calcoliamo il prodotto :
(scambiiamo la terza riga con la quarta). Invece, moltiplicando a destra per , scambiamo la terza e la quarta colonna, e otteniamo la matrice
che ha la stessa forma di .
Consideriamo invece la matrice che scambia la seconda riga con la terza:
Allora
e moltiplicando per :
che non è più una matrice elementare di Gauss.
In ogni caso, la moltiplicazione per non è più un'operazione ammissibile nell'eliminazione di Gauss al passo , perché si può operare solo nella sottomatrice in basso a destra, quindi non ci sono problemi.
Fattorizzazione
Dato il sistema , moltiplichiamo per ambo i membri per far comparire la matrice di permutazione, e otteniamo:
Allora bisogna considerare il termine noto permutato , e risolviamo prima il sistema lineare
e poi
Effetti del pivot parziale
Il pivot parziale ha un effetto stabilizzante, ovvero riduce l'errore algoritmico. In particolare:
1. Come prima, è una matrice triangolare inferiore con 1 sulla diagonale principale e nella parte inferiore.
2. I moltiplicatori hanno espressione
quindi, per ogni i coefficienti sono .
3. La crescita degli elementi di è limitata, infatti i coefficienti della "nuova" matrice sono:
mentre per gli elementi della matrice rimangono invariati, e quindi
in definitiva
Chiamiamo il massimo modulo degli elementi della matrice . Allora, passando ai massimi nella disuguaglianza sopra,
e applicando a ritroso la relazione
Errore algoritmico
Teorema 2.7
Sia tale che i suoi elementi siano numeri macchina (focus sull'errore algoritmico). Chiamiamo le matrici effettivamente calcolate, allora dove vale la relazione
(a livello notazionale, chiamiamo la matrice che ha come componenti i moduli degli elementi di )
In questa relazione, oltre alla dipendenza dalla dimensione, da e dalla precisione di macchina, il fatto significativo è che compaiono .
Teorema 2.8
Siano e, considerando effettivamente calcolate, chiamiamo la soluzione del sistema e soluzione di . Allora è la soluzione di
con
(interpretiamo l'errore algoritmico come errore inerente del problema perturbato)
Esempio 2.7
Consideriamo la matrice
dove è scelto in modo che la soluzione del sistema lineare sia . Il problema è ben condizionato, infatti
e quindi se è piccolo, .
Per quanto riguarda la stabilità, senza tecnica del pivot:
mentre la soluzione esatta ha entrambe le componenti uguali a 1, e il problema è dato dalla crescita dei coefficienti di .
Tecnica del pivot totale
Per ogni passo , cerchiamo tale che
assumiamo di poter fare permutazioni di colonne oltre che permutazioni di righe .
Il problema che sorge è che, facendo permutazioni di colonne, si permuta l'ordine delle incognite.
Esempio 2.8
Nella catena di moltiplicazioni di matrici elementari, nel caso ,
ma poniamo . L'altro pezzo di viene trattato come prima.
Come prima
e per risolvere il sistema permutiamo a sinistra,
bisogna inserire la , allora poniamo
Calcoliamo permutazione del termine noto, e risolviamo quindi:
Questo procedimento ha un effetto più stabilizzante rispetto al pivot parziale, infatti si ha:
e non sono state trovate matrici per cui vale l'uguaglianza.
Costo computazionale
La risoluzione forward o backward, considerando il numero di operazioni moltiplicative, ha come costo computazionale
infatti, per ogni incognita, si ha l'espressione
Invece la fattorizzazione ha costo
che è dell'ordine di (il primo addendo serve per il calcolo dei moltiplicatori, e il secondo per il calcolo del blocco quadrato in basso a destra).