Integrazione numerica - Dipartimento di Matematica

annuncio pubblicitario
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
Scarica