Professional Documents
Culture Documents
_
y
n+1
= G(n, y
n
)
y
0
assegnato.
(8.1)
Diamo ora le seguenti denizioni.
Denizione 8.1.1 Sia G : N R
k
R
k
. Allora una soluzione y
n
dellequazione (8.1) `e
281
282 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
a) stabile se per ogni > 0 esiste una costante > 0 tale che se
y
n
`e unulteriore soluzione di (8.1), per la quale
|y
0
y
0
| < : |y
n
y
n
| < , n = 1, 2, . . . , (8.2)
b) asintoticamente stabile se oltre a valere (8.2) vale
|y
n
y
n
|
n+
0.
c) relativamente stabile se (8.2) `e sostituita da
|y
n
y
n
|
|y
n
|
< n = 1, 2, . . . (8.3)
8.2. Stabilit`a di equazioni alle dierenze
Consideriamo lequazione alle dierenze
y
n+k
+ a
k1
y
n+k1
+ . . . + a
1
y
n+1
+ a
0
y
n
= b.
Posto
y
n
= y
n,1
y
n+1
= y
n,2
y
n+2
= y
n,3
y
n+3
= y
n,4
.
.
.
y
n+k1
= y
n,k
lequazione alle dierenze pu` o scriversi
y
n+1,1
= y
n,2
y
n+1,2
= y
n,3
.
.
.
y
n+1,k
= y
n+k
= b a
0
y
n,1
a
1
y
n,2
. . . a
k1
y
n,k
ovvero, posto
B =
_
_
_
_
_
_
_
_
_
0 1 O
0 0 1
.
.
.
.
.
.
.
.
.
O 0 0 1
a
0
. . . . . . a
k2
a
k1
_
_
_
_
_
_
_
_
_
y
n
=
_
_
_
_
_
_
_
_
_
y
n,1
y
n
y
n,2
y
n,3
.
.
.
y
n,k
_
_
_
_
_
_
_
_
_
8.2. STABILIT
`
A DI EQUAZIONI ALLE DIFFERENZE 283
d =
_
_
_
_
_
_
_
_
_
0
0
0
.
.
.
b
_
_
_
_
_
_
_
_
_
y
n+1
= By
n
+d. (8.4)
La matrice B del tipo appena denito prende il nome di matrice di
Frobenius.
Teorema 8.2.1 Ogni soluzione di sistema di equazioni alle dierenze
di ordine n omogenea a coecienti costanti `e stabile se la matrice di
Frobenius ha autovalori a parte reale non positiva e ogni autovalore a
parte reale nulla `e semplice. 2
Osservazione.
`
E immediato notare che
det(B rI) =
k
j=0
a
j
r
j
a
k
= 1.
Teorema 8.2.2 Una soluzione dellequazione alle dierenze del tipo
(8.4) risulta stabile se ogni radice del polinomio
(r) =
k
j=0
a
j
r
j
ha modulo minore di o uguale a 1 e quelle di modulo uguale a 1 sono
semplici, mentre risulter` a asintoticamente stabile se e solo se ogni radice
del polinomio suddetto ha modulo minore di 1.
Vogliamo risolvere ora la seguente equazione alle dierenze omogenea
di ordine k:
k
j=0
a
j
y
n+j
= 0. (8.5)
Cerchiamo una soluzione del tipo
y
n
= z
n
.
284 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Deve essere necessariamente
k
j=0
a
j
z
n+j
= 0
cio`e
z
n
k
j=0
a
j
z
j
= 0.
Quindi se z `e una radice del polinomio
(r) =
k
j=0
a
j
r
j
allora z
n
`e una soluzione dellequazione alle dierenze. Inoltre si pu` o
provare che se z
1
, . . . , z
k
sono radici tutte distinte del polinomio (r)
allora la soluzione generale di (8.5) `e data da
y
n
(c
1
, . . . , c
k
) =
k
i=1
c
i
z
n
i
con c
1
, . . . , c
k
univocamente determinate dalla condizione iniziale.
8.3. Discretizzazione di problemi a valori iniziali
Consideriamo il problema a valori iniziali
y
j=0
j
y
n+j
= h(t
n
, . . . , t
n+k
, y
n
, . . . , y
n+k
; h),
k
= 1 (8.7)
qui t
n
= a + nh, h = (b a)/N detto passo di integrazione.
Due classi di metodi molto importanti contenute in (8.7) sono
1. i metodi multistep lineari (k-step)
2. i metodi Runge-Kutta.
1
Tutto quello che diremo per lequazione (8.6) pu` o essere applicato direttamente
a sistemi.
8.3. DISCRETIZZAZIONE DI PROBLEMI A VALORI INIZIALI 285
I metodi multistep
Supponiamo noti i valori (t
n+j
, y(t
n+j
)), per j = 0, . . . , k 1, e riscri-
viamo (8.6) nel seguente modo
y(t
n+k
) y(t
n
) =
_
t
n+k
tn
f(t, y(t))dt
utilizzando quindi una formula di quadratura per lintegrale a destra
abbiamo
y(t
n+k
) y(t
n
) =
k
j=0
h
j
f(t
n+j
, y(t
n+j
)) + errore
trascurando quindi in questa il termine di errore e indicando con y
n
unapprossimazione della soluzione teorica y(t
n
) otteniamo lo schema
numerico
y
n+k
y
n
=
k
j=0
h
j
f(t
n+j
, y
n+j
)
e quindi, la naturale generalizzazione
k
j=0
j
y
n+j
h
k
j=0
j
f
n+j
= 0, f
n+j
f(t
n+j
, y
n+j
). (8.8)
Se in (8.8)
k
= 0 il metodo si dice a k-step esplicito, altrimenti si dice
implicito.
I metodi Runge-Kutta
Ancora a partire da (8.6) possiamo scrivere
y(t
n+1
) y(t
n
) =
_
tn+h
tn
f(t, y(t))dt.
Posto t = t
n
+ hc:
y(t
n+1
) = y(t
n
) + h
_
1
0
f(t
n
+ hc, y(t
n
+ hc))dc =
= y(t
n
) + h
s
i=1
b
i
f(t
n
+ hc
i
, y(t
n
+ hc
i
)) + errore
286 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
e, per ogni ssato i compreso tra 1 ed s:
y(t
n
+ hc
i
) = y(t
n
) +
_
tn+hc
i
tn
f(t, y(t))dt =
= y(t
n
) + h
_
c
i
0
f(t
n
+ hc, y(t
n
+ hc))dc =
= y(t
n
) + h
s
j=1
a
ij
f(t
n
+ hc
j
, y(t
n
+ hc
j
)) + errore
i
.
Posto Y
i
= y(t
n
+hc
i
) e trascurando i termini di errore possiamo dedurre
il seguente schema:
y
n+1
= y
n
+ h
s
i=1
b
i
f(t
n
+ hc
i
, Y
i
) (8.9)
Y
i
= y
n
+ h
s
j=1
a
ij
f(t
n
+ hc
j
, Y
j
) (8.10)
detto metodo Runge-Kutta implicito a s-stages. Se le (8.10) sono so-
stituite da
Y
1
= y
n
(8.11)
Y
i
= y
n
+ h
i1
j=1
a
ij
f(t
n
+ hc
j
, Y
j
) (8.12)
allora si hanno i metodi Runge-Kutta espliciti a s-stages.
Osservazione. Nella maggior parte dei testi di analisi numerica gli
schemi Runge-Kutta vengono riportati in una forma diversa dalla (8.9)-
(8.10) ma facilmente deducibile da questa. Infatti, posto
K
i
= f(t
n
+ hc
i
, Y
i
)
abbiamo
_
_
y
n+1
= y
n
+ h
s
i=1
b
i
K
i
K
i
= f
_
_
t
n
+ hc
i
, y
n
+
s
j=1
a
ij
K
j
_
_
,
8.3. DISCRETIZZAZIONE DI PROBLEMI A VALORI INIZIALI 287
che `e la forma classica dei metodi Runge-Kutta.
Denizione 8.3.1 Sia y(t) la soluzione dellequazione dierenziale (8.6)
sullintervallo [a, b] e y
0
, y
1
, . . . , y
N
, Nh = b a, la soluzione approssi-
mata data dal metodo (8.7). Allora la quantit` a
max
0nN
[y(t
n
) y
n
[
`e detta errore globale di discretizzazione della soluzione approssimata.
Un naturale importante obiettivo `e fornire una stima del suddetto errore
e mostrare che la soluzione approssimata converge alla soluzione teorica
quando h tende a 0. Come primo passo verso questo obiettivo, introdu-
ciamo una quantit` a che `e pi` u facilmente calcolabile rispetto allerrore
globale.
Denizione 8.3.2 Assumiamo che (8.6) abbia una soluzione nell in-
tervallo [a, b]. Chiamiamo errore locale di discretizzazione (o di tronca-
mento) del metodo (8.7) in t [a, b] la quantit` a
(t; h) =
1
h
_
_
k
j=0
j
y(t + jh) h(t, . . . , t + hk, y(t), . . . , y(t + hk); h)
_
_
.
Per meglio comprendere il senso di tale denizione, assumiamo che i
valori y
n
, y
n+1
, . . . , y
n+k1
siano esatti (ipotesi locale) e allora conside-
riamo la quantit` a
E(t
n+k
; h) = [y(t
n+k
) y
n+k
[.
Analizziamo tale quantit` a per metodi espliciti e impliciti.
Metodi Espliciti
E(t
n+k
; h) = [y(t
n+k
) y
n+k
[ =
=
y(t
n+k
) +
k1
j=0
j
y
n+j
h(t
n
, . . . , t
n+k1
, y
n
, . . . , y
n+k1
; h)
=
288 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
=
j=0
j
y(t
n+j
) h(t
n
, . . . , t
n+k1
, y(t
n
), . . . , y(t
n+k1
); h)
=
= h[(t
n
; h)[.
Dunque
E(t
n+k
; h) = h[(t
n
; h)[ (8.13)
e perci` o lerrore locale di troncamento non `e altro che lerrore che si
commette in un singolo passo, rapportato ad h, ipotizzando che no al
passo precedente la soluzione sia stata calcolata esattamente.
8.3. DISCRETIZZAZIONE DI PROBLEMI A VALORI INIZIALI 289
Metodi Impliciti
Per i metodi impliciti assumiamo che la funzione sia derivabile (e
invero basterebbe anche la Lipschitzianit` a di ).
E(t
n+k
; h) = [y(t
n+k
) y
n+k
[ =
= [y(t
n+k
) +
k1
j=0
j
y
n+j
h(t
n
, . . . , t
n+k
, y
n
, . . . , y
n+k
; h)[ =
= [
k
j=0
j
y(t
n+j
) h(t
n
, . . . , t
n+k
, y(t
n
), . . . , y(t
n+k1
), y
n+k
; h)[ =
= [
k
j=0
j
y(t
n+j
) h(t
n
, . . . , t
n+k
, y(t
n
), . . . , y(t
n+k1
), y(t
n+k
); h)+
+h(t
n
, . . . , t
n+k
, y(t
n
), . . . , y(t
n+k1
), y(t
n+k
); h)+
h(t
n
, . . . , t
n+k
, y(t
n
), . . . , y(t
n+k1
), y
n+k
; h)[
h[(t
n
; h)[+h[
y
n+k
(t
n
, . . . , t
n+k
, y(t
n
), . . . , y(t
n+k1
),
n+k
; h)(y(t
n+k
)y
n+k
)[
h[(t
n
; h)[ + hL[y(t
n+k
) y
n+k
[ =
= h[(t
n
; h)[ + hLE(t
n+k
; h).
Qui L `e un limite superiore per [/y
n+k
[. Perci` o
E(t
n+k
; h) =
1
1 hL
h[(t
n
; h)[ (8.14)
e per h sucientemente piccolo
E(t
n+k
; h)
= h[(t
n
; h)[.
Denizione 8.3.3 Assumiamo che il problema di Cauchy (8.6) abbia
soluzione in [a, b]. Allora (8.7) `e consistente con (8.6) se
lim
h0
(h) = 0
dove
(h) = max
t[a,bkh]
[(t; h)[.
290 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Teorema 8.3.1 Assumiamo che la soluzione del problema di Cauchy
(8.6) sia C
(1)
([a, b]), che la funzione sia continua rispetto a tutti i
suoi argomenti e, denito il polinomio
(r) =
k
j=0
j
r
j
Se
(1) = 0 (8.15)
e
(t, . . . , t, y(t), . . . , y(t); 0) =
j=0
j
y(t + jh) =
k
j=0
j
j
y(t + jh)
jh
=
=
k
j=0
j
j
_
y(t + jh) y(t)
jh
_
+
_
_
1
h
k
j=0
j
_
_
y(t) =
=
k
j=0
j
j
_
y(t + jh) y(t)
jh
y
(t)
_
+
1
h
y(t)
k
j=0
j
+
+y
(t)
k
j=0
j
j
=
=
k
j=0
j
j
g(t, jh) +
1
h
y(t)(1) + y
(t)
(1) =
= G(t, h) +
1
h
y(t)(1) + y
(t)
(1)
8.3. DISCRETIZZAZIONE DI PROBLEMI A VALORI INIZIALI 291
dove si `e posto
g(t, h) =
y(t + jh) y(t)
jh
y
(t)
e
G(t, h) =
k
j=0
j
j
g(t, jh).
Tenuto conto della denizione di errore locale di troncamento, possiamo
allora scrivere
(t; h) =
1
h
y(t)(1) + y
(t)
j=0
j
= 0
e
k
j=0
j
=
k
j=0
j
j
,
ovvero, introdotto il polinomio
(r) =
k
j=0
j
r
j
le condizioni di consistenza diventano:
(1) = 0
(1) = (1).
I polinomi (r) e (r) si chiamano rispettivamente primo polinomio
caratteristico e secondo polinomio caratteristico. In particolare per i
metodi one-step deve essere
1
+
0
= 0 1 +
0
= 0
e
(t, . . . , t, y(t), y(t), . . . , y(t); 0) =
(1)f(t, y(t))
(t, . . . , t, y(t), y(t), . . . , y(t), 0) = f(t, y(t)). (8.17)
Quindi metodi one-step consistenti sono del tipo
y
n+1
= y
n
+ h [f(t
n
, y
n
) + (1 )f(t
n+1
, y
n+1
)]
con [0, 1]. Tra questi metodi i pi` u noti sono i seguenti:
= 1 : Metodo di Eulero Esplicito:
y
n+1
= y
n
+ hf(t
n
, y
n
)
= 0 : Metodo di Eulero Implicito:
y
n+1
= y
n
+ hf(t
n+1
, y
n+1
)
8.3. DISCRETIZZAZIONE DI PROBLEMI A VALORI INIZIALI 293
= 1/2 : Metodo dei Trapezi:
y
n+1
= y
n
+
h
2
[f(t
n
, y
n
) + f(t
n+1
, y
n+1
)] .
Notiamo (vedere (8.17)) che la consistenza implica che per h 0
lequazione alle dierenze che denisce il metodo numerico fornisce la
equazione dierenziale di partenza. Si pu` o allora essere tentati di con-
getturare che la consistenza di un metodo assicuri che lerrore globale di
troncamento tenda a zero per h 0. Ci` o `e vero per i metodi one-step
ma non `e necessariamente vero per i metodi multistep.
Denizione 8.3.4 Diremo che il metodo (8.7) `e zero stabile se ogni
soluzione dellequazione alle dierenze:
k
j=0
j
y
n+j
= 0,
k
= 1
`e stabile.
Per quanto visto nelle pagine precedenti possiamo riprendere la sud-
detta denizione nel seguente modo.
Condizione delle radici. Il metodo (8.7) `e 0-stabile se e solo se le
radici
1
, . . . ,
k
del polinomio
() =
k
j=0
j
soddisfano la condizione
[
i
[ 1, i = 1, . . . , n
e ogni radice di modulo 1 `e semplice.
Lemma 8.3.1 (Enunciato) Consideriamo lequazione alle dierenze
k
j=0
j
y
n+j
=
n
n = k, k + 1, . . . (8.18)
294 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
con y
0
, . . . , y
k1
assegnati. Assumiamo inoltre che le radici
1
, . . . ,
k
di
() =
k
j=0
j
= 0
soddisno la condizione
[
i
[ 1, i
e che ogni radice di modulo 1 sia semplice. Allora esiste una costante
c 1 tale che per ogni soluzione di (8.18) si ha:
[y
n
[ c
_
_
max
0ik1
[y
i
[ +
n
j=k
[
j
[
_
_
. n = k, k + 1, . . . 2
Teorema 8.3.2 (Consistenza + zero stabilit` a Convergenza.) Assu-
miamo
1) Il metodo (8.7) `e 0-stabile, ovvero
k
j=0
j
y
n+j
= 0 `e stabile;
2)
[(x
0
, . . . , x
k
, u
0
, . . . , u
k
; h) (x
0
, . . . , x
k
, v
0
, . . . , v
k
; h)[
c max
0ik
[u
i
v
i
[
per ogni x
0
, . . . , x
k
[a, b], e per ogni u
0
, . . . , u
k
, v
0
, . . . , v
k
e h 0:
3) (8.6) abbia una soluzione y(t) su [a, b];
e sia y
i
(h), i = 0, 1, . . . , una soluzione di (8.7), allora esistono due
costanti c
1
, c
2
indipendenti da h tali che
[y(a+nh)y
n
(h)[ c
1
r(h)+c
2
(h), n = k, k+1, . . . N = (ba)/h
dove
r(h) = max
0ik1
[y(a + ih) y
i
(h)[
8.3. DISCRETIZZAZIONE DI PROBLEMI A VALORI INIZIALI 295
e
(h) = max
t[a,b]
[(t, h)[.
In particolare se
lim
h0
r(h) = 0
e il metodo `e consistente allora
lim
h0,n+
y
n
(h) = y(t), dove t = a + nh.
Dimostrazione. Da
k
j=0
j
y
n+j
(h) h(t
n
, . . . , t
n+k
, y
n
(h), . . . , y
n+k
(h); h) = 0
e
k
j=0
j
y(t
n
+ jh) h(t
n
, . . . , t
n+k
, y(t
n
), . . . , y(t
n
+ kh); h) = h(t
n
, h)
sottraendo dalla prima la seconda e ponendo e
i
= y
i
(h) y(t
i
) segue:
k
j=0
j
e
n+j
+ h[(t
n
, . . . , t
n+k
, y(t
n
), . . . , y(t
n
+ kh); h)+
(t
n
, . . . , t
n+k
, y
n
(h), . . . , y
n+k
(h); h)] = h(t
n
, h)
ovvero
k
j=0
j
e
n+j
=
n+k
dove
n+k
= h[(t
n
, . . . , t
n+k
, y(t
n
), . . . , y(t
n
+ kh); h)+
(t
n
, . . . , t
n+k
, y
n
(h), . . . , y
n+k
(h); h)] + h(t
n
, h).
(8.19)
Dallipotesi di stabilit` a del metodo (8.7) e in virt` u del lemma 8.3.1
risulta
[e
n+k
[
_
max
0ik1
[e
i
[ +
n
i=0
[
k+i
[
_
n = 0, 1, . . . , > 1
296 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Dalla (8.18) e dallipotesi 2)
[
i+k
[ h
_
c max
0jk
[e
i+j
[ +[(t
i
, h)[
_
e perci` o
[e
n+k
[ r(h) + h
n
i=0
_
c max
0jk
[e
i+j
[ +[(t
i
, h)[
_
n
= max
0in
[e
i
[, n = 0, 1, 2, . . .
segue
[e
n+k
[ r(h) + ch(n + 1)
n+k
+ h(h)(n + 1)
questultima implica
n+k
r(h) + ch(n + 1)
n+k
+ h(h)(n + 1).
Fissato h, supponiamo che n possa prendere valori che soddisfano la
relazione
(n + 1)h
1
2
(c)
1
allora
k+n
r(h) +
1
2
k+n
+ (h)
k+n
2 [r(h) + (h)] , (n + 1)h
e perci` o
[e
k+n
[ 2 [r(h) + (h)] (8.20)
Questultima fornisce una stima dellerrore sullintervallo I
1
= [a, a+]
con indipendente da h. Consideriamo ora il successivo intervallo I
2
=
[a + , a + 2]. Possiamo allora assumere che i dati iniziali stiano in
I
1
e quindi gli errori per questi dati iniziali possono essere limitati da
(8.20). Perci` o
[e
k+n
[ 2 2[r(h) + (h)] + (h)
8.3. DISCRETIZZAZIONE DI PROBLEMI A VALORI INIZIALI 297
per tutti gli n tali che i punti di griglia che sono I
2
. Ora poich`e
lintervallo [a, b] pu` o essere coperto da un numero nito di intervalli
di ampiezza ne consegue la tesi. 2
Osservazione. Lipotesi 2) del teorema di convergenza `e una conse-
quenza della condizione di Lipschitz che normalmente poniamo su f per
lesistenza e lunicit` a della soluzione del problema di Cauchy. Infatti
assumiamo che f soddis
[f(t, u) f(t, v)[ L[u v[, t [a, b], u, v.
Allora, tenuto conto che per i metodi lineari k-step risulta
(x
0
, . . . , x
k
, u
0
, . . . , u
k
; h) =
k
j=0
j
f(x
j
, u
j
)
si ha
[(x
0
, . . . , x
k
, u
0
, . . . , u
k
; h) (x
0
, . . . , x
k
, v
0
, . . . , v
k
; h)[ =
=
j=0
j
f(x
j
, u
j
)
k
j=0
j
f(x
j
, v
j
)
j=0
[
j
[L[u
j
v
j
[
_
_
L
k
j=0
[
j
[
_
_
max
0jk
[u
j
v
j
[.
Unanaloga deduzione vale per i metodi Runge-Kutta. Un aspetto im-
portante dellerrore globale di troncamento `e la rapidit` a con la quale
tende a zero per h 0. Una prima misura di questa rapidit` a `e la se-
guente condizione sullerrore locale di troncamento (h). Richiamiamo
che la notazione
(h) = O(h
p
)
signica
lim
h0
(h)
h
p
= l
con l numero nito.
298 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Denizione 8.3.5 Il metodo (8.7) ha ordine almeno p se per ogni pro-
blema di Cauchy con soluzione y(t) C
(p)
([a, b]) risulta
(h) = O(h
p
).
Il metodo ha esattamente ordine p se in aggiunta (h) ,= O(h
p+1
)
per qualche equazione dierenziale per la quale la soluzione y(t)
C
(p+1)
([a, b]).
Per quanto lordine di precisione di un metodo sia denito in termini
di errore locale di troncamento, esso pu` o essere legato allerrore globale
di troncamento. Infatti dal teorema di convergenza, abbiamo visto che
e
n
= [y(a + nh) y
n
(h)[ c
1
r(h) + c
2
(h), n k
r(h) = max
0ik1
[y(a + ih) y
i
(h)[.
Pertanto se r(h) = O(h
p
) e (h) = O(h
p
), risulta
e
n
= O(h
p
).
Condizioni di ordine per i metodi multistep
Consideriamo il metodo k-step
k
j=0
j
y
n+j
h
k
j=0
j
f(t
n
+ jh, y
n+j
) = 0,
k
= 1.
Dalla denizione di errore locale di troncamento abbiamo
(t
n
; h) =
1
h
_
_
k
j=0
j
y(t
n
+ jh) h
k
j=0
j
f(t
n
+ jh, y(t
n
+ jh))
_
_
8.3. DISCRETIZZAZIONE DI PROBLEMI A VALORI INIZIALI 299
dove y(t) denota la soluzione teorica del problema di Cauchy. Assu-
miamo che y(t) C
(p+1)
([a, b]). Possiamo allora scrivere
(t
n
; h) =
1
h
_
_
k
j=0
j
y(t
n
+ jh) h
k
j=0
j
y
(t
n
+ jh)
_
_
=
=
1
h
_
_
k
j=0
j
_
p
s=0
y
(s)
(t
n
)
(jh)
s
s!
+ y
(p+1)
(t
n
+ h)
(jh)
p+1
(p + 1)!
_
+
h
k
j=0
j
_
_
p1
s=0
(y
)
(s)
(t
n
)
(jh)
s
s!
+ y
(p+1)
(t
n
+ h)
(jh)
p
p!
_
_
_
_
con , ]0, j[.
(t
n
; h) =
1
h
p
s=0
_
_
k
j=0
j
j
s
s!
_
_
y
(s)
(t
n
)h
s
+ y
(p+1)
(t
n
+ h)
1
(p + 1)!
h
p
_
_
k
j=0
j
j
p+1
_
_
+
p1
s=0
_
_
k
j=0
j
j
s
s!
_
_
y
(s+1)
(t
n
)h
s
y
(p+1)
(t
n
+ h)
1
p!
h
p
_
_
k
j=0
j
j
p
_
_
=
=
1
h
_
_
k
j=0
j
y(t
n
)
_
_
+
p
s=1
_
_
k
j=0
j
j
s
s!
_
_
y
(s)
(t
n
)h
s1
+
p1
s=0
_
_
k
j=0
j
j
s
s!
_
_
y
(s+1)
(t
n
)h
s
+
+h
p
_
_
_
_
k
j=0
j
j
p+1
(p + 1)!
_
_
y
(p+1)
(t
n
+ h)
1
p!
_
_
k
j=0
j
j
p
_
_
y
(p+1)
(t
n
+ h)
_
_
=
=
1
h
_
_
k
j=0
j
y(t
n
)
_
_
+
p1
s=0
_
_
k
j=0
j
j
s+1
(s + 1)!
_
_
y
(s+1)
(t
n
)h
s
+
p1
s=0
_
_
k
j=0
j
j
s
s!
_
_
y
(s+1)
(t
n
)h
s
+ O(h
p
)
300 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
dove con O(h
p
) abbiamo indicato
h
p
_
_
_
_
k
j=0
j
j
p+1
(p + 1)!
_
_
y
(p+1)
(t
n
+ h)
1
p!
_
_
k
j=0
j
j
p
_
_
y
(p+1)
(t
n
+ h)
_
_
.
In denitiva abbiamo trovato
(t
n
; h) =
1
h
_
_
k
j=0
j
_
_
y(t
n
) +
p1
s=0
_
_
k
j=0
j
j
s+1
(s + 1)!
k
j=0
j
j
s
s!
_
_
y
(s+1)
(t
n
)h
s
+ O(h
p
)
pertanto anch`e il metodo abbia ordine p deve essere
k
j=0
j
= 0 (8.21)
k
j=0
j
j
s+1
(s + 1)!
k
j=0
j
j
s
s!
= 0 s = 0, 1, . . . , p 1. (8.22)
Si noti che le prime due condizioni sono le condizioni di consistenza.
Quando le suddette condizioni sono imposte si ha:
(t
n
; h) = h
p
_
_
k
j=0
j
j
p+1
(p + 1)!
_
_
y
(p+1)
(t
n
+ h)+
_
_
k
j=0
j
j
p
p!
_
_
y
(p+1)
(t
n
+ h) =
= h
p
(t
n
) + O(h
p+1
);
(8.23)
(t
n
) = l
p+1
y
(p+1)
(t
n
)h
p
+ O(h
p+1
),
l
p+1
=
k
j=0
_
j
j
p+1
(p + 1)!
j
j
p
p!
_
se y(t) C
(p+2)
([a, b]). Questultima uguaglianza segue sviluppando le
due derivate p + 1-esime attorno a t
n
. La quantit` a l
p+1
y
(p+1)
(t
n
)h
p
si
chiama parte principale dellerrore locale di troncamento.
8.3. DISCRETIZZAZIONE DI PROBLEMI A VALORI INIZIALI 301
Esercizio 8.3.1 Derivare un metodo del secondo ordine dallo schema
0
y
n
+
1
y
n+1
+ y
n+2
= h(
0
f
n
+
1
f
n+1
+
2
f
n+2
).
Si noti che un metodo lineare k-step ha essenzialmente 2k+1 parametri
liberi mentre per ottenere un metodo di ordine p si deve risolvere un
sistema lineare di p equazioni in 2k+1 incognite e perci` o si pu` o conget-
turare che il massimo ordine raggiungibile sia 2k+1. Comunque questo
risultato ha poca importanza in quanto vale il seguente teorema.
Teorema 8.3.3 (1
a
barriera di Dahlquist). Ogni metodo lineare k-
step di ordine maggiore di k + 2 `e instabile. In particolare se k `e pari
il massimo ordine per un metodo zero stabile `e k + 2, mentre se k `e
dispari il massimo ordine per un metodo zero stabile `e k + 1. 2
`
E importante realizzare che la convergenza di un metodo non `e, da sola,
garanzia di una soddisfacente procedura numerica. Consideriamo per
esempio il metodo
y
n+2
= y
n
+ 2hf
n+1
.
`
E facile vericare che tale metodo `e consistente e zero stabile e perci` o
convergente. Applichiamo ora tale metodo al problema test
y
= y y(0) = 1,
la cui soluzione teorica `e y(t) = e
t
. Abbiamo
y
n+2
+ 2hy
n+1
y
n
= 0 y
0
= 1, y
1
= noto.
La soluzione di questa equazione `e
y
n
=
_
1
2
+
y
1
+ h
2
1 + h
2
_
k
1
+ c
2
_
1
2
y
1
+ h
2
1 h
2
_
k
2
con
1
= h +
1 + h
2
e
2
= h
1 + h
2
. Notiamo che per h > 0
2
> 1 cosicch`e eccetto che per la scelta di y
1
che rende c
2
= 0 si ha
[y
n
[ + e perci` o in generale la soluzione numerica si discosta da
quella esatta di un valore arbitrariamente grande per t sucientemente
grande. Anche perch`e
1
1 per h 0 il suddetto comportamento
pu` o essere inibito se
2
tende ad un limite strettamente minore di 1.
Ci` o porta a denire la classe di metodi caratterizzata dalla seguente
propriet` a di stabilit` a.
302 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Denizione 8.3.6 (Strong root condition). Un metodo `e fortemente
stabile se le radici del polinomio
() =
k
j=0
j
soddisfano la condizione
[
i
[ 1, i = 1, . . . , k
con n 1 radici strettamente minori di 1. Si noti che poich`e un me-
todo consistente ammette sempre la radice = 1 ((1) = 0) possiamo
asserire:
Un metodo consistente `e fortemente stabile se le radici
i
di () = 0
soddisfano
1
= 1 e [
i
[ < 1, i = 2, . . . , n.
Un metodo che non `e fortemente stabile pu` o esibire un comportamento
instabile specialmente per problemi con soluzione decrescente. Le radici
i
del polinomio () relative ad un metodo consistente sono usual-
mente catalogate in
= +1 radice principale (principal root)
[
i
[ 1, i = 2, . . . , k radici spurie (spurious roots)
[
i
[ = 1, i = 1, . . . , q radici essenziali (essential roots)
[
i
[ < 1, i = q + 1, . . . , k radici non essenziali (non essential roots).
Stabilit`a per h ssato (Assoluta stabilit`a)
Un metodo numerico fornisce risultati numerici accettabili quando il
passo di integrazione h dipende soltanto dallaccuratezza richiesta e la
sola propriet` a di convergenza di un metodo (consistenza + 0-stabilit` a),
pu` o non garantire ci` o. Non `e per esempio dicile costruire un metodo
del quarto ordine per il quale si abbia un comportamento di questo
tipo:
y(t
n
) y
n
(0.1) + (h = 0.1)
e
y(t
n
) y
n
(0.01) 0 (h = 0.01)
il che indica che pur essendo lerrore locale accettabile (t; 0.1) =
O(10
4
) nel primo caso si ha un comportamento instabile mentre nel
8.3. DISCRETIZZAZIONE DI PROBLEMI A VALORI INIZIALI 303
secondo caso le cose vanno come prevede la teoria. Cio`e in situazioni
come questa occorrerebbe, per poter applicare il metodo in tutta tran-
quillit` a, stimare la massima lunghezza del passo per cui si ha un com-
portamento instabile. A peggiorare le cose esistono anche metodi che
nonostante siano convergenti (e dunque stabili quando h tende a 0),
mostrano instabilit` a qualunque sia il passo h ssato. Consideriamo di
nuovo il metodo
y
n+2
= y
n
+ 2hf
n+1
y
0
= 1, y
1
= e
h
applicato allequazione
y
= y y(0) = 1
Abbiamo
y
n+2
= y
n
+ 2hy
n+1
. (8.24)
Detto () il polinomio caratteristico di (8.24) `e
(; h) = () h()
le cui radici sono
r
1
(h) = h +
_
1 + (h)
2
e
r
2
(h) = h
_
1 (h)
2
perci` o
y
n
(h) = c
1
(h)r
n
1
(h) + c
2
(h)r
n
2
(h)
dove
c
1
(h) =
1
2
+
e
h
h
2
_
1 (h)
2
c
2
(h) =
1
2
e
h
h
2
_
1 (h)
2
anche
c
1
(h) = 1 + O((h)
3
) c
2
(h) = O((h)
3
).
Per il metodo in esame lerrore locale di troncamento `e
(t, h) =
1
h
y(t + 2h) y(t) 2hf(t + h, y(t + h)) = O(h)
304 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
da cui
e
(t+2h)
e
t
2he
(t+h)
= O(h
2
)
e
2h
1 2he
h
= O(h
2
)
(e
h
; h) = (e
h
) h(e
h
) = O(h
2
)
(e
h
r
1
(h))(e
h
r
2
(h)) = O(h
2
).
Poich`e r
2
(h) tende a 1 quando h tende a 0
e
h
r
1
(h) = O(h
2
) r
1
(h) = e
h
+ O(h
2
).
Quindi
y
n
(h) = (1 + O((h)
3
)(e
h
+ O(h
2
)) + O((h
3
))r
t/h
2
(h).
Per h che tende a 0 e t sso
lim
n
y
n
(h) = e
t
e perci` o il metodo `e convergente. Per < 0 [r
2
(h)[ > 1 e quindi per
h piccolo quanto si vuole il secondo addendo aumenta con laumentare
di t e pu` o dominare laltro termine che `e quello che per h 0 tende
alla soluzione teorica. Se > 0 il secondo addendo tende a 0, per` o in
questo caso il problema `e instabile e la perturbazione sul primo termine
data da O(h
2
) + O((h)
3
)e
h
pu` o crescere esponenzialmente.
8.4. Assoluta stabilit`a
Dagli esempi precedenti appare evidente la necessit` a di una nuova
denizione di stabilit` a nella quale si pensi ssato il passo di integra-
zione h e si richieda che lerrore globale si propaghi in modo stabile
quando n . Per rendere tale denizione uno strumento utile per
lanalisi di stabilit` a `e necessario assumere come riferimento il compor-
tamento di metodi rispetto ad un particolare e ssato problema. A tale
scopo si assume come problema test il seguente
y
= y C. (8.25)
8.4. ASSOLUTA STABILIT
`
A 305
Quanto segue d` a una giusticazione alla scelta di tale problema. Esami-
niamo in primo luogo la reazione locale del problema di Cauchy allin-
troduzione di perturbazioni sul dato iniziale. A tal scopo supponiamo
di trovarci nel generico punto t
_
y
= f(t, y)
y(t
) = y
t t
. (8.26)
Introduciamo una perturbazione
nel dato y
ed esaminiamo il pro-
blema
_
_
z
= f(t, z)
z(t
) = y
.
(8.27)
Detta z(t) = y(t) +(t) la soluzione di questo problema, sottraendo da
(8.27) (8.26)
_
) =
.
Linearizziamo quindi questo problema sviluppando f(t, y(t) +(t)) nel-
lintorno della soluzione y(t).
f(t, y(t) + (t)) f(t, y(t)) =
f
y
(t, y(t)) + O(||
2
).
Nel caso di sistema di equazioni dierenziali del primo ordine la derivata
parziale di f rispetto a y indica la matrice jacobiana del sistema valu-
tata in (t, y(t)) e per t sucientemente vicino a t
possiamo supporre
f
y
(t, y(t))
f
y
(t
, y(t
)) = A.
Allora il modello linearizzato descrivente la propagazione degli errori
nei punti immediatamente successivi a t
ha la forma
_
(t) = A(t)
(t
) =
t t
.
306 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Assunto che gli n autovalori
i
di A (in generale complessi) siano di-
stinti, possiamo porre A = TT
1
dove T = [u
1
[u
2
[ . . . [u
n
] `e la matrice
degli autovettori di A e = diag(
1
, . . . ,
n
). Perci` o
_
(t) = TT
1
(t)
(t
) =
(T
1
(t)) = (T
1
(t))
(t
) =
(8.28)
T
1
(t) = e
(tt)
(t) = Te
(tt)
w
= T
1
(t) =
n
j=1
e
j
(tt)
u
j
w
j
t t
e quindi
z(t) = y(t) +
n
j=1
e
j
(tt)
u
j
w
j
.
In denitiva le autosoluzioni
e
j
(tt)
u
j
caratterizzano la risposta locale del sistema alle perturbazioni sul dato
iniziale y
_
y
= y
y(0) = 1
C, 0 t +
Sia dunque
k
j=0
j
y
n+j
h
k
j=0
j
f(t
n+j
, y
n+j
) = 0
8.4. ASSOLUTA STABILIT
`
A 307
il metodo multistep in esame che assumiamo consistente e zero stabile.
Applicato al problema test fornisce
k
j=0
j
y
n+j
h
k
j=0
j
y
n+j
= 0, y
0
, . . . , y
k1
noti (8.29)
perturbiamo ora i dati iniziali di una quantit` a
i
, i = 0, . . . , k 1.
Avremo
k
j=0
j
y
n+j
h
k
j=0
j
y
n+j
= 0, (8.30)
con y
0
= y
0
+
0
, . . . , y
k1
= y
k1
+
k1
, e, posto
n+j
= y
n+j
y
n+j
,
lequazione delle perturbazioni `e
k
j=0
(
j
h
j
)
n+j
= 0
0
, . . . ,
k1
noti (8.31)
e h = h. Indichiamo con (r; h) = (r) h(r) il polinomio di
stabilit` a di (8.31) dove
(r) =
k
j=0
j
r
j
(r) =
k
j=0
j
r
j
.
Ordiniamo quindi le radici r
i
( h), i = 1, . . . , n, di (r; h) in modo che
r
i
( h)
h0
r
i
, i = 1, 2, . . . , k
dove r
i
`e la i-esima radice di (r), ordinate come abbiamo visto in prece-
denza. Una volta note le radici r
i
( h) che per semplicare la descrizione
supponiamo distinte, la soluzione generale della (8.31) `e
n
=
k
i=1
c
i
r
n
i
( h)
dove le c
i
sono univocamente determinate da
0
, . . . ,
k1
. Delle k
soluzioni fondamentali solo quella relativa alla radice principale d` a
lapprossimazione alla soluzione del problema continuo y(t) = e
t
men-
tre le altre rappresentano soluzioni parassite sorte perch`e il modello
discreto `e di ordine k > 1. Dimostriamo infatti che
r
1
( h) = e
h
+ O(h
p+1
)
308 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
dove p `e lordine del metodo, e perci` o
r
n
1
( h) e
tn
= (t
n
).
A tal ne consideriamo lerrore locale di troncamento nel generico punto
t
(t; h) =
1
h
_
_
k
j=0
j
e
(t+jh)
h
k
j=0
j
e
(t+jh)
_
_
da cui
e
t
_
_
k
j=0
(
j
h
j
)(e
h
)
j
_
_
= O(h
p+1
)
ovvero
(e
h
) h(e
h
) = O(h
p+1
)
anche
(
k
h
k
)
k
i=1
(e
h
r
i
( h) = O(h
p+1
).
Avendo assunto il metodo consistente e zero stabile
r
1
( h) r
1
= +1 per h 0
r
i
( h) r
i
,= +1, per h 0
perci` o
r
1
( h) = e
h
+ O(h
p+1
).
Osserviamo anche che
r
1
( h) = 1 + h + O(h
2
) = r
1
+ h + O( h
2
).
Poich`e le radici r
i
, i = 1, . . . , q, sono semplici (zero stabilit` a) le cor-
rispondenti r
i
( h) continueranno ad essere semplici per [h[ suciente-
mente piccolo (le radici sono infatti funzioni continue dei coecienti)
anzi si potrebbe provare che sono funzioni analitiche di h. Possiamo
allora sviluppare r
i
( h), per i = 1, . . . , q, in serie di Taylor intorno a
h = 0. Abbiamo
r
i
( h) = r
i
(0) + hr
i
(0) + O(h
2
) i = 1, . . . , q (8.32)
8.4. ASSOLUTA STABILIT
`
A 309
e poich`e
(r
i
( h)) h(r
i
( h)) = 0
derivando rispetto a h segue:
(r
i
( h))r
i
( h) (r
i
( h)) h(r
i
( h))r
i
( h) = 0
cio`e
r
i
( h) =
(r
i
( h))
(r
i
( h)) h(r
i
( h))
poich`e il metodo `e zero stabile r
i
(0) = r
i
, i = 1, . . . , q, e quindi
r
i
(0) =
(r
i
)
(r
i
)
la (8.32) pu` o quindi scriversi
r
i
( h) = r
i
+ h
(r
i
)
(r
i
)
+ O(h
2
) =
= r
i
(1 + h) + O(h
2
),
i
= (r
i
)/(r
i
(r
i
)).
Da questultima
r
n
i
( h) r
n
i
e
i
hn
= r
n
i
e
i
tn
i = 1, . . . , q
dove
1
=
(1)
(1)
= 1
per la consistenza. In denitiva
n
=
k
i=1
c
i
r
n
i
( h) =
= c
1
e
tn
+
q
i=2
c
i
e
i
tn
r
n
i
+
k
i=q+1
c
i
r
n
i
( h),
(8.33)
cio`e
y
n
= y
n
+ c
1
e
tn
+
q
i=2
c
i
e
i
tn
+
k
i=q+1
c
i
r
n
i
( h). (8.34)
310 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Come si vede il termine che simula la perturbazione nel caso continuo
`e quello dovuto alla radice r
1
(h) e pertanto se si vuole che la pertur-
bazione nel caso discreto simuli quella del caso continuo bisogna ab-
battere il contributo dovuto alle altre radici. Ci` o si ottiene imponendo
che [r
i
( h)[ < 1, i = 2, . . . , n. Inoltre se si vuole che la perturbazione
tenda a zero quando n tende a +allora deve essere anche [r
1
(h)[ < 1.
Possiamo allora dare la seguente denizione.
Denizione 8.4.1 Un metodo multistep `e detto assolutamente stabile
in una regione H
A
C se per ogni h H
A
si ha
[r
i
( h)[ < 1 i = 1, 2, . . . , k.
La regione
H
A
= h C[ [r
i
( h)[ < 1
si chiama regione di assoluta stabilit` a.
Osservazione 1. Ricordando che r
1
( h) = 1+ h+O( h
2
) `e facile osservare
che per 'e( h) sucientemente piccola ma positivo risulta [r
1
( h)[ > 1
cosicch`e un qualunque metodo k-step lineare consistente e zero stabile
risulta assolutamente instabile per tutte le h con 'e( h) > 0 suciente-
mente piccola. Ci` o signica che integrando numericamente lequazione
test y
, pertanto = (t
i=0
c
i
r
i
con c
0
,= 0 e c
k
,= 0, questo si dice polinomio di Schur se le sue radici
r
i
, i = 1, . . . , k, soddisfano
[r
i
[ < 1 i = 1, 2, . . . , k.
Ci` o premesso sia
(r) =
k
i=0
c
i
r
i
un qualunque polinomio con c
0
,= e c
k
,= 0 e a partire da questo consi-
deriamo il polinomio
(r) =
k
i=0
c
ki
r
i
dove c
j
`e il complesso coniugato di c
j
, per ogni j, e successivamente il
polinomio
1
(r) =
1
r
det
_
(0)
(r)
(0) (r)
_
il cui grado `e k 1. Vale allora il seguente teorema.
Teorema 8.4.1 (di Schur). (r) `e un polinomio di Schur se e solo se
[
i=1
b
i
f(t
n
+ hc
i
, Y
ni
)
Y
n1
= y
n
Y
ni
= y
n
+ h
i1
j=1
a
ij
f(t
n
+ hc
j
, Y
nj
) i = 2, . . . , s
se esplicito, oppure
y
n+1
= y
n
+ h
s
i=1
b
i
f(t
n
+ hc
i
, Y
ni
)
Y
ni
= y
n
+ h
s
j=1
a
ij
f(t
n
+ hc
j
, Y
nj
) i = 1, . . . , s
se implicito. Normalmente questi metodi vengono cos` rappresentati:
c
1
a
11
a
12
. . . a
1s
c
2
a
21
a
22
. . . a
2s
.
.
.
.
.
.
.
.
.
.
.
.
c
s
a
s1
a
s2
. . . a
ss
s b
1
b
2
. . . b
s
o, in forma pi` u compatta
c A
s b
T
con A strettamente triangolare inferiore per i metodi espliciti e, in ge-
nerale, piena per i metodi impliciti. Tali metodi sono sicuramente zero
stabili in quanto (r) = r1 e perci` o lunica radice del primo polinomio
di stabilit` a `e r
1
= +1. Inoltre, essendo
(t, y(t)) = f(t, y(t))
s
i=1
b
i
ed avendosi
(1) = 0,
(1) = 1
8.5. METODI RUNGE-KUTTA 313
se
s
i=1
b
i
= 1
allora il metodo `e anche consistente e dunque convergente.
Condizioni di ordine
Per derivare le condizioni di ordine p di un metodo Runge-Kutta, basta,
in linea di principio, imporre che
(t; h) = O(h
p
).
A titolo di esempio consideriamo lo schema
y
n+1
= y
n
+ hb
1
f(t
n
, y
n
) + hb
2
f(t
n
+ hc
2
, Y
n2
)
Y
n2
= y
n
+ ha
21
f(t
n
, y
n
)
ovvero
y
n+1
= y
n
+ hb
1
f(t
n
, y
n
) + hb
2
f(t
n
+ hc
2
, y
n
+ ha
21
f(t
n
, y
n
))
e imponiamo le condizioni per avere ordine 2. Deve essere
(t; h) =
1
h
[y(t + h) y(t) hb
1
f(t, y(t))+
+hb
2
f(t + hc
2
, y(t) + ha
21
f(t, y(t)))] = O(h
2
).
314 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Assunta y(t) di classe C
(3)
([a, b]) e sviluppando in serie di Taylor ab-
biamo
(t; h) =
1
h
y
(t)h + y
(t)
h
2
2
+ O(h
3
) hb
1
f(t, y(t))+
hb
2
[f(t, y(t)) +
f
t
(t, y(t))hc
2
+
f
y
(t, y(t))ha
21
f(t, y(t)) + O(h
2
)] =
=
1
h
f(t, y(t))h +
f
t
(t, y(t))
h
2
2
+
f
y
(t, y(t))f(t, y(t))
h
2
2
+ O(h
3
)+
hb
1
f(t, y(t)) hb
2
f(t, y(t))
f
t
(t, y(t))b
2
c
2
h
2
+
f
y
(t, y(t))f(t, y(t))h
2
b
2
a
21
+ O(h
3
).
Perci` o deve risultare
b
1
+ b
2
= 1 b
2
c
2
= 1/2 b
2
a
21
= 1/2.
Lesempio precedente fa intuire la dicolt` a di manipolazione per ot-
tenere metodi di ordine elevato. Esiste per` o una tecnica pi` u ranata
che utilizza strumenti di teoria dei gra e che permette unelegante
derivazione delle condizioni di ordine. Rinunciando allesposizione di
tale teoria, riportiamo di seguito le condizioni da soddisfare per ot-
8.5. METODI RUNGE-KUTTA 315
tenere metodi no allordine 4.
1
s
i=1
b
i
= 1
2
s
i=1
b
i
c
i
=
1
2
3
s
i=1
b
i
c
2
i
=
1
3
3
s
i,j=1
b
i
a
ij
c
i
=
1
6
4
s
i,j=1
b
i
c
3
i
=
1
4
4
s
i,j=1
b
i
c
i
a
ij
c
j
=
1
8
4
s
i,j=1
b
i
a
ij
c
2
j
=
1
12
4
s
i,j,k=1
b
i
a
ij
a
jk
c
k
=
1
24
.
Per lordine massimo `e possibile dedurre, dalla suddetta teoria, i se-
guenti risultati. Denotato con p = p
(s) = s 1 s 4
p
(5) = 4
p
(s) = s 1 5 s 7
p
(s) = s 2 8 s 9
p
(s) s 2 s 10.
Per un metodo Runge-Kutta implicito p
(s) = 2s.
316 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Assoluta stabilit`a dei metodi Runge-Kutta
Applicando il metodo Runge-Kutta allequazione test y
= y, C,
si ha:
y
n+1
= y
n
+ h
s
i=1
b
i
Y
ni
, h = h
Y
ni
= y
n
+ h
s
j=1
a
ij
Y
nj
introdotti i vettori e = (1, 1, . . . , 1)
T
e Y
n
= (Y
n1
, Y
n2
, . . . , Y
ns
)
T
, queste
si riscrivono
y
n+1
= y
n
+ hb
T
Y
n
Y
n
= y
n
e + hAY
n
ovvero
y
n+1
= (1 + hb
T
(I hA)
1
e)y
n
anche
y
n+1
= R( h)y
n
dove R( h) = 1 + hb
T
(I hA)
1
e. Il metodo Runge-Kutta si dir` a as-
solutamente stabile nella regione 1
A
C se per ogni h 1
A
risulta
[R( h)[ < 1. Linsieme
1
A
= z C [ [R( h)[ < 1
si dice regione di assoluta stabilit` a.
Sulla funzione R(z)
Per i metodi Runge-Kutta espliciti la matrice A ha la seguente struttura
A =
_
_
_
_
_
_
_
_
_
0 0 . . . . . . 0
a
21
0 . . . . . . 0
a
31
a
32
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
s1
a
s2
. . . a
s,s1
0
_
_
_
_
_
_
_
_
_
.
8.5. METODI RUNGE-KUTTA 317
Dal teorema di Cayley-Hamilton `e facile allora dedurre che A
s
= 0.
Osserviamo ora che per ogni matrice B di ordine s:
(I B)(I + B + B
2
+ . . . + B
s1
) = I B
s
e pertanto, per B = zA:
(I zA)(I + zA + z
2
A
2
+ . . . + z
s1
A
s1
) = I z
s
A
s
= I
ne consegue
(I zA)
1
=
s1
i=0
(zA)
i
.
La funzione R(z) pu` o allora scriversi
R(z) = 1 + zb
T
s1
i=0
z
i
A
i
e =
= 1 +
s
i=1
(b
T
A
i1
e)z
i
.
cio`e R(z) `e un polinomio di grado al pi` u s in z. Notiamo quindi che
per [z[ +, [R(z)[ +, perci` o la regione di assoluta stabilit` a di
un metodo Runge-Kutta esplicito `e necessariamente nita. Per quanto
concerne la funzione R(z) dei metodi impliciti, ricordando che per ogni
x, y R
s
,
det(I +xy
T
) = 1 +y
T
x
possiamo scrivere
R(z) = det(I + z(I zA)
1
eb
T
) =
= det
_
(I zA)
1
(I zA + zeb
T
)
_
=
=
det(I + z(eb
T
A))
det(I zA)
.
Pertanto R(z) `e una funzione razionale di z. Notiamo che per [z[
+, [R(z)[ pu` o tendere ad un limite nito e che pertanto i metodi
Runge-Kutta impliciti possono avere regioni di assoluta stabilit` a che
contengono tutto il semipiano a parte reale negativa del piano comp-
lesso.
318 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Sulla implementazione dei metodi Runge-Kutta
I metodi Runge-Kutta espliciti non presentano alcun problema di im-
plementazione, nel senso che i valori Y
ni
, i = 1, . . . , s, possono essere
facilmente calcolati in cascata. Per i metodi Runge-Kutta impliciti `e
invece necessario risolvere ad ogni passo un sistema di equazioni in
generale non lineare. Consideriamo infatti il metodo
y
n+1
= y
n
+ h
s
i=1
b
i
f(t
n
+ hc
i
, Y
ni
),
Y
ni
= y
n
+ h
s
j=1
a
ij
f(t
n
+ hc
j
, Y
nj
) i = 1, . . . , s. (8.35)
Un metodo per risolvere (8.35) `e quello di utilizzare procedimenti iter-
ativi del tipo
Y
(k+1)
ni
= y
n
+ h
s
j=1
a
ij
f(t
n
+ hc
j
, Y
(k)
nj
) i = 1, . . . , s, k = 0, 1, 2, . . .
(8.36)
nella versione Jacobi, oppure del tipo
Y
(k+1)
ni
= y
n
+ h
i1
j=1
a
ij
f(t
n
+ hc
j
, Y
(k+1)
nj
) + h
s
j=i+1
a
ij
f(t
n
+ hc
j
, Y
(k)
nj
)
(8.37)
con i = 1, . . . , s e k = 0, 1, 2, . . ., nella versione Gauss-Seidel. Non `e
dicile vedere che se f `e Lipschitziana rispetto a y con costante di
Lipschitz L in [a, b] R allora sia (8.36) che (8.37) sono convergenti per
h sucientemente piccolo. Infatti posto
Y
(k)
n
=
_
_
_
_
_
_
_
Y
(k)
n1
Y
(k)
n2
.
.
.
Y
(k)
ns
_
_
_
_
_
_
_
F(t
n
, Y
n
) =
_
_
_
_
_
_
f(t
n
+ hc
1
, Y
n1
)
f(t
n
+ hc
2
, Y
n2
)
.
.
.
f(t
n
+ hc
s
, Y
ns
)
_
_
_
_
_
_
e =
_
_
_
_
_
_
1
1
.
.
.
1
_
_
_
_
_
_
8.5. METODI RUNGE-KUTTA 319
G =
_
_
_
_
_
_
_
_
_
0 0 . . . . . . 0
a
21
0 . . . . . . 0
a
31
a
32
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
s1
a
s2
. . . a
s,s1
0
_
_
_
_
_
_
_
_
_
H =
_
_
_
_
_
_
_
_
_
0 a
12
a
13
. . . a
1s
0 0 a
23
. . . a
2s
0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. a
s1,s
0 0 . . . 0 0
_
_
_
_
_
_
_
_
_
.
(8.36) e (8.37) si riscrivono rispettivamente
Y
(k+1)
n
= y
n
e + hAF(t
n
, Y
(k)
n
) (8.38)
Y
(k+1)
n
= y
n
e + hGF(t
n
, Y
(k+1)
n
) + hHF(t
n
, Y
(k)
n
). (8.39)
Detta Y
n
la soluzione di (8.38), si ha
|Y
n
Y
(k+1)
n
|
= |hAF(t
n
, Y
n
) hAF(t
n
, Y
(k)
n
)|
h|A|
|F(t
n
, Y
n
) F(t
n
, Y
(k)
n
)|
=
= h|A|
max
1is
[f(t
n
+ hc
i
, Y
ni
) f(t
n
+ hc
i
, Y
(k)
ni
)[
hL|A|
|Y
n
Y
(k)
n
|
.
Pertanto se hL|A|
q < 1
|Y
n
Y
(k)
n
|
q
k
|Y
n
Y
(0)
n
|
j=1
a
ij
[f(t
n
+ hc
j
, Y
(k+1)
nj
) f(t
n
+ hc
j
, Y
nj
)]+
+h
n
j=i+1
a
ij
[f(t
n
+ hc
j
, Y
(k)
nj
) f(t
n
+ hc
i
, Y
nj
)]
320 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
[e
(k+1)
n,i
[ hL
i1
j=1
[a
ij
[[e
(k)
n,j
[ + h
n
j=i+1
[a
ij
[[e
(k)
n,j
[.
Sia r lindice tale che
[e
(k+1)
n,r
[ = |e
(k+1)
n
|
.
Allora
[e
(k+1)
n,r
[ hL
r1
j=1
[a
rj
[[e
(k)
n,j
[ + h
n
j=r+1
[a
rj
[[e
(k)
n,j
[.
|e
(k+1)
n
|
hL|e
(k+1)
n
|
+ hL|e
(k)
n
|
dove
=
r1
j=1
[a
rj
[ =
s
j=r+1
[a
rj
[
Allora
|e
(k+1)
n
|
hL
1 hL
|e
(k)
n
|
.
Assumiamo ora che
hLmax
1is
s
j=1,j=i
[a
ij
[ q < 1
allora sicuramente
hL( + ) q < 1
hL
1 hL
=
hL + hL hL
1 hL
=
=
hL( + ) hL
1 hL
q hL
1 hL
=
=
q hL + hLq hLq
1 hL
=
=
q(1 hL) + hL(q 1)
1 hL
=
= q
hL(1 q)
1 hL
q < 1.
8.5. METODI RUNGE-KUTTA 321
Pertanto
|Y
n
Y
(k)
n
|
q
k
|Y
n
Y
(0)
n
|
n+1
(h/2) lapprossimazione in t
n+1
a partire da t
n
con passo di
integrazione h/2. Allora
y
n+1
(h/2) = y
n
+
h
2
(t
n
, y
n
; h/2)
y
n+1
(h/2) = y
n+1
(h/2) +
h
2
(t
n
+ h/2, y
n
(h/2); h/2).
In ipotesi locale
y
n
= y(t
n
) y
n+1
(h/2) = y(t
n
+ h/2)
e
(t
n
+ h/2; h/2) =
2
h
[y(t
n
+ h/2) y(t
n
) h/2(t
n
, y(t
n
); h/2)]
(t
n
; h/2) =
2
h
[y(t
n
+ h) y(t
n
+ h/2) h/2(t
n
+ h/2, y(t
n
+ h/2); h/2)]
322 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI
Ora
1
h
[y
n+1
(h) y
n+1
(h/2)] =
=
1
h
[y(t
n
) + h(t
n
, y(t
n
); h) y(t
n
) h/2(t
n
, y(t
n
); h/2)+
h/2(t
n
+ h/2, y(t
n
+ h/2); h/2)] =
= (t
n
, y(t
n
); h)
1
2
(t
n
, y(t
n
); h/2)
1
2
(t
n
+h/2, y(t
n
+h/2); h/2) =
=
1
h
[y(t
n
+ h) y(t
n
)] (t
n
; h)+
1
h
[y(t
n
+ h/2) y(t
n
)] +
1
2
(t
n
+ h/2; h/2)+
+
1
h
[y(t
n
+ h) y(t
n
+ h/2)] +
1
2
(t
n
; h/2) =
= (t
n
)h
p
+ O(h
p+1
) +
1
2
_
(t
n
+ h/2)
_
h
2
_
p
+ O(h
p+1
)
_
+
+
1
2
_
(t
n
)
_
h
2
_
p
+ O(h
p+1
)
_
=
= (t
n
)h
p
+
1
2
_
(t
n
)
_
h
2
_
p
+
(t
n
)
h
p+1
2
p+1
+ O(h
p+1
)
_
+
+
1
2
[(t
n
)
_
h
2
_
p
+ O(h
p+1
)] =
= (t
n
)h
p
_
1
2
p
1
_
+ O(h
p+1
).
In denitiva la parte principale dellerrore locale di troncamento pu` o
essere cos` stimata
(t
n
)h
p
2
p
2
p
1
1
h
[y
n+1
(h) y
n+1
(h/2)].