Capitolo 1 PROBLEMI INIZIALI PER ODE

Transcript

Capitolo 1 PROBLEMI INIZIALI PER ODE
Capitolo 1
PROBLEMI INIZIALI PER
ODE
Consideriamo il seguente sistema di equazioni differenziali ordinarie (ODE)
ai valori iniziali:
(
y ′ (t) = f (t, y(t)),
t0 ≤ t ≤ tf
(1.1)
y(t0 ) = y0
dove f : [t0 , tf ] × Rm → Rm è continua ed y0 ∈ Rm .
Diremo soluzione di (1) ogni funzione y ∈ C 1 ([t0 , tf ], Rm ) che la verifica.
Teorema 1 Se la funzione f è continua in entrambe le variabili t e y ed è
lipschitziana nel dominio [t0 , tf ] × Rm rispetto ad y, allora il problema (1.1)
ammette un’unica soluzione y ∈ C 1 ([t0 , tf ], Rm ).
Prima di vederne la dimostrazione, ricordiamo che f è lipschitziana in [t0 , tf ]×
Rm rispetto ad y se esiste una costante (di Lipschitz) L > 0 tale che, per una
certa norma |·| definita in Rm , si ha:
|f (t, y1) − f (t, y2)| ≤ L |y1 − y2 |
∀ t ∈ [t0 , tf ] e ∀ y1 , y2 ∈ Rm .
Proponiamo due dimostrazioni del teorema. Entrambe fanno uso del teorema delle contrazioni in spazi metrici completi. Inoltre, per entrambe le
dimostrazioni, faremo uso del fatto che il problema (1.1) è equivalmente alla
seguente equazione integrale in C 0 ([t0 , tf ], Rm ):
1
2
CAPITOLO 1. PROBLEMI INIZIALI PER ODE
(1.2) y(t) = y0 +
t
Z
f (x, y(x))dx,
t0 ≤ t ≤ tf .
t0
La verifica di ciò è banale.
Dimostrazione n. 1
Dividiamo l’intervallo [t0 , tf ] in un certo numero N di sottointervalli di uguale
lunghezza T (ma non è necessario) tale che risulti
LT < 1.
Definiamo poi tn := t0 + nT , n = 1, ..., N, e l’operatore
Φn : Rm × C 0 ([t0 , tf ], Rm ) → C 0 ([t0 , tf ], Rm )
tale che
Φn (u, y) := u +
Z
t
f (x, y(x))dx, tn−1 ≤ t ≤ tn .
tn−1
Si ha che ∀ u ∈ Rm l’operatore di C 0 ([tn−1 , tn ], Rm )
Φ∗n (u) : y → Φn (u, y)
è una contrazione nella norma uniforme cosı̀ definita:
kyk∞ :=
max
tn−1 ≤t≤tn
|y(t)| .
Infatti ∀ y, z ∈ C 0 ([tn−1 , tn ], Rm ) si ha:
kΦn (u, y) − Φ(u, z)k =
≤
≤
max
tn−1 ≤t≤tn
max
tn−1 ≤t≤tn
max
tn−1 ≤t≤tn
Z
u +
f (x, y(x)) dx − u −
tn−1
Z
t
Z
t
tn−1
|f (x, y(x)) − f (x, z(x))| dx
tn−1
Z t
L
tn−1
≤ LT ky − zk∞ ,
cioè
t
|y(x) − z(x)| dx
f (x, z(x)) dx
3
kΦn (u, y) − Φn (u, z)k∞ ≤ LT ky − zk∞
e quindi l’asserto, essendo LT < 1.
Quanto appena dimostrato permette di affermare che esiste un’unica soluzione
del problema
y = Φ1 (y0 , y),
cioè di
y(t) = y0 +
Z
t
f (x, y(x)) dx,
t0 ≤ t ≤ t1 .
t0
Esiste poi un’unica soluzione del problema
y = Φ2 (y(t1 ), y),
cioè di
Z
y(t) = y(t1 ) +
t
f (x, y(x)) dx,
t1 ≤ t ≤ t2 .
t0
Chiaramente la funzione y, definita su [t0 , t2 ] ed ottenuta risolvendo in sequenza i due precedenti problemi separatamente su [t0 , t1 ] e [t1 , t2 ], è soluzione
di
Z t
y(t) = y0 +
f (x, y(x)) dx, t0 ≤ t ≤ t2 .
t0
Infatti, per t1 ≤ t ≤ t2 si ha:
Z
t
y(t) = y(t1 ) +
f (x, y(x)) dx
t1
Z t1
Z t
= y0 +
f (x, y(x)) dx +
f (x, y(x)) dx
t0
t1
Z t
= y0 +
f (x, y(x)) dx.
t0
Analogamente, ragionando in modo induttivo sugli altri intervalli rimanenti,
si ottengono esistenza ed unicità della soluzione di (1.2). CVD
4
CAPITOLO 1. PROBLEMI INIZIALI PER ODE
Si noti che il risultato è valido anche per tf = +∞, cioè per equazioni definite
su tutto il semiasse [tf , +∞).
Si noti inoltre che l’operatore Φ definito da (1.2) in C 0 ([t0 , tf ], Rm ), cioè tale
che
Z t
Φ(y)(t) := y0 +
f (x, y(x)) dx , t0 ≤ t ≤ tf ,
t0
non è una contrazione in k·k∞ se L(tf − t0 ) ≥ 1.
Dimostrazione n. 2
Questa volta dimostriamo che l’operatore Φ definito da (1.2) è una contrazione in una norma equivalente alla norma k·k∞ , il che è sufficiente per
ottenere la tesi.
Definiamo la seguente norma su C 0 ([t0 , tf ], Rm ):
kyk∗ := max e−ρ(t−t0 ) |y(t)| ,
t0 ≤t≤tf
dove ρ è fissato, ρ ≥ L (costante di Lipschitz di f ).
Si ha immediatamente che
kyk∗ ≤ kyk∞ ≤ eρ(tf −t0 ) kyk∗
∀ y ∈ C 0 ([t0 , tf ], Rm )
e, pertanto, le due norme sono equivalenti (qui si suppone sempre tf < +∞).
Verifichiamo ora che Φ è una contrazione in k·k∗ . Si ha ∀ y, z ∈ C 0 ([t0 , tf ], Rm ):
kΦ(y) − Φ(z)k∗ =
≤
=
≤
Z t
Z t
f (x, y(x)) dx −
f
(x,
y(x))
dx
max e
t0 ≤t≤tf
t0
t0
Z t
max e−ρ(t−t0 )
L |y(x) − z(x)| dx
t0 ≤t≤tf
t0
Z t
−ρ(t−t0 )
max e
L
eρ(x−t0 ) e−ρ(x−t0 ) |y(x) − z(x)| dx
t0 ≤t≤tf
t0
Z t
−ρ(t−t0 )
max e
L ky − zk∗
eρ(x−t0 ) dx
−ρ(t−t0 )
t0 ≤t≤tf
t0
L
≤ max
ky − zk∗ (1 − e−ρ(t−t0 ) )
t0 ≤t≤tf ρ
L
=
(1 − e−ρ(tf −t0 ) ) ky − zk∗ ,
ρ
5
cioè
kΦ(y) − Φ(z)k∗ ≤
e quindi l’asserto, essendo
L
(1 − e−ρ(tf −t0 ) ) ky − zk∗
ρ
≤ 1 ed e−ρ(tf −t0 ) > 0. CVD
L
ρ
L’applicazione iterata dell’operatore Φ ad un’approssimazione iniziale y0 (t),
in modo da formare la successione di funzioni {yk (t)} che converge uniformemente alla soluzione y di (1.2), può essere considerata un metodo costruttivo
per la soluzione di (1.1).
Questo metodo, noto con il nome di metodo iterativo di Picard, non è
però usato nella pratica in quanto lentamente convergente.
Si noti che esso è definito da
yk (t) = y0 +
Z
t
f (x, yk−1(x)) dx ,
t0 ≤ t ≤ tf .
t0
In mancanza di ragioni particolari che consiglino scelte diverse, si pone
y0 (t) ≡ y0 per iniziale il processo iterativo.
Vale la pena di notare che, in molti casi di utilità pratica, la funzione f che
compare in (1.1) non verifica la condizione di Lipschitz che abbiamo supposto
in precedenza. In casi del genere l’esistenza ed unicità della soluzione non
è più garantita su tutto [t0 , tf ], ma si hanno invece teoremi di esistenza ed
unicità di carattere locale.
Tuttavia, noi ci mettiamo per semplicità nelle ipotesi più restrittive, dato che
il nostro scopo è quello di studiare i metodi numerici nelle loro potenzialità
generali, lasciando (almeno per il momento) da parte la trattazione di casi
particolari e/o casi in cui vengono a mancare certe condizioni di regolarità.
Dopo aver analizzato sommariamente il problema dell’esistenza ed unicità di
soluzioni, passiamo a trattare brevemente quello della dipendenza continua
dai dati iniziali.
Teorema 2 Se la funzione f è continua in entrambe le variabili t e y ed è
lipschitziana nel dominio [t0 , tf ] × Rm rispetto ad y, allora la soluzione di
(1.1) e quella del problema
(
z ′ (t) = f (t, z(t)),
t0 ≤ t ≤ tf
z(t0 ) = z0
6
CAPITOLO 1. PROBLEMI INIZIALI PER ODE
corrispondente ad un altro dato iniziale z0 , verificano la seguente disuguaglianza:
|y(t) − z(t)| ≤ eL(t−t0 ) |y0 − z0 | ,
t0 ≤ t ≤ tf ,
dove L è la costante di Lipschitz di f .
Dimostrazione (è in sostanza la dimostrazione del Lemma di Gronwall)
E’ chiaro che z è soluzione del problema
Z t
z(t) = z0 +
f (x, z(x)) dx , t0 ≤ t ≤ tf .
to
Pertanto, essendo y soluzione di (1.2), si ha
|y(t) − z(t)| ≤ |y0 − z0 | +
Z
t
|f (x, y(x)) − f (x, z(x))| dx
t0
≤ |y0 − z0 | + L
Z
t
|f (x, y(x)) − f (x, z(x))| dx .
t0
Dunque, posto
ϕ(t) :=
Z
t
|y(x) − z(x)| dx,
t0
si ottiene ϕ(t0 ) = 0 e
(1.3)
ϕ′ (t) − Lϕ(t) ≤ |y0 − z0 | .
Posto ancora α(t) := φ′ (t) − Lφ(t), si ha pertanto α(t) ≤ |y0 − z0 | . Ora
l’equazione differenziale scalare
(
ϕ′ (t) − Lϕ(t) = α(t) ,
t0 ≤ t ≤ tf
ϕ(t0 ) = 0
ammette come unica soluzione la funzione
Z t
ϕ(t) =
eL(t−x) α(x) dx
t0
e, quindi, essendo α(t) ≤ |y0 − z0 |, si ha
7
L(t−t0 )
ϕ(t) ≤ e
|y0 − z0 |
Z
t
e−L(x−t0 ) dx
t0
1
=
|y0 − z0 | (eL(t−t0 ) − 1) .
L
Da questo e da (1.3) segue infine:
|y(t) − z(t)| = ϕ′ (t)
≤ Lϕ(t) + |y0 − z0 |
≤ |y0 − z0 | eL(t−t0 ) .
CVD
Si noti che questo teorema fornisce anche un primo criterio per valutare
il condizionamento del problema differenziale (1.1). Sembrerebbe evidente
che esso risulti tanto meglio condizionato quanto più piccola è la costante di
Lipschitz L. Tuttavia vedremo in seguito, utilizzando la cosiddetta costante
di Lipschitz destra, che questa conclusione non è in generale corretta.