Rimosse alcune frasi scomode sul Fortran, che in fondo

Leonardo Robol [2010-10-28 18:41]
Rimosse alcune frasi scomode sul Fortran, che in fondo
è un bel linguaggio.
Filename
appendice/AppFortran.tex
capitoli/capitolo4.tex
capitoli/capitolo5.tex
diff --git a/appendice/AppFortran.tex b/appendice/AppFortran.tex
index df3ce6c..3f8de94 100644
--- a/appendice/AppFortran.tex
+++ b/appendice/AppFortran.tex
@@ -2,15 +2,9 @@
 Il linguaggio di programmazione usato per implementare gli algoritmi è stato il FORTRAN, una
 ``minor revision''\footnote{non ho mai capito come si traduca veramente in italiano la parola
 revision -- ogni suggerimento è bene accetto} del FORTRAN 90. \\
-Rispetto all versioni precedenti ci sono delle interessanti novità, per cui se state pensando
-``Oddio, il FORTRAN nel 2009, non ci posso credere'' prima leggete il seguito\footnote{Ebbene sì,
-è quello che ho pensato io, ma poi mi sono resoconto che il linguaggio aveva fatto dei progressi
-dagli anni sessanta a questa parte}; questo è l'elenco delle cose che non mi aspettavo
-\begin{enumerate}[(a)]
- \item Allocazione dinamica della memoria;
- \item Creazione di tipi astratti e overloading degli operatori;
- \item Programmazione ad oggetti e polimorfismo (solo Fortran 2003/2008);
-\end{enumerate}
+Non è un linguaggio di programmazione particolarmente recente ma si adatta piuttosto bene
+ad implementare gli algoritmi studiati nel corso di Calcolo Scientifico; questi sarebbe stati
+infatti molto meno performanti se realizzati con Matlab, Octave o programmi simili.

 In ogni caso, in queste note includerò alcune righe su come si scrivono le prime righe di codice
 in fortran. In codice Fortran saranno infatti riportati tutti gli esempi nella parte di esercitazione.
diff --git a/capitoli/capitolo4.tex b/capitoli/capitolo4.tex
index def2158..6cc382c 100644
--- a/capitoli/capitolo4.tex
+++ b/capitoli/capitolo4.tex
@@ -96,8 +96,9 @@ dobbiamo però premettere alcune definizioni.
 \end{de}

 \begin{os} \label{os:coniugli}
- Se abbiamo una $n$-upla di vettore $A$-coniugati possiamo facilmente dire che sono linearmente
-indipendenti.
+ Se abbiamo una $n$-upla di vettore $A$-coniugati ed $A$ è invertibile
+ possiamo facilmente dire che sono linearmente
+ indipendenti.
 \end{os}

 Vorremmo ora impostare l'iterazione in modo che i vettori $v_0, v_1, \ldots$ che definiscono le
@@ -137,12 +138,14 @@ Questo teorema ci dice, in particolare, che questo metodo iterativo è in realt
 Poniamo ora $e_k = x_k - x$ l'errore al passo $k-esimo$. Il teorema sopra ci dice che $e_n = 0$ ma ci chiediamo
 come si comporta $e_k$ mentre $k$ si avvicina $n$. Non dobbiamo infatti dimenticare che questo è un metodo
 iterativo e quindi in molti casi pratici saremo interessati a fermarci prima di avere la convergenza totale.
-Esiste un altro teorema che ci dà un risultato piuttosto preciso sulla velocità di convergenza
+Esiste un altro teorema che ci dà un risultato piuttosto preciso sulla velocità di convergenza:
 \begin{te}
  Sia $||\cdot||_A$ la norma indotta dalla matrice $A$\footnote{ricordiamo che questa è definita nel seguente modo
  $||x||_A := \sqrt{\trasp x A x}$}
  ; allora per ogni $k$ e per ogni scelta iniziale di $x_0$ si
  ha
+ % TODO: Questa maggiorazione è sbagliata. Il Demmel ne propone un'altra, provare a vedere se riusciamo
+ % a portarla a qualcosa di umano.
  \[
   ||e_k||_A \leq \left( \frac{2\sqrt{\cond{A}}}{\sqrt{\cond{A}} - 1} \right)^{k} ||e_0||_A
  \]
@@ -236,7 +239,7 @@ Si osserva che il vettore che si ottiene ha i coefficienti che sono quelli del p
 Possiamo quindi calcolare il prodotto matrice vettore nello stesso modo in cui calcoleremmo i coefficienti del
 polinomio prodotto, ovvero con la trasformata discreta di Fourier.

-Avremo quindi un costo delle moltiplicazione $O(n\log(n))$\footnote{utilizzando la \fft.} e quindi
+Avremo un costo delle moltiplicazione $O(n\log(n))$\footnote{utilizzando la \fft.} e quindi
 un costo complessivo del metodo del gradiente coniugato di $O(n^2\log(n))$.

 % TODO: Inserire gli esempi delle applicazioni del metodo del gradiente a qualche caso particolare
diff --git a/capitoli/capitolo5.tex b/capitoli/capitolo5.tex
index 2f3a9ec..fa981e2 100644
--- a/capitoli/capitolo5.tex
+++ b/capitoli/capitolo5.tex
@@ -110,7 +110,7 @@ e quindi se $\alpha = (\alpha_1, \ldots, \alpha_k)$ si ha $x = Q\alpha$.
 In conclusione è sufficiente minimizzare $\ray{\trasp Q A Q}{x}$ su $\R^k$, ed essendo $\trasp Q A Q$ una matrice
 $k \times k$ questo procedimento può risultare sensibilmente più economico rispetto all'idea originale. \\
 \begin{de}
- Data una matrice $A$ a coefficienti reali\footnote{definiamo il procedimento sui numeri reali solo per non appesantire
+ Sia data una matrice $A$ a coefficienti reali\footnote{definiamo il procedimento sui numeri reali solo per non appesantire
  la notazione, ma non c'è nessuna restrizione ad usarlo sui complessi.} e $x$ un vettore di $\R^n$.
  Si dice \emph{sottospazio di Krylov} di $A$ e $v$ di ordine $j$ e si indica con $\kryl{A}{v}{j}$ il sottospazio
  \[
@@ -264,4 +264,4 @@ autovalori di $B^{-1}A$, ma non sempre è conveniente. }:
 \[
  \deter{F - \lambda I} = 0 \iff \deter{p_n F - \lambda( I + p_n e_n\trasp e_n)} = 0
 \]
-Parleremo dei possibili metodi per analizzare questo problema nel Capitolo~\ref{cap:autovalori_generalizzato}.
\ No newline at end of file
+Parleremo dei possibili metodi per analizzare questo problema nel Capitolo~\ref{cap:autovalori_generalizzato}.
ViewGit