Professional Documents
Culture Documents
0.1 Premessa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0.2 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0.2.1 Un semplice esempio . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
6
9
10
13
14
14
14
15
15
15
16
16
17
17
19
19
19
22
22
24
26
29
30
31
INDICE
2
2.4
2.5
2.6
2.7
2.8
3 Zeri di funzioni
(M.Frontini)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
34
35
35
38
39
40
43
46
47
48
48
49
54
58
59
60
61
61
63
64
68
70
71
71
71
72
74
74
76
76
77
79
INDICE
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
85
86
87
89
94
95
97
98
99
101
. 102
. 107
. 109
. 113
. 115
. 116
. 117
119
. 122
. 122
. 130
. 134
. 136
. 137
. 142
. 143
. 146
. 147
0.1 Premessa
INDICE
0.2 Introduzione
Gli argomenti del corso, divisi in 6 capitoli, sono i seguenti:
1. Teoria dell' errore
2. Algebra lineare numerica
Sistemi lineari
Autovalori
3. Zeri di equazioni e sistemi non lineari
4. Teoria dell' approssimazione
Interpolazione
Minimi quadrati
0.2. INTRODUZIONE
5. Formule di quadratura
6. Equazioni di erenziali ordinarie
Nel capitolo 1, dopo aver introdotto i concetti di errore relativo, di numero macchina e di epsilon macchina, viene studiata la propagazione dell'
errore relativo nelle operazioni elementari di macchina. Vengono presentati
anche i concetti di stabilita algoritmica e di condizionamento di un problema
numerico. Con semplici esempi si introducono anche il concetto di errore
di troncamento, di convergenza ed accuratezza (o stima dell' errore ) per un
processo numerico iterativo.
Nel capitolo 2, vengono presentati i principali metodi, sia di tipo diretto
che di tipo iterativo, per la risoluzione di sistemi lineari. Per i metodi diretti si
porra l' accento sulla loro complessita computazionale, mentre per gli iterativi
si analizzeranno in dettaglio le condizioni di convergenza e maggiorazione
dell' errore. Il problema del condizionamento di matrici e la sua in uenza
sulla "buona" risolubilita di un sistema lineare verra trattato in dettaglio.
Viene fatto un cenno sulla risoluzione di sistemi lineari nel senso dei minimi
quadrati.
Per il calcolo degli autovalori e autovettori di matrici si presenta in dettaglio il metodo delle potenze ed alcune sue varianti, facendo solo un cenno
ai metodi globali (algoritmo QR).
Nel capitolo 3, vengono presentati alcuni metodi iterativi generali per
il calcolo degli zeri di funzioni e sistemi non lineari. Dopo aver introdotto
il classico metodo di bisezione, viene presentata la famiglia dei metodi di
punto sso (metodi di ordine k ), con le relative condizioni di convergenza
ed accuratezza. Il metodo di Newton e le sue varianti vengono studiati in
dettaglio anche per sistemi. Per le equazioni algebriche vengono presentati
metodi basati sull' uso della matrice di Frobenious o companion matrix. Viene inoltre discusso il problema della sensitivita delle radici di un polinomio
alle variazioni dei suoi coe cienti.
Nel capitolo 4, si fornisce una breve introduzione alle problematiche dell'
approssimazione. Dopo aver richiamato i concetti base di miglior approssimazione si da spazio all' interpolazione polinomiale con qualche cenno all'
interpolazione mediante funzioni spline. Per quanto riguarda l' approssimazione nel senso dei minimi quadrati verra considerato il caso polinomiale e di
Fourier.
Nel capitolo 5, vengono presentate le formule di tipo interpolatorio di
Newton-Cotes semplici e composte, de nendone l' accuratezza e provando-
INDICE
Prima di addentrarci nel vivo dello studio dei metodi numerici mi sembra
opportuno dare una pur semplice giusti cazione dell' importanza di tali metodi. A tal ne puo essere utile considerare il seguente problema modello
(modello di Malthus):
y = y
(1)
y(0) = y0 y0 > 0
la cui soluzione e y(t) = y0e t . Se il problema (1) simula la crescita di una
colonia di batteri, puo essere interessante individuare il tasso di crescita .
A tal ne e su ciente conoscere il valore y(t ) = y per risolvere:
y0e t = y(t )
(2)
mediante la formula:
(3)
= t1 ln y(yt )
0
(e necessaria una calcolatrice tascabile con la funzione logaritmo).
Se si complica un poco il modello includendo il fenomeno di immigrazione ed emigrazione l' equazione di erenziale del problema di Cauchy (1) si
complica di poco divenendo
y = y+d
(4)
dove la costante d tiene conto del nuovo fenomeno. La soluzione di (4) tenuto
conto delle condizioni iniziali date in (1) e quindi:
;
y(t) = e t y + d 1 ; e t
(5)
0
0.2. INTRODUZIONE
y(t ) = y0 + d 1 ; e
errori
Problema reale modello
) Modello matematico ) Soluzione analitica
errori troncamento
+
Modello numerico
errori arrotondamento
+
Algoritmo, programma
+
Soluzione numerica
# nito passi
# nito bit
l
$ Analisi risultati
INDICE
Capitolo 1
Teoria dell' errore (M.Frontini)
1.1 De nizioni (M.F.)
Introduciamo alcune de nizioni che ci serviranno in seguito. Dati due numeri
reali x e x dove x e il valore "vero" e x e il valore approssimato (di x),
de niamo:
x ; ex x x + ex
9
10
Dalle de nizioni date per l' errore assoluto e relativo si vede subito che e
l' errore relativo quello che piu interessa nelle applicazioni (numero di cifre
esatte), si puo osservare altresi che se x e "piccolo" in modulo (prossimo a
zero) l' errore assoluto e sicuramente piu signi cativo. Per questo motivo
si preferisce usare nella pratica la seguente de nizione di errore "relativo a
buon senso":
jx ; xj = ex = "
1 + jxj 1 + jxj rx
dove il pedice r sta per "ragionevole". E facile osservare che per x "grandi"
"rx ' "x mentre per x "piccoli" si ha "rx ' ex: In questo modo un "rx ' 10 6
e indice di una buona stima di x sia che esso sia "grande" o "piccolo".
L' importanza dell' uso dell' errore relativo viene ra orzata dal fatto che
i numeri che vengono gestiti da un elaboratore elettronico non sono i classici
numeri reali dell' analisi ma sono un sottoinsieme nito di questi.
;
10
11
d1 + d2 + d3 + ::: + dt
2 22 23
2t
2e
dove:
0 di
R
2. F e limitato tra un minimo ed un massimo (xmin xmax 2 F )
3. F e formato da un numero nito di elementi pari a:
Card(F ) = 2t (U ; L + 1) + 1
4. Gli elementi dell' insieme F non sono equidistanziati sulla retta reale.
Queste proprieta di F generano le seguenti conseguenze
1. Due numeri reali distinti x ed y possono avere lo stesso rappresentante
in F .
2. Esistono numeri reali per cui non esiste il rappresentate in F (Overow ).
3. 8x < ( > 0 e lo zero macchina ) x 2 R e rappresentato in F da x = 0
(Under ow ).
4. L' errore relativo di rappresentazione di un numero reale mediante il
suo rappresentante in F e sempre lo stesso.
12
Dimostrazione 1.2.1
13
Essendo l' errore relativo legato al numero di cifre utilizzate per la mantissa e chiaro perche l' uso della doppia precisione possa risultare utile nella
computazione.
La precisione di macchina puo essere caratterizzata dalla seguente de nizione
eps=1
while (eps+1
1)
eps=0.5*eps
end
eps=2.*eps
>
x 2 Fg
14
1.3.2 Prodotto
Essendo f (x y) = x y, si ha:
(x y) ; (x y) =
xy x + xy y = +
(1.3)
xy'
x
y
x y
x y
dalla (1.3) e facile osservare che l' errore relativo nel prodotto non viene
ampli cato.
1.3.3 Divisione
15
px ; px
px =
1
2 x x
x ' px = 2
p
(1.5)
16
E quel fenomeno per cui un algoritmo di calcolo propaga (ampli ca) gli errori
sui dati. Supponiamo di dover fornire una tabella contenente i primi 20 valori
dei seguenti integrali
En =
1
0
xnex 1dx
n = 1 2 :::
(1.6)
En = 1 ; nEn
n = 2 3 :::
(1.7)
sapendo che E1 = 1e , e facile ricavare i valori cercati dalla (1.7). Sfortunatamente, pur dovendo essere En > 0 8n la (1.7) fornisce, utilizzando un
comune personal computer, valori negativi gia per n 15.
Se si inverte la ricorrenza (1.7) nella forma
En 1 = 1 ;nEn
n = ::: 3 2
(1.8)
Esistono problemi che sono, per loro natura, sensibili alle variazioni sui dati.
Un semplice esempio e fornito dalla ricerca delle radici del seguente polinomio
di secondo grado
(x ; 2)2 = 10 6
(1.9)
che puo', ovviamente, essere scritto nella forma
;
x2 ; 4x + (4 ; 10 6) = 0
;
x = 2 10
(1.10)
17
x = 2 2 10
per cui si induce un errore dell' ordine di 10 3 sulle radici. Tutto questo operando "con carta e matita" (non ci sono errori dovuti alla rappresentazione
dei numeri macchina).
;
1.5.1 Esercizi
x=0
while x
=1
x=x+0.1
x,sqrt(x)
end
18
x2
1:002:
p
Esercizio 1.5.6 Dovendo calcolare z = x2 + y2 si suggeriscono le seguenti
formule
p
jxj p1 + (y=x)2
0 jyj jxj
2
0 jxj jyj
jyj 1 + (x=y)
giusti care la bonta delle formule proposte.
Capitolo 2
Algebra lineare numerica
(M.Frontini)
2.1 Sistemi lineari (M.F.)
Ax = b
dove A e una matrice in Rm n di elementi aij b e un vettore in Rm ed x e in
Rn .
Richiamiamo le seguenti de nizioni, perche utili in seguito:
19
20
203
66 ... 77
66 0 77
ei = 666 1 777
66 0 77
4 ... 5
De nizione 2.1.5 Matrice diagonale e una matrice con gli elementi aii 6= 0
i=1,2,...,n e gli altri nulli.
De nizione 2.1.6 Matrice tridiagonale e una matrice per cui solo aii 6= 0
ai+1i =
6 0 aii+1 6= 0:
2a a
3
0
0
11 12
... 77
66 a a
...
a
21
22
23
6
7
...
T = 66 0 . . . . . .
0 77
64 .. . .
7
. an 1n 2 an 1n 1 an 1n 5
.
;
ann
ann
ann
ann
ann
21
2 a
11
66 a
66 ..21
66 .
4 an 11
;
an1
0
a22 . . .
... ...
... a
n 1n
an2
;
...
...
an 1n 1
ann 1
;
3
77
77
77
5
0
...
...
0
ann
2a
11
66 0
66 ..
66 .
4 ...
a12
a1n 1
a22 a23 . . .
a1n
a2n 777
...
an 1n
ann
77
75
an1 an2
ann
ann
ann
ann
De nizione 2.1.10 Matrice trasposta e una matrice che si ottiene scambiando le righe con le colonne (si indica con AT ).
De nizione 2.1.12 Matrice de nita positiva e una matrice ad elementi reali, per cui xT Ax > 0 8x =
6 0.
De nizione 2.1.13 Matrice inversa di una matrice quadrata A e una matrice per cui A 1 A = AA 1 = I:
;
22
i i
23
24
L'idea di Gauss si basa sulla semplice osservazione che il vettore soluzione veri ca tutte le equazioni del sistema lineare e quindi veri ca anche un'
equazione ottenuta combinando linearmente fra loro due di tali equazioni. E'
quindi possibile passare da un sistema "pieno" ad uno equivalente triangolare
in n ; 1 passi eliminando al j-esimo passo l'incognita xj da tutte le equazioni
dalla (j+1)-esima no alla n-esima. Schematicamente scriviamo la (2.2) nella
forma:
8
a12 x2+ :::+ a1nxn = b1
>
< aa1121 xx11 +
+ a22 x2+ :::+ a2nxn = b2 :
:::
>
: an1x1 + an2:::x2 + ::::::+ ann:::xn = b:::n
1 passso Si moltiplica la prima riga per ; aa2111 e si sostituisce la seconda riga
con la somma delle prime due, si moltiplica la prima riga per ; aa3111
e si sostituisce la terza riga con la somma fra la prima e la terza, .... si
25
8
:::+ a1n xn = b1
>
< a11 x1+ aa121 xx22 +
+
:::+ a12n xn = b12
22
:::
:::
:::
:::
>
>
:
1
1
1
8 1
1
:::+ a12n xn = b12
>
>
< a22 x2+ aa232 xx33 +
2
2
33 + :::+ a3n xn = b3
:::
:::
:::
:::
>
:
2
2
2
j ;1
j ;1
jj
jj
flops =
n 1
X
;
i=1
i(i + 3) =
n 1
X
;
i=1
i2 + 3
n 1
X
;
i=1
i=
n ; 1) + 3 n(n ; 1) = n3 + O(n2):
= n(n ; 1)(2
6
2
3
26
2.2.2 Decomposizione LU
Il metodo di Gauss permette, se tutti i minori principali di testa della matrice A sono diversi da zero (il che e equivalente a dire ajjj 1 6= 0 8j provarlo per esercizio), di decomporre la matrice A nel prodotto di due matrici,
L triangolare inferiore (con 1 sulla diagonale principale) ed U triangolare
superiore
A = LU:
(2.4)
La matrice U coincide con la vecchia matrice triangolare superiore del
sistema equivalente, mentre
;
L 1 = Ln 1Ln 2 Ln 3:::L2 L1
;
27
2
3
1 0
0
... 77
66 0 . . . 0
66 . .
... 77
...
.
0
1
6
77
.
a ;+11
Lj = 666 0
.
; a ;1 1 0 . 77 :
66
. . . . . . 0 777
64 0
5
;1
0
; aa ;1
0 1
j
j j
j
jj
j
nj
j
jj
Ln 1 Ln 2Ln 3 :::L2 L1 A = L 1 A = U
(2.5)
2 1
0
...
66 + a21
0
66 aa1131
.
..
1 ...
66 + a11
L = 66 ... + a;;2;21 + a ;+1;11 1
a ;1 ;1
a
66 a
.
...
;11
.
64 + a11
.
a ;1
a
j
j
j
jj
j
j j
j
jj
+ an111
+ anjjjj;1
0
...
n;1
+ aannnnn;;11
03
... 7
7
... 77
7
... 77
77
0 775
1
(2.6)
28
PA = LU:
Ax = b
A = LU
Ly = b
;! LUx = b ;! Ux
=y
2. pivoting
Ax = b
PA = LU
Ly = Pb :
;! LUx = Pb ;! Ux
=y
Si fa osservare che la parte computazionalmente onerosa e la decomposizione LU (n3 ops), mentre la risoluzione dei 2 sistemi triangolari, parte
destra dello schema, costa solo n2 ops. La fase di determinazione del vettore
Pb, nel secondo schema, costa zero ops (sono solo scambi di righe!).
Anche la costruzione della matrice P e immediata e puo essere fatta
utilizzando solo un vettore di n interi. Precisamente, de nito
sp = 1 2 3 ::: n ; 1 n]
(2.7)
il vettore dei primi n interi (sp(k) = k), per costruire la matrice P basta
spostare, al j-esimo passo dell'eliminazione di Gauss, il contenuto della cella j
con quello della cella r del vettore sp (dove r e l'indice di riga del pivot al passo
j ). Il vettore de nito in (2.7) rappresenta, in modo compatto, la matrice
identita (1 in posizione (k sp(k)) k = 1 2 :::n, 0 altrove), analogamente
la matrice P avra 0 ovunque e 1 solo nelle posizioni (k sp(k)) k = 1 2 :::n.
29
Se la matrice A e simmetrica e de nita positiva e possibile dimostrare l'esistenza della seguente decomposizione (decomposizione di Cholesky )
A = V TV
(2.8)
dove V e una matrice triangolare superiore con elementi diagonali positivi.
La dimostrazione dell'esistenza di tale decomposizione e costruttiva, e
viene qui riportata perche evidenzia come sia proprio la decomposizione di
Cholesky la via per determinare se una matrice data A e de nita positiva.
Essendo
2
3
v11
66 v21 v22
77
77
... . . .
V T = 666 ...
75
4 vn 11 vn 12
vn 1n 1
v
v
vnn 1 vnn
2 n1 n2
3
v11 v21
vn 11 vn1
66
v22
vn 12 vn2 77
...
... 77
...
V = 666
7
4
vn 1n 1 vnn 1 5
vnn
dalla (2.8) si ha, eseguendo il prodotto righe per colonne, partendo dalla
prima riga
v11v11 = v112 = a11 ! v11 = pa11
v11vj1 = a1j = aj1 ! vj1 = avj1 j = 2 3 ::: n
11
per la seconda riga, vj1 sono ora noti 8j 1, si ha
;
;
;
v212 + v222
v
u
k 1
u
X
t
2
k = 1 ::: n
vkk = akk ; vmk
;
m=1
(2.9)
30
aki ;
kP1
;
m=1
vkk
vkm vmi
k = 1 ::: n ; 1 i = k + 1 ::: n
(2.10)
Ax = b
A = V TV
T
;! V T V x = b ;! VV xy==yb :
31
kAxk kAkkxk:
Esempi di norme di matrice sono
32
Pn ja j
ij
i=1
)
n
P
3. kAk = max
jaij j
i
j =1
sn n
P P a2 (questa norma e compatibile con la norma 2 di
4. kAkE =
ij
1
j =1 i=1
e = A 1r
;
da cui segue
(2.11)
kek = kxc ; xv k = kA 1 rk kA 1kkrk
la (2.11) non e molto signi cativa in quanto anche se krk e piccola l'errore
puo essere grande se kA 1k e grande. Quello che si puo dire e che se krk e
;
1 k bk
K (A) kbk
k xk K (A) k bk
kxk
kbk
(2.12)
33
kxk = kA 1bk
k bk = kA xk
;
da cui
1 k bk k xk :
K (A) kbk kxk
Analogamente, usando la 1 e la 4, si ha
kbk = kAxk
k xk = kA 1 bk
;
da cui
che prova la (2.12).
kAkkxk
kA 1kk bk ;! k xkkbk K (A)k bkkxk
;
k xk K (A) k bk
kxk
kbk
4. Le matrici ortogonali
p (TQT Q = QQT = I ) hanno K2(A) = 1. Infatti
essendo kAk2 = (A A) si ha
kQk2 =
(QT Q) =
(I ) = 1:
34
kAk2 =
(AT A)
(A2)
max (A)
min (A)
2
max
=j
: Infatti si puo
max (A)j
1
(A) ,
kA 1k2 = j 1(A)j :
min
;
66 12
Hn = 666 ...
4 n1 1
1
n
1
3
1
n
1
n+1
1
2n 3
1
2n 2
...
1
n
...
;
;
77
... 77 :
1 7
2n 2 5
1
n+1
1
2n 1
;
;
35
r = Axc ; b
(2.15)
in doppia precisione (l'uso di una precisione superiore nel calcolo del residuo
e fondamentale per non rischiare di ottenere un residuo identicamente nullo),
sia ec la soluzione del sistema
Ae = r
calcolata utilizzando la stessa decomposizione LU della matrice del sistema.
Si puo osservare che, se i calcoli sono eseguiti "senza errori" allora
xv = xc ; ec = xc ; A 1r = xc ; A 1(Axc ; b) = A 1b
;
di fatto, a causa degli inevitabili errori dovuti alla nitezza della macchina,
si ha
kxvera ; xck > kxvera ; xv k
ed, in generale, sono su cienti 2 o 3 iterazioni per raggiungere la soluzione
nella precisione di macchina.
Se keck non decresce vuol dire che la matrice del sistema e mal condizionata. Se e nota la decomposizione LU di A il metodo non e molto costoso
(bastano solo n2 ops per iterazione).
B = ;D 1 (L + U )
;
g = D 1b:
;
36
fornisce
x1 = Bx0 + g
x2 = Bx1 + g = B 2 x0 + (B + I )g
x3 = Bx2 + g = B 3 x0 + (B 2 + B + I )g
xk = Bxk 1 + g = B k x0 + (B k 1 +
;
(2.17)
+ B + I )g
k
k
X
!1
lim
!1
i=0
Bi
= I +B+
= (I ; B ) 1:
;
k!1
xvera = (I ; B ) 1g:
;
37
Osservazione 2.4.1 Ricordando che, data una matrice A, per ogni de nizione di norma si ha
vale il seguente
j (A)j kAk
38
dalle (2.18,2.19) si ha
k
passo per cui si puo calcolare quanti passi saranno necessari per ottenere una
pre ssata accuratezza essendo kB k < 1:
Ax = b
e la matrice A sia partizionata come
A=L+D+U
la j-esima componente del vettore xk (xjk ) fornita dal metodo di Jacoby e
data da
Djj xjk = ;Lj xk 1 ; Uj xk 1 + bj k = 1 2
(2.21)
dove Lj e Uj sono le righe j-esime delle matrici L e U . Essendo le componenti
del vettore Lj
Lji = 0 i j
nella (2.21) al generico passo k-esimo, il primo vettore xk 1 puo essere sostituito dal vettore xk in quanto sono gia state calcolate le prime (j-1) componenti del vettore xk stesso. In questo modo si tiene subito conto delle
variazioni apportate nell'iterazione. Si osservi che le restanti n ; j + 1 componenti, non ancora note, vengono moltiplicate per zero. Si ottiene quindi il
metodo (di Gauss-Seidel)
n
Djj xjk = ;Lj xk ; Uj xk 1 + bj k = 1 2
che, con ovvio signi cato dei simboli, puo essere scritto in forma matriciale
Dxk = ;Lxk ; Uxk 1 + b:
La matrice d'iterazione del metodo ed il vettore g sono quindi
;
B = ;(D + L) 1U
;
g = (D + L) 1 b
;
39
per cui sono applicabili, per la convergenza del metodo, i teoremi (2.4.1,2.4.3).
Si puo osservare, analizzando la struttura dei due metodi, che se entrambi
i metodi convergono, in generale, il metodo di Gauss-Seidel convergera piu
rapidamente del metodo di Jacoby.
Diamo ora due teoremi di convergenza
Teorema 2.4.5 Se la matrice A del sistema lineare (2.2) e fortemente diagonalizzata allora i metodi di Jacoby e Gauss-Seidel convergono per ogni scelta
del vettore iniziale.
Dimostrazione 2.4.3 La dimostrazione, per il metodo di Jacoby, e immediata ricordando che, essendo A fortemente diagonalizzata, allora
jaii j >
n
X
j =1
j =i
jaij j
8i = 1 2
de nita positiva allora il metodo di Gauss-Seidel converge per ogni scelta del
vettore iniziale.
xk+1 = D
;Lxk+1 ; Uxk + b
40
xk+1 ; xk = D
;Lxk+1 ; Uxk + b ; xk
(2.22)
de nito il vettore vk
vk = D
;Lxk+1 ; Uxk + b ; xk
xk+1 = xk + !vk :
(2.23)
Nella (2.23) il vettore variato e ottenuto dal vettore precedente muovendosi nella direzione di vk con un passo pari a ! kvk k l'importante sara trovare
il passo ! in modo che xk+1 sia piu vicino a xvera di quanto non lo sia xk . In
forma matriciale la (2.23) e equivalente a
xk+1 ; xk = !D
ovvero
e in de nitiva
;Lxk+1 ; (D + U )xk + b
(D + !L)xk+1 = (1 ; !)D ; !U ] xk + !b
(2.24)
L'idea alla base dei metodi non stazionari e quella di cercare ad ogni iterazione
di muoversi lungo un'opportuna direzione con un opportuno passo in modo
41
che l'iterata (k+1)-esima sia "piu vicina" alla soluzione dell'iterata k-esima.
Dedurremo i metodi nel caso di matrici simmetriche e de nite positive.
De niamo l'errore alla generica iterazione k
ek = xvera ; xk
ed associamogli la seguente forma quadratica de nita positiva
(ek ) = (Aek ek ) = eTk Aek = (xvera ; xk )T A(xvera ; xk ) (2.25)
= xTvera Axvera ; 2xTvera Axk + xTk Axk
in modo analogo si de nisce (ek+1): Cerchiamo, analogamente a quanto
fatto in (2.23),
xk+1 = xk + vk :
(2.26)
Utilizzando le (2.25,2.26) si puo cercare e vk in modo che
(ek+1) < (ek )
e la succesione (2.26) converga, per k ;! 1, a xvera :
Per la determinazione di vale il seguente
Tv
k
= vrTkAv
k k
T
dove rk e il residuo (2.15).
0 < < 2:
(2.27)
42
deve essere
ovvero, essendo Aek = rk ,
(2.28)
T
T
k = rk v k :
= vekT Av
vTk Avk
k Av k
Il vettore vk che compare nella (2.26) viene scelto (metodo delle coordinate
ciclico ) ciclicamente uguale al versore ej
v k = ej
mentre
k = j mod n
(2.29)
43
Si sceglie come direzione vk che compare nella (2.26) il vettore residuo rk che
risulta essere il gradiente della forma quadratica (2.25) (da qui il nome del
metodo). Lo scalare dato dalla (2.27), risultera quindi uguale a
T
= rTk rk :
rk Ark
Vale la pena di osservare che la velocita di convergenza del metodo del
gradiente dipende dal valore
K (A) ; 1
K (A) + 1
per cui la convergenza puo essere molto lenta se A e mal condizionata.
44
0 b ; y 22 = (b ; y)T (b ; y) = bT b ; 2bT y + yT y
aggiungendo 2(b ; y )T y = 0, per ipotesi, si ha
bT b ; 2bT y + yT y + 2(b ; y )T y
= bT b + 2bT y ; 2y T y ; 2bT y + yT y
= bT b ; 2y T y + yT y
aggiungendo e togliendo y T y
0
0
in conclusione
bT b ; y T y + (y T y ; 2y T y + yT y)
= kbk22 ; y 22 + (y ; y)T (y ; y)
0 b ; y 22 = kbk22 ; y
che risulta minima quando y = y :
2
2 + (y
; y)T (y ; y)
Osservazione 2.5.1 Risolvere un sistema lineare nel senso dei minimi qua-
45
e quindi
(2.31)
AT Ax = AT b
che prende il nome di equazione normale. Se A e a rango massimo allora
AT A e invertibile, per cui
A+ = (AT A) 1AT
;
x = A+b
e l'unica soluzione (la matrice A+ prende il nome di pseudo inversa di MoorePenrose).
Se A e mal condizionata peggio sara il condizionamento di AT A, per
cui la risoluzione di (2.31) puo risultare poco accurata. Facciamo un breve
cenno ad una tecnica risolutiva, utile quando A e a rango massimo ma mal
condizionata, che si basa sul seguente teorema
per cui
A = QR:
(2.32)
Q(Rx ; QT b)
min
kAx ; bk22 = min
kQRx ; bk22 = min
x
x
x
2
2
2
T b 2 = min Rx ; bb :
Rx
;
Q
= min
2
x
x
2
2r
r1n 3
11
66 0 . . . ... 77
R = 666 ... . . . rnn 777 = R011
40
0 5
0
2b
b
66 .. 1
.
bb = 666 bbn
64 ...
bbm
3
77 " #
77 bb1
77 = bb2
5
46
47
2.6.1 Esercizi
4 3 2 1
8 6 4 2
2
3
1 2 3 4 5
66 2 3 4 5 77
3 4 5 77
A = 66
4
4 55
5
2 3
3
66 2 77
b = 66 4 77
4 5
1
5
usando diversi valori per la tolleranza richiesta nel test di arresto e partendo
sempre da x0 = b. Giusti care i risultati ottenuti.
A = LDLT
dove L e triangolare inferiore con 1 sulla diagonale principale e D e diagonale.
Esercizio 2.6.5 Dati i punti del piano xy, le cui coordinate sono date nella
seguente tabella
48
Data una matrice quadrata A si de niscono autovalori e autovettori rispettivamente quei valori reali o complessi e quei vettori non nulli che veri cano
l'equazione
Au = u:
(2.33)
Il sistema (2.33) e equivalente al sistema omogeneo
(A ; I )u = 0
che ammette soluzioni non banali (u 6= 0) se e solo se e tale per cui
det(A ; I ) = pn( ) = 0
dove pn( ) e un polinomio di grado n.
DCu = Cu
posto
Cu = w
segue
Dw = w
ed essendo D diagonale i = Dii sono autovalori e w = ei sono i corrispondenti autovettori, per cui, essendo u = C 1 w anche gli u risulteranno
;
linearmente indipendenti.
49
C 1ACu = u
ACu = Cu
Aw = w:
;
ce A 1 ha autovalori (A 1) =
u(A 1):
;
1
(A)
x
xT x
xT Ax :
xT x
al contrario, noto il calcolo di x mediante la de nizione (2.33) risulta difcoltoso, se non impossibile, in quanto anche un piccolo errore su rende il
sistema (2.33) non piu omogeneo, per cui solo x = 0 veri ca la (2.33).
Ax =
=
=
xT Ax
50
x0 = 1u1 + 2u2 +
con
6= 0, la successione
converge ad u1 mentre
+ nun =
n
X
i=1
i ui
xk+1 = Axk
j
k
converge a 1 .
xjk+1
xjk
(2.34)
xjk 6= 0
x1 = Ax0 =
x2 =
xk+1 =
n
X
i=1
n
X
i=1
n
X
i=1
i Aui
i Aui =
k
i i Aui
n
X
i=1
n
X
i=1
n
X
i=1
i i ui
2
i i ui
k+1
i i ui
ovvero, raccogliendo
xk+1 =
k+1
1
51
k+1
2
1
1 u1 +
2 u2 +
n
1
k+1
n un
(2.35)
lim xk+1 = u1
!1
(si ricordi che gli autovettori sono de niti a meno di una costante).
La (2.35), scritta per k, diviene
xk =
k
1
2
1
1 u1 +
2 u2 +
n
1
n un
per cui
xjk+1
xjk
j
1 u1 +
j
1 u1 +
lim
!1
j
k
k+1
2
1
2
1
j
2 u2 +
j
2 u2 +
= 1:
vTk xk+1
vTk xk
dove vk e un generico vettore (la scelta precedente equivale a vk = ej ). Se si
pone vk = xk , si ottiene il quoziente di Rayleigh
xTk Axk = xTk xk+1
=
k
xTk xk
xTk xk
k=
2
1
, se la ma-
52
53
!1
k k
1
(A) ;
(A) si e indicato l'autovalore di A piu prossimo ad , ed allora
(A) = 1 + :
= klim
!1
dove con
max (A ;
I) 1 =
;
Per poter applicare il metodo delle potenze inverse con shift e necessario
avere una idea di dove sono dislocati, nel piano complesso, gli autovalori di
A. A tale ne richiamiamo, senza dimostrazione, alcuni classici risultati.
54
reali.
j =1
j =k
6
Rk = fzj jz ; akk j rk g
Ck = fzj jz ; akk j ck g
gli autovalori di A appartengono ai cerchi Rk e Ck . Piu precisamente appartengono alla regione del piano complesso che e data dall'intersezione delle
unioni dei due insiemi di cerchi.
Sono quei metodi che permettono di calcolare tutti gli autovalori della matrice
A trasformando, mediante trasformazioni per similitudine, la matrice in una
matrice in forma diagonale o triangolare (forme per le quali e immediato
il calcolo degli autovalori). E' importante osservare che tali trasformazioni
porteranno, in generale per n 5, ad una matrice triangolare o diagonale
solo dopo un "numero in nito" di passi. (E' una naturale conseguenza del
teorema di Abel sul calcolo delle radici di equazioni algebriche).
55
Le matrici di trasformazione, che stanno alla base di questi metodi, sono le stesse che permettono la decomposizione QR di una matrice o la sua
trasformazione in forma di Hessemberg.
Fra le diverse tecniche di trasformazione presenteremo in dettaglio quella basata sulle matrici di ri essione di Householder che, a di erenza delle
matrici di rotazione, ri ettono i vettori a cui sono applicate rispetto degli
iper-piani.
Matrici di Householder
De nizione 2.7.1 Dato un vettore u de niamo matrice di Householder la
matrice
Q = I ; 2uu 2 :
kuk2
Teorema 2.7.10 La matrice Q e simmetrica, ortogonale ed e ettua la riessione di un vettore rispetto all'iper-piano ortogonale al vettore u:
Dimostrazione 2.7.4 La simmetria segue dalla de nizione di Q. Per
l'ortogonalita
!T
!2
T
T
T
I ; 2uu 2 = I ; 2uu 2 =
QT Q = I ; 2uu 2
kuk2
kuk2
kuk2
;
T 4u uT u uT
= I ; 4uu 2 +
=I
kuk2
kuk42
;
essendo uT u = kuk22 :
Sia z un vettore dell'iper-piano ortogonale ad u, ovvero z T u = 0, allora
!
T
2
uu
Qz = I ; 2 z = z
kuk2
mentre
!
T
2
uu
Qu = I ; 2 u = ;u
kuk2
essendo x
u + z 8x 2 Rn (il vettore x e decomposto nelle sue due
componenti rispetto a u e z ), allora
Qx = Q( u + z) = ; u + z
risulta il ri esso di x rispetto all'iper-piano ortogonale ad u.
56
8
j=1
k;1
< wj = vj
w = : wk j kwk = kvk
wj = 0
j =k+1
n
(2.36)
8
uj =s0
j=1
>
>
<
n
P
vj2
u = > uk = vk
j
=
k
>
>
:
uj = vj
kuk22 = uT u = vk2 +
= 2
e
n
X
j =k
vj2
j =k
j =k+1
Dimostrazione 2.7.5 Si ha
n
X
k;1
vj2
v
u
n
n
X
X
u
2
t
vj +
vj2 =
2vk
v
u
n
X
u
t
2vk
vj2
j =k
j =k+1
j =k
v
u
n
n
X
uX
T
2
u v = vk vk t vj2 +
vj2 =
j =k
j =k+1
v
u
n
n
2
X
uX
2
=
vj vk t vj2 = kuk2
j =k
j =k
(2.37)
57
T
2u uT v
= v ; u:
w = Qv = I ; 2uu 2 v = v ;
kuk2
kuk22
2uT y
:
kuk22
Osservazione 2.7.2 Nella (2.37) il segno viene scelto in modo da ridurre
la cancellazione numerica (+ se vk > 0 - se vk < 0).
=
Algoritmo QR
Data la fattorizzazione
si consideri la matrice
A = A0 = Q0 R0
(2.38)
A1 = R0Q0
(2.39)
e immediato dimostrare che la matrice A1 e simile alla A, infatti
;
A1 = R0 Q0 = QT0 Q0 R0Q0 = QT0 (Q0 R0) Q0 = QT0 A0 Q0:
Iterando la decomposizione (2.38) ed il prodotto (2.39) si genera una
succesione di matrici Ak per la quali vale il seguente
58
!1
Poiche l'algoritmo QR salva la forma di Hessemberg di una matrice, e conveniente trasformare preventivamente la matrice A in forma di Hessemberg
(tridiagonale se A e simmetrica). Tale trasformazione puo essere e ettuata,
mantenendo la similitudine, ancora con matrici di Householder in n ; 2 passi.
Questa volta si dovra moltiplicare, sia a sinistra che a destra, per le matrici
Qj costruite in modo di azzerare gli elementi della colonna j-esima della matrice Aj sotto la sotto-diagonale principale. Senza entrare nei dettagli (che
vengono lasciati al lettore come esercizio di veri ca)
H = Qn 2 Q n
;
Q2 Q1AQ1 Q2
Qn 3 Qn 2:
;
(2.40)
Osservazione 2.7.3 La (2.40) e ovviamente una trasformazione per similitudine essendo le Qj ortogonali e simmetriche.
La velocita di convergenza dell'algoritmo QR dipende dallo spettro della matrice A per cui, nella pratica, si preferisce utilizzare al posto delle
(2.38,2.39) le
A ; I = A0 ; I = Q0 R0
e
A1 = R0Q0 + I
dove e un opportuno valore di shift, scelto per accelerare la velocita di
convergenza del metodo.
Analogamente a quanto fatto per la risoluzione di un sistema lineare e naturale chiedersi di quanto puo variare la stima di un autovalore a fronte di una
variazione degli elementi della matrice. Vale il seguente
X 1AX = D = diag(
;
n)
59
allora
min j ; j Kp(X ) kE kp
dove k kp denota una norma p di matrice.
E' interessante osservare che e il condizionamento della matrice X che
diagonalizza la A che in uenza il calcolo degli autovalori e non il condizionamento di A.
Se A e simmetrica, essendo diagonalizzabile mediante una matrice ortogonale, non crea problemi per il calcolo degli autovalori (si pensi alla matrice
di Hilbert, cosi per da per la risoluzione dei sistemi lineari, ma di cui si
riescono a calcolare bene gli autovalori).
Essendo le colonne della matrice X gli autovettori della matrice A, il
teorema di Bauer-Fike evidenzia come siano gli autovettori ad in uire sul
calcolo degli autovalori (piu gli angoli formati da questi sono prossimi a 2 e
piu le cose vanno bene).
60
2.8.1 Esercizi
Esercizio 2.8.2 Utilizzare il metodo delle potenze per calcolare gli autovalori
dell'esercizio 2.6.2 calcolare il corrispondente autovalore utilizzando, nel quoziente di Rayleigh, e3 ed e3 + e3 , dove e3 e una perturbazione di e3 : Provare
per varie perturbazioni e3 e commentare i risultati ottenuti.
Capitolo 3
Zeri di funzioni
(M.Frontini)
La risoluzione di molti problemi conduce al calcolo degli zeri di una funzione,
si veda per esempio il problema della determinazione del tasso di crescita nel
modello di Maltius presentato nell'introduzione, oppure il problema della
ricerca del minimo (massimo) di una funzione e tutti quei problemi legati
alla massimizzazione del pro tto o minimizzazione della spesa.
Considereremo in dettaglio il caso monodimensionale estendendo, ove possibile, alcuni risultati al caso di sistemi non lineari. Partiremo quindi dal
problema: data f (x) 2 C 0 a b] con f (a)f (b) < 0 trovare 2 a b] tale che
f ( ) = 0:
Un primo algoritmo per la determinazione di ci viene fornito dal teorema
degli zeri visto nel corso di Analisi.
Teorema 3.0.1 (degli zeri) Sia f (x) 2 C 0 a b] con f (a)f (b) < 0 allora
esiste (almeno) uno 2 (a b) tale che f ( ) = 0:
Se alle ipotesi del teorema degli zeri si aggiunge la monotonia della f (x)
si ha anche l'unicita del punto :
x0 = a
61
x1 = b
i=1
62
=
=
<
<
(M.FRONTINI)
xi + xi 1
valuta f (xi+1)
2
0 ! = xi+1 FINE:
0 ! xi 1 = xi+1 i = i + 1
0 ! xi = xi+1 i = i + 1
continua:
;
Nella pratica non si arrivera mai ad avere f (xi+1 ) = 0 per cui nella
sequenza precedente bisogna introdurre un opportuno test di arresto in modo
d'ottenere un algoritmo utilizzabile. Un buon test e il seguente
(3.1)
Osservazione 3.1.1 Nel calcolo del punto medio e piu stabile l'uso della
seguente formula
x = x + xi 1 ; xi
i+1
2
che permette di evitare l'over ow ed assicura, come deve essere, che xi
xi+1 xi (xi xi+1 xi 1 ).
E' possibile sapere a priori il numero di iterazioni necessarie per raggiungere la tolleranza richiesta essendo
xi ; xi 1 = b2;i 1a
;
log( b a )
i 1 + logtoll2 :
Il costo computazionale del metodo e dato dal calcolo, ad ogni passo, della
f (xi+1): La convergenza e lenta, si dimezza l'intervallo ad ogni passo, ma si
ha il vantaggio d'avere sempre una stima per difetto e una per eccesso della
radice. Il metodo non puo essere usato per problemi in dimensione maggiore
di 1.
;
63
E' una variante del metodo di bisezione, l'unica di erenza e che il punto xi+1
viene calcolato come intersezione della retta congiungente i punti (xi f (xi))
e (xi 1 f (xi 1)) ovvero
;
i 1
^
f(x)
Falsa Posizione
4
3
2
Corde
1
0
>
x
o
1
2
f(x)
3
4
1
0.5
0.5
1.5
2.5
Figura 3.1:
Anche il test di convergenza deve essere modi cato per contemplare sia il
caso in cui la derivata prima di f (x) sia "piccola" (funzioni piatte vicono a )
che quando e "grande" (funzioni ripide vicono a ). Un buon test di arresto
e dato quindi dalla contemporanea veri ca delle seguenti disuguaglianze
dove zero e toll sono in generale diversi (confronta gure 3.2 e 3.3).
64
(M.FRONTINI)
Figura 3.2:
Esempio 3.2.1
f (x) = x2 ; 2x + 1
2
g1(x) = x 2+ 1
p
g2(x) = 2x ; 1 x
g3(x) = x2 ; x + 1
1
2
65
Figura 3.3:
Le tre gi(x) ammettono tutte = 1 come "punto unito", ma non tutte
e tre vanno bene per generare una successione convergente (partendo, per
esempio, da x0 = 12 ):
a b]
si ha
a
a
g(a) b
g(b) b:
g(a) ; a > 0
g(b) ; b < 0:
= a oppure
=b
66
(M.FRONTINI)
Posto
F (x) := g(x) ; x
allora F (x) 2 C 0 a b] ed inoltre F (a)F (b) < 0 per cui, applicando il teorema
degli zeri F ( ) = 0 = g( ) ; ! = g ( ):
Teorema 3.2.2 Se la funzione g(x) 2 C 1 a b] e se g a b] a b] ed inoltre jg (x)j L < 1 allora esiste un solo punto unito 2 a b] per la
0
trasformazione g(x):
= g( 1)
= g( 2)
1 2]
6=
per cui
j 2 ; 1j = jg( 2) ; g( 1 )j = jg( )( 2 ; 1j
L j 2 ; 1j < j 2 ; 1j
che e assurdo.
jen j 1 L; L jx1 ; x0 j :
sano essere di cili da veri care a priori, il teorema fornisce una chiara risposta riguardo alle condizioni di convergenza e, se e nota L il numero di
iterazioni necessarie per ottenere con una pre ssata tolleranza.
Osservazione 3.2.3 Vale la pena di osservare che l'equazione (3.3) e l'equazione risolvente il sistema
y=x
y = g(x)
per cui il metodo (3.2) puo essere interpretato geometricamente come indicato
in gura 3.4.
67
y=x
g(x)
Figura 3.4:
Per quanto riguarda la velocita di convergenza e l'ordine di un metodo
del tipo (3.2) diamo la seguente de nizione
!1
sara anche
lim
!1
(3.4)
68
per cui
(M.FRONTINI)
en+1 = g ( ) L < 1:
lim
n
en
0
!1
In generale se g ( ) = g(2)( ) =
en+1 = g(k)( ) = c:
lim
n
ekn
k!
!1
ogni passo e costante (tanto piu si guadagna quanto piu L e minore di 1),
nei metodi di ordine superiore piu si e vicini alla soluzione maggiore e il
guadagno al passo sucessivo (poco importa il valore di c cio che conta e che
k > 1).
g ( ) = 1 + h ( ) f ( ) +h( )f ( ) = 1 + h( )f ( )
0
=0
da cui
h( ) = ; f 1( ) :
0
Otteniamo quindi il metodo, almeno del secondo ordine (metodo di Newton ), nella forma
xn+1 = xn ; ff ((xxn)) :
n
Vale il seguente
0
69
Teorema 3.3.1 Se la f (2) (x) e continua e la f (x) 6= 0 in un aperto contenente allora esiste un > 0 per cui 8 jx0 ; j < il metodo di Newton
0
converge quadraticamente a :
Osservazione 3.3.1 Il precedente teorema a erma che, pur di partire "abbastanza vicino" alla soluzione, la convergenza e quadratica. Nulla dice se si
parte "lontano".
Per garantire la convergenza "comunque si parta" bisogna richiedere che
la f (x) non cambi concavita in a b] ovvero
Teorema 3.3.2 Se f (x) 2 C 2 a b] f (a)f (b) < 0, f (2) (x) e di segno costante
in a b] e f (x) 6= 0, allora il metodo di Newton converge quadraticamente a
se si parte da un x0 2 a b] tale per cui f (x0 )f (2) (x0 ) > 0:
Una chiara interpretazione del precedente teorema e data nella gura 3.5.
0
f(x)x
x2
x
1
Figura 3.5:
Il metodo di Newton e, in generale, un metodo del secondo ordine ma ad
ogni iterazione richiede la valutazione di due funzioni la f (x) e la f (x): Se
la f (x) non e nota, o se e molto oneroso il suo computo, il metodo non puo
essere usato o puo risultare lento. Vedremo piu avanti come si puo ovviare a
questi inconvenienti.
Se la radice e multipla (per esempio doppia) il metodo non e piu del
secondo ordine ma decade al primo (con costante L = 12 ) infatti
2
(2)
(2)
g (x) = 1 ; f (x) ;f f(x(x)2)f (x) = f (xf)f(x)2(x)
0
70
(M.FRONTINI)
allora
xn+1 = xn ; p ff ((xxn))
0
e ancora del secondo ordine, mentre il metodo classico di Newton sarebbe del
primo con costante L = 1 ; p1 .
Presentiamo due varianti al metodo di Newton che permettono d'evitare
il calcolo della f (x):
0
; f (xn 1)
f (xn ) ' f (xxn) ;
x
;
n 1
;
ed il metodo diviene
en+1 = c
lim
n
epn
!1
La successione generata dal metodo delle secanti NON coincide con quella
generata dal metodo della falsa posizione (cfr. gura 3.6).
71
f(x)x
4c:=corde
4f:=falsa posizione
4f
0
4c
Figura 3.6:
xn+1 = xn ; f (x + ff((xxn))) ; f (x ) :
n
n
n
Il metodo di Ste ensen richiede il calcolo della funzione in due punti ad
ogni passo (come Newton) ed e un metodo del secondo ordine.
2
f (x) = 0
lo si trasforma nel problema equivalente
xk+1 = (xk )
(3.5)
(3.6)
72
2 @1
66 @@x12
66 @x.. 1
J ( (xk )) = 6 .
64 @ ;1
@x1
n
@ 1
@x2
@ 2
@x2
@
@ n
@x1
...
n;1
@ 1
@xn;1
@ 2
@xn;1
...
...
@ n;1
@xn;1
@ n
@xn;1
@x2
@ n
@x2
(M.FRONTINI)
3
77
... 77
7
@ ;1 7
@x 5
@ 1
@xn
@ 2
@xn
(3.7)
@ n
@xn
x xk
J ( (xk ))
L<1
8k:
8
>
f1 (xk ) + hk1
>
>
<
>
>
>
: fn(xk ) + hk1
@f1
@x1 x x +
k
+ hkn
@fn
@x1 x x +
k
+ hkn
@f1
@xn x x
k
= 0
@fn
@xn x x
k
=
= 0
(3.9)
73
f(x)x
Rette parallele
NON tangenti
x3
x2
x
1
Figura 3.7:
Molto costoso e anche il preventivo calcolo simbolico della matrice jacobiana (n2 derivate parziali da calcolare !) per cui, quando queste derivate
sono molto complicate o non sono computabili (non si hanno le f (x) in forma analitica), si puo operare con una variante, simile al metodo delle corde.
Precisamente si approssimano gli elementi della matrice jacobiana con dei
rapporti incrementali nella forma:
@fj
fj (xk + ek hki) ; fj (xk ) e =
'
B
kj
ji =
kj
@xi x=xk
hki
dove, per esempio, hki = xki ; xk 1i:
;
74
(M.FRONTINI)
+ an 1x + an
(3.10)
2
0
66 1
6
Cn = 66 0
64 ..
.
0
0
...
1
...
...
...
...
0
0
...
0
0
1
;an 3
;an 1 777
... 7 :
77
;a2 5
;a1
;
(3.11)
(3.12)
per cui
=1
= k
+ ak
pn( ) = n:
k = 1 2 ::: n
(3.13)
75
E' facile veri care che i valori k (k = 1 : : : n ; 1) sono i coe cienti del
polinomio quoziente pn 1(x) della divisione per (x ; ) di pn(x) mentre n
e il resto r0. Lo schema (3.13) rappresenta quindi un modo compatto per
e ettuare la divisione sintetica
pn(x) = (x ; )pn 1(x) + r0:
(3.14)
Dimostrazione 3.5.1 Scriviamo il polinomio
pn 1(x) = xn 1 + 1xn 2 + + n 2x + n 1
dalla (3.14), eguagliando i coe cienti dei termini di ugual grado, tenendo
conto della (3.10) si ha
1=1
1=1
1 ; = a1
1 = + a1
;
=
a
2
2
1
2 = 1 + a2
:
n 1 ; n 2 = an 1
n 1 = n 2 + an 1
r0 ; n 1 = an
r0 = n 1 + an = n
Analogamente si puo calcolare la derivata prima di pn(x) in x =
operando la stessa divisione con pn 1(x) infatti, posto
pn 1 (x) = (x ; )pn 2(x) + r1
si ha
pn(x) = (x ; )2 pn 2(x) + (x ; )r1 + r0
e derivando
pn(x) = 2(x ; )pn 2(x) + (x ; )2pn 2 (x) + r1
da cui,
p n ( ) = r1 :
Si lascia al lettore, per esercizio, la veri ca che
p(nm) ( ) = m!rm
m = 0 1 : : : n:
Lo schema di Horner, o divisione sintetica, fornisce un algoritmo e ciente
per valutare il polinomio e la sua derivata prima in un punto permettendo,
con un costo di 2n ops, di eseguire un passo del metodo di Newton
xn+1 = xn ; ppn((xxn )) :
n n
;
76
(M.FRONTINI)
Abbiamo gia visto che, nel caso di radici multiple, il metodo di Newton non
converge piu quadraticamente. Per quanto riguarda i polinomi e sempre
possibile operare con polinomi che hanno radici semplici, infatti il polinomio
pn r (x) = pqn((xx))
;
77
(a) metodi del primo ordine (lineare ): dipende da L (jg (x)j L < 1)
(b) 1.61 corde,
(c) 2 Newton e Ste ensen.
5. Equazioni algebriche:
(a) tutti i metodi precedenti,
(b) metodi dell'algebra lineare (calcolo degli autovalori della companion matrix).
0
3.6.1 Esercizi
Esercizio 3.6.1 Quanti passi sono necessari per stimare, con errore minore
di 10
la radice di
ex ; 2 = 0
78
(M.FRONTINI)
xn+1 = ; y4n2 + 45 :
yn+1 = ; x4n + 54
Capitolo 4
Teoria dell'approssimazione
(M.Frontini)
Il problema che vogliamo a rontare ora e quello della ricostruzione di una
funzione, o semplicemente la determinazione del suo valore in un punto, noti
i valori che la funzione stessa assume in un numero nito di punti assegnati.
E' evidente che cosi formulato il problema non e ben posto, nel senso che puo
avere un numero in nito di soluzioni o nessuna soluzione. Si pensi al caso in
cui la funzione deve essere continua e si hanno due punti con uguale ascissa e
diversa ordinata. Per ripristinare l'esistenza ed unicita bisognera aggiungere
delle condizioni
1. sulla regolarita della funzione
2. sul tipo di approssimazione da usare
3. sulle funzioni approssimanti.
In generale, data una funzione f (x) nota in n punti yi = f (xi ) (i =
1 :::: n) si cerca un'approssimante della forma
g(x) =
n
X
i=1
i i (x)
si possono considerare
Pn jg(x ) ; y jg),
4. minima somma dei moduli (norma L1 ) (min
f
i
i
i=1
a
i
che danno una misura della distanza fra la funzione incognita f (x) e
l'approssimante g(x). A seconda dei campi d'applicazione e meglio utilizzare
un criterio piuttosto che un altro
L'interpolazione polinomiale e utile quando si hanno pochi dati (n piccolo)
per cui si ottiene un polinomio di grado basso. La regolarita del polinomio
interpolante e utile poi nella deduzione di formule approssimate per il calcolo
integrale e per l'intergrazione di equazione di erenziali (cfr. capitoli 5 e 6).
L'interpolazione mediante spline e utile nelle applicazioni di gra ca (CAD)
(non a caso il termine "spline" indica in inglese il "curvilineo mobile" del
disegno tecnico).
I minimi quadrati sono utilizzati nei problemi di identi cazione di parametri e modelli, quando si hanno a disposizione piu dati ma a etti da errori
(di misura casuali ecc.).
Il criterio del minimo massimo errore e essenziale quando si deve garantire
una certa accuratezza (routine di calcolo delle funzioni elementari).
Contrariamente a quanto avviene in Rn nel caso dell'approssimazione
di funzioni le norme non sono piu equivalenti come mostrato dal seguente
esempio
81
Esempio 4.0.1 Data la funzione f (x) identicamente nulla in 0 3] consideriamo la successione di funzioni gk (x) (cfr. gura 4.1) cosi de nite
8
< k(k2x ; 1) k212 x k232
gk (x) = : ;k(k2 x ; 3) k2 x k2 :
altrove
g(x)
k
g(x)
k
1/k 2
2/k 2
3/k 2
Figura 4.1:
Considerando le tre classiche de nizioni di norma di funzioni, si ha:
kf ; gk k1 = k1
q
kf ; gk k2 = 23
kf ; gk k = k
1
kf ; gk1 =
Zb
a
Zb
= jf ( ) ; g( )j dx
a
max
jf (x) ; g(x)j (b ; a)
x
C kf (x) ; g(x)k
1
De nito con
teoremi
"
kf ; pk < ":
1
Osservazione 4.0.2 Il teorema di Weierstrass a erma l'esistenza del polinomio p(x) di grado N" ma non dice come il grado N" dipenda da ":
83
si ha
n
Y
i=0
(x ; xi)
(x) :
lj (x) = (x ; xn+1
) (x )
j
n+1 j
0
g(x) pn(x) =
n
X
i=0
yili (x)
yi = pn(xi ):
Se i nodi xi sono distinti vale il seguente
Teorema 4.1.1 (unicita) Se i nodi xi i = 0 1 ::: n sono distinti il polinomio pn(x) 2 n interpolante e unico.
de niamo
qn (x) 6= pn(x)
si avra
qn(xi) = pn(xi) = yi
tale
i = 0 1 ::: n
qn (x) = pn(x):
pn(x) = a0 + a1 x + a2x2 +
+ an 1xn 1 + anxn
;
8
a1 x0 + a2 x20 +
>
>
< aa0+
2
0+ a1 x1 + a2 x1 +
>
>
:
2
a0+ a1 xn + a2 xn+
+anxn0 = y0
+anxn1 = y1
=
n
+anxn = yn
(4.1)
Va = y
dove
2
1
66 1
V = 64 ..
.
x0
xn0
x1
xn1 77
... ... ... 75
1 xn
xnn
e la matrice di Vandermonde (che e noto essere non singolare quando xi 6= xj
per i 6= j ).
85
1)(x ; 2)
l1 (x) = ((0x ;
; 1)(0 ; 2)
e quindi
xi 0 1 2
yi ;1 2 7
0)(x ; 2)
l2 (x) = ((1x ;
; 0)(1 ; 2)
0)(x ; 1)
l3 (x) = ((2x ;
; 0)(2 ; 1)
2
2
2
p2 (x) = ;1 x ; 32x + 2 + 2 x ;;12x + 7 x 2; x = x2 + 2x ; 1:
E' possibile valutare, sotto opportune ipotesi di regolarita della funzione f (x),
l'errore che si commette sostituendo per ogni x il polinomio interpolante alla
funzione f (x) stessa, vale infatti il seguente
n+1 (x) =
Qn (x ;
i=0
n+1 (x):
(4.2)
i=0
87
y2 y1
y1 y0
x2 x1 ; x1 x0 :
x2 ; x0
;
i+k
j =0
89
4.1.6 Spline
De nizione 4.1.1 Dati i nodi x0 x1 ::: xn 2 a b] si de nisce spline interpolante di grado k una funzione Sk (x) che gode delle seguenti proprieta
1. Sk (x) 2 C k 1 a b] (regolarita)
2. Sk (xj ) = f (xj ) j = 0 1 2::: n (interpolazione)
;
Spline lineari
E' l'equazione della "spezzata" (funzione solo continua) passante per gli n +1
punti dati. E' immediata la dimostrazione dell'esistenza ed unicita la costruzione puo essere e ettuata banalmente utilizzando la tecnica di Lagrange
(retta per due punti!).
Consideriamo
8
0
x xj 1
>
>
< xx xxj;1 xj 1 x xj
S1j (x) = > xjj+1 j;x1 x x x
>
: xj+10 xj j x xj+1j+1
il cui gra co e dato in gura 4.2
;
S(x)
1
S(x)
0
x1
S(x)
S(x)
S(x)
x j+2
x n-1
j+1
x j-1
xj
x j+1
Figura 4.2:
si puo allora rappresentare S1(x) nella forma
S1(x) =
n
X
j =0
xn
91
3. in ogni intervallo xj xj+1] ci sono solo due S1j (x) diverse da zero
4. la generica S1j (x) e diversa da zero solo in (xj
ri).
8x 2 a b]:
(4.6)
(2)
f (x) ; S1(x) = (x ; xj )(x ; xj+1) f 2!( )
= (x) 2 xj xj+1] per cui
jf (x) ; S1(x)j
h2j
f (2) (x)
x
4 max
2!
e, posto h = max
h allora
j j
2
jf (x) ; S1(x)j h8 f (2) (x) :
1
Spline cubiche
Per k = 3 si hanno le spline cubiche che possono essere costruite partendo dall'interpolazione d'Hermite nel modo seguente. Dati gli n + 1 nodi
x0 x1 ::: xn (presi equidistanti, per sempli care la notazione), si ha
1. S3i(x) 2 3 (forma)
2. S3i(xi 1 ) = yi 1
i = 1 2 ::: n
3. S3i(xi ) = yi (interpolazione)
i = 1 2 ::: n ; 1
4. S3i(xi ) = S3i+1(xi )
00
00
5. S3i(xi ) = S3i+1(xi ) (regolarita)
Posto
f (xi) = mi
h = xi ; xi 1
dove i valori mi NON sono noti, ma verranno determinati per costruire la
spline, si ha, per l'interpolazione d'Hermite:
2
S3i(x) = 1 + h2 (x ; xi 1 ) x ;;hxi yi 1 +
(4.7)
2
x
;
x
2
i 1
yi +
+ 1 ; h (x ; xi )
h
2
2
+(x ; xi 1) x ;;hxi mi 1 + (x ; xi ) x ;hxi 1 mi
dalle (4.7) segue che le S3i(x) veri cano le prime 4 condizioni date, per la
quinta condizione, essendo
S300i(xi 1 ) = h22 3(yi ; yi 1) ; h(mi + 2mi 1)]
S300i(xi ) = h22 3(yi 1 ; yi) + h(2mi + mi 1 )]
si ottiene il sistema lineare, di ordine n + 1 :
;
8
>
2m0 +m1
>
>
m +4m +m
>
>
< 0 +m11 +4m22 +m3
...
...
...
>
>
>
>
+mn 2 +4mn 1 +mn
>
>
:
+mn 1 +2mn
;
= h3 (y1 ; y0)
= h3 (y2 ; y0)
= h3 (y3 ; y1)
(4.8)
...
= h3 (yn ; yn 2)
= h3 (yn ; yn 1)
;
;
93
Z bh
a
i2
S3 (x) dx <
00
Z bh
a
i2
f 00 (x) dx:
Il teorema 4.1.4 puo essere parafrasato dicendo che la spline cubica naturale passa per tutti i punti ssati "oscillando" il meno possibile.
Per quanto riguarda l'errore e possibile dimostrare i seguenti risultati
kf (x) ; S3(x)k
2 h2 f (2) (x)
3
cr h4
f (4) (x)
f (xi+1 ) ; f (xi 1)
2h
si commente un errore di arrotondamento dell'ordine di h che e sempre
maggiore al diminuire di h: Piu precisamente posto M = max f (3) ( ) si
ha
2
E (h) = f (xi) ; f (xi+1) 2;h f (xi 1 ) ' h + M h6
(4.9)
;
3 :
h=h = 3 M
(4.10)
Il valore h prende il nome di h-ottimo in quanto minimizza l'errore totale
dato dalla (4.9). Dalla (4.10) si vede bene che se e grande (errori grandi sui
dati) anche h deve essere preso grande (punti "distanti") per ridurre l'e etto
dell'errore d'arrotondamento (anche se l'errore di troncamento crescera!).
95
pm (x) =
e cerchiamo gli m + 1 valori
J( ) =
n
X
i=1
m
X
jx
j =0
m<n
che minimizzano
n
X
i=1
"
f (xi) ;
m
X
j =0
j
j xi
#2
(4.12)
("
f (xi) ;
m
X
j =0
j
j xi
# )
xki = 0 k = 0 1 ::: m
8n
0
>
>
Px
>
>
0
i
>
>
i
>
>
> 0 P x2
<
i
i
...
>
>
>
>
P
>
m
>
0 xi
>
>
i
>
: 0 P xmi
P xm = P y
i
i
Pi xm+1 = Pi y x1
m
i i
i
i
i
. . . + P xm+2 = P y x2
m
i i
i
+ 1 xi
Pi
+ 1 x2i
+
+
i
P
+ 1 x3i
i
..
P.
...
+ 1 xmi
Pi
+ 1 xmi +1
i
+
+
..
P.
x2i m
Pi
m x2i m
: (4.13)
...
P
= yixmi
Pi
= yixmi
2
1 x1 x21
xm1
66 1 x2 x22
xm2
...
...
...
V = 666 ... ...
4 1 xn 1 x2n 1
xmn 1
;
1 xn
ed i vettori
xmn
x2n
2
3
0
66 1 77
= 666 ... 777
4 m15
3
77
77
75
(4.14)
2
3
y1
66 y2 77
y = 666 ... 777
4 yn 1 5
yn
V TV = V Ty
(si confronti il paragrafo 2.5 sui sistemi sovradeterminati).
j =0 j
97
J (aj bj ) =
=
n
X
f (xi) ; Fm (xi)]2 =
i=1
n "
X
m
m
X
a
0 X
f (xi) ; 2 + aj cos(jx) + bj sin(jx)
j =0
j =0
i=1
!#2
2
1 cos(x )
66 1 cos(x21 )
...
F = 666 ...
4 1 cos(xn 1 )
;
1 cos(xn )
cos(mx1 )
cos(mx2 )
...
cos(mxn 1 )
cos(mxn)
;
2 a0
66 a21
66 ...
c = 666 am
66 b1
4 ...
bm
3
77
77
77
77
75
sin(x1 )
sin(x2 )
...
sin(xn 1 )
sin(xn)
2
66
66
y = 66
64
y1
y2
y3
...
yn 1
yn
;
3
77
77
77 :
75
sin(mx1 )
sin(mx2 )
...
sin(mxn 1)
sin(mxn)
;
3
77
77
75
4.3 Riepilogo
Sintetizzando quanto visto nel presente capitolo possiamo dire che
1. L'interpolazione polinomiale di Lagrange e utile quando si hanno pochi
punti d'interpolazione.
2. Le di erenze divise sono piu e cienti computazionalmente quando si
devono aggiungere dei nodi (si salvano i calcoli gia fatti).
3. L'nterpolazione d'Hermite e utile quando si hanno informazioni anche
sulle derivate della funzione.
4. Le spline sono preferibili quando si devono ricostruire linee "lisce"
(computer graphics, CAD ecc..) sono molto accurate se la funzione
d'approssimare e regolare.
5. La derivazione numerica e pericolosa in quanto gli errori d'arrotondamento crescono al tendere a zero della distanza fra i nodi.
6. I minimi quadrati sono utili per individuare "modelli" quando i dati
sono a etti da errore. La scelta delle funzioni di base dipendono dal
modello, mentre i coe cienti lo caratterizzano.
4.3. RIEPILOGO
99
7. L'utilizzo dell'approssimazione mediante polinomi di Fourier, indipendentemente dalle innumerevoli applicazioni pratiche, e anche computazionalmete poco oneroso grazie alle peculiarita delle funzioni di base e
all'algoritmo FFT.
4.3.1 Esercizi
Esercizio 4.3.2 Sapendo che un certo fenomeno si evolve nel tempo con la
seguente legge
f (t) = at + b log t
t
2
2:5 3:5
4
f (t) 12:54 16:08 22:27 25:09 :
Esercizio 4.3.3 Dati tre punti nel piano, non allineati, costruire la cubica
passante per il primo ed il terzo ed ivi tangente alle 2 rette uscenti dal secondo
punto. E' unica ? Perche ?
Capitolo 5
Formule di Quadratura
(M.Frontini)
Data una funzione f (x) continua nell'intervallo a b] dovendo calcolare
I (f ) =
f (x)dx
(5.1)
e ben noto (teorema fondamentale del calcolo integrale) che esiste F (x) 2
C 1 a b] funzione primitiva di f (x) (F (x) f (x)) ed inoltre
0
I (f ) = F (b) ; F (a):
(5.2)
I (f ) = Qn(f ) + R(Qn f ) =
n
X
101
j =0
(5.3)
102
dove gli n pesi A(jn) e gli n nodi xj 2 a b] della formula di quadratura Qn(f )
sono scelti in modo che il resto R(Qn f ) sia "piccolo" (in dipendenza della
regolarita di f (x) e dal numero di nodi n).
Zb
a
f (x)dx =
essendo
Zb
a
pn(x) =
pn(x)dx +
n
X
j =0
Zb
a
(5.4)
en(x)dx
Qn (f ) =
dove
n
X
j =0
f (xj )
A(jn)
Zb
a
lj (x)dx =
n
X
j =0
A(jn) f (xj )
lj (x)dx
(5.5)
R(Qn f ) =
en(x)dx
Osservazione 5.1.1 Dalla (5.5) e immediato osservare che i pesi dipendono dai nodi d'interpolazione (zeri della formula di quadratura) ed inoltre la
formula sara esatta se la f (x) e un polinomio di grado al piu n.
103
De nizione 5.1.1 Una formula del tipo (5.3) si dice di ordine n se e esatta
per polinomi di grado al piu n:
I (xk ) =
Zb
a
xk dx =
n
1 (bk+1 ; ak+1 ) = X
(n) k
k
A
x
=
Q
n (x )
j
j
k+1
j =0
(5.6)
Q1 (f ) = h2 f (x0) + f (x1 )] :
(5.7)
104
Z h x(x ; h)
Z h x(x ; h) 00
00
R(Q1 f ) =
2 f ( )dx = f ( ) 0
2 dx =
0
3 hx2 h 00
3 00
x
h
= 6 ; 4 f ( ) = ; 12 f ( )
0
105
I (f ) =
f (x)dx
Qn(f ) =
n
X
j =0
Aj f (tj ) '
Z +1
1
f (t)dt:
(5.10)
106
1.4
1.2
Uguale Area
Punto medio
1
0.8
Uguale Area
0.6
0.4
0.2
0
0
0.2
0.4
0.6
0.8
1.2
Figura 5.1:
Come e possibile ottenere la formula
Qn(f ) =
n
X
j =0
Aj f (xj ) '
Zb
a
f (x)dx
(5.11)
(5.12)
107
Le stime dell'errore fornite sono state ottenute considerando, ssato l'intervallo d'integrazione ed il numero di nodi, il polinomio interpolante globale.
Se e vero che, al crescere del numero dei nodi, cresce l'ordine della derivata
della f (x) che compare nella formula dell'errore (maggiore ordine d'accuratezza ), e altresi vero che si ha anche una potenza crescente dell'intervallo
d'integrazione (che e pero ssato, quindi costante ). Come nell'interpolazione
si e passati, per motivi di convergenza, dal polinomio interpolante globale ai
polinomi a tratti (spline) cosi ora converra suddividere l'intervallo d'integrazione a b] (additivita dell'integrale) in tanti sotto intervalli di ampiezza h
ed applicare, su ogni sotto intervallo, la formula prescelta (convergenza per
h ! 0). E' l'applicazione del vecchio principio di Cesare Augusto "divide et
impera ".
Si ottengono cosi le formule composite (o generalizzate), di cui proveremo
la convergenza nel caso dei trapezi. Consideriamo
I (f ) =
dove
b
a
f (x)dx
additivita
m
X1 Z xk+1
;
k=0 xk
f (x)dx =
a
x0 = a xm = b h = b ;
m
m
X1
;
k=0
Ik (f )
108
e
Z x +1
k
xk
f (x)dx '
n
X
j =0
Aj f (xj ) = Qn(f Ik )
m
X1
h
f (xk ) + f (xk+1)] :
T m (f ) = 2
k=0
;
ET = I (f ) ; Tm (f ) = ;
m
X1 h3
;
f ( k)
k=0 12
00
(5.13)
ET = ;f ( )
00
m
X1 h3
3
2
= ;m h f 00 ( ) = ;(b ; a) h f 00 ( ):
12
12
k=0 12
;
(5.14)
Per ottenere dalla (5.13) la (5.14), abbiamo fatto uso del seguente
Lemma 5.1.1 Data una funzione g(x) 2 C 0 a b] e dei coe cienti di segno
costante ak allora esiste un 2 a b] tale per cui, 8xk 2 a b] si ha
m
m
X1
X1
;
k=0
ak g(xk ) = g( )
k=0
ak :2
Osservazione 5.1.4 Si osservi che l'errore nella formula dei trapezi com-
109
xk+2
xk
h5 f iv ( )
f (x)dx = h3 f (xk ) + 4f (xk+1) + f (xk+2)] ; 90
k
si ha
Sm (f ) =
dove
m
X1
h f (x ) + 4f (x ) + f (x )]
2k
2k+1
2k+2
k=0 3
;
x0 = a xm+1 = b h = b2;ma
per cui, sempre in virtu del Lemma 5.1.1,
ES = I (f ) ; Sm (f ) = ;
m
X1 h5
;
k=0
4
iv ( ) = ;(b ; a) h f iv ( ):
f
k
90
180
(5.15)
110
Zb
1 b ; a 5 f iv ( )
f (x)dx ; S1 (f ) = ; 90
2
a
mentre, dividendo in due parti l'intervallo, si ha
(5.16)
5
b
;
a
1
f iv ( )
(5.17)
f (x)dx ; S2(f ) = ;2 90 4
a
dove e, in generale, diverso da : Supponendo, e questa e una condizione
forte se a b] e grande, mentre e "ragionevole", se f (x) e abbastanza regolare
e a b] e "piccolo", che
I (f ) =
si ottiene, dalle (5.16,5.17), che
per cui
Zb
a
f (x)dx
1 (I (f ) ; S (f ))
I (f ) ; S2 (f ) ' 16
1
111
e quindi
; S1 (f ) :
(5.18)
I (f ) ; S2(f ) ' S2(f ) 15
Nella (5.18) l'errore commesso intregrando con la formula di Simpson su
2 sotto intervalli e controllato dalla quantita a secondo membro che, essendo
legata alla di erenza fra due integrazioni numeriche, e computabile.
Osservazione 5.2.1 Volendo essere pessimisti, e quindi salvaguardarsi nella stima dell'errore, la costante
tuita da 21 :
1
15
112
1
Punto medio
0.9
0.8
f(x)
Trapezi
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.2
0.4
0.6
0.8
1.2
Figura 5.2:
IT (f ) I (f ) IMP (f )
dove con IT (f ) si e indicato il valore ottenuto con la formula dei trapezi e
con IMP (f ) quello ottenuto con la formula del punto medio.
Utilizzando le formule composite, suddividendo l'intervallo a b] in sotto
intervalli di ampiezza h si ha, con ovvio signi cato dei simboli,
h (f )
ITh (f ) I (f ) IMP
da cui
ed inoltre
h (f ) ; I h (f )
0 = ITh (f ) ; ITh (f ) I (f ) ; ITh (f ) IMP
T
h ; I h (f )
; IMP
T
h (f ) I h (f ) ; I h (f ) = 0
I (f ) ; IMP
MP
MP
per cui
h (f )
2I (f ) ; ITh (f ) + IMP
h (f ) ; I h (f )
IMP
T
h (f ) ; I h (f )
IMP
T
2
dove la quantita a secondo membro e computabile.
I (f ) ; IT (f ) +2IMP (f )
h
113
Teorema 5.3.1 Il sistema non lineare (5.6) dove i nodi xj sono incogniti,
con a b] ;1 1] ammette una ed una sola soluzione ed inoltre nella Q2n(f )
1. i pesi A(jn) sono positivi
2. i nodi xj sono gli zeri del polinomio ortogonale di Legendre di grado n
(Ln(x))
3. tale formula di quadratura gaussiana e esatta per ogni polinomio di
grado minore o uguale a 2n + 1.
n
Y
j =0
(x ; xj )2
Z1
2n (x)dx =
Z 1Y
n
1 j =0
(x ; xj )2dx > 0
114
allora
j =0
Aj f (xj )
A(jn) < k
8n
lim Qn(f ) = I (f ):
!1
b
a
pi(x)pj (x)!(x)dx = ci
ij
ci > 0:
;1 1]
115
Vale il seguente
I (f ) =
b
a
f (x)!(x)dx
(5.20)
Q2n (f ) =
dove
A(jn)
Z
a
n
X
j =0
b
A(jn) f (xj )
(5.21)
lj2(x)!(x)dx
(5.20) comprende anche la funzione peso !(x) nella (5.21) compare solo la
f (x) valutata nei nodi. Questo ci permette di rimuovere eventuali singolarita
nella funzione integranda, scaricandole sulla funzione peso ! (x):
Per concludere il capitolo faremo solo un breve cenno al problema del calcolo
degli integrali della forma
I1 (f ) =
Z+
0
Z 1 f (x)
px dx
f (x)dx I2(f ) =
0
(integrali impropri ) dove f (x) e g(x) = f (xx) sono funzioni integrabili rispettivamente in R e in 0 1]: Vedremo che in questi casi si possono ancora utilizzare
le formule di Newton-Cotes (eventualmente aperte), anche se le formule di
Gauss risultano in generale piu e cienti.
p
116
Per calcolare l'integrale I1 con pre ssata precisone ("), si puo operare,
sfruttando l'additivita dell'integrale, nel modo seguente, si pone
I1 (f ) =
Z+
0
f (x)dx =
Za
0
f (x)dx +
Z+
f (x)dx
f (x)dx = Ia (f ) + I (f )
1
"1
(tale a deve esistere per l'integrabilita di f (x)) e si calcola Ia(f ) con una
opportuna formula di Newton-Cotes Qn (f ) in modo che
117
5.4.1 Esercizi
Esercizio 5.4.4 Veri care che la formula del punto medio e gaussiana (GaussLegendre con n = 1).
seguenti integrali
I1 =
1
0
x2 +1 dx
I2 =
Z 1e
0
x2 +1
x dx
I3 =
cos x dx:
x5 + 3
118
Capitolo 6
Equazioni di erenziali ordinarie
(M.Frontini)
Molti problemi della sica, dell'ingegneria e delle discipline scienti che in
generale sono governati da equazioni di erenziali ordinarie come esempio si
pensi alle equazioni
m x:: = f
di + v = V
Ri + L dt
c
s
y = f (x y)
y(a) = y0
0
(6.1)
Teorema 6.0.1 Se la funzione f (x y) del problema (6.1) e de nita e continua in a x b per ogni y ed inoltre veri ca la condizione (di Lipschitz)
jf (x u) ; f (x v)j L ju ; vj
a x b 8u v ed L = costante,
Corollario 6.0.1 Condizione su ciente per l'esistenza ed unicita della soluzione di (6.1) e che esista la derivata parziale di f rispetto ad y ed inoltre,
di erenziale
y =y
0
y(x) = cex
c 2 R:
121
Se si considera il corrispondente problema di Cauchy con la condizione
iniziale
y(0) = 1
si ottiene l'unica soluzione
y(x) = ex:
Il problema e ben posto, infatti, se si considera il problema perturbato
y =y
y(0) = 1 +
si ottiene la soluzione
y(x) = (1 + ) ex
che, per piccoli, poco si discosta, dalla soluzione y (x) = ex (si valuti l'errore
relativo):
Per trattare equazioni di erenziali di ordine superiore al primo, ricordiamo che un'equazione di ordine m
y(m) = f (x y y y ::: y(m 1))
puo essere scritta sotto forma di sistema di m equazioni del primo ordine
8
>
z1(x) = z2 (x)
>
>
< z. 2(x) = z3 (x)
..
>
>
>
: zzmm(x1 ()x=) =f (zxmz(x1 )z2 ::: zm )
dove si e posto
z1 (x) = y(x) z2 (x) = y (x) z3 (x) = y (x) ::: zm (x) = y(m 1) (x)
per cui, date le opportune condizioni iniziali, siamo ricondotti ad un problema
di Cauchy
z = f (x z)
z(a) = z0
formalmente equivalente al sistema (6.1).
Fatte salve le ipotesi dei teoremi precedenti, ci proponiamo ora di fornire
metodi numerici che, partendo dal valore iniziale dato nel problema (6.1),
forniscano la soluzione in pre ssati punti xi di un dato intervallo a b].
0
00
0
0
00
y = f (x y)
(6.2)
y(x0) = y0
supposta y(x) "su cientemente regolare" si ha
k
2
h
h
y(x0 + h) = y(x1) = y(x0) + hy (x0 ) + 2 y (x0 ) + ::: + k! y(k)( ) (6.3)
2 x0 x1] h = x1 ; x0 :
Arrestandoci, nella (6.3), alla derivata prima, tenuto conto della (6.2), si
ha
y(x1) ' y(x0) + hy (x0 ) = y(x0) + hf (x0 y0)
(6.4)
che, dopo n passi, fornisce
yn+1 = yn + hf (xn yn):
(6.5)
La (6.5) prende il nome di metodo di Eulero in questo caso (xn yn h)
f (xn yn).
0
00
123
Ee = y(x1) ; y1 = h2 y ( ):
2
00
geometrica (cfr. la gura 6.1): il valore assunto dalla soluzione nel punto x1
(y(x1)) e approssimato con il valore (y1 ) assunto, nello stesso punto, dalla
retta tangente la linea integrale y(x) nel punto x0 .
8
7
6
y(X1)
5
4
Errore
y(x)
3
y1
2
Eulero
1
0
1
1
>
0
0.5
X0
0
X1
0.5
1.5
Figura 6.1:
Il metodo di Eulero e esatto (errore di troncamento nullo) se la soluzione
y(x) del problema (6.2) e una retta diremo quindi che il metodo di Eulero e
un metodo del primo ordine.
Volendo ottenere un metodo d'ordine superiore (maggiore accuratezza)
sara necessario introdurre un altro termine dello sviluppo (6.3) contenente
y (x0 ). Dal problema (6.2) e facile ricavare tale termine osservando che
00
d (y (x)) = d (f (x y(x))) =
y (x) = dx
dx
= fx(x y(x)) + fy (x y(x))y (x) =
= fx(x y(x)) + fy (x y(x))f (x y(x)):
00
(xn yn h) = Tk (xn yn h)
dove
k 1
Tk (xn yn h) = f (xn yn) + h2 y (xn) + ::: + hk! y(k)(xn )
;
00
Osservazione 6.1.2 Nei metodi di Taylor (Eulero escluso) si ha l'inconveniente che devono essere calcolate preventivamente le derivate y(j )(x) derivando "simbolicamente" l'equazione y (x) = f (x y): Questo puo portare,
per k elevati, ad espressioni di Tk (xn yn h) molto complesse anche quando
f (x y) e semplice, rendendo il metodo poco e ciente benche accurato.
0
Prima di procedere nella determinazione di altri metodi e opportuno soffermarci sulla seguente domanda: cosa vuole dire risolvere un problema di
Cauchy? Se la variabile indipendente x rappresenta il tempo possiamo dire
che risolvere un problema di Cauchy vuole dire, essere in grado di prevedere
l'evolvere nel tempo di un fenomeno (rappresentato dalla y(x)) che all'istante a = x0 si trovava nella con gurazione y0: Sara quindi cruciale riuscire ad
ottenere, con il metodo numerico scelto, una buona stima della soluzione del
problema, non solo vicino, ma anche "lontano" dalla condizione iniziale.
125
la soluzione y(xn+1) (soluzione "vera" del problema nel punto xn+1 ) e yn+1
(soluzione "calcolata" dopo n + 1 passi). Con ovvio signi cato dei simboli
abbiamo
en+1 = y(xn+1) ; yn+1:
soluzione y(xn+1) (soluzione "vera" del problema nel punto xn+1 ) e un+1 (soluzione "calcolata" partendo dalla condizione y (xn) eseguendo un solo passo
d'integrazione). Per cui
n+1
dove
= y(xn+1) ; un+1
(6.6)
= nh+1 :
Osservazione 6.1.3 E' facile veri care l'equivalenza fra la (6.7) e il fatto
che
h
n+1
dalla (6.6) si ha
h
n+1
= O(h)
(6.8)
si ha
nh=x
!
127
y(x)
Errore
y(x
Stabilita
)-y
= y(x
n+1 n+1
)-u(x
n+1
Consistenza
)+u(x
n+1
)-y
n+1 n+1
y(x n+1
)
u(x n+1
)
u(x)
y(x)
y n+1
Figura 6.2:
00
00
00
je1 j
je2 j
jen+1j
(1 + hL) je0j + h2 jy ( )j
2
(6.9)
00
2
2
(1 + hL)2 je0 j + (1 + hL) h2 jy ( )j + h2 jy ( )j
00
(1 + hL)n+1 je0 j +
n
X
j =0
00
(1 + hL)j h2 jy ( )j :
2
00
Supposto e0 = 0 (errore su condizione iniziale nullo), moltiplicando e dividendo l'ultima delle (6.9) per (1 + hL) ; 1] si ottiene
n+1
2
jen+1 j (1 + hLhL) ; 1 h2 jy ( )j
00
(n+1)hL
2
(n+1)hL
jen+1j e hL ; 1 h2 jy ( )j e 2L ; 1 jy ( )j h = Ch
00
00
(6.10)
Il risultato appena dimostrato per il metodo di Eulero puo essere generalizzato a tutti i metodi ad un passo in virtu del seguente
lim T (x
h 0 k
!
y h) = f (x y)
129
Nella deduzione della (6.10) abbiamo trascurato gli errori d'arrotondamento che si commettono ad ogni singolo passo. Volendo tener conto anche
di questi si avrebbe, detto l'errore d'arrotondamento,
e(n+1)hL ; 1 h2 jy ( )j +
hL
2
; (n+1)hL
h jy ( )j +
;1
2L
hL e
jen+1 j
00
(6.11)
00
per cui, mentre l'errore di discretizzazione va a zero con h l'errore d'arrotondamento cresce come h 1: Nasce quindi, come nel caso della derivazione
numerica, la necessita di scegliere, ssata la precisione di macchina un h
ottimo. Derivando rispetto ad h il secondo membro della (6.11), ignorando
le costanti, ed uguagliando a zero, si ha
;
d h jy ( )j + = 1 jy ( )j + = 0
dh 2
h
2
h2
00
00
00
hott ' y2 = c 21 :
M
00
(6.12)
K1 = f (xn yn)
K2 = f (xn + h yn + hK1 )
con 0
1 sono approssimazioni dei valori di y (x) nei punti xn e xn + h
ottenute mediante f (xn yn) e f (xn + h yn + hK1 ) rispettivamente. Il
metodo diviene quindi
0
131
y(x)
y(x+h)
u(x)
y(x)
yh
)
k 2 =f(x+ h,y+ hk 1
a1 k 1 +a 2 k 2
k 1 =f(x,y)
x+ h
x+h
Figura 6.3:
mentre per y(xn) si ha
8
< a1 = 0
: a2 == 11
2
(6.15)
8
< a1 = 121
: a2 == 12
2. metodo di Heun
che e della forma
f(xn ,y n)
y n+1
y(x)
media
x n +h
xn
Figura 6.4:
sistenza del metodo, per cui, sotto le consuete ipotesi di esistenza ed unicita,
tutti i metodi ricavati dalla (6.15) risultano convergenti.
Quanto visto per due stadi puo essere esteso (non con facili conti!) al
caso generale di r stadi, per cui otteniamo
(xn yn h) =
r
X
i=1
ai Ki(x y h)
133
dove
K1 = f (xn yn)
Ki = f (xn + ih yn + h
i 1
X
;
j =1
(6.16)
ij Kj )
i = 2 3 ::: r
che prendono il nome di metodi Runge-Kutta a r stadi espliciti, dove l'aggettivo esplicito evidenzia il fatto che ogni Ki dipende solo dai Kj precedenti.
Nella (6.16) i parametri ai i e ij verranno scelti in modo d'ottenere un
metodo il piu accurato possibile.
Per i metodi espliciti, detto p l'ordine del metodo ed r il numero di stadi,
vale la seguente regola: "al crescere del numero degli stadi non si guadagna
sempre parimenti in accuratezza", si ha infatti che
- esistono metodi con p = r solo per r = 1 2 3 4
- per r = 5 6 7 si hanno solo metodi di ordine p = r ; 1
- per r = 8 9 si hanno solo metodi di ordine p = r ; 2
- per r 10 l'ordine e p < r ; 2:
Per concludere ricordiamo il classico metodo di Runge-Kutta del quarto
ordine a quattro stadi
(xn yn h) = 1 K1 + 2K2 + 2K3 + K4]
6
dove
K1 = f (xn yn)
K2 = f (xn + h2 yn + h2 K1)
K3 = f (xn + h2 yn + h2 K2)
K4 = f (xn + h yn + hK3 ):
Se nella (6.16) l'indice j della sommatoria puo andare no ad r (ogni
Ki dipende da tutti gli altri) si hanno i metodi di Runge-Kutta impliciti,
se l'indice j della sommatoria puo andare no ad i (ogni Ki dipende dai
precedenti Kj e da se stesso) si hanno i metodi di Runge-Kutta semi-impliciti,
per i quali si rimanda alla letteratura speci ca.
Quanto visto per un'equazione del primo ordine puo essere facilmente esteso
sia a sistemi del primo ordine che ad equazioni di grado superiore al primo,
come di seguito illustrato per un'equazione del secondo ordine.
Dato il seguente problema del secondo ordine
8
< y = f (x y y )
: yy((aa)) ==
00
y =z
y(a) =
con
z = f (x y z)
z(a) =
ed i metodi precedenti possono essere generalizzati al nuovo sistema utilizzando, con ovvio signi cato dei simboli, la seguente notazione vettoriale
0
u = f (x u)
0
ove
u = yz
con le condizioni
u = yz
u(a) =
ove
f = f (x zy z)
=
yn+1 = yn + h (xn yn h)
si potra scrivere, per il sistema precedente
135
y = x2 y + y2y
000
00
8
< y = u1
: yy == uu23
0
00
8
< u1 = u2
u3
:
: uu2 =
2
2
= x u3 + u u2
0
0
0
Come si puo osservare dall'attenta lettura del listato del programma, per
trattare, con il metodo di Heun, altri sistemi di erenziali basta modi care
opportunamente solo la function uprim.
jy(xn+1)j C jy(xn)j
C<1
8n:
Per studiare la stabilita numerica considereremo (per semplicita d'esposizione) l'equazione test
y= y
Re( )<0
(6.17)
y(0) = y0
che ammette come soluzione
y(x) = y0e x
(6.18)
che, essendo Re( ) < 0 e inerentemente stabile.
Se consideriamo il metodo di Eulero, otteniamo la soluzione
yn+1 = yn + h yn = (1 + h ) yn
e quindi
yn+1 = (1 + h )n+1 y0:
(6.19)
La soluzione (6.19) si comporta, per n ! 1 come la soluzione (6.18) se
e solo se
j1 + h j < 1:
(6.20)
0
137
yn+p = ;
= ;
p 1
X
;
j =0
p 1
X
;
j =0
j yn+j + h
j yn+j + h
p
X
j =0
p
X
j =0
j yn+j
0
(6.21)
j f (xn+j yn+j )
x0
yn+1
yn
+ ; ; ;; +
y(x k)
y(x)
;
yn
; ; ;; y(x+++2k)
(6.25)
x0 h
;
139
+n ; ; ;; n++1 ; ; ;; n++2
8
< 1 = ; ( 0 + 1) + h 0
; ( 0 (;h) + 1 0) + h ( 0 + 1 + 2)
:
: hh2 =
= ; ( 0 h2 + 1 0) + h (;2h 0 + 1 0 + 2h 2 )
8
< 1= ; 0; 1
0+ 0+
: 11 =
= ; 0;2 0
yn+2 = yn + 2hyn+1
0
y = 3x2
y(;h) = ;h3 :
0
dove
gn = ;
p 1
X
;
j =0
j yn+j + h
p 1
X
;
j =0
(6.27)
j f (xn+j yn+j )
L<1
(6.29)
j =0
141
dine r integra esattamente (a meno degli errori di arrotondamento) un qualunque problema di Cauchy la cui soluzione e un polinomio di grado minore
od ugual ad r questo non e piu vero, in generale, se si usa un metodo di
Runge-Kutta di ordine r: (Si veda l'esercizio 6.3.1).
y n+ p = ;
p 1
X
;
j yn+j
j =0
(6.30)
ym =
p 1
X
;
j (rj )
j =0
j =0
=0
yn+p = yn+p 1 + h
;
yn+p = yn+p 1 + h
;
p 1
X
;
j =0
p
X
j =0
j yn+j
(Adams ; Bashforth)
j yn+j
(Adams ; Moulton)
dove i coe cienti j dipendono dalla particolare formula di quadratura utilizzata per approssimare, nell'identita
yn+p = yn+p 1 +
;
Zx+
n p
xn+p;1
y (x)dx
0
143
Questi metodi fanno tutti parte della famiglia dei metodi LMM con la
caratteristica di essere sicuramente zero stabili in quanto il loro polinomio
caratteristico, essendo p 1 = ;1 e j = 0 per j = 0 1 ::: p ; 2, e
;
p; p 1
;
=0
e quindi ha radici tutte nulle tranne una uguale ad 1 (root condition veri cata).
Fra i metodi di Adams ricordiamo:
1. Adams-Bashforth
(a) yn+1 = yn + hf (xn yn) metodo di Eulero (p = 1 ! ordine 1)
(b) yn+2 = yn+1 + h2 3f (xn+1 yn+1) ; f (xn yn)] (p = 2 ! ordine 2).
2. Adams-Moulton
(a) yn+1 = yn + h2 f (xn+1 yn+1) + f (xn yn)] metodo dei Trapezi (p =
1 ! ordine 2)
(b) yn+2 = yn+1+ 12h 5f (xn+2 yn+2) + 8f (xn+1 yn+1) ; f (xn yn)] (p =
2 ! ordine 3)
Per i metodi LMM oltre che di stabilita assoluta (come per i metodi ad un
passo) si puo parlare anche di stabilita relativa, in quanto, anche quando
la soluzione e inerentemente instabile non e garantito che 8h la soluzione
numerica, che dipende da tutte le radici del polinomio caratteristico, "segua"
bene la soluzione analitica. Analizzeremo brevemente questi concetti su due
classici metodi, il metodo dei trapezi ed il metodo del punto medio.
Stabilita assoluta
Come per i metodi ad un passo ci proponiamo di studiare, ssato il passo h
d'integrazione, come si comporta la soluzione numerica calcolata con i LMM.
Ci limiteremo, per motivi di tempo, ad analizzare la formula dei Trapezi
(per una trattazione di carattere generale si rimanda ai testi in bibliogra a).
Stabilita relativa
Se nel problema test (6.17) abbiamo Re( ) > 0 la soluzione tendera, per
n ! 1 ad in nito. Per i LMM si puo quindi introdurre il concetto di stabilita
relativa, nel senso che, e ragionevole richiedere che la soluzione numerica (che
dovra anch'essa crescere) si mantenga "vicino" alla soluzione vera (errore
relativo limitato). Poiche la soluzione generale dell'equazione alle di erenze
dipende da tutte le p radici i dovremo avere
j ij < j 1j i = 2 3 ::: p
145
yn+2 = yn + 2hyn+1
e dal problema test (6.17) si ottiene l'equazione alle di erenze
yn+2 ; 2h yn+1 ; yn = 0
il cui polinomio caratteristico e
p(r) = r2 ; 2h r ; 1
(6.33)
se < 0 allora si hanno due radici distinte, 0 < r1 < 1 e r2 < ;1, come e
facile veri care osservando che
p(;1) = ;p(1) = 2h < 0 p(0) = ;1:
La soluzione generale dell'equazione alle di erenze
yn = Ar2n + Br1n
(dove A e B sono costanti da determinarsi), si comporta, per n ! 1 come
yn ' Ar2n in quanto il termine in r1 tende a zero. Essendo r2 < ;1 la soluzione cresce in modulo per cui il metodo non e assolutamente stabile. Se venisse
utilizzato per risolvere un problema di Cauchy con soluzione inerentemente
stabile produrrebbe, al crescere di n, una soluzione numerica inattendibile.
Se nel problema test > 0 (soluzione inerentemente instabile) le radici
del polinomio (6.33) divengono ;1 < r2 < 0 e r1 > 1, come e facile veri care
osservando che
p(;1) = ;p(1) = 2h > 0 p(0) = ;1:
La soluzione generale dell'equazione alle di erenze si comporta, in questo
caso come yn ' Br1n, poiche, per n ! 1 il termine in r2 tende a zero.
Il metodo e quindi relativamente stabile e fornira una soluzione numerica
con errore relativo limitato (la radice parassita r2 al crescere di n in uenza
sempre meno la soluzione).
0
Osservazione 6.2.5 Garantita la stabilita relativa bisognera scegliere il passo d'integrazione h su cientemente piccolo per garantire l'accuratezza.
Osservazione 6.2.6 Nei metodi ad un passo si parla solo di stabilita assoluta in quanto non ha senso parlare di stabilita relativa (si osservi al riguardo
che il polinomio caratteristico ha una sola radice).
147
6.3.1 Esercizi
y(0) = 1
y(0) = 1
come passi d'integrazione h = 0:01 e h = 0:1 utilizzando
1. la formula del punto medio
2. la formula dei trapezi.
Giusti care i risultati ottenuti.
y = x(t)
x = ;y(t)
0
y(0) = 0
x(0) = 1
mediante
1. il metodo di Eulero
2. il metodo di Heun.
Dire qual'e la linea i cui punti hanno coordinate P (t)
tracciarne il gra co.
(x(t) y(t)) e
Bibliogra a
1] K.E.Atkinson, An Introduction to Numerical Analysis, John Wiley &
Sons, New York, 1978
2] J.C.Butcher, The Numerical Analysis od Ordinary Di erential Equations: Runge-Kutta and General Linear Methods, John Wiley & Sons,
Chichester, 1987
3] S.D.Conte e C.de Boor, Elementary Numerical Analysis, McGraw-Hill
Kogakusha, Ltd., Tokio, 1980
4] G.Dahlquist e A.Bjorck, Numerical Methods, Prentice-Hall, Englewood
Cli s, NJ, 1074
5] F.Fontanella e A.Pasquali, Calcolo Numerico. Metodi e algoritmi,
Vol.1,2, Pitagora Editrice, Bologna, 1982
6] G.Gambolati, Metodi Numerici, Cortina, Padova, 1994
7] L.Gotusso, Calcolo Numerico, Clup, Milano, 1978
8] G.H.Golub e C..Van Loan, Matrix Computation, The John Hopkins
Press, Baltimore, 1989
9] J.D.Lambert, Numerical Methods for Ordinary Di erential Systems.
The Initial Value Problem, John Wiley & Sons, Chichester, 1991
10] A.M.Ostrowski, Solution of equations and systems of equations,
Academic Press, New York, 1966
11] J.R.Rice, The Approximation of functions, Vol I,II, Addison-Wesley,
New York, 1969
149
150
BIBLIOGRAFIA