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