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.