viewgit/index.php:465 Only variables should be passed by reference [2048]
viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]
\chapter{Calcolo degli autovalori di matrici strutturate} Abbiamo visto nell'analisi dei sistemi lineari vari metodi per utilizzare la struttura delle matrici per ottimizzare il procedimento e diminuire il costo computazionale. \\ Questo in generale è più difficile nel calcolo degli autovalori. L'unica struttura che siamo finora riusciti a sfruttare per abbassare il costo è stata la tridiagonalità. In generale si parla di matrice strutturata quando una matrice è individuata da un numero di parametri dell'ordine minore di $n^2$. \\ Ricapitoliamo le strutture principali viste fino ad ora e i relativi vantaggi nella risoluzione di sistemi lineari. \begin{description} \item[Matrici sparse] Parliamo di matrici sparse quando ci sono pochi elementi non nulli, ovvero un numero con un ordine di grandezza strettamente inferiore a $n^2$. In questo caso riusciamo spesso ad ottimizzare i metodi di moltiplicazione matrice per vettore e quindi possiamo trarre vantaggio dall'applicazione di metodi iterativi; della \dft, dove si riesce a scendere ad un costo $O(n\log n)$.} queste matrici ma esiste un metodo (tramite un'opportuna rappresentazione dell'inversa) per risolvere un sistema lineare con un costo $O(n^2)$. trasformata discreta di Fourier abbiamo mostrato che il costo del prodotto matrice vettore è molto basso. Possiamo quindi ipotizzare di applicare dei metodi iterativi per risolvere il sistema. \item[Diagonali con correzione di rango 1] Queste martici sono piuttosto interessanti e sono le prime di cui ci occuperemo. Sono appunto composte dalla somma di una matrice diagonale $D$ con una matrice di rango $1$ $u\trasp u$; \end{description} Introduciamo ora un metodo alternativo a quello di Householder per la tridiagonalizzazione di una matrice simmetrica. \\ Osserviamo che se $A$ è una matrice simmetrica in $\mat{\R}{n}$, allora esiste una matrice $T \in \mat{\R}{n}$ tridiagonale simmetrica e una matrice unitaria $Q$ tali che \[ A = QT\trasp Q \] e quindi anche \[ AQ = QT \] Osserviamo ora solo la prima colonna di quest'uguaglianza, ovvero $AQe_1 = Aq_1 = QTe_1$. Se scriviamo \[ T = \left[ \begin{array}{cccc} \alpha_1 & \beta_1 & & \\ \beta_1 & \ddots & \ddots & \\ & \ddots & \ddots & \beta_{n-1} \\ & & \beta_{n-1} & \alpha_n \\ \end{array} \right] \] Possiamo riscrivere la relazione come $Aq_1 = \alpha_1 q_1 + \beta_1 q_2$ e, una volta scelto $q_1$ vettore di norma $1$, si ha che $\trasp q_1 A q_1 = \alpha_1 \trasp q_1 q_1 + \beta_1 \trasp q_1 q_2 = \alpha_1$; possiamo quindi calcolare $\alpha_1$ da cui possiamo poi ricavare $\beta_1$ considerando che $\beta q_2 = Aq_1 - \alpha_1 q_1$ e quindi \[ \beta_1 = ||Aq_1 - \alpha_1 q_1||_2 \qquad \text{e} \qquad q_2 = \frac{Aq_1 - \alpha_1 q_1}{\beta_1} \] Ripetendo il procedimento con la seconda colonna (ora che conosciamo $q_2$) e poi continuando ancora si ottiene la regola generale \[ \alpha_i = \trasp q_i A q_i \qquad \beta_i = ||Aq_i - \alpha_i q_i||_2 \qquad q_{i+1} = \frac{Aq_i - \alpha_i q_i}{\beta_i} \] e si può quindi ricostruire tutta la matrice $Q$ e la matrice $T$. Il costo computazionale dominante nello svolgimento di queste operazioni è dato dai prodotti matrice vettore che costano generalmente $O(n^2)$ e portano quindi ad un costo complessivo del metodo di $O(n^3)$ (lo stesso costo del metodo di Householder). \\ Questo metodo non viene però generalemente utilizzato per calcolare la tridiagonalizzazione. Il motivo è che non è numericamente stabile, ed in generale la matrice $Q$ ottenuta non è ortogonale. \begin{os} A questo punto è naturale chiedersi che rapporto esiste fra la matrice calcolata con il metodo di Householder e quella calcolata con il metodo di Lanczos, al variare del primo vettore $q_1$ scelto all'inizio. La risposta che è possibile verificare è che scegliendo $q_1 = e_1$ le matrici differiscono per una matrice di fase. \end{os} Nonostante in generale il metodo non venga usato per la sua poca precisione esiste un particolare caso in cui risulta essere utile, ed è precisamente il seguente Cominciamo con una definizione \begin{de} \[ \ray{A}{x} = \frac{\trasp x A x}{\trasp xx} \] \end{de} Si può osservare che il minimo del quoziente di Rayleigh su tutto $\R^n$ corrisponde al modulo dell'autovalore minimo e il massimo al modulo dell'autovalore massimo. \\ Osserviamo poi che preso un generico sottospazio $k$-dimensionale $S \subseteq \R^n$ abbiamo che se \[ \lambda = \min_{x \in S} \ray{A}{x} \] allora $\lambda$ è l'autovalore di modulo minimo su un sottospazio di $\R^n$. Se $S$ è sufficientemente grande possiamo pensare di usare $\lambda$ come approssimazione di $\lambda_{min}$. \\ Consideriamo $\{ q_1 , \ldots, q_k \}$ base del sottospazio $S$ e la matrice $Q$ con i vettori $q_i$ come colonne. Se prendiamo $x \in S$ allora \[ x = \sum_{i=1}^{k} \alpha_i q_i \] e quindi se $\alpha = (\alpha_1, \ldots, \alpha_k)$ si ha $x = Q\alpha$. \[ \frac{\trasp \alpha \trasp Q A Q \alpha}{\trasp \alpha \alpha} \] In conclusione è sufficiente minimizzare $\ray{\trasp Q A Q}{x}$ su $\R^k$, ed essendo $\trasp Q A Q$ una matrice $k \times k$ questo procedimento può risultare sensibilmente più economico rispetto all'idea originale. \\ \begin{de} Data una matrice $A$ a coefficienti reali\footnote{definiamo il procedimento sui numeri reali solo per non appesantire la notazione, ma non c'è nessuna restrizione ad usarlo sui complessi.} e $x$ un vettore di $\R^n$. Si dice \emph{sottospazio di Krylov} di $A$ e $v$ di ordine $j$ e si indica con $\kryl{A}{v}{j}$ il sottospazio \[ S = \Span{v, Av, \ldots, A^{j-1}v} \] \end{de} Osserviamo che in generale $\dim{S} \leq j$. \\ Siamo ora interessati ad utilizzare un sottospazio di Krylov come sottospazio $S$ con cui approssimare il nostro autovalore. Per farlo però dobbiamo trovare una base ortonormale di $S$; possiamo procedere calcolando la scomposizione \qr\ della matrice dei vettori che generano: \[ \left[ \begin{array}{c|c|c|c} \multirow{4}{*}{$v$} & \multirow{4}{*}{$Av$} & \multirow{4}{*}{$\ldots$} & \multirow{4}{*}{$A^{j-1}v$} \\ & & & \\ & & & \\ & & & \\ \end{array} \right] = QR \] Si può mostrare che le prime $j$ colonne di $Q$ sono una base dello spazio $S$. Per farlo è sufficiente osservare che essendo $R$ triangolare superiore e $n \times j$ con $j < n$ deve avere le ultime $n - j$ righe nulle.