Capitolo 1 PROBLEMI INIZIALI PER ODE Consideriamo il seguente sistema di equazioni differenziali ordinarie (ODE) ai valori iniziali: { y (t) = f(t, y(t)), t t f (1.1) y( ) = y 0 dove f : [, t f ] R m R m è continua ed y 0 R m. Diremo soluzione di (1) ogni funzione y C 1 ([, t f ], R m ) che la verifica. Teorema 1 Se la funzione f è continua in entrambe le variabili t e y ed è lipschitziana nel dominio [, t f ] R m rispetto ad y, allora il problema (1.1) ammette un unica soluzione y C 1 ([, t f ], R m ). Prima di vederne la dimostrazione, ricordiamo che f è lipschitziana in [, t f ] R m rispetto ad y se esiste una costante (di Lipschitz) L > 0 tale che, per una certa norma definita in R m, si ha: f(t, y 1 ) f(t, y 2 ) L y 1 y 2 t [, t f ] e y 1, y 2 R m. 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 ([, t f ], R m ): 1
2 CAPITOLO 1. PROBLEMI INIZIALI PER ODE (1.2) y(t) = y 0 + La verifica di ciò è banale. f(x, y(x))dx, t t f. Dimostrazione n. 1 Dividiamo l intervallo [, t f ] in un certo numero N di sottointervalli di uguale lunghezza T (ma non è necessario) tale che risulti LT < 1. Definiamo poi t n := + nt, n = 1,..., N, e l operatore tale che Φ n : R m C 0 ([, t f ], R m ) C 0 ([, t f ], R m ) Φ n (u, y) := u + t n 1 f(x, y(x))dx, t n 1 t t n. Si ha che u R m l operatore di C 0 ([t n 1, t n ], R m ) Φ n(u) : y Φ n (u, y) è una contrazione nella norma uniforme così definita: y := Infatti y, z C 0 ([t n 1, t n ], R m ) si ha: Φ n (u, y) Φ(u, z) = max t n 1 tt n cioè max y(t). t n 1 tt n u + f(x, y(x)) dx u t n 1 f(x, z(x)) dx t n 1 max f(x, y(x)) f(x, z(x)) dx t n 1 tt n t n 1 max L y(x) z(x) dx t n 1 tt n t n 1 LT y z,
3 Φ n (u, y) Φ n (u, z) LT y z e quindi l asserto, essendo LT < 1. Quanto appena dimostrato permette di affermare che esiste un unica soluzione del problema cioè di y = Φ 1 (y 0, y), y(t) = y 0 + Esiste poi un unica soluzione del problema f(x, y(x)) dx, t t 1. cioè di y = Φ 2 (y(t 1 ), y), y(t) = y(t 1 ) + f(x, y(x)) dx, t 1 t t 2. Chiaramente la funzione y, definita su [, t 2 ] ed ottenuta risolvendo in sequenza i due precedenti problemi separatamente su [, t 1 ] e [t 1, t 2 ], è soluzione di y(t) = y 0 + Infatti, per t 1 t t 2 si ha: f(x, y(x)) dx, t t 2. y(t) = y(t 1 ) + = y 0 + = y 0 + 1 t 1 f(x, y(x)) dx f(x, y(x)) dx + f(x, y(x)) dx. t 1 f(x, y(x)) dx 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 t f = +, cioè per equazioni definite su tutto il semiasse [t f, + ). Si noti inoltre che l operatore Φ definito da (1.2) in C 0 ([, t f ], R m ), cioè tale che Φ(y)(t) := y 0 + f(x, y(x)) dx, t t f, non è una contrazione in se L(t f ) 1. Dimostrazione n. 2 Questa volta dimostriamo che l operatore Φ definito da (1.2) è una contrazione in una norma equivalente alla norma, il che è sufficiente per ottenere la tesi. Definiamo la seguente norma su C 0 ([, t f ], R m ): y := max tt f e ρ(t ) y(t), dove ρ è fissato, ρ L (costante di Lipschitz di f). Si ha immediatamente che y y e ρ(t f ) y y C 0 ([, t f ], R m ) e, pertanto, le due norme sono equivalenti (qui si suppone sempre t f < + ). Verifichiamo ora che Φ è una contrazione in. Si ha y, z C 0 ([, t f ], R m ): Φ(y) Φ(z) = max tt f e ρ(t ) max e ρ(t ) tt f = max tt f e ρ(t ) L f(x, y(x)) dx f(x, y(x)) dx L y(x) z(x) dx e ρ(x ) e ρ(x ) y(x) z(x) dx max e ρ(t t0) L y z tt e ρ(x t0) dx f L max tt f ρ y z (1 e ρ(t ) ) = L ρ (1 e ρ(t f ) ) y z,
5 cioè Φ(y) Φ(z) L ρ (1 e ρ(t f ) ) y z e quindi l asserto, essendo L ρ 1 ed e ρ(t f ) > 0. CVD L applicazione iterata dell operatore Φ ad un approssimazione iniziale y 0 (t), in modo da formare la successione di funzioni {y k (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 y k (t) = y 0 + f(x, y k 1 (x)) dx, t t f. In mancanza di ragioni particolari che consiglino scelte diverse, si pone y 0 (t) y 0 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 [, t f ], 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 [, t f ] R m rispetto ad y, allora la soluzione di (1.1) e quella del problema { z (t) = f(t, z(t)), t t f z( ) = z 0
6 CAPITOLO 1. PROBLEMI INIZIALI PER ODE corrispondente ad un altro dato iniziale z 0, verificano la seguente disuguaglianza: y(t) z(t) e L(t ) y 0 z 0, t t f, 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 0 + Pertanto, essendo y soluzione di (1.2), si ha t o f(x, z(x)) dx, t t f. y(t) z(t) y 0 z 0 + y 0 z 0 + L Dunque, posto f(x, y(x)) f(x, z(x)) dx f(x, y(x)) f(x, z(x)) dx. si ottiene ϕ( ) = 0 e ϕ(t) := y(x) z(x) dx, (1.3) ϕ (t) Lϕ(t) y 0 z 0. Posto ancora α(t) := φ (t) Lφ(t), si ha pertanto α(t) y 0 z 0. Ora l equazione differenziale scalare { ϕ (t) Lϕ(t) = α(t), t t f ϕ( ) = 0 ammette come unica soluzione la funzione ϕ(t) = e, quindi, essendo α(t) y 0 z 0, si ha e L(t x) α(x) dx
7 ϕ(t) e L(t t0) y 0 z 0 e L(x t0) dx = 1 L y 0 z 0 (e L(t ) 1). Da questo e da (1.3) segue infine: y(t) z(t) = ϕ (t) Lϕ(t) + y 0 z 0 y 0 z 0 e L(t ). 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.