Integrazione numerica Elena Loli Piccolomini Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/ 12 marzo 2012 Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 1 / 51 Outline 1 Polinomi ortogonali 2 Formule di Gauss Calcolo di nodi e pesi nelle formule di Gauss 3 Metodo di Romberg Metodo di estrapolazione Metodo di Romberg 4 Metodi di quadratura adattiva Formula di Simpson adattiva Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 2 / 51 Formule di Gauss Assegnato l’intervallo chiuso e limitato [a, b], nelle formule di quadratura di Newton-Cotes i nodi xi sono prefissati equidistanti tra loro. Con n parametri liberi (i pesi ai ), il grado della formula corrispondente è, in generale, uguale a n − 1. I pesi ai sono calcolati integrando il corrispondente polinomio di interpolazione. Se i nodi non sono prefissati, ci sono allora 2n parametri liberi che possono essere determinati in modo che la formula abbia grado 2n − 1. Nelle formule di quadratura di Gauss sia i nodi che i pesi sono determinati in modo tale che la formula di quadratura abbia grado di precisione più elevato possibile (cioè 2n − 1). I nodi e i pesi possono essere determinati con il metodo dei coefficienti indeterminati ma il sistema corrispondente è non lineare. Alternativamente, i nodi e i pesi della formula di Gauss possono essere ottenuti ricorrendo ai polinomi ortogonali. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 3 / 51 Polinomi ortogonali Sia ω(x) > 0 in [a, b] eccetto al più in un numero finito di punti in cui è Rb nulla. Supponiamo che a ω(x)x k dx sia finito per k = 0, 1, 2, . . . e che Rb µ0 = a ω(x)dx > 0. Si dice prodotto scalare tra due funzioni f (x) e g (x) in [a, b] rispetto alla funzione peso ω(x) la quantità Z < f , g >= b ω(x)f (x)g (x)dx a Due funzioni f(x) e g(x) sono ortogonali rispetto alla funzione peso ω(x) in [a, b] se < f , g >= 0. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 4 / 51 Teorema P La famiglia di polinomi monici ortogonali pn (x) = x n + n−1 ai x i rispetto 0 alla funzione peso ω(x) in [a, b] è univocamente determinata dalla seguente formula di ricorrenza: p0 (x) = 1 p1 (x) = x − ρ0 pi+1 (x) = (x − ρi )pi (x) − τi pi−1 (x), i = 1, 2, . . . con ρi = < xpi , pi > < pi , pi > τi = δi2 = < pi , pi > < pi−1 , pi−1 > Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) i = 0, 1, 2, . . . 12 marzo 2012 5 / 51 I polinomi p0 (x), p1(x), . . . , pn (x) sono linearmente indipendenti su [a, b]. Ogni polinomio q(x) di grado minore o uguale a n si può scrivere come combinazione lineare di essi: q(x) = a0 p0 (x) + a1 p1 (x) + . . . + an pn (x) ove aj = < q, pj > , < pj , pj > j = 0, 1, . . . n Di conseguenza < q, pn >= 0 se q(x) è un polinomio di grado minore di n. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 6 / 51 I polinomi p0 (x), p1(x), . . . , pn (x) sono un sistema di Chebyshev. Cioè p0 (t1 ) . . . pn−1 (t1 ) .. .. . . p0 (tn ) . . . pn−1 (tn ) è non singolare comunque si prendano i punti t1 , . . . , tn in [a, b] Teorema Dato pn (x) ortogonale monico di grado n rispetto ω(x) in [a, b], esso ha nell’intervallo (a, b) n zeri reali distinti. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 7 / 51 Formule di Gauss Nelle formule di quadratura di tipo interpolatorio i nodi x1 , . . . , xn sono punti distinti in [a, b] prefissati. Le formule hanno grado di precisione al più n − 1. Si vogliono derivare nuove formule di quadratura con grado di precisione più alto possibile, scegliendo x1 , . . . , xn in modo che questo sia possibile. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 8 / 51 Se x1 , . . . , xn sono distinti, allora il resto di una formula di quadratura vale Z b E [f ] = ω(x)(x − x1 ) . . . (x − xn )f [x1 , . . . , xn ; x]dx a Poichè per polinomi di grado minore o uguale a n − 1 f [x1 , x2 , . . . xn ; x] = 0, si ha che comunque si scelgano n punti distinti il grado di precisione vale n − 1. Per polinomi di grado r + n − 1, f [x1 , x2 , . . . , xn ; x] è un polinomio di grado r − 1. Pertanto perchè la formula di quadratura abbia grado di accuratezza superiore a n − 1 occorre che Z b ω(x)(x − x1 ) . . . (x − xn )x r −1 dx = 0, r = 1, 2, . . . a Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 9 / 51 Se x1 , . . . , xn sono gli zeri di un polinomio pn (x) monico di grado n ortogonale rispetto la funzione peso ω(x) in [a, b], allora la condizione precedente esprime il fatto che x r −1 deve essere ortogonale a pn (x). Infatti x r −1 è sempre esprimibile come combinazione lineare di polinomi ortogonali rispetto la funzione peso ω(x) in [a, b] di grado minore o uguale a r − 1. Pertanto Z b ω(x)pn (x)x r −1 dx = 0 a per r = 1, . . . , n. Allora se x1 , . . . , xn sono gli zeri di un polinomio pn (x) monico di grado n ortogonale rispetto la funzione peso ω(x) in [a, b], segue che la formula di quadratura interpolatoria basata su x1 , . . . , xn (che sono distinti) diventa di grado 2n − 1, perchè per r = 1, . . . , n, E [f ] = 0. Su tale principio si basano le formule di Gauss. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 10 / 51 Teorema Siano x1 , . . . , xn gli zeri del polinomio monico di grado n ortogonale pn (x) nell’intervallo [a, b] rispetto alla funzione peso ω(x) e sia ω1 , . . . , ωn la soluzione del sistema non singolare di equazioni n X i=1 ωi pk (xi ) = < p0 , p0 >, se k = 0; 0, se k = 1, . . . , n − 1. Allora ωi > 0 per i = 1, . . . , n e la formula di quadratura n X ωi f (xi ) i=1 ha grado di precisione 2n − 1. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 11 / 51 dimostrazione Dati x1 , . . . , xn zeri distinti di pn (x) si costruiscono i pesi di una formula di quadratura interpolatoria basata su tali punti che ha quindi grado di precisione n − 1: Z ωi = b Z ω(x)Li (x)dx = a b ω(x) a pn (x) dx (x − xi )pn0 (xi ) Poichè la formula è esatta per polinomi di grado minore o uguale di n − 1, si ha: Z b n X < p0 , p0 >, se k = 0; ωi pk (xi ) = ω(x)pk (x)dx = 0, se k = 1, . . . , n − 1. a i=1 Poichè la matrice A = (ai,k = pk (xi ) è non singolare, i wi sono univocamente determinati. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 12 / 51 Dato qs (x) polinomio di grado s, n ≤ s ≤ (2n − 1) vale qs (x) = pn (x)qs−n (x) + r (x) con r (x) polinomio di grado minore di n − 1. Allora qs (xi ) = r (xi ), i = 1, . . . , n. Inoltre Z b Z b =0+ b pn (x)qs−n (x)ω(x)dx + ω(x)qs (x)dx = a Z a n X i=1 ω(x)r (x)dx a ω − ir (xi )dx = n X ωi qs (x) i=1 dunque la formula è esatta per polinomi di grado al più 2n − 1 Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 13 / 51 R 2 = (x − x )2 . . . (x − x )2 , vale b ω(x)p (x)2 dx > 0. ma Se p(x) = p (x) n 1 n n a Pn 2 la formula non è esatta per polinomi di grado i=1 ωi pn (xi ) = 0 dunque 2 n (x) . Il grado del polinomio è 2n − 2. Dunque la n. Sia p(x) = px−x i formula è esatta: Z b n X pn (x) 2 pn (x) 2 0< ω(x) dx = ωk dx x − xi x − xi a n n X Y k=1 j=1,j6=i (xk − xj )2 = ωi k=1 n Y (xi − xj )2 j=1,j6=i Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 14 / 51 Teorema Se x1 , . . . , xn sono distinti e ω1 , . . . , ωn sono tali che la formula di quadratura ha grado di precisione 2n − 1, allora ωi sono soluzioni del sistema non singolare di equazioni n X i=1 ωi pk (xi ) = < p0 , p0 >, se k = 0; 0, se k = 1, . . . , n − 1. e gli xi sono zeri di un polinomio ortogonale rispetto a ω(x) in [a, b]. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 15 / 51 Teorema Sia f ∈ C 2n [a, b]. Allora il resto R(f ) della formula di Gauss assume l’espressione b Z ω(x)f (x)dx = a f (2n) (ξ) R(f ) = 2n! n X ωi f (xi ) + R(f ) i=1 b Z ω(x)pn (x)2 dx a Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 16 / 51 Stabilità e convergenza Le formule di quadratura di Gauss, essendo formule di quadratura interpolatorie con pesi positivi, sono stabili e convergenti per ogni f ∈ C [a, b]. Infatti Z b n n X X (n) (n) αn = |ωk | = ωk = ω(x)dx costante i=1 i=1 a Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 17 / 51 Famiglie di formule di quadratura di Gauss A seconda del tipo di funzione peso ω(x) e dell’intervallo [a, b] sono generate famiglie di formule di quadratura Per passare ad intervalli di integrazione generici [α, β] si può fare il cambiamento di variabile da x ∈ [α, β] a t ∈ [a, b]: t= (b − a)x + aβ − bα β−α Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 18 / 51 Sono generate famiglie di formule di quadratura associate a polinomi ortogonali classici. [a, b] [−1, 1] [−1, 1] [0, ∞] [−∞, ∞] ω(x) √1 1/ 1 − x 2 e −x 2 e −x famiglia di formule Gauss-Legendre Gauss-Chebyshev Gauss-Laguerre Gauss-Hermite Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 19 / 51 Polinomi di Legendre I polinomi di Legendre Pn (x) sono polinomi ortogonali su [−1, 1] rispetto alla funzione peso w (x) = 1. Usualmente sono scalati in maniera da avere Pn (1) = 1 per ogni n. In questo caso essi soddisfano alla seguente formula ricorrente P0 (x) = 1, P1 (x) = x n 2n + 1 xPn (x) − Pn−1 (x), Pn+1 = n+1 n+1 Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) n≥1 12 marzo 2012 20 / 51 Polinomi di Chebyshev I polinomi di Chebichev sono ortogonali rispetto alla funzione peso √ 2 1/ 1 − x nell’intervallo [−1, 1]; essi soddisfano alla seguente formula ricorrente T0 (x) = 1, T1 (x) = x Tn+1 (x) = 2xTn (x) − Tn−1 (x), n≥1 Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 21 / 51 Calcolo di nodi e pesi nelle formule di Gauss Consideriamo la formula di ricorrenza a tre termini p0 (x) = 1, p1 (x) = x − ρ0 pi+1 (x) = (x − ρi )pi (x) − δi2 pi−1 (x) da cui δi2 pi−1 (x) + pi+1 (x) + ρi pi (x) = xpi (x) Ricordando che τi = δi2 e dividendo ambo i membri per δ1 δ2 . . . δi , si ha δi2 1 ρi 1 pi−1 (x) + pi+1 (x) + pi (x) = xpi (x) δ1 δ2 . . . δi δ1 δ2 . . . δi δ1 δ2 . . . δi δ1 δ2 . . . δi Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 22 / 51 da cui si ha in forma matriciale p0 (x) ρ0 δ1 δ1 ρ1 δ2 p1 (x)/δ1 0 δ2 ρ3 δ3 A := p2 (x)/(δ1 δ2 ) = .. .. . . pn−1 /(δ1 . . . δn−1 ) δn−1 ρn−1 p0 (x) 0 p1 (x)/δ1 0 0 x p2 (x)/(δ1 δ2 ) − .. .. . . pn−1 /(δ1 . . . δn−1 ) (δn pn (x))/(δ1 . . . δn ) Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 23 / 51 Si può dimostrare che: Le radici xi , i = 1, . . . , n del polinomio ortogonale pn (x) sono gli autovalori della matrice tridiagonale A (metodo di bisezione, metodo QR) (i) (i) Sia v (i) := (v1 , . . . , vn )T l’autovettore di A corrispondente all’autovalore xi . Supponiamo che v (i) sia scalato in modo tale che Z b (i) T (i) (v ) v = ω(x)dx a Allora, i pesi wi sono dati da 2 (i) wi = v1 , i = 1, . . . , n dove gli autovettori sono normalizzati in modo tale che viT vi =< p0 , p0 > I valori dei nodi xi e dei pesi ωi sono stati tabulati con grande accuratezza per particolari famiglie di formule Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 24 / 51 Osservazione Confrontando le varie regole di integrazione si ha che, a parità di costo computazionale, la formula di Gauss dà il risultato più accurato Nelle applicazioni pratiche, per raggiungere l’accuratezza prefissata, è necessario applicare la formula di Gauss per valori di n crescenti finchè la differenza tra due approssimazioni successive diviene minore di una tolleranza Poichè i valori di f calcolati per un certo n non possono essere utilizzati per n + 1 il vantaggio delle formule di Gauss è perso nei confronti con i metodo di estrapolazione Un vantaggio delle formule di Gauss è quello di poter trattare con particolari ω(x) anche gli integrali indefiniti Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 25 / 51 Esempio R 1.5 1 exp(−x 2 )dx = 0.1093643. [1, 1.5] → [−1, 1], Da x = t+5 4 , segue x → t = 4x − 5 R1 −1 exp(−((t + 5)/4)2 )dt Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 26 / 51 Usando i polinomi di Legendre si ottiene con n = 2: Z 1.5 Z 1 1 exp(−x 2 )dx = exp(−((t + 5)/4)2 )dt ' 4 1 −1 1 (exp(−((0.5773502692 + 5)/4)2 ) + exp(−((−0.5773502692 + 5)/4)2 )) = 4 0.1094003 con 2 valutazioni di funzione. Con n = 3 si ottiene 0.1093642 con 3 valutazioni di funzioni. Con il metodo di Romberg occorre calcolare R3,3 = 0.1093643 con 5 n xi ωi n = 2 0.5773502692 1 -0.5773502692 1 valutazioni di funzioni. n = 3 0.7745966692 0.55555 . . . 6 0. 0.88888 . . . 9 -0.7745966692 0.55555 . . . 6 Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 27 / 51 Metodo di estrapolazione In molti problemi, come ad esempio l’integrazione e la differenziazione numerica, si calcola una approssimazione di una quantità incognita α0 che dipende dal passo di discretizzazione h. Il valore incognito α0 è ottenuto al limite per h → 0 ma il passo non può essere preso arbitrariamente piccolo. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 28 / 51 Sia T (h) l’approssimazione ottenuta per un passo h. Se si calcola il valore di T per alcuni valori non nulli del passo h (di solito h e h/2) e se si conosce l’andamento teorico di T (h) per h → 0, allora è possibile estrapolare, dai valori già noti di T (h), un valore approssimato di T (0). Tale valore estrapolato è una approssimazione più accurata della grandezza incognita. Su tale idea si basa il metodo di estrapolazione di Richardson Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 29 / 51 Supponiamo che T (h) = α0 + α1 h + . . . + αk hk + Rk+1 (h) (1) con |Rk+1 (h)| ≤ Ck+1 hk+1 e tale che i coefficienti α0 , . . . , αk e Ck+1 siano indipendenti da k. Riscrivendo la (1) per δh, 0 < δ < 1 (tipicamente δ = 1/2): T (δh) = α0 + α1 (δh) + . . . + αk (δh)k + Rk+1 (δh) Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 30 / 51 Consideriamo e (h) = T (δh) − δT (h) = α ek+1 (h) T e0 + α e1 h + . . . + α ek h k + R 1−δ dove δi − δ , i = 2, . . . , k 1−δ ek+1 (h) = [Rk+1 (δh) − δRk+1 (h)]/(1 − δ) R α e i = αi Vale α ei 6= 0 ⇔ αi 6= 0; dunque se α1 6= 0, T (h) è una approssimazione al e (h) è una approssimazione almeno del secondo primo ordine di α0 e T ordine. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 31 / 51 Più in generale, se T (h) è una approssimazione di α0 di ordine p, allora la quantità p e (h) = T (δh) − δ T (h) T 1 − δp è una approssimazione almeno di ordine p + 1. Procedendo per induzione si genera l’algoritmo di estrapolazione di Richardson. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 32 / 51 Algoritmo di estrapolazione di Richardson Fissati n ≥ 0, h > 0 e δ ∈ (0, 1) si costruiscono le successioni Tm,0 = T (δ m h), m = 0, . . . , n (2) Tm,q+1 = (Tm,q − δ q+1 Tm−1,q )/(1 − δ q+1 ), (3) q = 0, . . . , n − 1, m = q + 1, . . . , n (4) In forma di tabella si ha: T0,0 T1,0 T1,1 T2,0 T2,1 T2,2 T3,0 T3,1 T3,2 T3,3 ... Tn,0 Tn,1 Tn,2 Tn,3 ... Tn,n Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 33 / 51 Convergenza Teorema Per ogni n ≥ 0 e δ ∈ (0, 1), Tm,n = α0 + O (δ m h)n+1 , m = 0, . . . , n Si ha quindi convergenza verso α0 di ciascuna della tavola. Per la colonna m prima colonna (n = 0) la convergenza è O (δ h) mentre per l’ultima è O (δ m h)n+1 Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 34 / 51 Metodo di Romberg Il metodo di integrazione di Romberg consiste nell’applicazione dell’estrapolazione di Richardson alla formula composita del trapezio. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 35 / 51 Formula di Eulero-Maclaurin Teorema Sia f ∈ C 2k+2 [a, b] per k ≥ 0. Si approssimi α0 = formula del trapezio composita T (h) = Rb a m−1 X h f (a + ih) + f (b) , f (a) + 2 2 f (x)dx con la h= i=1 b−a m Si ha T (h) = α0 + α1 h2 + . . . + αk h2k + τk+1 h2k+2 Z b α0 = f (x)dx a B2i (2i−1) αi = f (b) − f (2i−1) (a) , i = 1, 2, . . . , m (2i)! B2k+2 τk+1 = (b − a)f (2k+2) (ξ), ξ ∈ (a, b) (2k + 2)! Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 36 / 51 T (h) è la formula dei trapezi composta e ha una complessità pari a n + 1 valutazioni di funzioni. B2i sono i numeri di Bernoulli, coincidenti con i coeffcienti dello sviluppo in serie di MacLaurin della funzione t/(exp(t) − 1) (B0 = 1; B1 = −1/2, B2 = 1/6, B4 = −1/30, B6 = 1/42, . . .). Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 37 / 51 Ponendo nella (2) h = b − a, δ = 1/2 e indicando con T (hs ) la formula del trapezio composita su s = 2m sottointervalli di ampiezza hs = (b − a)/2m per m ≥ 0 l’algoritmo di Romberg si scrive Tm,0 = T ((b − a)/2m ), m = 0, . . . , n Tm,q+1 = (4q+1 Tm,q − Tm−1,q )/(4q+1 − 1), q = 0, . . . , n − 1, m = q + 1, . . . , n Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 38 / 51 T0,0 = T (h0 ) 4T1,0 − T0,0 4T (h1 ) − T (h0 ) = 3 3 4T (h2 ) − T (h1 ) 4T2,0 − T1,0 = = → T2,2 = 4−1 3 42 T2,1 − T1,1 42 − 1 T1,0 = T (h1 = h0 /2) → T1,1 = T2,0 = T (h2 = h0 /4) → T2,1 ... (Tj,k con j=livello di approssimazione/recursione, k t.c. 2k =numero di sttointervalli della formula composita) L’algoritmo si arresta quando |Tj,j − Tj−1,j−1 | < tol Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 39 / 51 Esempio Sia dato Rπ 0 sin xdx = 2 Sono sufficienti 5 righe corrispondenti a 24 + 1 = 17 valutazioni di funzione per ottenere pari almeno a = 8.510−8 ((π = 16)10 ). Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 40 / 51 Metodi di quadratura adattiva Tutte le formule di quadratura viste finora (Newton-Cotes e composte) sono basate su nodi equispaziati. Per funzioni che presentano forti variazioni in una regione e basse variazioni in un’altra scegliere un passo costante può essere limitativo. Se il passo viene scelto grande, l’approssimazione dell’integrale nelle regioni a forte variazione non è buona, mentre un passo piccolo implica una alta complessità nella regione a bassa variazione in cui è sufficiente un passo più grande. L’idea è quella di scegliere il passo adattandolo alla variazione funzionale di f (x). Questa idea porta a metodi di quadratura adattiva. Si fornisce un esempio di metodo di quadratura adattivo basato sulla regola di Simpson. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 41 / 51 Supponiamo R b di voler ottenere una approssimazione di I (f ) = a f (x)dx entro una tolleranza fissata. Una tipica formula adattiva applica due differenti formule di quadratura Qn1 e Qn2 all’intervallo [a, b]. Esse forniscono due diverse approssimazioni Sn1 e Sn2 di I (f ) Tali approssimazioni sono usate per determinare una stima dell’errore di integrazione R(f ) (in pratica Rn (f ) = cost · (Sn1 − Sn2 )) Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 42 / 51 Il processo adattivo è dunque concettualmente semplice: Applicare Qn1 e Qn2 per determinare R(f ). Se R(f ) > , dividere l’intervallo in due sottointervalli e ripetere la procedura su ogni sottointervallo. Se la tolleranza è raggiunta su un certo sottointervallo, questo non viene ulteriormente suddiviso. Se la tolleranza non è raggiunta su un certo sottointervallo, il processo di suddivisione è ripetuto Tale strategia porta a un processo di campionamento non uniforme della funzione integranda che colloca molti nodi in regioni dove la funzione è difficile da integrare e relativamente pochi nodi dove è più facilmente integrabile Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 43 / 51 Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 44 / 51 Formula di Simpson adattiva Si fornisce un esempio di metodo di quadratura adattivo basato sulla regola di Simpson. Dato > 0, si vuole ottenere una approssimazione S(f ) di I (f ) sull’intervallo [a, b] tale che Z a b f (x)dx − S(f ) ≤ Il primo passo consiste nell’applicare la formula di Simpson semplice (Qn1 ) e la formula di Simpson composta con m = 4 (Qn2 ) che equivale ad applicare la formula di Simpson agli intervalli [a, (a + b)/2], [(a + b)/2, b] Si noti che applicare Qn2 comporta solo due valutazioni aggiuntive di f (x) Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 45 / 51 La formula di Simpson fornisce l’approssimazione S(a, b) di I (f ): h a+b S(a, b) = f (a) + 4f ( ) + f (b) 3 2 Z b h5 f (x)dx = S(a, b) − f (4) (ξ) 90 a con h = (b − a)/2 e con a < ξ < b Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 46 / 51 La formula di Simpson composita fornisce la seguente approssimazione di I (f ): Z a b 4 b − a (4) a+b a+b h f (x)dx = S a, +S ,b − f (η) 2 2 2 180 a+b a+b 1 h5 (4) = S a, +S ,b − f (η) 2 2 16 90 a+b h h S a, = f (a) + 4f (a + ) + f (a + h) 2 6 2 3h a+b h S ,b = f (a + h) + 4f (a + ) + f (b) 2 6 2 b−a h= , a<η<b 2 Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 47 / 51 L’idea è quella di utilizzare le due approssimazioni S(a, b) e a+b S a, a+b + S a, per determinare una stima dell’errore di 2 2 integrazione A tal fine, si suppone che f (4) (ξ) ' f (4) (η) Si tratta di un’ipotesi in generale non verificata, ma che permette di ottenere utili indicazioni sull’errore. Il successo della tecnica dipenderà da quanto poco l’ipotesi precedente si discosta dal vero. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 48 / 51 Si ha a+b a+b 15 h5 (4) S(a, b) − S a, +S ,b ' f (η) 2 2 16 90 da cui Z b 1 h5 (4) a+b a+b f (x)dx − S a, +S ,b ' f (η) 2 2 16 90 a 1 a+b a+b ' , b S(a, b) − S a, − S 15 2 2 Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 49 / 51 Se pertanto S(a, b) − S a, a + b − S a + b , b < 15 2 2 (5) allora si ha Z a b a+b a+b f (x)dx − S a, , b ≤ +S 2 2 e la formula composta di Simpson con m = 4 (e 5 punti) è utilizzata per calcolare una approssimazione di I (f ) entro la tolleranza richiesta. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 50 / 51 Se la (5) non è verificata, si suddivide l’intervallo [a, b] nei due sottointervalli [a, (a + b)/2] e [(a + b)/2, b] e su ciscuno di essi si applica la procedura di stima dell’errore appena descritta utilizzando la tolleranza /2 Si noti che, per ciascun sottointervallo, si è già calcolata la formula di Simpson a 3 punti. Il procedimento di dimezzamento continua finchè si ottiene l’accuratezza richiesta su ciscun sottointervallo. Se su uno dei sottointervalli la stima dell’errore non passa il test, tale intervallo viene ulteriormente suddiviso e ciascuno dei sottointervalli viene esaminato. In genere si richiede che la tolleranza sia 10 anzichè 15 volte la tolleranza richiesta, per compensare l’assunzione fatta sulle derivate quarte. L’errore è ridotto di un fattore 1/16; dunque il procedimento termina dopo un numero finito di passi. Il metodo continua fino a che non si raggiunge la tolleranza prefissata o fino a che il numeri dei livelli cui si è pervenuti è troppo alto. Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/ Integrazione numerica ~piccolom/) 12 marzo 2012 51 / 51