Elena Loli Piccolomini - dm.unibo.itpiccolom/didattica/dottorato/integrali_IIe2011.pdf · Formule...

Preview:

Citation preview

Integrazione numerica

Elena Loli Piccolomini

Dipartimento di Matematicahttp://www.dm.unibo.it/~piccolom/

12 marzo 2012

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 1 / 51

Outline

1 Polinomi ortogonali

2 Formule di GaussCalcolo di nodi e pesi nelle formule di Gauss

3 Metodo di RombergMetodo di estrapolazioneMetodo di Romberg

4 Metodi di quadratura adattivaFormula di Simpson adattiva

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 2 / 51

Formule di Gauss

Assegnato l’intervallo chiuso e limitato [a, b], nelle formule diquadratura di Newton-Cotes i nodi xi sono prefissati equidistanti traloro. Con n parametri liberi (i pesi ai ), il grado della formulacorrispondente e, in generale, uguale a n − 1. I pesi ai sono calcolatiintegrando il corrispondente polinomio di interpolazione.

Se i nodi non sono prefissati, ci sono allora 2n parametri liberi chepossono essere determinati in modo che la formula abbia grado2n − 1.

Nelle formule di quadratura di Gauss sia i nodi che i pesi sonodeterminati in modo tale che la formula di quadratura abbia grado diprecisione piu elevato possibile (cioe 2n − 1).

I nodi e i pesi possono essere determinati con il metodo deicoefficienti indeterminati ma il sistema corrispondente e non lineare.

Alternativamente, i nodi e i pesi della formula di Gauss possono essereottenuti ricorrendo ai polinomi ortogonali.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 3 / 51

Polinomi ortogonali

Sia ω(x) > 0 in [a, b] eccetto al piu in un numero finito di punti in cui e

nulla. Supponiamo che∫ ba ω(x)xkdx sia finito per k = 0, 1, 2, . . . e che

µ0 =∫ ba ω(x)dx > 0.

Si dice prodotto scalare tra due funzioni f (x) e g(x) in [a, b] rispetto allafunzione peso ω(x) la quantita

< f , g >=

∫ b

aω(x)f (x)g(x)dx

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/~piccolom/)Integrazione numerica 12 marzo 2012 4 / 51

Teorema

La famiglia di polinomi monici ortogonali pn(x) = xn +∑n−1

0 aixi rispetto

alla funzione peso ω(x) in [a, b] e univocamente determinata dallaseguente formula di ricorrenza:

p0(x) = 1

p1(x) = x − ρ0pi+1(x) = (x − ρi )pi (x)− τipi−1(x), i = 1, 2, . . .

con

ρi =< xpi , pi >

< pi , pi >τi = δ2i =

< pi , pi >

< pi−1, pi−1 >i = 0, 1, 2, . . .

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 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 puo scriverecome combinazione lineare di essi:

q(x) = a0p0(x) + a1p1(x) + . . .+ anpn(x)

oveaj =

< q, pj >

< pj , pj >, j = 0, 1, . . . n

Di conseguenza < q, pn >= 0 se q(x) e un polinomio di grado minoredi n.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 6 / 51

I polinomi p0(x), p1(x), . . . , pn(x) sono un sistema di Chebyshev. Cioep0(t1) . . . pn−1(t1)...

...p0(tn) . . . pn−1(tn)

e 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 hanell’intervallo (a, b) n zeri reali distinti.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 7 / 51

Formule di Gauss

Nelle formule di quadratura di tipo interpolatorio i nodi x1, . . . , xnsono punti distinti in [a, b] prefissati. Le formule hanno grado diprecisione al piu n − 1.

Si vogliono derivare nuove formule di quadratura con grado diprecisione piu alto possibile, scegliendo x1, . . . , xnin modo che questosia possibile.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 8 / 51

Se x1, . . . , xn sono distinti, allora il resto di una formula di quadraturavale

E [f ] =

∫ b

aω(x)(x − x1) . . . (x − xn)f [x1, . . . , xn; x ]dx

Poiche per polinomi di grado minore o uguale a n − 1f [x1, x2, . . . xn; x ] = 0, si ha che comunque si scelgano n punti distintiil grado di precisione vale n − 1.

Per polinomi di grado r + n − 1, f [x1, x2, . . . , xn; x ] e un polinomio digrado r − 1. Pertanto perche la formula di quadratura abbia grado diaccuratezza superiore a n − 1 occorre che∫ b

aω(x)(x − x1) . . . (x − xn)x r−1dx = 0, r = 1, 2, . . .

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 9 / 51

Se x1, . . . , xn sono gli zeri di un polinomio pn(x) monico di grado nortogonale rispetto la funzione peso ω(x) in [a, b], allora la condizioneprecedente esprime il fatto che x r−1 deve essere ortogonale a pn(x).

Infatti x r−1 e sempre esprimibile come combinazione lineare dipolinomi ortogonali rispetto la funzione peso ω(x) in [a, b] di gradominore o uguale a r − 1.

Pertanto ∫ b

aω(x)pn(x)x r−1dx = 0

per r = 1, . . . , n.

Allora se x1, . . . , xn sono gli zeri di un polinomio pn(x) monico digrado n ortogonale rispetto la funzione peso ω(x) in [a, b], segue chela formula di quadratura interpolatoria basata su x1, . . . , xn (che sonodistinti) diventa di grado 2n − 1, perche 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/~piccolom/)Integrazione numerica 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 lasoluzione del sistema non singolare di equazioni

n∑i=1

ωipk(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∑i=1

ωi f (xi )

ha grado di precisione 2n − 1.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 11 / 51

dimostrazione

Dati x1, . . . , xn zeri distinti di pn(x) si costruiscono i pesi di una formula diquadratura interpolatoria basata su tali punti che ha quindi grado diprecisione n − 1:

ωi =

∫ b

aω(x)Li (x)dx =

∫ b

aω(x)

pn(x)

(x − xi )p′n(xi )dx

Poiche la formula e esatta per polinomi di grado minore o uguale di n − 1,si ha:

n∑i=1

ωipk(xi ) =

∫ b

aω(x)pk(x)dx =

{< p0, p0 >, se k = 0;0, se k = 1, . . . , n − 1.

Poiche la matrice A = (ai ,k = pk(xi ) e non singolare, i wi sonounivocamente determinati.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 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∫ b

aω(x)qs(x)dx =

∫ b

apn(x)qs−n(x)ω(x)dx +

∫ b

aω(x)r(x)dx

= 0 +n∑

i=1

ω − ir(xi )dx =n∑

i=1

ωiqs(x)

dunque la formula e esatta per polinomi di grado al piu 2n − 1

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 13 / 51

Se p(x) = pn(x)2 = (x − x1)2 . . . (x − xn)2, vale∫ ba ω(x)pn(x)2dx > 0. ma∑n

i=1 ωipn(xi )2 = 0 dunque la formula non e esatta per polinomi di grado

n. Sia p(x) =(pn(x)x−xi

)2. Il grado del polinomio e 2n − 2. Dunque la

formula e esatta:

0 <

∫ b

aω(x)

(pn(x)

x − xi

)2

dx =n∑

k=1

ωk

(pn(x)

x − xi

)2

dx

n∑k=1

n∏j=1,j 6=i

(xk − xj)2 = ωi

n∏j=1,j 6=i

(xi − xj)2

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 14 / 51

Teorema

Se x1, . . . , xn sono distinti e ω1, . . . , ωn sono tali che la formula diquadratura ha grado di precisione 2n − 1, allora ωi sono soluzioni delsistema non singolare di equazioni

n∑i=1

ωipk(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/~piccolom/)Integrazione numerica 12 marzo 2012 15 / 51

Teorema

Sia f ∈ C 2n[a, b]. Allora il resto R(f ) della formula di Gauss assumel’espressione ∫ b

aω(x)f (x)dx =

n∑i=1

ωi f (xi ) + R(f )

R(f ) =f (2n)(ξ)

2n!

∫ b

aω(x)pn(x)2dx

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 16 / 51

Stabilita e convergenza

Le formule di quadratura di Gauss, essendo formule di quadraturainterpolatorie con pesi positivi, sono stabili e convergenti per ognif ∈ C [a, b].Infatti

αn =n∑

i=1

|ω(n)k | =

n∑i=1

ω(n)k =

∫ b

aω(x)dx costante

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 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] sonogenerate famiglie di formule di quadraturaPer passare ad intervalli di integrazione generici [α, β] si puo fare ilcambiamento 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/~piccolom/)Integrazione numerica 12 marzo 2012 18 / 51

Sono generate famiglie di formule di quadratura associate a polinomiortogonali classici.

[a, b] ω(x) famiglia di formule

[−1, 1] 1 Gauss-Legendre

[−1, 1] 1/√

1− x2 Gauss-Chebyshev[0,∞] e−x Gauss-Laguerre

[−∞,∞] e−x2

Gauss-Hermite

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 19 / 51

Polinomi di Legendre

I polinomi di Legendre Pn(x) sono polinomi ortogonali su [−1, 1] rispettoalla funzione peso w(x) = 1. Usualmente sono scalati in maniera da averePn(1) = 1 per ogni n.In questo caso essi soddisfano alla seguente formula ricorrente

P0(x) = 1, P1(x) = x

Pn+1 =2n + 1

n + 1xPn(x)− n

n + 1Pn−1(x), n ≥ 1

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 20 / 51

Polinomi di Chebyshev

I polinomi di Chebichev sono ortogonali rispetto alla funzione peso1/√

1− x2 nell’intervallo [−1, 1]; essi soddisfano alla seguente formularicorrente

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/~piccolom/)Integrazione numerica 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 − ρ0pi+1(x) = (x − ρi )pi (x)− δ2i pi−1(x)

da cuiδ2i pi−1(x) + pi+1(x) + ρipi (x) = xpi (x)

Ricordando che τi = δ2i e dividendo ambo i membri per δ1δ2 . . . δi , si ha

δ2iδ1δ2 . . . δi

pi−1(x)+1

δ1δ2 . . . δipi+1(x)+

ρiδ1δ2 . . . δi

pi (x) =1

δ1δ2 . . . δixpi (x)

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 22 / 51

da cui si ha in forma matriciale

A :=

ρ0 δ1δ1 ρ1 δ20 δ2 ρ3 δ3

. . .

δn−1 ρn−1

p0(x)

p1(x)/δ1p2(x)/(δ1δ2)

...pn−1/(δ1 . . . δn−1)

=

x

p0(x)

p1(x)/δ1p2(x)/(δ1δ2)

...pn−1/(δ1 . . . δn−1)

000...

(δnpn(x))/(δ1 . . . δn)

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 23 / 51

Si puo dimostrare che:

Le radici xi , i = 1, . . . , n del polinomio ortogonale pn(x) sono gliautovalori della matrice tridiagonale A (metodo di bisezione, metodoQR)

Sia v (i) := (v(i)1 , . . . , v

(i)n )T l’autovettore di A corrispondente

all’autovalore xi .

Supponiamo che v (i) sia scalato in modo tale che

(v (i))T v (i) =

∫ b

aω(x)dx

Allora, i pesi wi sono dati da

wi =(v(i)1

)2, i = 1, . . . , n

dove gli autovettori sono normalizzati in modo tale chevTi vi =< p0, p0 >

I valori dei nodi xi e dei pesi ωi sono stati tabulati con grandeaccuratezza per particolari famiglie di formule

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 24 / 51

Osservazione

Confrontando le varie regole di integrazione si ha che, a parita dicosto computazionale, la formula di Gauss da il risultato piu accurato

Nelle applicazioni pratiche, per raggiungere l’accuratezza prefissata, enecessario applicare la formula di Gauss per valori di n crescentifinche la differenza tra due approssimazioni successive diviene minoredi una tolleranza ε

Poiche i valori di f calcolati per un certo n non possono essereutilizzati per n + 1 il vantaggio delle formule di Gauss e perso neiconfronti con i metodo di estrapolazione

Un vantaggio delle formule di Gauss e quello di poter trattare conparticolari ω(x) anche gli integrali indefiniti

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 25 / 51

Esempio

∫ 1.51 exp(−x2)dx = 0.1093643.

[1, 1.5]→ [−1, 1], x → t = 4x − 5

Da x = t+54 , segue

∫ 1−1 exp(−((t + 5)/4)2)dt

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 26 / 51

Usando i polinomi di Legendre si ottiene con n = 2:∫ 1.5

1exp(−x2)dx =

1

4

∫ 1

−1exp(−((t + 5)/4)2)dt '

1

4(exp(−((0.5773502692 + 5)/4)2) + exp(−((−0.5773502692 + 5)/4)2)) =

0.1094003

con 2 valutazioni di funzione. Con n = 3 si ottiene 0.1093642 con 3valutazioni di funzioni.Con il metodo di Romberg occorre calcolare R3,3 = 0.1093643 con 5

valutazioni di funzioni.

n xi ωi

n = 2 0.5773502692 1-0.5773502692 1

n = 3 0.7745966692 0.55555 . . . 60. 0.88888 . . . 9

-0.7745966692 0.55555 . . . 6

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 27 / 51

Metodo di estrapolazione

In molti problemi, come ad esempio l’integrazione e la differenziazionenumerica, si calcola una approssimazione di una quantita incognita α0

che dipende dal passo di discretizzazione h.

Il valore incognito α0 e ottenuto al limite per h→ 0 ma il passo nonpuo essere preso arbitrariamente piccolo.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 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 (disolito h e h/2) e se si conosce l’andamento teorico di T (h) perh→ 0, allora e possibile estrapolare, dai valori gia noti di T (h), unvalore approssimato di T (0).

Tale valore estrapolato e una approssimazione piu accurata dellagrandezza incognita.

Su tale idea si basa il metodo di estrapolazione di Richardson

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 29 / 51

Supponiamo che

T (h) = α0 + α1h + . . .+ αkhk + Rk+1(h) (1)

con |Rk+1(h)| ≤ Ck+1hk+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/~piccolom/)Integrazione numerica 12 marzo 2012 30 / 51

Consideriamo

T (h) =T (δh)− δT (h)

1− δ= α0 + α1h + . . .+ αkh

k + Rk+1(h)

dove

αi = αiδi − δ1− δ

, i = 2, . . . , k

Rk+1(h) = [Rk+1(δh)− δRk+1(h)]/(1− δ)

Vale αi 6= 0⇔ αi 6= 0; dunque se α1 6= 0, T (h) e una approssimazione alprimo ordine di α0 e T (h) e una approssimazione almeno del secondoordine.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 31 / 51

Piu in generale, se T (h) e una approssimazione di α0 di ordine p, allora laquantita

T (h) =T (δh)− δpT (h)

1− δp

e una approssimazione almeno di ordine p + 1.Procedendo per induzione si genera l’algoritmo di estrapolazione diRichardson.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 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 (δmh), m = 0, . . . , n (2)

Tm,q+1 = (Tm,q − δq+1Tm−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/~piccolom/)Integrazione numerica 12 marzo 2012 33 / 51

Convergenza

Teorema

Per ogni n ≥ 0 e δ ∈ (0, 1),

Tm,n = α0 + O(

(δmh)n+1), m = 0, . . . , n

Si ha quindi convergenza verso α0 di ciascuna colonna della tavola. Per la

prima colonna (n = 0) la convergenza e O(

(δmh))

mentre per l’ultima e

O(

(δmh)n+1)

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 34 / 51

Metodo di Romberg

Il metodo di integrazione di Romberg consiste nell’applicazionedell’estrapolazione di Richardson alla formula composita del trapezio.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 35 / 51

Formula di Eulero-Maclaurin

Teorema

Sia f ∈ C 2k+2[a, b] per k ≥ 0. Si approssimi α0 =∫ ba f (x)dx con la

formula del trapezio composita

T (h) =h

2

(f (a) + 2

m−1∑i=1

f (a + ih) + f (b)), h =

b − a

m

Si ha

T (h) = α0 + α1h2 + . . .+ αkh

2k + τk+1h2k+2

α0 =

∫ b

af (x)dx

αi =B2i

(2i)!

(f (2i−1)(b)− f (2i−1)(a)

), i = 1, 2, . . . ,m

τk+1 =B2k+2

(2k + 2)!(b − a)f (2k+2)(ξ), ξ ∈ (a, b)

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 36 / 51

T (h) e la formula dei trapezi composta e ha una complessita pari an + 1 valutazioni di funzioni.

B2i sono i numeri di Bernoulli, coincidenti con i coeffcienti dellosviluppo 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/~piccolom/)Integrazione numerica 12 marzo 2012 37 / 51

Ponendo nella (2) h = b − a, δ = 1/2 e indicando con T (hs) la formuladel trapezio composita su s = 2m sottointervalli di ampiezzahs = (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+1Tm,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/~piccolom/)Integrazione numerica 12 marzo 2012 38 / 51

T0,0 = T (h0)

T1,0 = T (h1 = h0/2) → T1,1 =4T (h1)− T (h0)

3=

4T1,0 − T0,0

3

T2,0 = T (h2 = h0/4) → T2,1 =4T (h2)− T (h1)

4− 1=

4T2,0 − T1,0

3→ T2,2 =

42T2,1 − T1,1

42 − 1

. . .

(Tj,k con j=livello di approssimazione/recursione, k t.c. 2k=numero disttointervalli 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/~piccolom/)Integrazione numerica 12 marzo 2012 39 / 51

Esempio

Sia dato∫ π0 sin xdx = 2

Sono sufficienti 5 righe corrispondenti a 24 + 1 = 17 valutazioni difunzione per ottenere pari almeno a ε = 8.510−8 ((π = 16)10).

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 40 / 51

Metodi di quadratura adattiva

Tutte le formule di quadratura viste finora (Newton-Cotes ecomposte) sono basate su nodi equispaziati.

Per funzioni che presentano forti variazioni in una regione e bassevariazioni in un’altra scegliere un passo costante puo essere limitativo.

Se il passo viene scelto grande, l’approssimazione dell’integrale nelleregioni a forte variazione non e buona, mentre un passo piccoloimplica una alta complessita nella regione a bassa variazione in cui esufficiente un passo piu grande.

L’idea e quella di scegliere il passo adattandolo alla variazionefunzionale di f (x). Questa idea porta a metodi di quadraturaadattiva.

Si fornisce un esempio di metodo di quadratura adattivo basato sullaregola di Simpson.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 41 / 51

Supponiamo di voler ottenere una approssimazione diI (f ) =

∫ ba f (x)dx entro una tolleranza ε fissata.

Una tipica formula adattiva applica due differenti formule diquadratura Qn1 e Qn2 all’intervallo [a, b]. Esse forniscono due diverseapprossimazioni Sn1 e Sn2 di I (f )

Tali approssimazioni sono usate per determinare una stima dell’erroredi integrazione R(f ) (in pratica Rn(f ) = cost · (Sn1 − Sn2))

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 42 / 51

Il processo adattivo e dunque concettualmente semplice:

Applicare Qn1 e Qn2 per determinare R(f ).Se R(f ) > ε, dividere l’intervallo in due sottointervalli e ripetere laprocedura su ogni sottointervallo.Se la tolleranza e raggiunta su un certo sottointervallo, questo nonviene ulteriormente suddiviso.Se la tolleranza non e raggiunta su un certo sottointervallo, il processodi suddivisione e ripetuto

Tale strategia porta a un processo di campionamento non uniformedella funzione integranda che colloca molti nodi in regioni dove lafunzione e difficile da integrare e relativamente pochi nodi dove e piufacilmente integrabile

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 43 / 51

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 44 / 51

Formula di Simpson adattiva

Si fornisce un esempio di metodo di quadratura adattivo basato sullaregola di Simpson.Dato ε > 0, si vuole ottenere una approssimazione S(f ) di I (f )sull’intervallo [a, b] tale che∣∣∣ ∫ b

af (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 adapplicare 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/~piccolom/)Integrazione numerica 12 marzo 2012 45 / 51

La formula di Simpson fornisce l’approssimazione S(a, b) di I (f ):

S(a, b) =h

3

(f (a) + 4f (

a + b

2) + f (b)

)∫ b

af (x)dx = S(a, b)− h5

90f (4)(ξ)

con h = (b − a)/2 e con a < ξ < b

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 46 / 51

La formula di Simpson composita fornisce la seguente approssimazione diI (f ):∫ b

af (x)dx = S

(a,

a + b

2

)+ S

(a + b

2, b

)−(h

2

)4 b − a

180f (4)(η)

= S

(a,

a + b

2

)+ S

(a + b

2, b

)− 1

16

h5

90f (4)(η)

S

(a,

a + b

2

)=

h

6

(f (a) + 4f (a +

h

2) + f (a + h)

)S

(a + b

2, b

)=

h

6

(f (a + h) + 4f (a +

3h

2) + f (b)

)h =

b − a

2, a < η < b

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 47 / 51

L’idea e quella di utilizzare le due approssimazioni S(a, b) eS(a, a+b

2

)+ S

(a, a+b

2

)per determinare una stima dell’errore di

integrazione

A tal fine, si suppone che f (4)(ξ) ' f (4)(η)

Si tratta di un’ipotesi in generale non verificata, ma che permette diottenere utili indicazioni sull’errore. Il successo della tecnica dipenderada quanto poco l’ipotesi precedente si discosta dal vero.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 48 / 51

Si ha

S(a, b)−[S

(a,

a + b

2

)+ S

(a + b

2, b

)]' 15

16

h5

90f (4)(η)

da cui∣∣∣∣∫ b

af (x)dx −

[S

(a,

a + b

2

)+ S

(a + b

2, b

)]∣∣∣∣ ' 1

16

∣∣∣∣h590f (4)(η)

∣∣∣∣' 1

15

∣∣∣∣S(a, b)− S

(a,

a + b

2

)− S

(a + b

2, b

)∣∣∣∣

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 49 / 51

Se pertanto ∣∣∣∣S(a, b)− S

(a,

a + b

2

)− S

(a + b

2, b

)∣∣∣∣ < 15ε (5)

allora si ha ∣∣∣∣∫ b

af (x)dx −

[S

(a,

a + b

2

)+ S

(a + b

2, b

)]∣∣∣∣ ≤ εe la formula composta di Simpson con m = 4 (e 5 punti) e utilizzata percalcolare una approssimazione di I (f ) entro la tolleranza richiesta.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 50 / 51

Se la (5) non e verificata, si suddivide l’intervallo [a, b] nei duesottointervalli [a, (a + b)/2] e [(a + b)/2, b] e su ciscuno di essi siapplica la procedura di stima dell’errore appena descritta utilizzandola tolleranza ε/2

Si noti che, per ciascun sottointervallo, si e gia calcolata la formula diSimpson a 3 punti.

Il procedimento di dimezzamento continua finche si ottienel’accuratezza richiesta su ciscun sottointervallo.

Se su uno dei sottointervalli la stima dell’errore non passa il test, taleintervallo viene ulteriormente suddiviso e ciascuno dei sottointervalliviene esaminato.

In genere si richiede che la tolleranza sia 10 anziche 15 volte latolleranza richiesta, per compensare l’assunzione fatta sulle derivatequarte.

L’errore e ridotto di un fattore 1/16; dunque il procedimento terminadopo un numero finito di passi.

Il metodo continua fino a che non si raggiunge la tolleranza prefissatao fino a che il numeri dei livelli cui si e pervenuti e troppo alto.

Elena Loli Piccolomini (Dipartimento di Matematica http://www.dm.unibo.it/~piccolom/)Integrazione numerica 12 marzo 2012 51 / 51

Recommended