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]

  1. \chapter{Calcolo degli autovalori di matrici strutturate}
  2.  
  3. Abbiamo visto nell'analisi dei sistemi lineari vari metodi per utilizzare la struttura
  4. delle matrici per ottimizzare il procedimento e diminuire il costo computazionale. \\
  5. Questo in generale è più difficile nel calcolo degli autovalori. L'unica struttura che siamo finora
  6. riusciti a sfruttare per abbassare il costo è stata la tridiagonalità.
  7.  
  8. \section{Strutture note}
  9. In generale si parla di matrice strutturata quando una matrice è individuata da un numero di
  10. parametri dell'ordine minore di $n^2$. \\
  11. Ricapitoliamo le strutture principali viste fino ad ora e i relativi vantaggi nella risoluzione
  12. di sistemi lineari.
  13. \begin{description}
  14. \item[Matrici sparse] Parliamo di matrici sparse quando ci sono pochi elementi non nulli, ovvero un numero
  15. con un ordine di grandezza strettamente inferiore a $n^2$. In questo caso riusciamo spesso ad ottimizzare
  16. i metodi di moltiplicazione matrice per vettore e quindi possiamo trarre vantaggio dall'applicazione
  17. di metodi iterativi;
  18.  
  19. \item[Van der Monde] Non abbiamo analizzato in dettaglio\footnote{ad eccezione delle matrici di Fourier per il calcolo
  20. della \dft, dove si riesce a scendere ad un costo $O(n\log n)$.} queste matrici ma esiste un metodo (tramite un'opportuna
  21. rappresentazione dell'inversa) per risolvere un sistema lineare con un costo $O(n^2)$.
  22.  
  23. \item[Toeplitz o H\"ankel] Abbiamo visto queste matrici nella Sezione~\ref{subsec:toeplitz} e tramite la
  24. trasformata discreta di Fourier abbiamo mostrato che il costo del prodotto matrice vettore è molto basso.
  25. Possiamo quindi ipotizzare di applicare dei metodi iterativi per risolvere il sistema.
  26.  
  27. \item[Diagonali con correzione di rango 1] Queste martici sono piuttosto interessanti e sono le prime di
  28. cui ci occuperemo. Sono appunto composte dalla somma di una matrice diagonale $D$ con una matrice di rango $1$
  29. $u\trasp u$;
  30. \end{description}
  31.  
  32. \subsection{Il metodo di Lanczos}
  33. Introduciamo ora un metodo alternativo a quello di Householder per la tridiagonalizzazione di una
  34. matrice simmetrica. \\
  35. Osserviamo che se $A$ è una matrice simmetrica in $\mat{\R}{n}$, allora esiste una matrice $T \in \mat{\R}{n}$
  36. tridiagonale simmetrica e una matrice unitaria $Q$ tali che
  37. \[
  38. A = QT\trasp Q
  39. \]
  40. e quindi anche
  41. \[
  42. AQ = QT
  43. \]
  44. Osserviamo ora solo la prima colonna di quest'uguaglianza, ovvero $AQe_1 = Aq_1 = QTe_1$. Se scriviamo
  45. \[
  46. T = \left[ \begin{array}{cccc}
  47. \alpha_1 & \beta_1 & & \\
  48. \beta_1 & \ddots & \ddots & \\
  49. & \ddots & \ddots & \beta_{n-1} \\
  50. & & \beta_{n-1} & \alpha_n \\
  51. \end{array} \right]
  52. \]
  53. Possiamo riscrivere la relazione come $Aq_1 = \alpha_1 q_1 + \beta_1 q_2$ e, una volta scelto $q_1$ vettore
  54. di norma $1$,
  55. 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
  56. calcolare $\alpha_1$ da cui possiamo poi ricavare $\beta_1$ considerando che $\beta q_2 = Aq_1 - \alpha_1 q_1$
  57. e quindi
  58. \[
  59. \beta_1 = ||Aq_1 - \alpha_1 q_1||_2 \qquad \text{e} \qquad q_2 = \frac{Aq_1 - \alpha_1 q_1}{\beta_1}
  60. \]
  61. Ripetendo il procedimento con la seconda colonna (ora che conosciamo $q_2$) e poi continuando ancora si ottiene
  62. la regola generale
  63. \[
  64. \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}
  65. \]
  66. e si può quindi ricostruire tutta la matrice $Q$ e la matrice $T$.
  67.  
  68. Il costo computazionale dominante nello svolgimento di queste operazioni è dato dai prodotti matrice vettore
  69. che costano generalmente $O(n^2)$ e portano quindi ad un costo complessivo del metodo di $O(n^3)$ (lo stesso
  70. costo del metodo di Householder). \\
  71. Questo metodo non viene però generalemente utilizzato per calcolare la tridiagonalizzazione. Il motivo è che
  72. non è numericamente stabile, ed in generale la matrice $Q$ ottenuta non è ortogonale.
  73.  
  74. \begin{os}
  75. A questo punto è naturale chiedersi che rapporto esiste fra la matrice calcolata con il metodo di Householder
  76. e quella calcolata con il metodo di Lanczos, al variare del primo vettore $q_1$ scelto all'inizio. La risposta
  77. che è possibile verificare è che scegliendo $q_1 = e_1$ le matrici differiscono per una matrice di fase.
  78. \end{os}
  79.  
  80. Nonostante in generale il metodo non venga usato per la sua poca precisione esiste un particolare caso in cui
  81. risulta essere utile, ed è precisamente il seguente
  82.  
  83. \subsection{Il quoziente di Rayleigh}
  84. Cominciamo con una definizione
  85. \begin{de}
  86. Si dice \emph{quoziente di Rayleigh di $A$ e $x$} e si indica con $\ray{A}{x}$ lo scalare
  87. \[
  88. \ray{A}{x} = \frac{\trasp x A x}{\trasp xx}
  89. \]
  90. \end{de}
  91. Si può osservare che il minimo del quoziente di Rayleigh su tutto $\R^n$ corrisponde al modulo dell'autovalore minimo
  92. e il massimo al modulo dell'autovalore massimo. \\
  93. Osserviamo poi che preso un generico sottospazio $k$-dimensionale $S \subseteq \R^n$ abbiamo che se
  94. \[
  95. \lambda = \min_{x \in S} \ray{A}{x}
  96. \]
  97. allora $\lambda$ è l'autovalore di modulo minimo su un sottospazio di $\R^n$. Se $S$ è sufficientemente grande
  98. possiamo pensare di usare $\lambda$ come approssimazione di $\lambda_{min}$. \\
  99. Consideriamo $\{ q_1 , \ldots, q_k \}$ base del sottospazio $S$ e la matrice $Q$ con i vettori $q_i$ come colonne.
  100. Se prendiamo $x \in S$ allora
  101. \[
  102. x = \sum_{i=1}^{k} \alpha_i q_i
  103. \]
  104. e quindi se $\alpha = (\alpha_1, \ldots, \alpha_k)$ si ha $x = Q\alpha$.
  105. \[
  106. \frac{\trasp x A x}{\trasp xx} = \frac{\trasp \alpha \trasp Q A Q \alpha}{\trasp \alpha \trasp Q Q \alpha} =
  107. \frac{\trasp \alpha \trasp Q A Q \alpha}{\trasp \alpha \alpha}
  108. \]
  109. In conclusione è sufficiente minimizzare $\ray{\trasp Q A Q}{x}$ su $\R^k$, ed essendo $\trasp Q A Q$ una matrice
  110. $k \times k$ questo procedimento può risultare sensibilmente più economico rispetto all'idea originale. \\
  111. \begin{de}
  112. Data una matrice $A$ a coefficienti reali\footnote{definiamo il procedimento sui numeri reali solo per non appesantire
  113. la notazione, ma non c'è nessuna restrizione ad usarlo sui complessi.} e $x$ un vettore di $\R^n$.
  114. Si dice \emph{sottospazio di Krylov} di $A$ e $v$ di ordine $j$ e si indica con $\kryl{A}{v}{j}$ il sottospazio
  115. \[
  116. S = \Span{v, Av, \ldots, A^{j-1}v}
  117. \]
  118. \end{de}
  119. Osserviamo che in generale $\dim{S} \leq j$. \\
  120. Siamo ora interessati ad utilizzare un sottospazio di Krylov come sottospazio $S$ con cui approssimare il nostro autovalore.
  121. Per farlo però dobbiamo trovare una base ortonormale di $S$; possiamo procedere calcolando la scomposizione \qr\ della
  122. matrice dei vettori che generano:
  123. \[
  124. \left[ \begin{array}{c|c|c|c}
  125. \multirow{4}{*}{$v$} & \multirow{4}{*}{$Av$} & \multirow{4}{*}{$\ldots$} & \multirow{4}{*}{$A^{j-1}v$} \\
  126. & & & \\
  127. & & & \\
  128. & & & \\
  129. \end{array} \right] = QR
  130. \]
  131. Si può mostrare che le prime $j$ colonne di $Q$ sono una base dello spazio $S$. Per farlo è sufficiente osservare
  132. che essendo $R$ triangolare superiore e $n \times j$ con $j < n$ deve avere le ultime $n - j$ righe nulle.