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{Il polinomio caratteristico}
  2. In questo capitolo ci occuperemo di descrivere le forme normali tipicamente usate per
  3. calcolare agevolmente gli autovalori di una matrice. Descriveremo dei metodi efficienti
  4. per valutare in un punto il polinomio caratteristico, che potranno essere usati
  5. nei capitolo seguenti per implementare gli algoritmi di calcolo effettivo. \\
  6. Premetteremo a questo una breve esposizione degli utilizzi pratici più comuni dei
  7. metodi che verranno esposti.
  8.  
  9. \section{Esempi pratici di utilizzo}
  10. Prima di cominciare ad analizzare in dettaglio l'argomento presentiamo due applicazioni pratiche
  11. (che poi verranno analizzate in maggior dettaglio) che richiederanno la determinazione mediante
  12. metodi numerici degli autovalori di una matrice associata al problema.
  13.  
  14. \subsection{Risoluzione di equazioni algebriche}
  15. \label{subsec:esempi:eqalgebriche}
  16. Un problema comune è, data un'equazione algebrica della forma
  17. \[
  18. p(z) = p_0 + p_{1}z + \ldots + p_{n}z^{n} = 0
  19. \]
  20. trovare la $n$ radici $z_1 , \ldots , z_n$ tali che $p(z_i) = 0 \ \forall i = 1\ldots n$.
  21.  
  22. Risolvere questo problema tramite algoritmi di iterazione funzionale, come vedremo, potrebbe non essere
  23. conveniente, e quindi ci si riconduce spesso (quasi sempre) ad un problema di calcolo di autovalori tramite
  24. il seguente procedimento. \\
  25. Consideriamo la matrice
  26. \[
  27. F = \begin{bmatrix}
  28. 0 & 0 & \ldots & -\frac{p_0}{p_n} \\
  29. 1 & 0 & & -\frac{p_1}{p_n} \\
  30. 0 & \ddots & \ddots & \vdots \\
  31. 0 & \hdots & 1 & -\frac{p_{n-1}}{p_n} \\
  32. \end{bmatrix}
  33. \]
  34. detta matrice di \emph{Frobenius}\index{Frobenius, matrice di} o matrice \emph{Companion} \index{Companion, matrice}. Questa
  35. ha come polinomio caratteristico esattamente $p(z)$ e quindi i suoi autovalori sono esattamente le radici dello stesso. \\
  36. Osserveremo inoltre che sarà possibile mostrare la stabilità all'indietro del procedimento per calcolare
  37. gli autovalori, ovvero potremo essere sicuri che gli autovalori calcolati mediante l'aritmetica approssimata
  38. di macchina saranno le radici di un polinomio i cui coefficienti ``disteranno poco'' da quelli originali di $p(z)$.
  39. Questo in generale non ci assicura di avere un risultato con una buona approssimazione; più precisamente questo sarà
  40. garantito solo nel caso in cui il problema sia ben condizionato\footnote{Ricordiamo che un problema è ben condizionato
  41. quando a piccole variazioni dei dati iniziali corrispondono piccole variazioni dei dati finali.}.
  42.  
  43. \subsection{Equazioni differenziali}
  44. Un altro caso in cui il calcolo di autovalori ci permetterà di risolvere un problema comune sarà quello delle
  45. equazioni differenziali. Non abbiamo ancora gli strumenti per approfondire questo argomento ma possiamo anticipare
  46. che i metodi per il calcolo di autovalori ci permetteranno sia di arrivare alla soluzione (in qualche caso) che
  47. di stimare l'effetto di una perturbazione dei dati iniziali (in altri casi).
  48.  
  49. \section{Analisi del condizionamento} \label{sec:analisidelcondizionamento}
  50. In questa sezione vorremmo analizzare il condizionamento del nostro problema. Il calcolo degli autovalori non
  51. è sempre un problema ben condizionato, come possiamo mostrare con questo esempio: \\
  52. Sia $F$ la matrice di Frobenius associata al polinomio $z^n$, ovvero la matrice con soli zeri ad eccezione della
  53. sottodiagonale, composta da soli $1$. \\
  54. I suoi autovalori sono tutti $0$ ed hanno moleplicità algebrica $n$ e molteplicità geometrica $1$\footnote{il che si
  55. capisce facilmente notando che la matrice $F$ è in forma di Jordan}. \\
  56. Se noi perturbiamo la matrice sottraendole la matrice $\eps e_1 \trasp{e_n}$ otteniamo la matrice di Frobenius
  57. associata al polinoio $z^n + \eps$. Da quanto abbiamo osservato nella Sezione~\ref{subsec:esempi:eqalgebriche} sappiamo che
  58. gli autovalori di quest'ultima sono le radici $n$-esime dell'unità moltiplicate per $\|\eps\|^{\frac{1}{n}}$;
  59. possiamo osservare che al crescere di $n$ anche se $\eps$ è piccolo questo numero può diventare piuttosto grande, e
  60. portare quindi ad errori non trascurabili.
  61. \subsection{Il caso di una matrice diagonalizzabile}
  62. Cominciamo ad analizzare un caso relativamente semplice, ovvero quello dove $A$ è una matrice diagonalizzabile,
  63. per cui dimostreremo un risultato detto
  64. \begin{te}[di Bauer - Fike] \label{te:BauerFike}
  65. Se $A \in \mat{\R}{n}$ è una matrice diagonalizzabile tramite il cambio di base $V^{-1}$ ed $\eta$ è
  66. un autovalore della matrice perturbata $A + \delta A$ allora esiste un autovalore $\lambda$ di $A$ tale che
  67. \[
  68. \|\lambda - \eta\| \leq \|\delta A \| \cdot \cond{V}
  69. \]
  70. \end{te}
  71. \begin{proof}
  72. Sappiamo che esiste $V$ base di autovettori tali che
  73. \[
  74. A = VDV^{-1} \; \textrm{con} \ D \ \textrm{diagonale}
  75. \]
  76. Supponiamo ora di aver calcolato $\eta$ autovettore di una matrice $A + \delta A$ e verifichiamo
  77. quanto dista $\eta$ dagli autovettori di $A$.\\
  78. Osserviamo che questo equivale a
  79. \[
  80. (A + \delta A) y = \eta y \ \iff \ (A - \eta y) = \delta A y
  81. \]
  82. Possiamo distinguere due casi:
  83. \begin{description}
  84. \item[$(A-\eta I)$ è singolare] Questo è il caso migliore in cui possiamo sperare, in quanto questo significa
  85. che $\eta$ è un autovalore di $A$ e quindi la distanza è $0$.
  86. \item[$(A-\eta I)$ non è singolare] ed allora ammette un'inversa. Abbiamo quindi che
  87. \[
  88. y = -(A - \eta I)^{-1}( \delta A y )
  89. \]
  90. Consideriamo dunque una norma matriciale indotta tale che data una matrice $D$ diagonale si abbia
  91. $\|D\| = \max_{i = 1 \ldots n}\{|d_{ii}|\}$\footnote{la norma $1$, $2$ e $\infty$ soddisfano questo
  92. requisito, ad esempio; questo tipo di norma è detta \emph{assoluta}.} ed effettuiamo le seguenti maggiorazioni
  93. \[
  94. \|y\| \leq \|(A -\eta I)^{-1}\| \cdot \| \delta A \| \cdot \|y\|
  95. \]
  96. che si verifica solo se (ricordando che essendo $y$ un autovettore
  97. $y \neq 0$ e quindi $\|y\| \neq 0$)
  98. \[
  99. 1 \leq \|V\| \cdot \|( D -\eta I)^{-1}\| \cdot \|V^{-1}\| \cdot \| \delta A \|
  100. \leq \frac{\cond{V} \cdot \|\delta A \|}{\min_{i = 1 \ldots n}\{ \lambda_i - \eta\}}
  101. \]
  102. da cui si ottiene che esiste un $j \in 1 \ldots n$ tale che
  103. \[
  104. \|\lambda_j - \eta\| \leq \|\delta A \| \cdot \cond{V}
  105. \]
  106. \end{description}
  107. \`E evidente quindi che in entrambi i casi è valida la diseguaglianza della tesi (nel primo caso si ha addirittura
  108. che $\|\lambda - \eta\| = 0$), e quindi il teorema è provato.
  109. \end{proof}
  110.  
  111. \begin{os}
  112. Dobbiamo fare attenzione al fatto che questa maggiorazione ottenuta dal precedente teorema è in \emph{valore
  113. assoluto}, e quindi non ci dice nulla sull'errore relativo. Saremo certi di ottenere un buon
  114. condizionamento solo nel caso in cui gli autovalori trovati non siano troppo ``piccoli''.
  115. \end{os}
  116.  
  117. Data questa maggiorazione dell'errore ci possiamo chiedere come fare a minimizzare l'unico fattore
  118. su cui possiamo avere un ``controllo'', ovvero $\cond{V}$. Dalle proprietà delle norme matriciali
  119. indotte sappiamo che $\forall V \ \cond{V} \geq 1$, e
  120. possiamo osservare che se $V$ è una matrice unitaria allora $\cond{V}$ vale esattamente $1$. \\
  121. Sembra quindi opportuno, quando possibile, cercare di rendere diagonale la matrice $A$ tramite un cambio
  122. di base unitario. \\
  123. Grazie alla forma normale di Schur possiamo dare una caratterizzazione completa delle matrici per cui questo
  124. è possibile. Si può infatti provare che data $A \in \mat{\C}{n}$ questa è diagonalizzabile mediante
  125. matrici unitarie se e solo se $A$ è normale, ovvero $A\herm{A} = \herm{A}A$.
  126.  
  127. \begin{os}
  128. Ci ricordiamo che per risolvere i sistemi lineari abbiamo individuato due classi di metodi:
  129. \begin{description}
  130. \item[I metodi diretti] i quali forniscono una soluzione ``esatta'' del problema in un numero
  131. finito di passi, a meno dell'errore di macchina e algoritmico.
  132. \item[I metodi iterativi] i quali invece forniscono una soluzione approssimata del sistema,
  133. iterando un numero finito di passi di una successione che converge solamente dopo un numero
  134. infinito.
  135. \end{description}
  136. Nel caso della ricerca degli autovalori la prima classe di metodi non può essere applicata, in quanto
  137. il problema è equivalente a trovare le radici del polinomio caratteristico, problema che \emph{non può
  138. essere risolto tramite una formula}\footnote{A parte il caso in cui la matrice ha ordine $n$ con $n \leq 4$,
  139. che però non è un caso interessante per l'algebra lineare numerica.}.
  140. \end{os}
  141.  
  142. Siamo quindi consci che la nostra unica opportunità per arrivare alla soluzione sarà eseguire una
  143. successione di cambi di base (che sono degli invarianti del problema) che porti la matrice in una forma
  144. in cui gli autovalori siano facilmente determinabili. \\
  145. Il condizionamento del problema sarà quindi maggiorabile con il prodotto dei condizionamenti di tutti i
  146. cambi di base (si può infatti mostrare che prese due matrici $V$, $S$ si ha $\cond{VS}\leq\cond{V}\cdot\cond{S}$)
  147. e quindi dovremo
  148. cercare dei cambi di base con un piccolo condizionamento (come, ad esempio, quelli unitari).
  149.  
  150. Il teorema di Bauer--Fike ci permette di dare una maggiorazione globale sul condizionamento degli autovalori,
  151. ma in alcuni casi è possibile dare anche una maggiorazione del condizionamento per un autovalore singolo. \\
  152. Consideriamo ad esempio il caso di un autovalore con molteplicità algebrica e geometrica $1$.
  153.  
  154. \begin{pr}
  155. Data una matrice $A \in \mat{\C}{n}$, una matrice di perturbazione $\eps F$, un autovalore
  156. $\lambda \in \spe{A}$ e $\eta$ un autovalore della matrice perturbata $A + \eps F$ si ha che,
  157. dati $y, w$ autovettori destro e sinistro di modulo $1$ relativi a $\lambda$
  158. \[
  159. \|\eta - \lambda\| \leq \frac{1}{\herm{w}y} \cdot \|\eps F\|
  160. \]
  161. \end{pr}
  162. \begin{proof}
  163. Sappiamo che $\eta$ e il suo autovettore relativo\footnote{che evidentemente non è unico, ma possiamo supporre
  164. di sceglierlo in modo continuo} $y$ sono funzioni analitiche di $\eps$ e quindi
  165. possiamo scrivere
  166. \[ \left\{\begin{array}{l}
  167. \eta(\eps) = \lambda + \eps \cdot \xi + O(\eps^2) \\
  168. y(\eps) = y + \eps \cdot w + O(\eps^2) \\
  169. \end{array}\right.
  170. \]
  171. Effettuando un'analisi al I ordine otteniamo
  172. \begin{align*}
  173. (A + \eps F) ( y + \eps w) & = (\lambda + \eps \xi)(y + \eps w) \\
  174. Ay + \eps A w + \eps Fy & = \lambda y + \lambda \eps w + \eps \xi y \\
  175. \end{align*}
  176. considerando che $Ay = \lambda y$ e dividendo tutto per $\eps$ si ottiene
  177. \[
  178. Aw + Fy = \lambda w + \xi y
  179. \]
  180. Sappiamo inoltre che deve esistere $u$ autovettore sinistro unitario di $A$ relativo all'autovalore
  181. $\lambda$ e quindi, moltiplicando tutto per $u$
  182. \begin{align*}
  183. \herm{u}Aw + \herm{u}Fy & = \lambda \herm{u} w + \xi \herm{u} y \\
  184. \herm{u}Fy & = \xi \herm{u} y
  185. \end{align*}
  186. Ricordando infine che, a meno di termini di ordine maggiore di $1$, $\|\eps \xi\| = \|\lambda - \eta\|$ e
  187. che $\|u\| = \|y\| = 1$ si ottiene
  188. \[
  189. \|\lambda - \eta\| = \|\eps \xi\| \leq \| \eps F\| \cdot \frac{1}{\herm{u}y}
  190. \]
  191. che è la tesi.
  192. \end{proof}
  193.  
  194. %% 1 ottobre 2009
  195. \section{Operazioni preliminari}
  196. In questa sezione vorremmo introdurre delle operazioni preliminari da compiere prima di applicare
  197. un qualsiasi metodo per il calcolo effettivo degli autovalori. Vedremo in seguito come non convenga,
  198. generalmente, applicare i metodi per il calcolo degli autovalori a matrici generali. \\
  199. \subsection{Matrici di Householder}
  200. I metodi che solitamente vengono usati accettano infatti in input solo matrici particolari, più
  201. precisamente
  202. \begin{description}
  203. \item[Matrici hermitiane tridiagonali] Ovvero delle matrici hermitiane tali che $a_{ij} = 0$ se
  204. $| i -j | \geq 2$ e tale che $a_{ij} = \con{a_{ji}} \ \forall i,j \in 1 \ldots n$.
  205. \item[Matrici in forma di Hessenberg superiore] Ovvero le matrici tali che $a_{ij} = 0$ se $i > j +1$.
  206. \end{description}
  207.  
  208. \begin{figure}[h]
  209. \begin{center}
  210. \subfigure{
  211. $ T =
  212. \begin{bmatrix}
  213. \alpha_1 & \con{\beta_1} & 0 & 0 \\
  214. \beta_1 & \ddots & \ddots & 0 \\
  215. 0 & \ddots & \ddots & \con{\beta_{n-1}} \\
  216. 0 & 0 & \beta_{n-1} & \alpha_n \\
  217. \end{bmatrix}$
  218. }
  219. \subfigure{
  220. $ H =
  221. \begin{bmatrix}
  222. \times & \hdots & \hdots & \times \\
  223. \times & \ddots & & \vdots \\
  224. 0 & \ddots & \ddots & \vdots \\
  225. 0 & 0 & \times & \times \\
  226. \end{bmatrix}$
  227. }
  228. \end{center}
  229. \caption{Struttura delle matrici tridiagonali e di Hessenberg superiore}
  230. \end{figure}
  231.  
  232. Abbiamo quindi la necessità di trovare un algoritmo efficiente e stabile per trasformare
  233. una generica matrice $A$ in una matrice $T$ o $H$ rispettivamente tridiagonale o in forma
  234. di Hessenberg superiore. \\
  235. Per quanto osservato nella Sezione~\ref{sec:analisidelcondizionamento} cercheremo una $Q$ unitaria
  236. tale che
  237. \[
  238. QA\herm{Q} = T \qquad \textrm{oppure} \qquad QA\herm{Q} = H
  239. \]
  240. Si osserva subito che sia $Q$ che $T$ sono unitarie e quindi una condizione necessaria per il verificarsi
  241. della prima equazione è che anche $A$ sia hermitiana\footnote{in quanto la stiamo trasformando per congruenza,
  242. che conserva l'hermitianità}
  243.  
  244. \begin{de}[Matrici di Householder]
  245. Una matrice $P$ si dice \emph{matrice elementare di Householder} se esistono $\sigma \in \R \setminus \{0\}$
  246. e $u \in \R^n$ tali che $P = I - \sigma u \herm{u}$ e $\sigma = \frac{2}{\|u\|_2}$.
  247. \end{de}
  248.  
  249. Sia $P$ una matrice di Householder. Allora valgono le seguenti:
  250. \begin{description}
  251. \item[$P$ è hermitiana] Se abbiamo $P = I -\sigma u \herm{u}$ allora $p_{ij} = u_i\con{u_j}$, e quindi
  252. $\con{p_{ji}} = \con{u_j\con{u_i}} = u_i\con{u_j} = p_{ij}$.
  253. \item[$P$ è unitaria] Se consideriamo che $P$ è hermitiana abbiamo che $P\herm{P} = P^2 =
  254. (I - \sigma u \herm{u})^2 = I -2\sigma u \herm u + \sigma^2 \herm u u u \herm u = I$.
  255. \item[$\deter{P} = -1$] Consideriamo una base dello spazio ottenuta imponendo come primo
  256. vettore $u$ e costruendo gli altri ortogonali a lui. Si osserva facilmente che la matrice
  257. associata a $P$ diventa come la matrice identità ad eccezione del posto $(1,1)$ dove si trova
  258. un $-1$ (infatti $Pu = -u$) e quindi $\det{P} = -1$.
  259. \end{description}
  260.  
  261. Consideriamo ora una generica matrice $A$ e mostriamo che esiste una matrice unitaria $P$ tale che
  262. $PA\herm{P}$ ha tutti gli elementi delle prima colonna con indice maggiore di $1$ uguali a $0$.
  263. Questo sarà il passaggio che poi ci permetterà di mostrare per induzione che si può portare una
  264. qualsiasi matrice in forma di Hessenberg superiore. \\
  265. Data la seguente matrice generica $A$
  266. \[
  267. A = \left[ \begin{array}{c|cc}
  268. a_{11} & \multicolumn{2}{|c}{\herm{w}} \\
  269. \multirow{2}{*}{$v$} & \sblocke{\; \hat{A}\;}{2} \\
  270. & &
  271. \end{array} \right]
  272. \]
  273. So che esiste una matrice $\hat P$ di Householder tale che $\hat{P}v = \beta e_1$ da cui si ottiene che
  274. \[
  275. P = \left[ \begin{array}{c|cc}
  276. 1 & \multicolumn{2}{c}{\herm{0}} \\
  277. \multirow{2}{*}{$0$} & \sblocke{ \quad \hat P \quad}{2} \\
  278. & &
  279. \end{array} \right]
  280. \qquad
  281. PA\herm{P} = \left[ \begin{array}{c|cc}
  282. a_{11} & \multicolumn{2}{|c}{\herm{w} \herm{\hat{P}}} \\
  283. \multirow{2}{*}{$\hat Pv$} & \sblocke{\hat P \hat A \herm{\hat{P}}}{2} \\
  284. & &
  285. \end{array} \right]
  286. \]
  287. Ricordando che $\hat{P}v = \beta e_1$ si ottiene che in $n-2$ passi la matrice di partenza si può ridurre
  288. in forma di Hessenberg superiore. \\
  289. Si può osservare che se la matrice di partenza era hermitiana anche la matrice ridotta lo sarà,
  290. dato che la trasformazione per matrici di Householder è unitaria, e quindi la matrice ottenuta
  291. sarà tridiagonale.
  292.  
  293. \subsection{Valutazione del costo computazionale}
  294. Il costo computazionale di ogni passo del procedimento sopra descritto è dato da
  295. \begin{enumerate}
  296. \item Calcolo di $\hat P$;
  297. \item Calcolo di $\herm{w} \hat{P}$ (qualora sia necessario, cioè quando $A$ non è
  298. hermitiana);
  299. \item Calcolo di $\hat{P}\hat{A}\herm{\hat{P}}$;
  300. \end{enumerate}
  301. I primi due sono $O(n)$ mentre il terzo è il più grande, $O(n^2)$. Il procedimento completo
  302. risulta quindi con un costo computazionale di $O(n^3)$.
  303.  
  304. \subsection{I vantaggi della riducibilità}
  305. Data la matrice in forma tridiagonale o in forma di Hessenberg superiore è facile verificare che
  306. la condizione di riducibilità è verificata solo se $\exists i \: \beta_i = 0$ dove i $\beta_i$ sono
  307. gli elementi della sottodiagonale. Non è però vero il contrario, ovvero se i $\beta_i$ sono tutti
  308. diversi da $0$ non è certo che la matrice sia irriducibile\footnote{questa implicazione vale solo
  309. nel caso hermitiano tridiagonale}. D'ora in poi diremo che la matrice è \emph{non riducibile}
  310. se tutti i $\beta_i$ non sono $0$, mentre useremo il termine \emph{irriducibile} per
  311. indicare la condizione usuale di irriducibilità. \\
  312. La riducibilità porta notevoli vantaggi computazionali alla risoluzione del problema in quanto
  313. si ottiene una matrice del tipo
  314. \[
  315. M = \left[ \begin{array}{c|c}
  316. A & B \\
  317. 0 & C \\
  318. \end{array} \right]
  319. \]
  320. e quindi è immediato verificare che gli autovalori di $M$ sono quelli di $A$ uniti a quelli di $C$.
  321.  
  322. \begin{pr}
  323. Sia $A$ una matrice tridiagonale hermitiana irriducibile. Allora tutti i suoi autovalori hanno molteplicità $1$.
  324. \end{pr}
  325. \begin{proof}
  326. Sia $\lambda$ un autovalore di $A$. Sappiamo che $A - \lambda I$ non è un isomorfismo, e che la molteplicità
  327. geometrica di $\lambda$ è pari al rango di $A - \lambda I$.
  328. Se consideriamo il minore di sud-ovest $J$ possiamo osservare che:
  329. \begin{itemize}
  330. \item $J$ è triangolare superiore
  331. \item la diagonale $J$ è composta dagli elementi $\beta_1 \ldots \beta_n$ della sottodiagonale di $A$
  332. \end{itemize}
  333. Queste due osservazioni ci permettono di concludere che $\deter{A - \lambda I} = \prod_{i=0}^{n}~\beta_i$ che
  334. è diverso da $0$, e quindi la molteplicità geometrica di $\lambda$ è $1$. Sapendo che la matrice è
  335. hermitiana possiamo anche essere sicuri che sia diagonalizzabile, e quindi che per ogni autovalore
  336. la molteplicità geometrica coincida con quella algebrica. In particolare l'autovalore $\lambda$ ha
  337. molteplicità $1$.
  338. \end{proof}
  339.  
  340. Osserviamo che se la matrice invece che essere tridiagonale hermitiana è in forma di Hessenberg superiore,
  341. possiamo solo affermare che ogni autovalore ha molteplicità gemetrica $1$. Non possiamo però controllare
  342. la molteplicità algebrica e quindi non possiamo essere certi della diagonalizzabilità della matrice.
  343.  
  344. \section{Il polinomio caratteristico}
  345. Il primo metodo che si può pensare di applicare cercando gli autovalori di una data matrice $A$ è
  346. quello di cercare gli zeri del polinomio caratteristico. Nonostante questo sia raramente applicabile,
  347. alcune analisi sulla ``struttura'' del polinomio potranno fornirci dei risultati teorici che ci saranno
  348. utili in seguito.
  349.  
  350. \subsection{Il caso delle matrici Hermitiane tridiagonali} \label{subsec:hermdiag}
  351. Consideriamo una matrice $A \in \mat{\C}{n}$ in forma tridiagonale hermitiana.
  352. In tutta la sezione indicheremo con
  353. \begin{description}
  354. \item[$A_k$: ] Il minore di nord-ovest di ordine $k$ della matrice $A$. Osserviamo in particolare
  355. che si tratta ancora di una matrice hermitiana tridiagonale per ogni $k$.
  356. \item[$p_k(z)$: ] Il polinomio caratteristico delle matrice $A_k$, ed in particolare $p_n = p$;
  357. \item[$\lambda_i^{(k)}$: ] L'$i$-esimo autovalore della matrice $A_{k}$. L'ordinamento non ha importanza
  358. dove non è espressamente specificato;
  359. \end{description}
  360. Se proviamo a calcolare il polinomio caratteristico di $A_k$ sviluppando sull'ultima riga (o, analogamente,
  361. sull'ultima colonna) otteniamo la seguente relazione ricorrente e tre termini:
  362. \[
  363. p_k(z) = \deter{A - zI} = (\alpha_k - z) p_{k-1}(z) - |\beta_{k-1}|^2 p_{k-2}(z)
  364. \]
  365. Questa relazione ha senso anche nel caso $k = 1, 2$ a patto di porre $p_{0}(z) = 1$ e $p_{-1}(z) = 0$.
  366. Una volta nota questa relazione valutare il polinomio caratteristico di $A = A_n$ in un punto diventa molto
  367. meno oneroso (computazionalmente) rispetto al calcolare tutti i coefficienti. \\
  368. Si può infatti stimare la complessità del calcolo $p_k(z)$ a partire da $p_{k-1}(z)$ e $p_{k-2}(z)$
  369. con circa $5$ operazioni aritmetiche, e quindi
  370. la valutazione del polinomio in un qualsiasi punto $z$ risulta costare $O(n)$.
  371. \begin{os} \label{os:autovalpol}
  372. Dalla formula possiamo dedurre che se $\xi$ è un autovalore della matrice $A_k$ allora non può essere
  373. anche autovalore della matrice $A_{k-1}$.
  374. \end{os}
  375. Supponiamo per assurdo che $p_{k-1}(\xi) = 0 = p_k(\xi)$. Dunque si avrebbe
  376. $p_k(\xi) = 0 = (\alpha_k - \xi) p_{k-1}(\xi) - |\beta_{k-1}|^2 p_{k-2}(\xi) = |\beta_{k-1}|^2 p_{k-2}(\xi)$
  377. e quindi anche $p_{k-2}(\xi)$ deve essere nullo. Ripetendo questa considerazione si ottiene che anche $p_0(\xi)$
  378. deve essere nullo, ma $p_0(\xi) = 1$ (il polinomio costante) che è assurdo.
  379. In definitiva per ogni $k \neq j$ si ha che $\spe{A_k} \cap \spe{A_j} = \emptyset$.
  380.  
  381. \subsection{L'equazione secolare} \label{sec:eqsecolare}
  382. Una domanda che sorge spontanea dopo queste considerazioni è: ``Che relazione possiamo trovare
  383. fra gli autovalori di due minori $A_k$ e $A_{k-1}$ di una matrice $A$?''. \\
  384. Il polinomio come scritto nella sezione precedente ci permette solamente di notare che
  385. gli autovalori sono distinti. Possiamo però estrapolare delle informazioni più dettagliate rappresentandolo
  386. in una opportuna base (di polinomi).
  387. Per questo paragrafo possiamo limitarci, per semplicità di notazione, al caso di una matrice simmetrica
  388. in $\mat{\R}{n}$, anche se il caso complesso si tratta con gli stessi passaggi.
  389. Dividiamo la matrice $A$ in blocchi nel modo seguente
  390. \[
  391. A= \left[ \begin{array}{cc|c}
  392. \sblocko{A_{n-1}}{2} & \\
  393. & & \beta_{n-1} \\ \hline
  394. & \beta_{n-1} & \alpha
  395. \end{array}
  396. \]
  397. Dato che la matrice $A_{n-1}$ è simmetrica esiste una matrice ortogonale $Q_{n-1}$ tale che
  398. $D_{n-1} = Q_{n-1}A\trasp{Q_{n-1}}$ dove $D$ è la matrice con gli autovalori di $A$ sulla
  399. diagonale. \\
  400. Consideriamo dunque la matrice $\hat Q$ così composta:
  401. \[
  402. \hat Q = \left[
  403. \begin{array}{cc|c}
  404. \sblocko{Q_{n-1}}{2} & \\
  405. & & \\ \hline
  406. & & 1
  407. \end{array} \right]
  408. \]
  409. $\hat Q$ è sempre ortogonale e si verifica che
  410. \[
  411. \left[ \begin{array}{cc|c}
  412. \sblocko{Q_{n-1}}{2} & \\
  413. & & \\ \hline
  414. & & 1
  415. \end{array} \right]
  416. \left[ \begin{array}{cc|c}
  417. \sblocko{A_{n-1}}{2} & \\
  418. & & \beta_{n-1}\\ \hline
  419. & \beta_{n-1} & \alpha_{n} \\
  420. \end{array} \right]
  421. \left[ \begin{array}{cc|c}
  422. \sblocko{\trasp{Q_{n-1}}}{2} & \\
  423. & & \\ \hline
  424. & & 1
  425. \end{array} \right]
  426. =
  427. \left[ \begin{array}{cc|c}
  428. \sblocko{D_{n-1}}{2} & \multirow{2}{*}{$w$} \\
  429. & & \\ \hline
  430. \multicolumn{2}{c|}{\trasp{w}} & 1
  431. \end{array} \right] = B_n
  432. \]
  433. Una matrice come $B_n$, ovvero una diagonale ``orlata'' sull'ultima riga e sull'ultima
  434. colonna si dice \emph{matrice a freccia}\footnote{Penso che il motivo sia piuttosto
  435. evidente guardando la forma degli elementi non nulli}.
  436. Dato che questa trasformazione viene realizzata tramite matrici ortogonali anche il
  437. polinomio caratteristico rimane invariato e quindi si ha che
  438. \[
  439. p_n(z) = \deter{B_n - zI}
  440. \]
  441. Ricordiamo ora un risultato di Analisi Numerica
  442. \begin{pr}
  443. Sia $M$ una matrice a blocchi come la seguente
  444. \[
  445. M = \left[ \begin{array}{c|c}
  446. A & B \\ \hline
  447. C & D \\
  448. \end{array} \right]
  449. \]
  450. dove $A$ e $D$ sono matrici quadrate. Allora Esiste una matrice $\Gamma$ delle stesse dimensioni di $D$
  451. tale che
  452. \[
  453. M = \left[ \begin{array}{c|c}
  454. I & 0 \\ \hline
  455. \times & I
  456. \end{array} \right]
  457. \left[ \begin{array}{c|c}
  458. A & 0 \\ \hline
  459. 0 & \Gamma
  460. \end{array} \right]
  461. \left[ \begin{array}{c|c}
  462. I & \times \\ \hline
  463. 0 & I
  464. \end{array} \right]
  465. \]
  466. ed in particolare $\Gamma = D - C A^{-1} B$ è detta \emph{complemento di Schur di $A$ in $M$}.
  467. \end{pr}
  468. \begin{proof}
  469. Provando a scrivere la relazione più esplicitamente otteniamo
  470. \[
  471. \begin{bmatrix}
  472. I & 0 \\
  473. \trasp{\alpha} & I
  474. \end{bmatrix}
  475. \begin{bmatrix}
  476. A & 0 \\
  477. 0 & \Gamma
  478. \end{bmatrix}
  479. \begin{bmatrix}
  480. I & \beta \\
  481. 0 & I
  482. \end{bmatrix} =
  483. \begin{bmatrix}
  484. A & B \\
  485. C & D
  486. \end{bmatrix}
  487. \]
  488. dove $\trasp \alpha$, $\beta$ e $\Gamma$ sono le incognite. Sviluppando si ottengono le seguenti equazioni
  489. \[
  490. \left\{
  491. \begin{array}{l}
  492. A \beta = B \\
  493. \trasp \alpha A = C \\
  494. \trasp \alpha A \beta + \Gamma = D
  495. \end{array} \right.
  496. \]
  497. Ricordando che $\deter{A} \neq 0$ e considerando le prime due equazioni come degli insiemi di
  498. sistemi lineari si ottiene che esistono e sono unici $\alpha$ e $\beta$ che soddisfano le richieste, ed
  499. in particolare sono
  500. \[
  501. \left\{ \begin{array}{l}
  502. \trasp \alpha = C A^{-1} \\
  503. \beta = A^{-1} B
  504. \end{array} \right.
  505. \]
  506. In conclusione $\Gamma = D - \trasp \alpha A \beta = D - C A^{-1} A A^{-1} B = D - C A^{-1} B$
  507. e quindi la tesi è provata.
  508. \end{proof}
  509. \begin{os}
  510. Questa proposizione ci è utile perché ci permette di calcolare il determinante di una matrice di questo
  511. tipo calcolando semplicemente il prodotto del determinante di $A$ per quello di $\Gamma$.
  512. \end{os}
  513. Osserviamo prima di tutto che la matrice $B_n - zI$, per $z$ fissato, è in questa forma. Possiamo
  514. scrivere
  515. \[
  516. B_n - zI = \left[ \begin{array}{ccc|c}
  517. \lambda_1^{(n-1)} - z & & & \multirow{3}{*}{$w$} \\
  518. & \ddots & & \\
  519. & & \lambda_{n-1}^{(n-1)} -z& \\ \hline
  520. \multicolumn{3}{c|}{\trasp{w}} & \alpha_n -z
  521. \end{array} \right] =
  522. \left[ \begin{array}{cc|c}
  523. \sblocko{E_{n-1}}{2} & \multirow{2}{*}{$w$} \\
  524. & & \\ \hline
  525. \multicolumn{2}{c|}{\trasp{w}} & \alpha_n -z
  526. \end{array} \right]
  527. \]
  528. dove $E_{n-1}$ ed $[ \alpha_n -z ]$ sono quadrate\footnote{la seconda in particolare è
  529. semplicemente uno scalare}.
  530. Calcoliamo dunque il polinomio caratteristico della matrice (in tutti i punti dove $E_{n-1}$ è
  531. invertibile, ovvero in tutti gli $z$ che sono diversi dagli autovalori di $A_{n-1}$)
  532. $B_n$
  533. \[
  534. p_n(z)=\deter{B_n - zI}=\deter{A} (\alpha_n - z - \trasp{w}E_{n-1}^{-1}w)
  535. \]
  536. E quindi possiamo scrivere
  537. \[
  538. p_n(z) = \Bigg[ \prod_{j=1}^{n-1} (\lambda_j^{(n-1)} - z) \Bigg] \cdot
  539. \Bigg[ \alpha_n - z - \sum_{i=1}^{n} \frac{w_i^2}{\lambda_i^{(n-1)} - z}\Bigg]
  540. \]
  541. e per continuità possiamo estenderlo a tutto $\C$, ottenendo
  542. \[
  543. p_n(z) = (\alpha_n - z)\cdot \prod_{j=1}^{n-1} (\lambda_j^{(n-1)} - z) - \sum_{i=1}^{n}w_i^2\prod_{\substack{i=1\\j\neq i}}^{n}(\lambda_i^{(n-1)}-z)
  544. \]
  545. \begin{os}
  546. Nel definire il polinomio siamo stati costretti ad escludere una quantità finita di punti (precisamente
  547. gli autovalori di $A_{n-1}$), ma è evidente che
  548. due funzioni polinomiali su $\C$ o su $\R$ che sono uguali a meno di una quantità finita di punti devono coincidere.
  549. \end{os}
  550. Questa forma del polinomio ci permette di valutarlo negli autovalori $\lambda_i^{(n-1)}$ della matrice
  551. $A_{n-1}$. Otteniamo la seguente
  552. \[
  553. p_n( \lambda_i^{(n-1)} ) = 0 - w_i^2\prod_{\substack{i=1\\i\neq j}}^{n} (\lambda_i^{(n-1)} - z) \neq 0
  554. \]
  555. e quindi, in particolare, per ogni $i$ si ottiene $w_i \neq 0$.
  556. Siamo ora interessati a cercare le radici del polinomio, sfruttando le informazioni che supponiamo
  557. di avere sugli autovalori della matrice di ordine $n-1$. \\
  558. Consideriamo che $\forall j=1 \ldots n-1 \quad p(\lambda_j^{(n-1)}) \neq 0$, per quanto visto nell'~Osservazione~\ref{os:autovalpol},
  559. e quindi le radici del polinomio sono le radici della funzione
  560. \[
  561. g(\xi) = \alpha_n - \xi- \sum_{j=1}^{n} \frac{w_i^2}{\lambda_j^{(n-1)} - \xi}
  562. \]
  563. Questa equazione ($g(\xi) = 0$) è detta \emph{equazione secolare}. Le ragioni del nome curioso non
  564. sono note, anche se esistono due teorie: una sostiene che l'appellativo derivi dall'usanza
  565. diffusa nei primi del novecento di chiamare \emph{polinomio secolare} il polinomio caratteristico
  566. di una matrice, mentre l'altra sostiene che il nome sia dovuto ad una sua utilità
  567. in alcune teorie di descrizione del moto di pianeti (che tipicamente hanno tempi piuttosto lunghi). \\
  568. Ricordando che annullare $g$ è la stessa cosa che annullare $p_n$ possiamo tracciare un grafico
  569. qualitativo di $g$ (come si vede in Figura~\ref{fig:eqsecolare}) e notare che ad ogni asintoto verticale
  570. di $g$ corrisponde un autovalore di $A_{n-1}$ e che gli autovalori della matrice $A_n$ sono separati
  571. da quelli di $g$, in quanto la derivata di $g$ è sempre negativa (e quindi la funzione monotona).
  572. \begin{figure}[ht]
  573. \begin{center}
  574. \begin{tikzpicture}
  575. % \fill[blue!8] (-6.5,-3.5) rectangle (5.5,2.5);
  576. %% Disegnamo gli assi
  577. \begin{scope}[very thin]
  578. \draw[->] (-6,0) -- (5,0) node[anchor=north] {$\xi$};
  579. \draw[->] (-0.5,-3) -- (-0.5,2) node[anchor=east] {$g(\xi)$};
  580. \end{scope}
  581. \begin{scope}[thick]
  582. %% Prima curva
  583. \draw (-6,2) .. controls (-5,1.75) and (-4.2,0.5) .. (-4,0);
  584. \draw (-4,0) .. controls (-3.8,-0.5) and (-3.5,-2) .. (-3.5,-3);
  585.  
  586. %% Seconda curva
  587. \draw (-3.2,2) .. controls (-3.2,1.5) and (-2,1) .. (-1,0);
  588. \draw (-1,0) .. controls (0,-1) and (0.5,-2) .. (0.55,-3);
  589.  
  590. %% Terza curva
  591. \draw (1,2) .. controls (1,1) and (1.5,0.5) .. (2,0);
  592. \draw (2,0) .. controls (2.5,-0.5) and (4,-2) .. (5,-3);
  593. \end{scope}
  594. %% Asintoti (che corrispondono agli autovalori)
  595. \begin{scope}[blue]
  596. \draw (-3.4,-3) -- (-3.4,0) node[anchor=south west] {$\lambda_1$} -- (-3.4,2);
  597. \draw (0.8,-3) -- (0.8,0) node[anchor=south east] {$\lambda_2$} -- (0.8,2);
  598. \end{scope}
  599. \end{tikzpicture}
  600. \end{center}
  601. \caption{Un grafico qualitativo di una possibile equazione secolare di una matrice con due autovalori}
  602. \label{fig:eqsecolare}
  603. \end{figure}
  604.  
  605. Ovviamente queste considerazioni valgono in $\R$, e hanno senso dal momento che
  606. gli autovalori della matrice hermitiana devono essere reali. La stessa richiesta potrebbe addirittura
  607. non avere senso per una matrice in forma di Hessenberg che, a priori, potrebbe avere autovalori complessi.
  608. \subsection{Metodi di iterazione funzionale per il calcolo degli autovalori}
  609. Questa conoscenza di $g$ ci porterebbe a pensare di utilizzare metodi di iterazione funzionale
  610. per determinare gli autovalori della nostra matrice. \\
  611. Se consideriamo il caso Hermitiano, infatti, potremmo applicare il metodo di \emph{bisezione}.
  612. L'unica difficoltà in questo caso sta nel definire l'intervallo in cui sta una ed una sola radice
  613. per poter cominciare l'iterazione. Notiamo però che presi gli autovalori di $A_{n-1}$ in modo
  614. che $\lambda_i^{(n-1)} < \lambda_j^{(n-1)}
  615. \iff i < j$ si ha che ogni autovalore di $A$ sta fra $\lambda_i$ ed un $\lambda_{i+1}$, ad eccezione degli
  616. autovalori estremali. Anche in quel caso è facile trovare dei limiti su cui applicare la bisezione, considerando
  617. la diseguaglianza di Hirsch: $|\lambda| \leq \|A\|$ (dalla definizione di norma matriciale).
  618. \begin{os}
  619. Tutto questo procedimento ci fornirebbe un metodo per calcolare gli autovalori di $A$ a patto di conoscere
  620. quelli di $A_{n-1}$, e quindi il problema non sembra (per ora) semplificato di molto. Prossimamente il teorema
  621. di Sturm ci fornirà uno strumento per completare queste considerazioni, arrivando ad un risultato più pratico.
  622. \end{os}
  623. Infine si potrebbe pensare di applicare anche altri metodi di iterazione funzionale noti, come ad esempio
  624. il metodo delle tangenti; purtroppo quest'ultimo non ci può dare (in questo caso) nessuna garanzia di convergenza,
  625. e quindi non sembra adatto allo scopo. In realtà viene usato nella pratica per ``affinare'' stime di autovalori
  626. forniti con altri metodi. \\
  627. \subsection{Il polinomio caratteristico delle matrici di Hessenberg}
  628. Tutte le proprietà che siamo riusciti a trovare sulle matrici Hermitiane tridiagonali non valgono
  629. purtroppo per le matrici di Hessenberg. Nonostante questo possiamo però mostrare un metodo
  630. per valutare il polinomio caratteristico in un punto particolarmente vantaggioso dal punto
  631. di vista computazionale\footnote{Non quanto quello trovato per le matrici Hermitiane tridiagonali, purtroppo}.
  632. Cominciamo col fare alcune considerazioni; possiamo supporre che la nostra matrice sia nella forma
  633. \[
  634. H = \left[ \begin{array}{cccc}
  635. \times & \cdots & \cdots & \times \\
  636. \beta_{1} & \ddots & & \vdots \\
  637. & \ddots & \ddots & \vdots \\
  638. & & \beta_{n-1} & \times
  639. \end{array} \right]
  640. \]
  641. con $\beta_i \neq 0$ per ogni $i$ (altrimenti sarebbe riducibile, e quindi potremmo ridurci a risolvere
  642. dei sottoproblemi con delle Hessenberg irriducibili). \\
  643. Fissato $z$, consideriamo il sistema lineare $(H - zI)x = \alpha e_1$. Se consideriamo $x$ e $\alpha$
  644. come incognite e poniamo $x_n = 1$ ci accorgiamo che possiamo risolvere il sistema facilmente con
  645. una sostituzione all'indietro partendo dal fondo, e determinare $x$ e $\alpha$ con complessità $O(n^2)$. \\
  646. Applicando poi la regola di Cramer all'ultima componente di $x$ e chiamando $H'$ la matrice di Hessenberg
  647. a cui è stata sostituita l'ultima colonna con il vettore $x$ otteniamo
  648. \[
  649. 1 = x_n = \frac{\deter{H'}}{\deter{H-zI}} = \frac{(-1)^{n+1}\alpha \prod_{i=1}^{n-1} \beta_i}{p(z)}
  650. \]
  651. e quindi $p(z) = (-1)^{n+1}\alpha \prod_{i=1}^{n-1} \beta_i$; osserviamo che in questa espressione
  652. $\alpha$ è in realtà funzione di $z$ e quindi sarebbe più corretto scrivere
  653. \[
  654. p(z) = (-1)^{n+1}\alpha(z) \prod_{i=1}^{n-1} \beta_i
  655. \]
  656. Considerando che $\alpha$ può venir calcolata partendo da $z$ con complessità $O(n^2)$ abbiamo determinato
  657. un metodo relativamente poco oneroso di calcolare il polinomio caratteristico di $H$ in un punto. \\
  658. Possiamo quindi considerare ora la possibilità di applicare dei metodi di iterazione funzionale.
  659. \begin{os}
  660. Per applicare, ad esempio, il metodo delle tangenti, avremmo bisogno di calcolare la derivata di $p(z)$.
  661. Possiamo fare anche questo con poco sforzo, a patto di calcolare la derivata di $a(z)$. \\
  662. Osserviamo che derivando la relazione di partenza si ottiene
  663. \[
  664. (H - zI)x'(z) = \alpha'(z)e_1 + x(z)
  665. \]
  666. da cui si può ottenere $\alpha'(z)$ differenziando tutte le operazioni aritmetiche che portano ad ottenere
  667. $x(z)$. Una volta effettuato questo si avrà
  668. \[
  669. p'(z) = (-1)^{n+1}\alpha'(z) \prod_{i=1}^{n-1} \beta_i
  670. \]
  671. \end{os}
  672.  
  673. Possiamo osservare che i metodi di iterazione funzionale non sono particolarmente convenienti per determinare
  674. gli autovalori, anche se si utilizzano di fatto per qualche richiesta ``specifica''.\\
  675. Nel caso, ad esempio, di una matrice hermitiana tridiagonale, si può osservare che nel calcolo degli autovalori
  676. estremali le condizioni di convergenza del metodo di Newton sono soddisfatte e quindi possiamo ottenere
  677. la soluzione con poche operazioni aritmetiche osservando che sia $p$ che $p'$ si possono calcolare
  678. con poco sforzo dalle loro relazioni ricorrenti a tre termini (viste nella Sezione~\ref{subsec:hermdiag}).
  679.  
  680. \begin{os}
  681. Consideriamo $p_n(x)$ polinomio caratteristico; possiamo osservare facilmente che se $x \to -\infty$ allora
  682. $p_n(x) \to \infty$. In generale, infatti, la parte principale del polinomio è $(-1)^{n} z^n$, che va all'infinito
  683. sia nel caso $n$ pari sia nel caso $n$ dispari.
  684. \end{os}