Vai al contenuto

Calcolo numerico/Fattorizzazione QR

Wikibooks, manuali e libri di testo liberi.
Indice del libro

è una matrice unitaria, cioè , allora , e è una triangolare superiore.

Ci chiediamo per quale motivo serve un'alternativa alla fattorizzazione .

Il vantaggio della fattorizzazione è una maggior stabilità rispetto alla . Infatti la è una fattorizzazione con matrici elementari unitarie, che conservano la norma 2.

Lo svantaggio è il raddoppio del costo computazionale.

Non occorre la tecnica del pivot.

Ci sono situazioni più sofisticate in cui si usa una tecnica di pivot per colonne, per garantire che gli elementi diagonali della abbiano una certa proprietà di ordinamento.

Questa fattorizzazione si usa solo in casi limite, ad esempio nel calcolo degli autovalori (spettro completo) e del rango, e della s.v.d.

Data una matrice hermitiana, allora si può diagonalizzare con trasformazioni unitarie, scrivendo .

La decomposizione in fattori singolari è l'estensione di quest'idea anche ai casi in cui la matrice non è simmetrica e non è quadrata.

La fattorizzazione esiste sempre ma non è unica.

Risoluzione del sistema

[modifica | modifica sorgente]

Con la fattorizzazione viene fattorizzata nel prodotto di una matrice unitaria e di una triangolare superiore.

è unitaria quindi .

Nel sistema , cioè , poniamo , risolvo prima

quindi si risolve

con matrice triangolare.

Il costo di risoluzione è .

Matrici elementari di Hausolder

[modifica | modifica sorgente]

Definizione

Una matrice elementare è una matrice della forma , con , parametro, e il prodotto è una diade.

La matrice della diade ha rango uguale a 1.

Nella fattorizzazione consideriamo le matrici elementari di Hausolder (o matrici di riflessione). Queste matrici sono della forma:

Proposizione 2.2

[modifica | modifica sorgente]

Le matrici di riflessione sono hermitiane, e sono unitarie se scegliamo .

Dim.

Hermitiane:

Unitarie: sappiamo che , e per hermitianità

(infatti )

quindi

implica

cioè, se , deve valere , cioè

cvd

Altre proprietà sulle matrici di Hausolder

[modifica | modifica sorgente]

Sia (la matrice di Hausolder è univocamente determinata da ), con , e . Allora per ogni , la matrice di Hausolder si comporta come l'identità. Infatti:

infatti per .

applicata nel sottospazio è:

e per definizione di :

cioè si ha una riflessione.

Esistenza della matrice elementare P

[modifica | modifica sorgente]

Teorema 2.10

[modifica | modifica sorgente]

Per ogni esiste matrice elementare di Hausolder tale che .

Dimostrazione

[modifica | modifica sorgente]

Dobbiamo determinare il parametro e la matrice elementare di Hausolder .

Siccome , (relazione ). Deve essere , allora

Inoltre è un'isometria quindi conserva la norma 2, cioè:

allora, eguagliando le due espressioni trovate per , ottengo:

Per determinare l'angolo , dev'essere

Per hermitianità di :

allora siccome lo scalare è uguale al suo coniugato, è reale, quindi .

, allora possiamo scriverlo come (relazione ).

e sostituendo l'espressione di :

, allora

ovvero con .

In conclusione:

e per la ,

Se , allora poniamo .

Vale che

e per definizione di otteniamo:

Chiamiamo il coefficiente che moltiplica , e mettiamo in evidenza :

Osservazione 2.5

[modifica | modifica sorgente]

A patto di escludere che , è lecito porre , in quanto

allora per il fatto che , possiamo porre .

Tornando alla formula:

e ponendo , otteniamo:

Nota bene: possiamo escludere il caso , infatti, per definizione, se e solo se , e possiamo scegliere il vettore al di fuori del complemento ortogonale.

Calcoliamo:

e la quantità è positiva se come nell'ipotesi.

cvd

Riassumendo, poniamo

modifica solo la prima componente del vettore . Quindi:

e non c'è possibilità di errori di cancellazione.

Se , per costruzione, allora è una simmetrica ortogonale.

Il calcolo di costa operazioni per il calcolo della norma di , 2 operazioni moltiplicative, un'estrazione di radice, cioè un numero dell'ordine di operazioni.

Algoritmo della fattorizzazione QR

[modifica | modifica sorgente]

Utilizziamo il teorema dimostrato per determinare la fattorizzazione .

Supponiamo di essere al passo -esimo della fattorizzazione . Allora chiamiamo la -esima sottocolonna della matrice , che dobbiamo azzerare (corrisponde al vettore del teorema). Scegliamo il vettore che ha 0 nelle prime componenti, e le componenti successive sono:

dove definiamo

(per la definizione di sfruttiamo l'espressione ricavata nel teorema, cioè , e sfruttiamo anche l'espressione ricavata per )

Allora calcoliamo:

e raccogliendo otteniamo:

cioè

Allora abbiamo determinato univocamente la matrice

Se il vettore è tutto nullo, consideriamo e , in modo che a quel passo la matrice di Hausolder sia l'identità.

Applicando la matrice trovata al vettore cioè alla colonna , tutte le entrate di da a vengono azzerate, mentre si ha (infatti ). Applichiamo poi la matrice di Hausolder alle colonne rimanenti di .

Riepilogando, data la matrice di partenza, con il primo passo azzero la prima colonna e modifico , e poi ripeto il procedimento, per passi, e otteniamo la matrice triangolare superiore .

Il prodotto di matrici unitarie è unitario, e sappiamo che

e per hermitianità:

quindi

Non unicità della fattorizzazione

[modifica | modifica sorgente]

Proposizione 2.3

[modifica | modifica sorgente]

Per ogni esiste la fattorizzazione , ma non è unica.

Dim. Consideriamo una matrice di fase , cioè una matrice diagonale con elementi con , ed è una matrice unitaria. Allora , cioè , e definiamo dove e , dove è ancora unitaria e è triangolare superiore. Allora abbiamo comunque una fattorizzazione della matrice.

cvd

Questa proprietà può essere sfruttata per scegliere la in modo che gli elementi sulla diagonale siano ordinati in una certa maniera.

Fattorizzazione e risoluzione dei sistemi

[modifica | modifica sorgente]

Per risolvere il sistema lineare, non è necessario trovare esplicitamente la matrice , e nemmeno le .

Passo 1: poniamo , e chiamiamo la matrice che accosta .

Passo 2: chiamiamo , con

Chiamiamo poi il vettore riga , in modo da scrivere:

Passo :

con

Infine

Passo :

il vettore è stato calcolato senza calcolare esplicitamente le matrici , ed è tale che .

Costo computazionale

[modifica | modifica sorgente]

Per analizzare il costo del -esimo passo, tengo conto che ha componenti nulle e componenti diverse da 0. Per calcolare , le operazioni sono quindi .

Stabilità della fattorizzazione QR

[modifica | modifica sorgente]

Definizione

Si definisce norma di Frobenius'Testo in grassetto' di la quantità

Questa non è una norma matriciale indotta, infatti

ed è diversa da 1, mentre con le norme matriciali indotte l'identità a norma 1.

Teorema 2.11 (analisi dell'errore all'indietro)

[modifica | modifica sorgente]

Sia la soluzione effettivamente calcolata con l'applicazione delle effettive alla matrice per calcolare la . Sia il vettore che compare nella risoluzione backward del sistema . Allora è soluzione esatta di un sistema

dove

L'entità della perturbazione dipende dai dati iniziali, dalle dimensioni della matrice, e dalla matrice di fattorizzazione. Non dipende dalla norma di Frobenius di che è 1.

Consideriamo le matrici al -esimo passo di fattorizzazione, e calcolo il prodotto

siccome allora non varia con i passi di fattorizzazione.

Allora

allora

inoltre

allora non c'è possibilità di esplosione dei coefficienti.

La è stabile e può essere fatta senza pivot.