7. Autovalori

Definizione del problema

Sia , si definisce \lambda \in \C un autovalore di se autovettore non nullo tale che Data una matrice il problema può porsi diversi obiettivi:

  • Trovare tutte le autocoppie
  • Trovare solo gli autovalori
  • Trovare l'autovalore più grande / più piccolo

Richiami alle caratteristiche

Richiamiamo alcune caratteristiche degli autovalori, già esposte nel capitolo sulle matrici:

  • Un autovettore è sempre diverso dal vettore nullo
  • Un autovalore può essere nullo
  • Se allora essi possono essere:
    • Reali e distinti
    • Reali e coincidenti
    • Complessi coniugati
  • Se è presente un autovalore complesso, sarà presente anche il coniugato
  • Gli autovalori di una matrice sono al più
  • Gli autovettori sono invece infiniti:
  • Gli autovalori linearmente indipendenti sono al più e formano un autospazio

Strategia numerica per il calcolo degli autovalori

La strategia numerica per il calcolo degli autovalori è differente rispetto a quella analitica, che consiste nel risolvere l'equazione caratteristica della matrice.

La strategia numerica consiste nel calcolare una matrice triangolare che sia simile ad . Questo poiché:

  1. Vale il teorema di Shur (vedasi capitolo 2 - matrici)
  2. Matrici simili hanno gli stessi autovalori
  3. Gli autovalori di una matrice triangolare risiedono sulla diagonale principale

Spesso è complesso trovare triangolare, per cui un trade-off tra complessità dell'algoritmo e risoluzione del problema è quello di trovare come matrice di Hessemberg. La soluzione in tali matrici non è immediata, ma è più semplice rispetto al problema principale.

Condizionamento nel problema degli autovalori

Il condizionamento nel problema degli autovalori è differente rispetto a quello nei sistemi lineari. La matrice di Hilbert risulta mal condizionata per sistemi lineari, ben condizionata per gli autovalori. Si supponga che sia diagonalizzabile e sia la matrice diagonale ad essa simile: Sia la norma matriciale di pari all'autovalore principale di : Vale il seguente teorema:

Teorema di Bauer-Fike

Sotto le precedenti condizioni, sia una matrice di perturbazione per e sia la matrice perturbata, sia inoltre e siano per . Allora:

La distanza più piccola credo serva ad identificare l'autovalore in corrispondente a in . Il teorema ci dice che l'errore è più piccolo dello scalare a destra.

Se è una matrice normale, , allora la matrice può essere scelta unitaria, e in tale caso si dimostra analiticamente che E quindi la tesi del teorema sarà:

Numero di condizionamento

Sia la matrice di trasformazione tale che , allora il numero di condizionamento di sarà: Il miglior condizionamento nel problema degli autovalori si ha quando la matrice di trasformazione è unitaria / ortogonale:

Risultati di impossibilità: Teorema di Abel

La necessita dell'utilizzo di metodi iterativi può essere giustificata dalla difficoltà nel risolvere equazioni polinomiali di alto grado (nel caso degli autovalori, la risoluzione analitica necessita della risoluzione dell'equazione caratteristica, il cui grado è la dimensione della matrice). Il teorema di Abel dimostra la non esistenza di formule dirette per il calcolo degli zeri di un polinomio di grado maggiore o uguale al quinto.

Metodo delle potenze

Nota: se si vuole ricavare tutto lo spettro attraverso il metodo delle potenze, si veda il metodo della deflazione.

Il metodo delle potenze è un metodo iterativo che calcola l'autovalore principale . Si supponga che sia diagonalizzabile, un teorema enuncia che è diagonalizzabile se e solo se possiede autovettori linearmente indipendenti. Siano tali autovettori.

Il metodo parte da casuale. Consideriamo come combinazione lineare degli autovettori: Ricordiamo la proprietà delle autocoppie che per si ha: Poniamo , e analogamente . In generale avremo che: Ora andiamo a sostituire nell'espressione precedente con la combinazione lineare degli autovettori: Nei passaggi abbiamo applicato alcune proprietà fondamentali degli autovalori. Adesso raccogliamo per A questo punto dividiamo ambo i lati per Adesso studiamo il limite per Dato che è la componente principale, ed è più grande in modulo rispetto agli altri autovalori, allora il rapporto tenderà a 0 per . Questo implica che il limite tenderà a In generale, il passo di aggiornamento è: Quindi possiamo osservare che: Per definizione di autovalore e autovettore abbiamo:

Coefficiente di Rayleigh

Per estrarre la componente principale bisogna utilizzare il coefficiente di Rayleigh, definito come segue: Dato che e allora possiamo dire che per il coefficiente Per evitare problemi di underflow / overflow, si normalizzano i vettori ad ogni iterazione in modo che la loro norma sia unitaria.

Iterazione

  • Si parte da random
  • Durante l'iterazione -esima:
    • Si calcola
    • Si calcola il coefficiente di Rayleigh come visto sopra.
    • Se è soddisfatto un criterio di terminazione, si ferma l'algoritmo

Casistiche per più componenti principali

Nei casi pratici potrebbe capitare di trovare più autovalori principali, ovvero che più autovalori detengano magnitudo massima. Vediamo i vari casi:

  • il metodo è ancora convergente
  • il metodo viene applicato su (poiché )
  • se sono complessi coniugati il metodo diverge.

Trasformazioni per similarità

I metodi che calcolano l'intero spettro di una matrice sfruttano trasformazioni per similarità, ovvero si avvalgono del teorema di Shur e cercano di trovare una matrice di Hessemberg simile alla matrice del problema, per poi determinare più semplicemente l'analogo spettro.

Metodo di fattorizzazione QR

Il metodo torna in output una matrice triangolare e simile alla matrice di partenza. Ha una complessità computazionale di circa flops.

L'idea principale è la seguente: sia e sia una matrice ortogonale, quindi (), si ponga per definizione: Si dia per assunto che esista un metodo di fattorizzazione QR che riesca a fattorizzare: Invertendo l'ordine della fattorizzazione calcoliamo In generale si ha: Ricordando che è ortogonale, quindi . Adesso osserviamo: Osserviamo che è ortogonalmente simile a dato che e è una matrice ortogonale. Ripetendo i passaggi, si ha che è ortogonalmente simile ad . Nel caso in cui abbia autovalori reali e distinti, allora tende a diventare una matrice triangolare superiore. Nella formulazione più basilare si ha quindi e la fattorizzazione è ottenuta tramite il metodo di ortogonalizzazione di Gram-Schmidt, quindi il costo di ogni passo è .

Anziché procedere come visto, possiamo utilizzare dei metodi che riducono la matrice iniziale ad una matrice di Hessemberg. Il costo di ogni passo per la fattorizzazione scende da ad . Vedremo principalmente due metodi: Householder e Givens.

Metodo di Householder

Ottimo per matrici piene, non per matrici sparse.

Si basa sull'idea di annullare ogni colonna sotto la sub-diagonale, caricando il peso sull'elemento della sub-diagonale. Il metodo si applica volte alla matrice di partenza. Supponiamo di trovarci al passo e identifichiamo la colonna -esima attraverso il vettore : Dove identifica il numero di elementi sotto la diagonale principale (compreso l'elemento della diagonale principale), quindi:

  • è l'elemento nella diagonale principale
  • è l'elemento nella sub-diagonale principale, che dovrà farsi carico degli elementi cancellati

Il vettore dovrà essere trasformato come segue: Per far rimanere invariata la porzione del vettore, possiamo semplicemente porre la matrice di trasformazione come: Per far corrispondere tutto, le dimensioni sono e , che è l'effettivo operatore che effettua l'eliminazione degli elementi e la trasformazione , e che prende il nome di matrice di Householder. Spieghiamo come costruire con un esempio.

Esempio: Costruzione matrice di Householder

Sia la porzione di interesse (da in poi) del vettore colonna da annullare: La matrice di Householder vale: Dove il vettore , derivato da una lunga serie di calcoli, è definito come segue: Dove è sempre il primo vettore della base canonica di . Si sceglie solitamente la norma a segno positivo. Procediamo: Sostituiamo nella definizione di e calcoliamola: Si osservi che la matrice di Householder è una matrice simmetrica ortogonale. Eseguiamo la verifica andando a calcolare Il vettore si attacca alla parte della subdiagonale della colonna esaminata, dopodiché si passa alla colonna successiva.

Metodo di Givens

Ottimo per matrici sparse.

Il metodo di Givens ha lo stesso scopo del metodo di Householder, quindi per ogni colonna (eccetto l'ultima) elimina tutti gli elementi sotto la subdiagonale, caricando tutto sull'elemento della subdiagonale. La differenza è che anziché calcolare per eliminare direttamente tali elementi, calcola una matrice per ognuno degli elementi da annullare. Il calcolo di è più semplice di e se la matrice è sparsa il metodo conviene. Vediamo come costruire tale matrice.

Altra differenza: la matrice di Householder è definita come una matrice di traslazione, mentre quella di Givens come una matrice di rotazione.

Costruzione matrice di Givens

Fissata la -esima colonna su cui si sta lavorando, consideriamo il vettore come la porzione di interesse di tale colonna, ovvero dalla subdiagonale in giù. Adesso:

  • Si vuole annullare l'elemento
  • L'elemento subdiagonale prenderà carico dell'annullamento.

Si costruisce (dove è un angolo di rotazione che non dovremo determinare) come segue:

image-20220619100831975

La matrice è essenzialmente una matrice identità con i seguenti elementi modificati: Dove: Anche se non andremo a lavorare con , bensì imposteremo in modo che valga l'identità fondamentale della trigonometria: Ed imposteremo affinché venga rispettata la seguente condizione di interesse: Si può dimostrare che impostando nel seguente modo vengono rispettate entrambe le condizioni:< Una volta formata la matrice , si procede ad annullare l'elemento in . Si può osservare che la matrice di Givens è ortogonale (ma non simmetrica, come quella di Householder).

Autovalori in una matrice di Hessemberg

I metodi precedenti restituiscono una matrice di Hessemberg simile alla matrice originale. Per calcolare i suoi autovalori bisogna distinguere due scenari:

  • caso in cui è simmetrica, quindi una matrice tridiagonale
  • caso in cui è asimmetrica

In generale, ottenuto il polinomio caratteristico è sempre necessario un metodo per trovare gli zeri di una equazione non lineare, che vedremo nel prossimo capitolo.

Matrice di Hessemberg simmetrica

Nel caso in cui la matrice di Hessemberg è simmetrica, quindi una matrice tridiagonale:

image-20220619103800807

il polinomio caratteristico viene determinato ricorsivamente. Sia il polinomio caratteristico del minore principale -esimo della matrice , allora: