1 Tracce di calcolo numerico Lauree scientifiche (Astronomia, Matematica) Prof. Marco Vianello - Dipartimento di Matematica, Università di Padova aggiornamento: 13 aprile 2015 (sulle costanti di Lebesgue) testo di approfondimento: G. Rodriguez, Algoritmi numerici, Pitagora, Bologna, 2008 argomenti e quesiti contrassegnati da ∗ sono più impegnativi, se non si è in grado di fare la dimostrazione bisogna comunque sapere (e saper usare) gli enunciati e capire di cosa si sta parlando; quelli contrassegnati da ∗∗ sono approfondimenti difficili e facoltativi 1.1 Sistema floating-point e propagazione degli errori 1. si ricordi che, fissata una base (un numero naturale β > 1), ogni numero x ∈ R si può scrivere (rappresentazione a virgola fissa) come x = sign(x) (αm . . . α1 α0 .α−1 . . . α−n . . .)β ! m ∞ X X = sign(x) αj β j + α−j β −j j=0 j=1 dove αj , α−j ∈ {0, 1, . . . , β − 1} sono le cifre della rappresentazione Pn in jbase β (ad esempio {0, 1} in base 2, {0, . . . , 9} in base 10); chiamiamo j=0 αj β parte P −j parte frazionaria del numero intera del numero e ∞ j=1 α−j β 2. perché la serie che rappresenta la parte frazionaria converge? si osservi che la parte frazionaria sta in [0, 1] 3. la parte frazionaria di un numero razionale può essere finita o infinita a seconda della base 4. si mostri (con qualche esempio) che ogni numero reale diverso da zero si può anche scrivere (rappresentazione normalizzata a virgola mobile) come p x = sign(x)β (0.d1 . . . dt . . .)β = sign(x)β p ∞ X dj β −j j=1 P −j mantissa e p ∈ Z dj ∈ {0, 1, . . . β − 1}, d1 6= 0, dove chiamiamo ∞ j=1 dj β esponente della rappresentazione normalizzata a virgola mobile in base β; a cosa serve la normalizzazione d1 6= 0? 5. la mantissa di un numero reale sta in [0, 1], ma non è la sua parte frazionaria 6. i numeri irrazionali hanno parte frazionaria (e mantissa) infinita 1 7. ∗ si dimostri, usando le serie, che l’errore di troncamento ad n cifre della parte frazionaria in base β è ≤ β −n 8. si dia un’interpretazione geometrica (con un disegno) del fatto che il massimo errore di arrotondamento ad n cifre è la metà del massimo errore di troncamento (∗∗ è possibile dare una dimostrazione rigorosa di questo fatto utilizzando la serie che rappresenta la parte frazionaria) 9. si studi l’insieme dei numeri floating-point F(β, t, L, U) = {µ ∈ Q : µ = ±(0.µ1 µ2 . . . µt )β p , µj ∈ {0, 1, . . . , β − 1} , p ∈ [L, U] ⊂ Z} (traccia: determinare cardinalità, estremi, variazione di densità, intorni di approssimazione assoluti e relativi, precisione di macchina, ...); quali sono i reali rappresentabili (ovvero approssimabili per arrotondamento a t cifre di mantissa) tramite questi numeri floating-point? 10. si disegnino F(10, 1, −1, 1) e F(10, 2, −2, 2) 11. i numeri floating-point “grandi” (in modulo) sono interi e hanno moltissime cifre nulle; in un sistema floating-point con t cifre di mantissa in base β, i numeri interi con più di t cifre vengono arrotondati (se rappresentabili) 12. la precisione di macchina, εM = β 1−t /2, non è il più piccolo numero floatingpoint positivo; che cos’è invece? 13. si discuta un modello di codifica dei reali in base 2 con una sequenza di 64 bit, la cosiddetta “precisione doppia” (traccia: riservando un bit per i segno, 52 (+1) bit per la mantissa che è come avere 53 bit perché la prima cifra di mantissa deve essere 1, e 11 bit per l’esponente, ...) 14. in un’aritmetica a base 10 con 16 cifre di mantissa, 1 + 10−15 viene calcolato correttamente ma 1 + 10−16 = 1; perché? (si osservi che questo è un esempio di non unicità dell’elemento neutro) 15. ∗∗ si dimostri che vale anche εM = min {µ ∈ F+ : 1 + µ > 1}; quali numeri floating-point si comportano come elemento neutro nell’addizione con un dato numero floating-point µ? 16. detti εx = |x− x̃|/|x| e εy = |y− ỹ|/|y|, x, y 6= 0, gli errori relativi sui dati si studi la stabilità delle operazioni aritmetiche con numeri approssimati, mostrando che per ciascuna operazione aritmetica ⋆ si ha una stima del tipo “somma pesata degli errori” εx⋆y = |(x ⋆ y) − (x̃ ⋆ ỹ)| ≤ w1 (x, y)εx + w2 (x, y)εy , , x ⋆ y 6= 0 , |x ⋆ y| calcolando w1 , w2 nei vari casi (moltiplicazione, divisione, addizione, sottrazione; traccia: si utilizzi la disuguaglianza triangolare); quali operazioni si possono considerare “stabili”? in quali situazioni la sottrazione fa perdere precisione? si facciano esempi 2 17. detto εf l’errore relativo su una funzione (differenziabile) con variabili approssimate, si ricavi la “formula degli errori” εf (x) ≈ |xf ′ (x)/f (x)| εx εf (x,y) ≈ |(xfx′ (x, y)/f (x, y)) ∆x/x + (yfy′ (x, y)/f (x, y)) ∆y/y| ≤ |xfx′ (x, y)/f (x, y)| εx + |yfy′ (x, y)/f (x, y)| εy partendo dal caso di funzioni di una variabile (traccia: si utilizzi la formula di Taylor; ∗∗ per dare una veste più rigorosa alla stima si utilizzi il teorema del valor medio e nel caso di due variabili si assuma f di classe C 1 in un aperto convesso) 18. utilizzando la formula degli errori, si studi la stabilità (risposta agli errori sui dati) delle operazioni aritmetiche 19. in Matlab si ha che ((1 + 10−15 ) − 1)/10−15 = 1.110223024625157, invece ((1 + 2−50 ) − 1)/2−50 = 1, dove 2−50 ≈ 10−15 ; perché? 20. si facciano esempi in cui la proprietà associativa non è valida in aritmetica di macchina per overflow oppure per effetto dell’arrotondamento 21. la formula risolutiva classica per le equazioni di secondo grado ax2 + bx + c = 0, a 6= 0, ∆ = b2 − 4ac > 0, perde precisione in aritmetica di macchina se b2 ≫ 4|ac|; si quantifichi la perdita di precisione calcolando i pesi della sottrazione corrispondente e si ricavi una formula “stabilizzata” √ √ (traccia: √ per la stabilizzazione, √ si osservi ad esempio che per b > 0, ∆−b = ( ∆−b)( ∆+b)/( ∆+b) = ...) 22. ∗ si trovino esempi di funzioni “instabili”, cioè tali che per certi punti x si ha εf (x) ≫ εx qualunque sia la rappresentazione di f , e di funzioni “stabili” per cui l’instabilità nel calcolo dipende dalla rappresentazione 23. si riscrivano, se necessario, le seguenti espressioni per ovviare a possibili instabilità in aritmetica di macchina: E1 (x) = x5 /(2 + x4 + 0.1|x|) − x + 100(x4 + 5)1/4 √ E2 (x) = x2 + 1 − |x| + 100x √ E3 (x) = 3 x4 + 2 − (10x7 + 1)/(x5 + 1) + 10x2 q p 24. la successione definita da x2 = 2, xn+1 = 2n−1/2 1 − 1 − 41−n x2n , n = 2, 3, . . ., soddisfa limn→∞ xn = π, ma se usata per approssimare π diventa instabile in aritmetica di macchina (qual’è la sottrazione che fa perdere precisione? si calcolino i fattori di amplificazione dell’errore in funzione di n); come può essere stabilizzata? 25. ∗ la formula di ricorrenza in avanti In = 1 − nIn−1 , n = 1, 2, . . ., I0 = 1 − R −1 −1 1 n x e , soddisfatta da In = e x e dx, è fortemente instabile in aritmetica 0 di macchina (perché?), ma può essere stabilizzata usandola all’indietro; ∗∗ si dimostrino convergenza e stabilità della formula all’indietro analizzando l’errore relativo 3 1.2 Costo computazionale degli algoritmi numerici 1. si discuta l’algoritmo di Hörner per il calcolo dei valori di un polinomio 2. esiste un algoritmo veloce per il calcolo di unaPpotenza Q tramite codifica binaria j n cj 2j dell’esponente, basato sulla proprietà a = a = acj 2 , dove {cj } sono le cifre della codifica binaria di n ∈ N; qual’è il costo computazionale (come numero di operazioni aritmetiche floating-point) in funzione di n? qual’è il costo nel caso l’algoritmo venga applicato al calcolo di una potenza di matrice? 3. ∗ perché il calcolo di exp (x) (per x > 1) usando la formula exp (x) = (exp (x/m))m , m > [x] e la formula di Taylor per exp (x/m), è più efficiente dell’utilizzo diretto della formula di Taylor? (traccia: si stimi il modulo del resto della formula di Taylor di exp (x) per |x| ≤ 1 e per |x| > 1; qual’ è il comportamento per n → ∞?) 4. il metodo di eliminazione gaussiana può essere usato per calcolare il determinante di una matrice quadrata (come?), con costo computazionale O(n3 ) flops (da confrontare con il costo O(n!) flops della regola di Laplace, che la rende inutilizzabile già per valori relativamente piccoli di n) 5. ∗ si dimostri che il costo computazionale asintotico del metodo di eliminazione gaussiana è 2n3 /3 flops (traccia: si incastri il costo tra due integrali) 1.3 Soluzione numerica di equazioni non lineari 1. data una funzione f ∈ C[a, b] (ovvero, f è continua in [a, b]), tale che f (a)f (b) < 0, si dimostri che la successione x0 , x1 , . . . , xn , . . ., costruita col metodo di bisezione (utilizzando iterativamente il teorema degli zeri) soddisfa la stima a priori dell’ errore b−a en = |ξ − xn | ≤ n+1 , n = 0, 1, 2, . . . 2 dove ξ è uno zero di f in (a, b); si diano ipotesi su f che garantiscono l’unicità dello zero 2. data una funzione continua f tale che f (ξ) = 0 e successione {xn } tale che limn→∞ xn = ξ, perché in generale il “residuo” |f (xn )| non è una buona stima dell’errore? (si faccia un disegno sul possibile andamento locale di f , se il grafico è “piatto” ...); come va corretto il residuo? (traccia: assumendo f derivabile con derivata continua e non nulla in [c, d], dove xn ∈ [c, d] almeno per n abbastanza grande, si utilizzi il teorema del valor medio, f (xn )−f (ξ) = . . . ; si osservi che per la permanenza del segno la derivata è sicuramente non nulla in un intorno [c, d] di uno zero semplice, ovvero ξ tale che f ′ (ξ) 6= 0) 4 3. utilizzando i risultati dell’esercizio precedente, si discuta la seguente stima a posteriori dell’errore (con correzione del residuo) xn − xn−1 en = |ξ − xn | ≈ |f (xn )| f (xn ) − f (xn−1 ) 4. si dia un’interpretazione geometrica del metodo di Newton xn+1 = xn − f (xn ) , f ′ (xn ) 6= 0 , n = 0, 1, 2, . . . ′ f (xn ) 5. un risultato di convergenza globale del metodo di Newton: sia f ∈ C 2 [a, b], f (a)f (b) < 0, f ′′ di segno costante in (a, b); scelto x0 tale che f (x0 )f ′′ (x0 ) < 0, il metodo di Newton è ben definito e convergente all’unico zero di f in [a, b] (traccia: le tangenti alla curva grafico stanno sempre sopra o sotto la curva, quindi la successione {xn } è monotona e limitata, ...) 6. detto en = |ξ − xn | l’errore assoluto del metodo di Newton per f (x) = 0, in ipotesi di convergenza e per f ∈ C 2 (I), dove I ⊃ {xn } è un intervallo chiuso e limitato in cui f ′ (x) 6= 0, si dimostri la disuguaglianza en+1 ≤ Ce2n con C costante opportuna (traccia: utilizzare la formula di Taylor calcolata nella radice e centrata in xn , insieme alla definizione di {xn }, ...) approfondimento ∗: partendo da tale disuguaglianza, perchè ci si aspetta convergenza locale? ∗∗ si enunci e dimostri rigorosamente un risultato di convergenza locale √ 7. si giustifichi il fatto che nel calcolo di 2 risolvendo l’equazione x2 − 2 = 0 nell’intervallo (1, 2), il metodo di bisezione guadagna in media 1 cifra decimale significativa ogni 3-4 iterazioni, mentre il metodo di Newton raddoppia il numero di cifre significative ad ogni iterazione; questo comportamento vale in generale per entrambi i metodi? (traccia: si ragioni sull’errore relativo, ρn = en /|ξ|; col metodo di Newton ρn+1 ≤ C|ξ|ρ2n , ...) 8. si mostri che il metodo di Newton per il calcolo di a1/k , a > 0, assume la forma xn+1 = k−1 a xn + k−1 , n = 0, 1, 2, . . . k kxn (già nota in antichità come metodo di Erone nel caso della radice quadrata), dove x0 va scelto tale che xk0 > a 9. un metodo convergente ha ordine di convergenza almeno p ≥ 1 se esiste C > 0 tale che en+1 ≤ Cepn 5 e ordine esattamente p se vale en+1 p = L 6= 0 ; n→∞ en lim quindi il metodo di Newton nel caso di uno zero semplice ha ordine almeno 2; quando ha ordine esattamente 2, e quando maggiore di 2? ∗ per p = 1 si osservi in generale che necessariamente L ≤ 1 e che L < 1 oppure C < 1 sono condizioni sufficienti per la convergenza 10. ∗ si dimostri che se un metodo ha ordine di convergenza almeno p > 1 vale la stima 1 pk 1 C p−1 eν+k ≤ C p−1 eν , ν≥0, k≥0 2 (traccia: si dimostri che eν+k ≤ C C p C p . . . C p k−1 k epν = . . . ) 11. si dimostri che in ipotesi di convergenza il numero di iterazioni che garantiscono un errore assoluto ≤ ε (dove ε è una tolleranza) è n ≥ c1 log (ε−1 ) + c2 per il metodo di bisezione e n ≥ c3 log (log (ε−1 )) + c4 per il metodo di Newton, dove c1 , c2 , c3 , c4 sono opportune costanti 12. perché la quantità |xn+1 − xn | (detta “step”) è una buona stima dell’errore assoluto per il metodo di Newton (almeno per n abbastanza grande)? 13. data una stima sn dell’errore di un metodo iterativo convergente, en ≤ sn oppure en ≈ sn , si discuta il significato di un test di arresto delle iterazioni del tipo sn ≤ |xn |εr + εa , dove εa è una tolleranza assoluta ed εr una tolleranza relativa 14. si verifichi l’applicabilità dei metodi di bisezione e di Newton all’equazione x − e−x/5 = 0 15. si studino numericamente le seguenti equazioni “storiche”: • x3 − 2x − 5 = 0 (su questa equazione Newton illustrò il suo metodo) • m = x−E sin x (equazione di Keplero: m è l’anomalia media di un pianeta, E l’eccentricità della sua orbita, x l’anomalia eccentrica; si assuma ad esempio m = 0.8, E = 0.2) (traccia: isolare gli zeri anche graficamente, verificare l’applicabilità dei metodi di bisezione e di Newton, ...) 16. se si applica il metodo di Newton con x0 6= 0 all’equazione sign(x)|x|1/2 = 0 si ottiene una successione “stazionaria”, mentre per sign(x)|x|1/3 = 0 la successione è addirittura divergente; dove sta il problema? 6 17. un risultato di convergenza delle iterazioni di punto fisso: sia φ : I → R derivabile nell’intervallo chiuso I ⊆ R, con (i): φ(I) ⊆ I, e (ii): |φ′(x)| ≤ θ < 1 per ogni x ∈ I; scelto un qualsiasi x0 ∈ I, la successione xn+1 = φ(xn ), n = 0, 1, 2, . . ., converge all’unico punto fisso di φ in I (si faccia vedere usando (ii) e il teorema del valor medio che φ “contrae le distanze” e che il punto fisso è unico in I; si osservi anche che I può essere non limitato, ovvero una semiretta chiusa o anche tutta la retta) (∗∗ traccia della dimostrazione: si provi che valgono le disuguaglianze |xn+p − xn | ≤ (1 + θ + θ2 + . . . + θp−1 )|xn+1 − xn | ≤ (θn /(1 − θ))|x1 − x0 |, da cui si vede che la successione {xn } è di Cauchy, ...) 18. corollario (convergenza locale): sia ξ punto fisso di una funzione φ di classe C 1 in un intorno di ξ, con |φ′(ξ)| < 1; allora la successione delle iterazioni di punto fisso converge a ξ a partire da qualsiasi x0 in un intorno opportuno di ξ (∗ traccia: detto I = [ξ − δ, ξ + δ] un intorno chiuso di ξ in cui |φ′(x)| < 1, che esiste per la permanenza del segno, si applichi il risultato precedente mostrando che φ(I) ⊆ I; chi è θ?) 19. in ipotesi di convergenza, per le iterazioni di punto fisso valgono le stime di errore |xn − ξ| ≤ θn |x0 − ξ| (a priori) |xn − ξ| = |xn+1 − xn | 1 ≤ |xn+1 − xn | (a posteriori) ′ 1 − φ (zn ) 1−θ dove zn ∈ int(xn , ξ); quando ha senso usare il solo step |xn+1 − xn | come stima a posteriori dell’errore? (traccia: per la prima si osservi che |xn+1 − ξ| = |φ(xn ) − φ(ξ)| = |φ′(zn )| |xn − ξ| ≤ . . .; per la seconda si osservi che xn+1 − xn = xn+1 − ξ + ξ − xn = φ′ (zn )(xn − ξ) + ξ − xn , ...) 20. si studi la soluzione delle equazioni x = e−x/5 e x = e−x con le iterazioni di punto fisso (∗∗ per la seconda si isoli la soluzione col teorema degli zeri per applicare un risultato di convergenza locale); con la prima equazione, quante iterazioni occorrono per garantire un errore assoluto < 10−8 ? 21. ordine di convergenza delle iterazioni di punto fisso: si dimostri che un’iterazione di punto fisso xn+1 = φ(xn ), con φ ∈ C p in un intorno di ξ, ha ordine 1 se e solo se φ′ (ξ) 6= 0, e ha ordine p > 1 se e solo se φ(p) (ξ) 6= 0 e φ(j) (ξ) = 0, j = 1, . . . , p − 1 22. perché il metodo di Newton si può interpretare come iterazione di punto fisso? quando ci si aspetta ordine di convergenza p > 2? (traccia: si osservi che il metodo di Newton corrisponde a xn+1 = φ(xn ) con φ(x) = . . . ) 23. ∗ dato il sistema non lineare f (x) = 0, dove f : (Ω ⊆ Rm ) → Rm è un campo vettoriale differenziabile definito su un aperto Ω contenente ξ tale che f (ξ) = 0, 7 il metodo di Newton corrisponde alla linearizzazione iterativa f (xn ) + Jn (x − xn ) = 0 , n ≥ 0 a partire da un opportuno vettore iniziale x0 , dove Jn = Jf (xn ) è la matrice Jacobiana (purché xn ∈ Ω e Jn sia invertibile ad ogni iterazione), ovvero xn+1 = xn − Jn−1 f (xn ) , n ≥ 0 ; in pratica, il metodo viene implementato risolvendo un sistema lineare ad ogni iterazione, Jn vn = −f (xn ), xn+1 = xn + vn ; si dimostra (non richiesto) che vale un risultato di convergenza locale 1.4 Interpolazione e approssimazione di dati e funzioni 1. problema algebrico dell’interpolazione (costruzione): dati n+1 punti (xi , f (xi )), i = 0, . . . , n, sul grafico di una funzione f : [a, b] → R, determinare se esiste ed è unica una funzione fn in una opportuna famiglia di funzioni Fn , tale che fn (xi ) = f (xi ) , i = 0, . . . , n (nel caso di Fn = Pn , lo spazio vettoriale dei polinomi di grado ≤ n, si parla di interpolazione polinomiale, e chiameremo Πn (x) = fn (x) il polinomio interpolatore) 2. problema analitico dell’interpolazione (convergenza): per quali scelte dei nodi {xi } e in quali ipotesi su f si ha convergenza uniforme degli interpolatori, cioè max |fn (x) − f (x)| → 0 , n → ∞ ? x∈[a,b] 3. perché il polinomio interpolatore Πn (x) di grado ≤ n di una funzione f su n + 1 nodi distinti {x0 , x1 , . . . , xn } è unico? 4. si mostri che Πn (x) = n X i=0 Q k6=i (x − xk ) f (xi ) ℓi (x) , ℓi (x) = Q k6=i (xi − xk ) è il polinomio interpolatore su n + 1 nodi distinti {x0 , x1 , . . . , xn } (si tratta della coiddetta “forma di Lagrange” del polinomio interpolatore) 5. il problema di interpolazione polinomiale di grado n su n+1 nodi è equivalente al sistema lineare V a = y, dove V = (vij ) = (xji ), 0 ≤ i, j ≤ n è detta “matrice di Vandermonde” dei nodi di interpolazione, a = (a0 , . . . , an )t e y = (y0 , . . . , yn )t , yi = f (xi ) 8 6. ∗ perché nell’interpolazione polinomiale esistenza per ogni vettore di valori campionati nei nodi ed unicità sono equivalenti? (traccia: il problema è equivalente ad un sistema lineare con matrice V , l’unicità significa che l’applicazione lineare associata a V è iniettiva cioè il nucleo di V è il vettore nullo, ...) 7. ∗ si ricavi la forma di Lagrange dell’errore di interpolazione di grado n per f ∈ C n+1 [a, b] (si noti l’analogia con il resto della formula di Taylor) En (x) = f (x) − Πn (x) = f (n+1) (η) (x − x0 ) . . . (x − xn ) (n + 1)! dove η ∈ int(x, x0 , . . . , xn ) (traccia: si utilizzi la funzione (di variabile z) G(z) = En (z)−ω(z)(En (x)/ω(x)), x 6∈ {x0 , x1 , . . . , xn } fissato, e si applichi ripetutamente il teorema di Rolle) 8. ∗ partendo dalla forma di Lagrange dell’errore di interpolazione polinomiale di grado n per f ∈ C n+1 [a, b], si può dimostrare (dim. non richiesta) che il massimo errore nel caso di nodi equispaziati è ≤ maxx∈[a,b] {|f (n+1) (x)|} hn+1 /(4(n + 1)) dove h = (b − a)/n; perché da questa stima non si può dedurre la convergenza per f ∈ C ∞ [a, b]? (vedi controesempio di Runge, f (x) = 1/(1+x2 ), x ∈ [−5, 5]) 9. interpolazione di Chebyshev: abbiamo visto che in generale i polinomi interpolatori non convergono alla funzione campionata (controesempio di Runge su nodi equispaziati); scelte speciali dei nodi però assicurano tale convergenza, è il caso ad esempio dell’interpolazione polinomiale su nodi di Chebyshev, del tipo iπ b+a b−a , 0≤i≤n − cos xi = 2 2 n oppure b+a b−a (2i + 1)π xi = , 0≤i≤n; − cos 2 2 2n + 2 si noti che tali nodi non sono equispaziati ma si accumulano più rapidamente agli estremi dell’intervallo [a, b]; la prima famiglia corrisponde alla proiezione su [a, b] di punti equispaziati sulla semicirconferenza di centro (a + b)/2 e raggio (b − a)/2, la seconda agli n + 1 zeri (opportunamente traslati e scalati) della funzione Tn+1 (t) = cos((n + 1) arccos(t)), t ∈ (−1, 1), che è un polinomio (∗∗), il cosiddetto polinomio di Chebyshev di grado n + 1. Per questo tipo di nodi si può dimostrare (dim. non richiesta) che per ogni f ∈ C k [a, b], k ≥ 1, esiste una costante Mk tale che max |f (x) − Πn (x)| ≤ Mk x∈[a,b] log(n) , nk e quindi si ha convergenza uniforme per n → ∞ (in particolare per la funzione del controesempio di Runge) 9 10. ∗ si mostri che la “risposta alle perturbazioni” Pn su f dell’interpolazione polinomiale è legata alla quantità Λn = maxx∈[a,b] i=0 |ℓi (x)| (costante di Lebesgue), dove gli {ℓi } sono i polinomi elementari di Lagrange; si osservi che Λn dipende solo dai nodi di interpolazione; si può dimostrare (dim. non richiesta) che la crescita di Λn è esponenziale in n per i nodi equispaziati (instabilità), mentre è logaritmica per i nodi di Chebyshev (traccia: P si utilizzi la forma di Lagrange del polinomio interpolatore, detto Π̃n (x) = ni=0 f˜(xi )ℓi (x) il polinomio interpolatore sui dati perturbati {f˜(xi )} dove |f˜(xi ) − f (xi )| ≤ ε, si ha |Π̃n (x) − Π(x)| ≤ ...) 11. è noto che per qualsiasi distribuzione di nodi la costante di Lebesgue ha crescita 2n almeno logaritmica, Λn ≥ c1 log n, che per i nodi equispaziati Λn ∼ c2 n log (inn stabilità), mentre per i nodi di Chebyshev Λn = O(log n) (c1 e c2 sono opportune costanti) 12. si dimostri che l’interpolazione lineare a tratti (disegnarla) converge uniformemente per f ∈ C 2 [a, b] con un errore O(h2 ), dove x0 = a < x1 < . . . < xn = b, h = maxi ∆xi , ∆xi = xi+1 − xi , i = 0, . . . , n − 1 13. ∗ si dimostri che l’interpolazione quadratica a tratti (disegnarla) converge uniformemente per f ∈ C 3 [a, b] con un errore O(h3 ), dove h = maxi ∆xi ; c’è qualche vincolo sul numero di nodi? si utilizzi poi la stima trovata per decidere a priori quanti nodi usare nell’interpolazione quadratica a passo costante di f (x) = sin x in [0, π] per avere un errore < 10−8 (traccia: si utilizzi localmente la stima dell’errore di interpolazione polinomiale a passo costante) 14. nell’interpolazione spline di grado k su x0 = a < x1 < . . . < xn = b, si cerca Sk ∈ C k−1 [a, b] tale che Sk ristretta a [xi , xi+1 ] sia un polinomio di grado al più k e Sk (xi ) = f (xi ); chi sono le incognite in questo problema, quante sono le equazioni (vincoli)? nel caso cubico, come si ottiene un sistema quadrato? 15. dato un campionamento {(xi , yi )}1≤i≤N , nell’approssimazione ai minimi quadrati invece di interpolare si P cerca un polinomio p di grado m < N tale che la somma 2 degli scarti quadratici N i=1 (yi − p(xi )) sia minima, ovvero si risolve il problema di minimo in m + 1 variabili min m+1 a∈R N X i=1 2 (yi − (a0 + a1 xi + . . . + am xm i )) Si può dimostrare che questo problema ha soluzione unica, calcolabile risolvendo sistema lineare V t V a = V t y, dove V = (vij ) = (xji ), 1 ≤ i ≤ N, 0 ≤ j ≤ m è una matrice di Vandermonde rettangolare N × (m + 1) e V t V è una matrice (m+1)×(m+1) simmetrica e definita positiva (traccia: si tratta della soluzione ai minimi quadrati del sistema sovradeterminato V a = y, vedi la sezione 1.6) 10 1.5 Integrazione e derivazione numerica 16. ∗ si dimostri che, per f ∈ C s+1[a, b], le formule di quadratura “composte” ottenute integrando un’interpolante polinomiale a tratti di grado locale fissato s costruita su un campionamento {(xi , f (xi ))}, i = 0, . . . , n, sono convergenti con un errore che è almeno O(hs+1 ), dove h = max ∆xi (c’è qualche vincolo sul numero di nodi?) 17. ∗ si verifichi che le formule di quadratura interpolatorie (quelle ottenute integrando un unico Pn polinomio interpolatore su tutti i nodi) hanno la forma di somma pesata i=0 wi f (xi ), dove i {wi } sono opportuni pesi (traccia: si utilizzi la formula di interpolazione di Lagrange; ∗∗ lo stesso vale anche per le formule composte, che sono localmente “interpolatorie”, cioè ottenute integrando un singolo polinomio interpolatore di grado s in [xks , x(k+1)s ], k = 0, . . . , (n : s) − 1) con n multiplo di s) 18. si ricavino la formula di quadratura composta di grado 1, detta dei trapezi, e ∗ la formula di quadratura composta di grado 2, detta di Cavalieri-Simpson (o delle parabole), nel caso di campionamento a passo costante 19. l’interpolazione spline cubica può essere usate per approssimare integrali e derivate di una funzione campionata? (traccia.: si ricordi la stima dell’errore in norma infinito per f ∈ C 4 [a, b] (j) max |f (j) (x) − S3 (x)| ≤ cj h4−j , 0 ≤ j ≤ 3 x∈[a,b] dove cj sono costanti (in h = max ∆xi ) dipendenti da f ; si osservi che le derivate di S3 approssimano le derivate di f ma non sono in generale interpolanti) 20. data una formula di approssimazione φ(h) di una quantità φ0 , con la struttura φ(h) = φ0 + chp + O(hq ), q > p > 0, utilizzando opportune combinazioni lineari di φ(h) e φ(h/2) si ricavino: • una stima a posteriori della parte principale dell’errore chp • una nuova approssimazione con errore di ordine O(hq ) (estrapolazione) approfondimento ∗∗: come si potrebbe iterare il procedimento di estrapolazione per φ(h) = φ0 +c1 hp1 +c2 hp2 +. . .+cm hpm +O(hq ), 0 < p1 < p2 < . . . < pm < q? (traccia: si utilizzi una sequenza di passi h, h/2, h/4, . . .) 21. si verifichi che il rapporto incrementale standard δ+ (h) = (f (x + h) − f (x))/h e quello “simmetrico” δ(h) = (f (x + h) − f (x − h))/(2h) hanno la struttura dell’esercizio precedente per f sufficientemente regolare (traccia: si utilizzi la formula di Taylor; in particolare, chi sono p e q per δ(h) con f ∈ C 5 )? si applichi l’esercizio precedente a vari esempi, controllando l’accuratezza delle approssimazioni e delle stime dell’errore 11 22. perché √ nella derivazione numerica con δ+ (h) conviene prendere un passo dell’ordine di ε, dove ε è il massimo errore su f ? e nel caso si usi δ(h)? 23. si rifletta sull’instabilità intrinseca dell’operazione funzionale di derivazione (fare un esempio) e sul fatto che l’operazione di integrazione invece è stabile; perchè l’effetto dell’instabilità viene mitigato usando formule di derivazione numerica con errore di ordine maggiore? ad es. con δ(h) invece di δ+ (h), oppure applicando l’estrapolazione (∗ traccia: detto ε l’errore su f , l’errore effettivo delle formule ha una stima del tipo E(h) = O(hp ) + O(ε/h), ...) 24. detta T (h) la formula di quadratura composta dei trapezi a passo costante e Rb sapendo che T (h) = a f (x) dx + ch2 + O(h4 ) per f ∈ C 4 [a, b], si calcolino stima a posteriori dell’errore e formula di estrapolazione (detta formula di Romberg) su vari esempi di funzioni integrabili elementarmente, confrontando con l’errore effettivo (traccia: per l’errore T (h) − T (h/2) = 43 ch2 + O(h4 ), ...; per l’estrapolazione Rb 4T (h/2) − T (h) = 3 a f (x) dx + O(h4 ), ...) 25. ∗ abbiamo visto che la “risposta alle perturbazioni”P su f dell’interpolazione polinomiale è legata alla quantità Λn = maxx∈[a,b] ni=0 |ℓi (x)| (costante di Lebesgue), Pdove gli {ℓi } sono i polinomi elementari di Lagrange; si mostri che la quantità ni=0 |wi | svolge un ruolo analogo nel caso delle formule di quadratura interpolatorie e composte; perché in particolare le formule interpolatorie e composte con pesi positivi sono sicuramente stabili? (traccia: tali formule sono esatte sui polinomi costanti, ...) 1.6 Algebra lineare numerica 1. ∗ stime di condizionamento (risposta della soluzione di un sistema lineare agli errori sul vettore termine noto): dato il sistema quadrato Ax = b con det(A) 6= 0, b 6= 0 e il sistema perturbato A(x + δx) = b + δb, si mostri che vale la stima kδxk kδbk ≤ k(A) kxk kbk dove k(A) = kAk kA−1 k è l’indice di condizionamento di una matrice invertibile nella norma matriciale indotta dalla norma vettoriale (traccia: si utilizzi la disuguaglianza fondamentale valida per ogni norma matriciale indotta kAxk ≤ kAk kxk) 2. si può dimostrare (dim. non richiesta) che per un sistema in cui anche la matrice sia affetta da errori, (A + δA)(x + δx) = b + δb, se kk(A)k kδAk < kAk, vale la stima kδAk kδbk k(A) kδxk ≤ + kxk 1 − k(A)kδAk/kAk kAk kbk 12 3. ∗∗ teorema fondamentale di invertibilità: data una norma matriciale in Cm×m tale che kABk ≤ kAk kBk (come sono tutte le norme indotte da norme vettoriali, ovvero kAk = supx6=0 kAxk/kxk = supkxk=1 kAxk), se kAk < 1 allora I − A è invertibile e si ha ∞ X 1 (I − A)−1 = Aj , k(I − A)−1 k ≤ 1 − kAk j=0 P P P (sugg.: k nj=m Aj k ≤ nj=m kAkj e la serie geometrica kAkj è convergente e quindi di Cauchy, ... ; nel caso kAk sia indotta da una norma vettoriale, la dimostrazione di invertibilità e la stima si possono fare in modo più diretto osservando che k(I − A)xk ≥ kxk − kAxk > 0, e se x è autovettore di I − A ...; detta poi S = (I − A)−1 si ha 1 = kS(I − A)k ≥ kSk − kSAk ≥ ...). (applicazione: si utilizzi il teorema fondamentale di invertibilità per dimostrare la stima generale di condizionamento del punto precedente; sugg: partendo da (A + δA)δx = δb − δAx e osservando che (A + δA) = A(I + A−1 δA) con kA−1 δAk ≤ kA−1 k kδAk < 1, ...). 4. si dimostri che k(A) ≥ |λmax |/|λmin | ≥ 1 con qualsiasi norma matriciale indotta, dove λmax e λmin sono gli autovalori di modulo massimo e minimo della matrice invertibile A; per le matrici simmetriche k2 (A) = kAk2 kA−1 k2 = |λmax |/|λmin | (traccia: se λ è autovalore di A e v 6= 0 autovettore corrispondente, da Av = λv, si ricava immediatamente |λ| = kAvk/kvk ≤ kAk; si ricordi poi che gli autovalori dell’inversa sono i reciproci degli autovalori di A, ...; si ricordi che in generale gli autovalori di A2 sono i quadrati degli autovalori di A, per A simmetrica At A = A2 , ...) 5. ∗∗ la soluzione di sistemi lineari con matrici fortemente mal condizionate (nelle applicazioni non è infrequente avere indici di condizionamento k(A) ≈ 1010 , 1020 o anche superiori) deve essere affrontata con metodi speciali; schematizzando e semplificando, si può dire che molti metodi corrispondono a sostituire il sistema di partenza con una opportuna famiglia parametrizzata di sistemi Ah xh = b tali che ε(h) = kx − xh k → 0, k(Ah ) < k(A) e k(Ah ) → k(A) per h → 0; dati i sistemi con termine noto perturbato Ah (xh + δxh ) = b + δb si ha allora una stima kx − (xh + δxh )k kx − xh k kδxh k ε(h) kδbk ≤ + ≤ + (1 + ε(h)) k(Ah ) kxk kxk kxk kxk kbk da cui si vede che conviene minimizzare in h: come nella derivazione numerica con formule alle differenze, non conviene prendere il parametro h troppo grande (perché si è distanti da x) e neppure troppo piccolo (perché il condizionamento di Ah diventa troppo vicino a quello di A) 13 6. quali sono gli scopi del pivoting nel metodo di eliminazione gaussiana? (si pensi al caso in cui un elemento diagonale diventa nullo, oppure molto piccolo in modulo) 7. si mostri che il costo computazionale della soluzione di un sistema con matrice triangolare è O(n2 ) flops 8. si può dimostrare (dim. non richiesta) che il metodo di eliminazione gaussiana con pivoting per righe produce per matrici non singolari una fattorizzazione P A = LU (dove P è una matrice di permutazione corrispondente agli scambi di righe, L è triangolare inferiore con 1 sulla diagonale e U è triangolare superiore); come si risolve in sistema Ax = b utilizzando la fattorizzazione P A = LU? 9. perchè la fattorizzazione P A = LU calcolata in aritmetica di macchina è estremamente accurata (cioè, gli elementi di LU coincidono alla precisione di macchina con quelli di P A), ma per certe matrici (vedi matrice di Hilbert) la soluzione di sistemi ottenuta con tale fattorizzazione risulta molto poco accurata (se non addirittura completamente sbagliata)? 10. come si può utilizzare la fattorizzazione P A = LU fornita dal metodo di eliminazione con pivoting per righe, per calcolare l’inversa di una matrice? si osservi che il costo computazionale complessivo è O(n3 ) flops (traccia: le colonne di una matrice si ottengono moltiplicando la matrice per i vettori coordinati, quindi le colonne di A−1 corrispondono alle soluzioni dei sistemi ...) 11. sia A ∈ Rm×n , m > n, una matrice di rango massimo: si mostri che calcolare la soluzione ai minimi quadrati del sistema sovradeterminato Ax = b (che in generale non ha soluzione classica, perché?) min kAx − bk22 = minn x∈Rn x∈R m X i=1 bi − n X j=1 aij xj !2 è equivalente a risolvere il sistema con matrice simmetrica definita positiva At Ax = At b (detto “sistema delle equazioni normali”) (traccia: ∗ si osservi che x minimizza il polinomio quadratico φ(x) = kAx − bk22 se e solo se per ogni v ∈ Rn si ha φ(x) ≤ φ(x + v) ovvero sviluppando i calcoli 2v t At (Ax − b) + v t At Av ≥ 0, e posto v = εu con kuk2 = 1, per ε → 0 ...; per provare che At A è definita positiva, si osservi che (At Av, v) = (Av, Av) ≥ 0 per ogni v ∈ Rn , ...) 12. si ottenga il sistema delle equazioni normali come condizione necessaria di estremalità, annullando il gradiente di φ (chi è la matrice Hessiana di φ?) 13. si reinterpreti l’approssimazione polinomiale ai minimi quadrati come soluzione ai minimi quadrati di un sistema sovradeterminato (traccia: chi è la matrice A? per provare che ha rango massimo, si ricordi che una 14 matrice quadrata di Vandermonde corrispondente a nodi distinti è non singolare, quindi considerando una sottomatrice quadrata della matrice di Vandermonde rettangolare ...) 14. sia A ∈ Rm×n , m ≥ n, una matrice di rango massimo: allora si può dimostrare (dim. non richiesta) che A ammette una fattorizzazione A = QR, dove Q ∈ Rm×n è una matrice ortogonale (ovvero le colonne di Q sono vettori ortonormali, cioè Qt Q = I) e R è una matrice triangolare superiore non singolare (si tratta in sostanza di un procedimento equivalente all’ortogonalizzazione di Gram-Schmidt delle colonne di A: la matrice R−1 , che resta triangolare superiore, è la matrice dei coefficienti dell’ortogonalizzazione) 15. come si può applicare la fattorizzazione QR alla soluzione di sistemi sovradeterminati? (traccia: utilizzando A = QR, non è necessario calcolare la matrice At A perché At A = Rt R, ...) 16. cond. suff. per la convergenza delle approssimazioni successive: un sistema quadrato della forma x = Bx + c con kBk < 1 (in una norma matriciale indotta da una norma vettoriale) ha soluzione unica che si può ottenere come limite della successione di approssimazioni successive vettoriali {xk } definita da xk+1 = Bxk + c , k = 0, 1, 2, . . . a partire da un qualsiasi vettore iniziale x0 (traccia: il sistema ha soluzione unica se e solo se I − B è invertibile, e gli autovalori di I − B sono del tipo µ = 1 − λ con λ autovalore di B e quindi |λ| ≤ kBk < 1, ...; scrivendo x−xk+1 = B(x−xk ) si ottiene la stima kx−xk+1 k ≤ kBk kx − xk k, ...) 17. cond. nec. e suff. per la convergenza delle approssimazioni successive: il metodo delle approssimazioni successive xk+1 = Bxk + c, k ≥ 0, converge alla soluzione di x = Bx + c per qualsiasi scelta dei vettori x0 e c se e solo se ρ(B) < 1 (dove ρ(B) è il “raggio spettrale” della matrice quadrata B, ovvero il max dei moduli degli autovalori); dimostrazione non richiesta 18. dato uno splitting di una matrice quadrata, A = P − N, con det(P ) 6= 0, il sistema Ax = b si può scrivere nella forma x = Bx + c dove B = P −1 N e c = P −1 b. Esempi di corrispondenti metodi delle approssimazioni successive nell’ipotesi aii 6= 0 ∀i sono (posto A = D − (E + F ), dove D è la parte diagonale di A ed −E, −F le parti triangolare inferiore e superiore di A − D) • il metodo di Jacobi: P = D, N = E + F • il metodo di Gauss-Seidel: P = D − E, N = F Si scrivano per componenti tali metodi, e si dimostri che il metodo di Jacobi è convergente per matrici diagonalmente dominanti in senso stretto; si può dimostrare (dim. non richiesta) che anche il metodo di Gauss-Seidel converge in 15 tale ipotesi nonché per matrici simmetriche definite positive (traccia: si consideri la norma infinito della matrice di iterazione B del metodo di Jacobi, ...) 19. ∗∗ il metodo delle approssimazioni successive si può riscrivere come xk+1 = (I − P −1 A)xk + P −1 b = xk + P −1 r(xk ) (dove r(xk ) = b − Axk è il vettore “residuo” al passo k-esimo); il ruolo della matrice P −1 può essere visto come quello di “precondizionatore”: l’azione di P −1 è efficace quando P −1 ≈ A−1 , nel senso che gli autovalori di P −1 A si accumulano intorno ad 1 (e nel contempo dato un vettore v, il calcolo di z = P −1 v, ovvero la soluzione del sistema P z = v, ha basso costo computazionale); vari metodi introducono un parametro di rilassamento α, xk+1 = xk + αP −1r(xk ), che aumenti l’efficacia del precondizionatore (cercando di diminuire o addirittura minimizzare il raggio spettrale di B(α) = I − αP −1A) 20. test di arresto del residuo: dato un qualsiasi metodo iterativo convergente per la soluzione di un sistema lineare non singolare Ax = b con b 6= 0, si mostri che vale la seguente stima dell’errore relativo kr(xk )k kx − xk k ≤ k(A) kxk kbk 21. ∗ metodo delle potenze per il calcolo degli autovalori estremali: data una matrice diagonalizzabile A ∈ Rm×m , con un unico autovalore di modulo massimo (di qualsiasi molteplicità), e la successione di vettori xn+1 = Axn , n ≥ 0 dove x0 abbia componente non nulla nell’autospazio corrispondente, i quozienti di Rayleigh R(xn ) = (Axn , xn )/(xn , xn ) (dove (x, y) è il prodotto scalare euclideo di x, y ∈ Rm ) convergono a tale autovalore e xn /kxn k2 tende ad un autovettore (normalizzato) corrispondente; come si può modificare il metodo per calcolare l’autovalore di modulo minimo quando A è non singolare? (sugg.: si scriva x0 nella base di autovettori, ...; per l’autovalore di modulo minimo, si osservi che gli autovalori di A−1 sono ...). 1.7 Differenze finite per equazioni differenziali 1. dato un problema ai valori iniziali y ′ = f (t, y), t ∈ [t0 , tf ]; y(t0 ) = a, con f di classe C 1 tale che |∂f /∂y| ≤ L, si dimostri che la “legge di propagazione” dell’errore en = |yn − y(tn )| dei metodi di Eulero esplicito yn+1 = yn + hf (tn , yn ) , 0 ≤ n ≤ N − 1 ed Eulero implicito yn+1 = yn + hf (tn+1 , yn+1 ) , 0 ≤ n ≤ N − 1 su una discretizzazione a passo costante h = (tf − t0 )/N, tn = t0 + nh, è del tipo en+1 ≤ αen + δn+1 , δn+1 = δn+1 (h) = O(h2 ) 16 dove α = α(h) = (1 + hL) nel caso puramente Lipschitziano, oppure α = 1 nel caso dissipativo (−L ≤ ∂f /∂y ≤ 0) senza vincoli sul passo per Eulero implicito e con il vincolo h ≤ 2/L per Eulero esplicito (traccia (∗): per Eulero esplicito si usi la sequenza ausiliaria un+1 = y(tn ) + hf (tn , y(tn )) e la scrittura yn+1 −y(tn+1 ) = yn+1 −un+1 +un+1 −y(tn+1 ), δn+1 (h) = |un+1 − y(tn+1 )|, ricorrendo poi al teorema del valor medio per il primo addendo e alla formula di Taylor per il secondo ...; analogamente per Eulero implicito con la sequenza ausiliaria un+1 = y(tn+1) + hf (tn+1 , y(tn+1)), ...) 2. si deduca dall’esercizio precedente che l’errore globale dei metodi di Eulero è N max en ≤ α e0 + max {δn } 0≤n≤N 1≤n≤N N −1 X n=0 αn ≤ c1 e0 + c2 h , stimando le costanti c1 e c2 nei casi Lipschitziano e dissipativo 3. (∗∗) dopo aver individuato un opportuno modello di “metodo perturbato” che fornisca una sequenza ỹn ≈ yn per Eulero esplicito ed implicito tenendo conto degli errori introdotti ad ogni passo, si studi la stabilità dei due metodi nei casi Lipschtiziano e dissipativo, ottenendo una “legge di propagazione” degli errori e una stima dell’effetto globale di tali errori. Ci si aspetta che max |ỹn −y(tn )| → 0 per h → 0? 4. il metodo di Crank-Nicolson (o trapezoidale) yn+1 = yn + (h/2)[f (tn , yn ) + f (tn+1 , yn+1)] ha ordine di approssimazione locale δn+1 (h) = O(h3 ) per f ∈ C 2 (traccia: il si ricava applicando alla rappresentazione integrale y(tn+1 ) − y(tn ) = Rmetodo tn+1 ′ y (t) dt la formula di quadratura del trapezio) tn 5. dato il problema test y ′ = λy + b(t) , t > 0 ; y(0) = y0 dove g ∈ C[0, +∞) e λ ∈ C, Reλ ≤ 0 (problema “stiff”), qual’è l’effetto sulla soluzione di un errore ε0 = |y0 − ỹ0 | sul dato iniziale? si verifichi poi che la propagazione di un errore ε0 sul dato iniziale per una discretizzazione a passo costante h > 0 della semiretta è del tipo εn = (φ(hλ))n ε0 , n > 0 per i metodi di Eulero (esplicito ed implicito) e per il metodo di Crank-Nicolson. Quale è la regione di stabilità di ciascun metodo, ovvero {z ∈ C : φ(z) ≤ 1}? Quale dei tre metodi è stabile senza vincoli sul passo? 17 6. ∗ si estenda l’analisi dell’esercizio precedente al caso del sistema test y ′ = Ay + b(t) , t > 0 ; y(0) = y0 dove y(t), y0, b(t) ∈ Rm e A ∈ Rm×m è una matrice costante diagonalizzabile con autovalori di parte reale non positiva (sistema “stiff”) (traccia: lavorando nella base di autovettori di A ...) 7. dato il problema ai valori al contorno u′′ (x) − cu(x) = f (x) , x ∈ (a, b) ; u(a) = u(b) = 0 dove c è una costante positiva, si assuma che la soluzione u sia di classe C 4 [a, b] e si consideri una discretizzazione dell’intervallo a passo costante h = (b−a)/(n+ 1), con nodi xi = a+ih, 0 ≤ i ≤ n+1. Tramite l’approssimazione della derivata seconda ottenuta con le differenze centrate u′′ (x) ≈ δh2 u(x) = u(x + h) − 2u(x) + u(x − h) h2 si vede che il vettore {u(xi )}1≤i≤n soddisfa un sistema lineare del tipo A{u(xi )} = {g(xi )} + {εi } dove A ∈ Rn×n è una matrice tridiagonale con −2h−2 − c sulla diagonale principale e h−2 sulle due diagonali adiacenti, e |εi | ≤ Mh2 (sugg.: si utilizzi la formula di Taylor di centro xi in xi − h = xi−1 e xi + h = xi+1 ). La matrice A risulta simmetrica e definita negativa, con autovalori nell’intervallo [−(c + 4h−2 ), −c] (si usi il teorema di Gershgorin per la localizzazione degli autovalori, ovvero: Sm P m×m se λ è autovalore di A ∈ C allora λ ∈ i=1 C[aii , ri ], ri = j6=i |aij |, dove C[a, r] è il cerchio complesso chiuso di centro a ∈ C e raggio r). Detto {ui } il vettore soluzione del sistema lineare A{ui } = {g(xi )} si provi che vale la stima k{ui } − {u(xi )}k2 √ = O(h2 ) n (sugg.: si ha che kA−1 k2 ≤ 1/c, √ il modo di misurare l’errore √ ...); si osservi che è giustificato da k{u(xi )}k2 / n ≈ kukL2(a,b) / b − a. Il sistema può essere agevolmente risolto con il metodo di eliminazione di Gauss, che in questo caso ha complessità O(n) (perché?) Come va modificato il sistema per condizioni al contorno del tipo u(a) = α, u(b) = β? 8. nel caso di c = 0 (equazione di Poisson unidimensionale) si può ancora far vedere (non richiesto) che A è definita negativa, perch‘’e i suoi autovalori appartengono all’intervallo [−4h−2 , −δ], con un opportuno δ > 0 indipendente da h 18 9. ∗ dato il problema ai valori al contorno ∆u(P ) − cu(P ) = f (P ) , P = (x, y) ∈ Ω = (a, b) × (c, d) ; u|∂Ω ≡ 0 dove ∆ = ∂/∂x2 + ∂/∂y 2 è l’operatore laplaciano e c è una costante positiva, si assuma che la soluzione u sia di classe C 4 (Ω) e si consideri una discretizzazione del rettangolo con passo h = (b − a)/n nella direzione x e k = (d − c)/m nella direzione y, con nodi Pij = (xi , yj ), xi = a + ih, 0 ≤ i ≤ n + 1, yj = c + jk, 0 ≤ j ≤ m + 1. Discretizzando l’operatore di Laplace tramite lo schema alle differenze “a croce” 2 2 2 δh,k u(P ) = δx,h u(P ) + δy,k u(P ) ≈ ∆u(P ) si vede che il vettore {u(Pij )}1≤i≤n,1≤j≤m soddisfa un sistema lineare del tipo A{u(Pij )} = {g(Pij )} + {εij } dove A ∈ Rnm×nm e |εij | ≤ M1 h2 + M2 k 2 . La struttura della matrice dipende dalla numerazione dei nodi: utilizzando l’ordinamento lessicografico delle coppie (i, j), si vede che la matrice risulta simmetrica, tridiagonale a blocchi con una diagonale di blocchi n × n che sono matrici tridiagonali con −c − 2(h−2 + k −2 ) sulla diagonale principale e h−2 sulle due diagonali adiacenti, e due diagonali adiacenti di blocchi n × n che sono matrici diagonali con k −2 sulla diagonale principale. Inoltre σ(A) ⊂ [−(c + 4(h−2 + k −2 )), −c], quindi A è definita negativa (questo è vero (NR) anche per c = 0, equazione di Poisson bidimensionale). Detto {uij } il vettore soluzione del sistema lineare A{uij } = {g(Pij )} si provi che vale la stima k{uij } − {u(Pij )}k2 √ = O(h2 ) + O(k 2 ) nm p √ (si osservi che k{u(Pij )}k2 / nm ≈ kukL2(Ω) / mis(Ω)). In questo caso il metodo di eliminazione di Gauss non è conveniente (perché?), essendo A fortemente sparsa (su ogni riga ci sono al massimo 5 elementi non nulli) e tendenzialmente di grande dimensione sono più adatti metodi iterativi, opportunamente precondizionati visto che A è mal condizionata, k2 (A) = O(h−2 + k −2 ) (sugg.: si usi il teorema di Gershgorin per stimare il condizionamento di A) 10. metodo delle linee per l’equazione del calore: dato il problema evolutivo alle derivate parziali con condizioni iniziali e al contorno ∂u (P, t) = σ∆u(P, t) + g(P, t) , (P, t) ∈ Ω × (0, +∞) ∂t u(P, 0) = u0 (P ) , u(P, t)|P ∈∂Ω ≡ 0 19 nel caso unidimensionale con P = x ∈ Ω = (a, b) o bidimensionale con P = (x, y) ∈ Ω = (a, b) × (c, d), la discretizzazione nelle variabili spaziali tramite ∆u ≈ δ 2 u, posto rispettivamente y(t) = {ui (t)} ≈ {u(xi , t)} o y(t) = {uij (t)} ≈ {u(Pij , t)}, porta ad un sistema di equazioni differenziali ordinarie nel tempo y ′ = Ay + b(t) , t > 0 ; y(0) = y0 dove A è la matrice di discretizzazione del laplaciano vista sopra (tridiagonale o tridiagonale a blocchi). Si mostri che il metodo di Eulero esplicito è stabile con un passo temporale dell’ordine del quadrato dei passi spaziali, mentre i metodi di Eulero implicito e di Crank-Nicolson sono incondizionatamente stabili. (sugg.: essendo la matrice A simmetrica e definita negativa si tratta di un sistema stiff, ...) 11. ∗∗ la soluzione dell’equazione del calore discretizzata nello spazio col metodo delle linee si può scrivere esplicitamente usando l’esponenziale di matrice come Z t y(t) = exp(tA)y0 + exp((t − s)A) b(s) ds , 0 P dove exp(B) = j≥0 B j /j! con B matrice quadrata. Nel caso in cui g(P, t) = g(P ) è indipendente dal tempo, si ha b(t) ≡ b vettore costante e quindi y(t) = exp(tA)y0 + (exp(tA) − I)A−1 b → −A−1 b , t → +∞ , cioè la soluzione dell’equazione (discretizzata) del calore ha uno stato stazionario asintotico che corrisponde alla soluzione dell’equazione (discretizzata) di Poisson con termine noto −g (si può dimostrare (NR) che questa proprietà vale anche per la soluzione u(P, t)). Nel ricavare la rappresentazione esponenziale della soluzione che d/ds exp(sA) = A exp(sA) (perché?) e di R si usa il fatto −1 conseguenza exp(sA)ds = A exp(sA). La rappresentazione esponenziale della soluzione è alla base di una famiglia di solutori, i cosiddetti integratori esponenziali, che invece di discretizzare il sistema stiff approssimano direttamente gli operatori esponenziali coinvolti. 20