From 47988da04c0ad70a4d2aaa008f7babb0c2ed3e87 Mon Sep 17 00:00:00 2001 From: Leonardo Robol Date: Wed, 14 Oct 2009 21:45:24 +0200 Subject: [PATCH] Agginuta lezione del 14 ottbre (anche se da completare) e convertito il grafico dell'equazione secolare in tikz --- CalcoloScientifico.tex | 2 + capitolo1.tex | 25 ++++++++++- capitolo2.tex | 119 +++++++++++++++++++++++++++++++++++++++++++++++++ equazionesecolare.pdf | Bin 7490 -> 0 bytes 4 files changed, 144 insertions(+), 2 deletions(-) delete mode 100644 equazionesecolare.pdf diff --git a/CalcoloScientifico.tex b/CalcoloScientifico.tex index f934e9f..4c2d640 100644 --- a/CalcoloScientifico.tex +++ b/CalcoloScientifico.tex @@ -18,6 +18,8 @@ \usepackage{multirow} \usepackage{enumerate} \usepackage[all]{xy} +\usepackage{tikz} +\usepackage{color} %% %% Ci piace, a causa del carattere usato (pxfonts) diff --git a/capitolo1.tex b/capitolo1.tex index 6888a13..78ba212 100644 --- a/capitolo1.tex +++ b/capitolo1.tex @@ -571,8 +571,29 @@ di $g$ corrisponde un autovalore di $A_{n-1}$ e che gli autovalori della matrice da quelli di $g$, in quanto la derivata di $g$ è sempre negativa (e quindi la funzione monotona). \begin{figure}[ht] \begin{center} - \includegraphics[width=\textwidth]{equazionesecolare.pdf} \end{center} - \caption{Un grafico qualitativo di una possibile equazione secolare di una matrice con tre autovalori} + %% \includegraphics[width=\textwidth]{equazionesecolare.pdf} + \begin{tikzpicture} + %% Disegnamo gli assi + \draw[very thin,->] (-6,0) -- (5,0) node[anchor=north] {$\xi$}; + \draw[very thin,->] (-0.5,-3) -- (-0.5,2) node[anchor=east] {$g(\xi)$}; + %% Prima curva + \draw (-6,2) .. controls (-5,1.75) and (-4.2,0.5) .. (-4,0); + \draw (-4,0) .. controls (-3.8,-0.5) and (-3.5,-2) .. (-3.5,-3); + + %% Seconda curva + \draw (-3.2,2) .. controls (-3.2,1.5) and (-2,1) .. (-1,0); + \draw (-1,0) .. controls (0,-1) and (0.5,-2) .. (0.55,-3); + + %% Terza curva + \draw (1,2) .. controls (1,1) and (1.5,0.5) .. (2,0); + \draw (2,0) .. controls (2.5,-0.5) and (4,-2) .. (5,-3); + + %% Asintoti + \draw[blue] (-3.4,-3) -- (-3.4,0) node[anchor=south west] {$\lambda_1$} -- (-3.4,2); + \draw[blue] (0.8,-3) -- (0.8,0) node[anchor=south east] {$\lambda_2$} -- (0.8,2); + \end{tikzpicture} +\end{center} + \caption{Un grafico qualitativo di una possibile equazione secolare di una matrice con due autovalori} \label{fig:eqsecolare} \end{figure} diff --git a/capitolo2.tex b/capitolo2.tex index f4f399f..d5f2244 100644 --- a/capitolo2.tex +++ b/capitolo2.tex @@ -76,3 +76,122 @@ Il metodo di Sturm, comunque, trova delle applicazioni anche in questo ultimo ca dove altri algoritmi non possono essere implementati. Si può osservare invece che, una volta ottenuta la fattorizzazione, non sia difficile implementare il metodo di Sturm dividendo fra i vari processori gli autovalori da calcolare. +\section{Il metodo QR} +In questa sezione esporremo il metodo QR per il calcolo degli autovalori, che è il metodo più gettonato +al giorno d'oggi. + +\subsection{La fattorizzazione QR} +\'E noto che ogni matrice $A \in \mat{\C}{n}$ si può fattorizzare nel seguente modo +\[ + A = QR +\] +dove $Q$ è una matrice unitaria e $R$ è una matrice triangolare superiore. +\begin{os} + La fattorizzazione non è unica. Se supponiamo $A = QR$ e $S$ una matrice di fase, ovvero diagonale tale che $|s_{ii}|=1$ +per ogni $i = 1 \ldots n$, allora $A = QS\herm{S}R$ è ancora un fattorizzazione. Se $S \neq I$ le fattorizzazioni sono +diverse. Si può però mostrare che non ci sono altre matrici (non di fase) per cui questo è vero. Si dice che +la fattorizzazione QR è \emph{essenzialmente unica}. +\end{os} +Il nostro scopo è costruire una successione di matrici tramite questo procedimento di fattorizzazione +che ci porti a determinare gli autovalori. + +\subsection{Costruzione della successione} +Data una matrice $A$ di cui vogliamo conoscere gli autovalori, consideriamo +la successione definita nel seguente modo +\[ +\left\{ \begin{array}{ll} + A_0 & = A \\ + A_{k+1} & = R_k Q_k \quad \text{dove} \ Q_k R_k \ \text{è la fattorizzazione QR di} \ A_k +\end{array} \right. +\] +\begin{os} + Osserviamo che per ogni $k$ $A_{k+1}$ è simile ad $A_k$. Infatti $A_{k+1} = \herm{Q_k}Q_k R_k Q_k$. + Per ogni $k$ la matrice $A_k$ è simile a $A_{k+1}$ tramite trasformazione unitaria, che preserva + il condizionamento del problema di calcolo degli autovalori. Questa quindi è una ``buona'' successione + nel senso in cui ne avevamo parlato nella Sezione~\ref{sec:analisidelcondizionamento}. +\end{os} + +Cominceremo ad analizzare il metodo QR facendo delle supposizioni piuttosto restrittive, che poi allenteremo +in seguito. Cominciamo col supporre che gli autovalori della matrice $A$ siano tutti distinti e ordinabili +per modulo in modo strettamente crescente, ovvero $|\lambda_1| < \ldots < |\lambda_n|$. Questo in +particolare implica che la matrice $A$ è diagonlizzabile e quindi esiste una $X$ invertibile tale che +$A = XDX^{-1}$. Supponiamo ora che $X^{-1}$ ammetta fattorizzazione $ X^{-1} = LU$\footnote{dove supponiamo +che $L$ sia triangolare inferiore con gli elementi delle diagonale uguali a $1$ e $U$ triangolare superiore}. +\begin{pr} \label{pr:metpot:ak} + Se si ha la successione di matrici $A_k$ come quella definita sopra, e per ogni $k$ si considera $Q_k R_k$ + la\footnote{al solito, sarebbe corretto dire \textbf{una} fattorizzazione} fattorizzazione QR di $A_k$, allora + \[ + A^k = Q_0 Q_1 \ldots Q_k R_k \ldots R_1 R_0 + \] +\end{pr} +\begin{proof} + Proviamo la tesi per induzione su $k$. Se $k = 0$ si ha $A_0 = A = Q_0 R_0$ che è banalmente vero. Se considero + la tesi vera per $k$. Considerando le seguenti uguaglianze + \[ \begin{array}{ll} + \displaystyle + A^{k+1} = \prod_{i=1}^{k+1} Q_0 R_0 = Q_0 (\prod_{i=1}^{k} R_0 Q_0) R_0 = Q_0 (\prod_{i=1}^{k} A_1) R_0 = \\ + = Q_0 (\prod_{i=1}^{k} Q_1 R_1) R_0 = Q_0 \prod_{i=1}^{k} Q_i \prod_{i=1}^{k} R_{k-i+1} R_0 + \end{array} + \] + si ottiene esattamente la tesi. Per quanto oscure possano sembrare provare a fare il calcolo con $k = 3$ o $4$ + potrebbe chiarire molto le idee. +\end{proof} +Ora vorremmo usare quanto scoperto sulle potenze di $A$ per studiare la convergenza del nostro metodo. Consideriamo +che $A^k = X D^{k} X^{-1}$ e quindi ricordando che esiste la fattorizzazione $LU$ di $X^{-1}$ si ha +\begin{equation} +A^k = XD^{k}LU= X D^k LD^{-k}D^k U +\end{equation} +Osserviamo ora che la matrice $D^k L D^{-k}$ è triangolare inferiore ed ha la diagonale con soli $1$. Se chiamiamo +$X = QR$ la fattorizzazione QR di $X$ possiamo scrivere +\begin{equation} \label{eq:metpot:1} + A^k = X[I + \Gamma^{(k)}]D^k U = QR [ I + \Gamma^{(k)}] D^k U = Q[I + R\Gamma^{(k)}R^{-1}]RD^k U +\end{equation} +A questo punto consideriamo anche che per ogni $k$ esiste la fattorizzazione QR di $[I + R\Gamma^{(k)}R^{-1}] = P_k T_k$ +ed in particolare possiamo scegliere $P_k$ a termini positivi. Osserviamo ora che i termini di $\Gamma^{(k)}$ +sono dati dalla seguente relazione +\[ +\gamma_{ij} = + \left\{ \begin{array}{ll} + 0 & \text{se} \ i \leq j \\ + (\frac{\lambda_j}{\lambda_i})^{k} l_{ij} & \text{se} \ i > j + \end{array} \right. +\] +ed in particolare ricordando che se $j < i$ si ha che $\lambda_j < \lambda_i$ si ottiene che la matrice $\Gamma^{(k)}$ +tende ad una matrice diagonale per $k$ che tende all'infinito. Più precisamente, $\lim_{k \to \infty} \Gamma^{(k)} = I$. +Da questo si ottiene che $P_k \to I$ e anche $T_k \to I$\footnote{questo non sarebbe vero a priori, in quanto la scomposizione +QR è sempre definita a meno di una matrice di fase. Richiedere però che $P_k$ abbia elementi positivi ci permette +sia di definire univocamente la scomposizione desiderata sia di avere l'esistenza del limite.} +Confontando l'equazione~\ref{eq:metpot:1} e la Proposizione~\ref{pr:metpot:ak} si ottengono due fattorizzazioni +QR della matrice $A^k$. +\[ + A^k = QP_k T_k R D^k U = Q_0 \ldots Q_k R_k \ldots R_0 +\] +Due fattorizzazioni QR della stessa matrice devono forzatamente differire per una matrice di fase e quindi +si ottengono le due relazioni +\[ + \left\{ \begin{array}{l} + Q_0 \ldots Q_k = Q P_k S_k \\ + R_{k} \ldots R_0 = \herm{S_k}T_k R D^k U + \end{array} \right. +\] +Possiamo riscrivere ora $Q_k$ ed $R_k$ in modo da riuscire ad utilizzare queste relazioni +\[ + \left\{ \begin{array}{l} + Q_k = \herm{(Q_0 \ldots Q_{k-1})}(Q_0 \ldots Q_k) = \herm{S_{k-1}}\herm{P_{k-1}}\herm{Q}Q P_k S_k = + \herm{S_{k-1}}\herm{P_{k-1}}P_k S_k\\ + R_k = (R_k \ldots R_0)(R_{k-1} \ldots R_0)^{-1} = \herm{S_k}T_k R D^{k} U U^{-1} D^{-k+1} R^{-1} T_{k-1}^{-1} S_{k-1} + \end{array} \right. +\] +Dunque $Q_k R_k = A^{k} = \herm{S_{k-1}}\herm{P_{k-1}}P_k T_k R D R^{-1} T_{k-1}^{-1} S_{k-1}$ e ricordando che +$T_k$ e $P_k$ al limite vanno all'identità se scriviamo la nostra uguaglianza per $k~\to~\infty$ otteniamo +$S_{k-1} A^k \herm{S_{k-1}} = R D R^{-1}$. Possiamo quindi osservare che gli elementi sulla diagonale di $RDR^{-1}$ +sono gli stessi di $D$ (grazie al fatto che $R$ è triangolare superiore). In particolare gli elementi diagonali +sono gli autovalori di $A$ e quindi abbiamo provato che il metodo converge. +\begin{os} + In realtà non è rilevante conoscere esplicitamente $S_k$ perché siamo interessati solo a conscere gli elementi + sulla diagonale di $RDR^{-1}$. Avendo che gli elementi di $S_k$ sono di modulo $1$ gli elementi diagonali vengono + moltiplicati per un numero complesso e per il suo coniugato, lasciandoli invariati. +\end{os} + +\subsection{Il costo computazionale} + diff --git a/equazionesecolare.pdf b/equazionesecolare.pdf deleted file mode 100644 index 7ba64990f622757e0998422bc245be59d52f2afb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7490 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 -- 2.1.4