...

Integrazione numerica di funzioni con singolarit`a

by user

on
Category: Documents
22

views

Report

Comments

Transcript

Integrazione numerica di funzioni con singolarit`a
UNIVERSITÀ DEGLI STUDI DELLA CALABRIA
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Matematica
Integrazione numerica di
funzioni con singolarità
RELATORE
Dr. Francesco Dell’Accio
CANDIDATO
Contartese Fortunato
Matr. 80432
Anno Accademico 2004-05
i
Indice
0 Introduzione
1 Quadratura numerica classica
1.1 Introduzione . . . . . . . . . . . . . . . . . .
1.2 Formule di quadratura . . . . . . . . . . . .
1.3 Formule di quadrature di tipo interpolatorio
1.4 Le formule di Newton-Cotes . . . . . . . . .
1.5 Formule di Newton-Cotes composte . . . . .
1.6 Studio dell’errore . . . . . . . . . . . . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
5
8
11
13
2 Quadratura numerica per funzione integranda limitata
2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Integrali di funzioni con discontinuità di prima specie . . .
2.3 Integrazione adattiva . . . . . . . . . . . . . . . . . . . . .
2.4 Formula di Simpson adattiva . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
21
22
23
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Quadratura numerica per funzione integranda non limitata
integrazione non limitato
3.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Idee generali . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Metodi per il calcolo di integrali impropri . . . . . . . . . . .
3.4 Procedimento con limite . . . . . . . . . . . . . . . . . . . . .
3.5 Troncamento dell’intervallo . . . . . . . . . . . . . . . . . . .
3.6 Cambio di variabile . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Integrazione di tipo interpolatorio . . . . . . . . . . . . . . .
3.8 Cambio di variabile su intervalli non limitati . . . . . . . . . .
3.9 Procedimento al limite per intervalli infiniti . . . . . . . . . .
3.10 Accelerazione della convergenza . . . . . . . . . . . . . . . . .
3.11 Integrazione Gaussiana su intervalli illimitati . . . . . . . . .
Bibliografia
o intervallo di
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
32
33
34
37
38
39
40
41
42
43
44
48
1
Capitolo 0
Introduzione
Per integrali singolari si intende sia la classe degli integrali di funzioni con
punti di discontinuità (della funzione o delle sue derivate) sia quella degli integrali
su domini illimitati. Le singolarità possono quindi presentarsi sotto varie forme e
non è ragionevole pensare che esista un unico modo generale e conveniente per trattarle. Piuttosto, vi possono essere alcune idee da adottare caso per caso. In questa
tesi analizzeremo alcune di queste idee, limitandoci al solo caso di integrali di funzioni univariate. Bisogna comunque sottolineare che è l’analisi del caso particolare
o una sua opportuna trasformazione a suggerire in generale la soluzione più idonea.
L’elaborato si sviluppa in tre capitoli. Nel primo sono richiamati alcuni concetti basilari di teoria della quadratura numerica cui si fa riferimento nei capitoli successivi.
Nel secondo capitolo viene analizzato il caso della funzione integranda limitata, con
un numero finito di discontinuità nel dominio di integrazione, e introdotto il metodo
adattivo per il calcolo numerico degli integrali. Nel terzo conclusivo capitolo è con-
2
siderato il caso della funzione integranda illimitata, e sono introdotte diverse idee per
un’opportuna quadratura numerica. Infine è anche trattato il caso dell’integrazione
numerica su domini illimitati.
3
Capitolo 1
Quadratura numerica classica
1.1
Introduzione
In questo primo capitolo richiamiamo metodi numerici classici per il calcolo
di integrali definiti del tipo
Z
b
I(f ) =
f (x)dx,
(1.1)
a
dove f è una funzione reale integrabile sull’intervallo [a, b] e sufficientemente regolare,
che saranno utili nel seguito della tesi. In particolare tratteremo il caso delle formule
di quadratura di tipo interpolatorio, cioè formule del tipo
Z
b
f (x)dx =
a
n
X
Ai f (xi ) + Rn (f )
i=1
che risultano esatte nello spazio dei polinomi in x di grado ≤ n. Allo scopo di aumentarne la precisione, queste formule vengono combinate fra loro ripartendo l’intervallo
[a, b] in sottointervalli, sovente equispaziati, a formare formule di quadratura di tipo
composito, parimenti trattate in questo primo capitolo.
4
1.2
Formule di quadratura
Sia f una funzione reale integrabile sull’intervallo [a, b]. Una formula di
quadratura è un’espressione del tipo
Z
b
f (x)dx =
a
n
X
Ai f (xi ) + Rn (f )
(1.2)
i=1
dove gli Ai ∈ R sono detti coefficienti o pesi, e gli xi i = 1, .., n sono punti distinti
appartenenti all’intervallo [a, b] detti nodi. La quantità
Qn (f ) =
n
X
Ai f (xi )
i=1
è una approssimazione dell’integrale (1.1) con un errore dato da
Z
Rn (f ) =
b
f (x)dx −
a
n
X
Ai f (xi ).
(1.3)
i=1
Dipendentemente dai valori che assumono i pesi e i nodi, incognite nella formula (1.2),
si ottengono formule di quadratura più o meno esatte, come specificato nella seguente
definizione.
Definizione 1 Diremo che la formula di quadratura (1.2) ha grado di esattezza m se
l’errore di troncamento (1.3) è nullo per ogni polinomio p(x) di grado ≤ m.
E’ possibile calcolare i nodi xi e i pesi Ai in modo tale che la formula di
quadratura abbia grado di esattezza massimo, ossia pari a 2n − 1, ([1, p.272]). In
particolare, riferendosi all’intervallo [−1, 1], per i pesi Ai si ha la formula
Z
Ai =
1
−1
ω(x)
dx,
(x − xi )ω 0 (xi )
(1.4)
5
dove con ω(x) = (x − x0 )(x − x1 ) · · · (x − xn ) è stato denotato il polinomio nodale,
mentre i nodi risultano essere le radici del polinomio
Pn (x) =
1 dn 2
(x − 1)n ;
2n n! dxn
(1.5)
formule generali si ottengono a partire da quelle precedentemente date mediante una
semplice trasformazione lineare. Il polinomio nella (1.5) è detto polinomio ortogonale
di Legendre, di grado n. Nel caso in cui i nodi siano fissati a priori, possiamo scegliere
i pesi Ai in modo tale che la formula di quadratura abbia grado di esattezza massimo.
Questa tecnica conduce al concetto di formula di quadratura di tipo interpolatorio
che ci apprestiamo a trattare.
1.3
Formule di quadrature di tipo interpolatorio
Definizione 2 Una formula di quadratura su n + 1 nodi distinti, si dice di tipo inter-
polatorio, se ha grado di esattezza almeno n.
Proposizione 3 Una formula di quadratura ha grado di esattezza n se solo se per
l’errore di troncamento Rn associato risulta Rn (xk ) = 0 per k = 0, 1, ..., n.
Dimostrazione. Qui e in seguito denotiamo con P n lo spazio dei polinomi
in x di grado ≤ n. Sia p ∈ P n un generico polinomio:
p(x) = a0 + a1 x + ... + an xn .
Poichè Rn è un funzionale lineare risulta:
Rn (p(x)) = R(a0 + a1 x + ... + an xn )
= a0 Rn (1) + a1 Rn (x) + ... + an Rn
(1.6)
(xn ).
6
Poichè l’identità (1.6) vale per ogni scelta dei coefficienti a0 , a1 , ..., an , possiamo concludere con la tesi.
Il seguente teorema garantisce l’esistenza di formule di quadratura di tipo
interpolatorio.
Teorema 4 Dati n + 1 punti distinti xi i = 0, ..., n appartenenti all’intervallo [a, b],
esiste ed è unica la formula di quadratura di tipo interpolatorio avente come nodi i
punti dati.
Dimostrazione. Essendo i nodi n + 1, la formula di quadratura (1.2) è di tipo
interpolatorio se, e solo se, sono verificate le condizioni Rn (xk ) = 0 k = 0, ..., n. Inponendo che tali condizioni siano verificate otteniamo il seguente sistema di equazioni
lineari
n
X
Ai xki = mk k = 0, ..., n
(1.7)
i=0
con
mk =
bk+1 − ak+1
k+1
k = 0, ..., n.
Il sistema (1.7) può essere scritto nella forma matriciale
VA=M
(1.8)
7
dove A = [A0 , ..., An ]T , M = [m0 , ...., mn ]T e









V =







1
1
x0
x1
:
:
:
:
xn0 xn1
.. ..
1 


.. .. xn 



: : : 




: : : 


.. .. xnn
Essendo la matrice V non singolare in quanto matrice di Vandermonde sui
nodi distinti [1, p.194], il sistema (1.8) ammette un’unica soluzione che fornisce i pesi
della formula di quadratura (1.2).
Fissati gli n + 1 nodi xi i = 0, ..., n, tutti distinti e appartenenti all’intervallo
[a, b], supponiamo che la formula di quadratura (1.2) sia di tipo interpolatorio. Poichè
ogni polinomio p(x) di grado ≤ n può essere scritto nella formula di Lagrange
p(x) =
n
X
i=0
ω(x)
p(xi ),
(x − xi )ω 0 (xi )
risulta con facili calcoli
Rn (p(x)) =
Z bX
n
a i=0
n
X
ω(x)
p(x
)dx
−
Ai p(xi ) = 0.
i
(x − xi )ω 0 (xi )
i=0
La linearità dell’integrale ci consente di scrivere la precedente equazione nella forma
n
X
i=0
·Z
p(xi )
b
a
¸
ω(x)
dx − Ai = 0
(x − xi )ω 0 (xi )
da cui, per l’arbitrarieta del polinomio p(x)
Z
Ai =
a
b
ω(x)
dx
(x − xi )ω 0 (xi )
(1.9)
8
1.4
Le formule di Newton-Cotes
Le formule di quadratura di tipo interpolatorio con nodi ugualmente spaziati
in [a, b] sono dette formule di Newton-Cotes. Una proprietà interessante delle formule di Newton-Cotes è quella di avere i coefficienti di integrazione Ai i = 0, ..., n
dipendenti solo da n e da h =
b−a
. Questa proprietà si verifica facilmente calcolando
n
esplicitamente i coefficienti Ai a partire dalla formula (1.9). Le formule di quadratura
di Newton-Cotes si dicono chiuse se tra i nodi figurano gli estremi dell’intervallo di
integrazione, altrimenti si dicono aperte. Nel seguito limiteremo la nostra attenzione
al solo caso delle formule chiuse, di maggiore rilevanza in questo lavoro. Allo scopo
di determinare i coefficienti Ai i = 0, .., n ed il resto Rn (f ), nel caso delle formule
chiuse, riscriviamo l’espressione della generica formula di quadratura sugli n + 1 nodi
xi = a + ih, i = 0, ..., n nella forma
Z
b
f (x)dx = (b − a)
a
n
X
Bkn f (xk ) + Rn (f )
(1.10)
k=0
dove è stato posto
Bkn = (b − a)−1 Ak .
(1.11)
Come precedentemente mostrato i pesi Ak delle formule di quadratura di tipo interpolatorio si ricavano mediante la formula
Z
Ak =
a
b
ω(x)
dx, k = 0, ..., n
(x − xk )ω 0 (xi )
dove
ω(x) = (x − x0 )(x − x1 ) · · · (x − xn ).
(1.12)
9
Dalle uguaglianze precedenti risulta quindi
Z
Bkn
−1
= (b − a)
a
b
ω(x)
dx, k = 0, ..., n.
(x − xk )ω 0 (xk )
(1.13)
Introducendo la nuova variabile t, mediante la trasformazione x = x0 + th, si ha
x − xk = h(t − k) k = 0, ..., n,
ω(x) = hn+1 πn (t) con πn (t) = t(t − 1) · · · (t − n)
e
ω 0 (xk ) = ω 0 (x0 + kh) = (−1)n−k hn k!(n − k)!,
per cui, sostituendo nella (1.13) risulta
Bkn =
(−1)n−k
nk!(n − k)!
Z
n
t(t − 1) · · · (t − i + 1)(t − i − 1) · · · (t − n)dt.
(1.14)
0
Pertanto i coefficienti Bkn possono essere facilmente tabulati. Nella tabella che segue
n , come si può facilmente
sono riportati i valori Bkn per n = 1, ..., 10; poichè Bkn = Bn−k
verificare, ci limitiamo ad indicare solo i valori per k ≤
hni
2
+ 1.
10
n
B0n
B1n
B2n
B3n
1
1
2
2
1
6
4
6
3
1
8
3
8
4
7
90
32
90
12
90
5
19
288
75
288
50
288
6
41
840
216
840
27
840
272
840
7
751
17280
3577
17280
1323
17280
2989
17280
8
989
28350
5888
28350
9
2857
89600
15741
89600
10
16067
598752
106300
598752
−
928
28350
10496
28350
1080
89600
19344
89600
48525
598752
272400
598752
−
B4n
−
B5n
4540
28350
5778
89600
−
260550
598752
427368
598752
Dalla tabella precedente risulta che i coefficienti per n = 8 e n = 10 non sono tutti
positivi; in generale è possibile dimostrare [3, pag. 151] che i pesi sono tutti positivi
solo per n ≤7 e n =9. In conseguenza di ciò lo scarso utilizzo delle formule di NewtonCotes per n ≥ 8. Le formule di Newton Cotes più semplici si ottengono per n =1, 2 e
prendono il nome rispettivamente di formula del trapezio e di Simpson. L’espressione
della formula del trapezio è
Q1 (f ) =
b−a
[f (a) + f (b)] .
2
(1.15)
11
f (x )
x
b = x1
a = x0
Figura 1.1: Formula del Trapezio
L’errore di quadratura per questa formula, nel caso in cui f ∈ C 2 ([a, b]), è dato da
R1 (f ) = −
1
(b − a)3 f (2) (ξ), ξ ∈ (a, b) .
12
(1.16)
La formula di Simpson è
·
µ
¶
¸
b−a
a+b
Q2 (f ) =
f (a) + 4f
+ f (b)
6
2
(1.17)
con errore di quadratura, nel caso f ∈ C 4 ([a, b]), dato da
R2 (f ) = −
b−a
h5 (4)
f (ξ), h =
, ξ ∈ (a, b) .
90
2
(1.18)
Le espressioni dei resti delle formule del trapezio e dei Simpson saranno esplicitamente
ricavate nel paragrafo 1.6.
1.5
Formule di Newton-Cotes composte
La procedura generale consiste nel suddividere l’intervallo di integrazione
12
f (x)
a = x0
x1 =
a +b
2
b = x2
Figura 1.2: Formula di Simpson
[a, b] in N sottointervalli. Ponendo:
yi = a + iH i = 0, ..., N, H =
b−a
N
risulta, per la proprietà di additività dell’integrale,
Zb
N
−1
X
f (x)dx =
f (x)dx;
(1.19)
k=0 yi
a
ciascuno degli integrali
yZi+1
yZi+1
f (x)dx
(1.20)
yi
può essere approssimato con una delle formule di quadratura precedentemente discusse; se si usa la stessa per ogni i = 0, ..., N − 1 si ottiene una formula di quadratura
composta per il calcolo di
Rb
f (x)dx. Applicando alla (1.20) la formula di Newton-Cotes
a
chiusa su n + 1 nodi abbiamo
yZi+1
f (x)dx = H
yi
n
X
£ n
¤
Bk f (xk ) + Rni (f )
k=0
(1.21)
13
H
e sostituendo nella (1.19) risulta
n
·
¸
NP
−1
n
Rb
P
n
i
f (x)dx =
H
Bk f (xk ) + Rn (f )
con xk = yi + kh, k = 0, ..., n, h =
i=0
k=0
NP
−1 P
n
a
Bkn f (xk ) +
=H
=H
i=0 k=0
n
NP
−1
P
Bkn [
f (yi
i=0
k=0
NP
−1
i=0
Rni (f )
+ kh)] +
NP
−1
i=0
(1.22)
Rni (f ).
Inoltre, poichè yi = yi−1 +nh, i valori f (yi ), i = 1, ..., N −1 appaiono due volte nell’ultimo
membro di (1.22), per cui possiamo scrivere
Rb
a
(
NP
−1
B0n f (y0 ) + Bnn f (yN ) + (B0n + Bnn )
f (yi )
j=0
"
#)
n−1
N
P n P
+
Bk
f (yj−1 + kh)
+ RN (f )
f (x)dx = H
k=1
(1.23)
j=1
con
RN (f ) =
N
−1
X
Rni (f ).
(1.24)
i=0
La (1.22) prende il nome di formula di quadratura di Newton-Cotes composta. Nel
prossimo paragrafo, dopo aver esplicitimante ricavato espressioni per l’errore nelle
formule di quadratura di Newton-Cotes, mostreremo come da queste è possibile ottenere espressioni analitiche per l’errore (1.24) delle corrispondenti formule composte
(1.23).
1.6
Studio dell’errore
Scopo di questo paragrafo è lo studio dell’errore nei metodi di quadratura,
con l’obiettivo particolare di evidenziare l’ordine di convergenza. Ci poniamo quindi
nel seguente quadro generale: la funzione w(x) è una funzione peso positiva su (a, b)
(limitato o meno) e tale che xn w(x) ∈ L1 (a, b), ∀n ∈ N. Per funzioni f (x) tali che
14
w(x)f (x) ∈ L1 (a, b) consideriamo formule di quadratura del tipo:
Zb
w(x)f (x)dx ≈
n
X
Ai f (xi ), Ai ∈ R, xi ∈ (a, b).
(1.25)
i=0
a
In tale quadro rientrano sia le formule di quadratura elementari che quelle composte.
Per il seguito indicheremo con [α, β] un intervallo contenente a, b; l’errore della formula
di quadratura sarà indicato, al solito, con
Zb
R(f ) =
w(x)f (x)dx −
n
X
Ai f (xi ).
i=0
a
Come noto, R(f ) è un funzionale lineare e continuo su C 0 ([α, β]), rispetto alla norma
del massimo. Infine, indicando con u+ = max(u, 0), porremo, per t fissato e m intero
non negativo:
(x − t)m
+ =



 (x − t)m per x ≥ t,


 0
per x ≤ t.
Si ha il seguente
Teorema 5 Supponiamo che la formula di quadratura (1.25) sia esatta per polinomi
di grado ≤ N, N ≥ 0 e che f ∈ C N +1 ([α, β]). Allora
1
R(f ) =
N!
Zβ
KN (t)f (N +1) (t)dt,
(1.26)
α
dove la funzione nucleo
KN (t) = R((x − t)N
+ ),
corrispondente all’errore della formula di quadratura applicata alla funzione particolare x −→ (x − t)N
+ , è detta nucleo di Peano della formula (1.25).
15
Dimostrazione. Dall’ uguaglianza
Zx
f 0 (t)dt
f (x) = f (α) +
α
per integrazione per parti si ha
Zx
0
(t − α)f 00 (t)dt.
f (x) = f (α) + (x − α)f (x) −
α
Analogamente


Zx
(x − α)f 0 (x) = (x − α) f 0 (α) +
f 00 (t)dt
α
per cui, sostituendo nella precedente uguaglianza, otteniamo con facili calcoli
Zx
0
(x − t)f 00 (t)dt.
f (x) = f (α) + (x − α)f (α) +
α
Procedendo in questo modo, dopo N − 1 ulteriori integrazioni per parti, otteniamo
f (N ) (α)
1
f (x) = f (α) + f 0 (α) (x − α) + ... +
(x − α)N +
N!
N!
= TN [f, α](x) +
1
N!
Zβ
Zx
(x − t)N f (N +1) (t)dt
α
(N +1) (t)dt
(x − t)N
+f
α
Essendo TN [f, α](x) un polinomio di grado minore o uguale ad N , per la proprietà di
esattezza della formula di quadratura, risulta
 β

Z
1 
(N +1) (t)dt
R(f ) = R(TN [f, α]) +
R
(x − t)N
+f
N!
α


 b β
Zβ
Z Z
n
P
1  
(N +1) (t)dt
(N +1) (t)dt w(x)dx −
Ai (xi − t)N
(x − t)N
=
+f
+f
N!
i=0
a
α
α
da cui, dopo aver scambiato l’ordine di integrazione nell’integrale doppio ad ultimo
16
membro dell’uguaglianza precedente, otteniamo
R(f ) =
1
N!
=

Zβ Zb
α
1
N!

Zβ
(x − t)N
+ w(x)dx −
a
n
P
i=0
Ai (xi − t)N
+



f (N +1) (t)dt
KN (t)f (N +1) (t)dt.
α
Corollario 6 Se la funzione t → K N (t) non cambia segno su [α, β], allora esiste un
ξ ∈ (α, β) tale che:
R(f ) =
f (N +1) (ξ)
R(xN +1 )
(N + 1)!
Dimostrazione. Applicando alla (1.26) il primo teorema del valor medio per
gli integrali [4, p. 7] si ha:
R(f ) =f
(N +1)
1
(ξ)
N!
Zβ
KN (t)dt,
ξ ∈ (α, β) .
(1.27)
α
Prendendo, in particolare, f (x) = xN +1 si ha:
Zβ
Zβ
R(xN +1 ) = (N + 1)
KN (t)dt =
KN (t)dt =⇒
α
α
R(xN +1 )
.
(N + 1)
(1.28)
Da cui, sostituendo la (1.28) nella (1.27) otteniamo la tesi.
Applichiamo il corollario precedente per calcolare espressioni dell’errore di alcune formule di quadratura. Oltre alle già citate formule del trapezio e di Simpson, prendiamo
in esame la formula del rettangolo
Z
b
f (x)dx ≈ f (a)
a
e quella del punto medio
Z
µ
b
f (x)dx ≈ f
a
a+b
2
¶
.
17
Metodo
Errore
Metodo del rettangolo
f (ξ)
Metodo del punto medio
f (ξ)
Metodo del trapezio
−f (ξ)
Metodo di Simpson
−f
0
(b − a)2
2
00
00
(4)
(b − a)3
24
(b − a)3
12
(ξ)
[(b − a)2 /2]5
90
Nota un’espressione dell’errore per una data formula elementare, è del tutto
immediato lo studio dell’errore della corrispondente formula composta. A tale scopo
è d’ausilio il seguente
Lemma 7 Sia u ∈ C 0 ([a, b]) e siano dati in [a, b] punti xj j = 0, ..., s + 1 e in corrispon-
denza costanti δj , tutte dello stesso segno. Esiste allora almeno un punto ξ ∈ [a, b]
tale che
s
X
δj u(xj ) = u(ξ)
j=0
s
X
δj .
(1.29)
j=0
Dimostrazione. Siano um = min u(x) = u(xm ) e uM = max u(x) = u(xM )
x∈[a,b]
x∈[a,b]
con xm , xM ∈ [a, b]. Dato che i coefficienti δj per ipotesi devono essere tutti dello stesso
segno, procederemo nella dimostrazione supponendoli positivi. Per definizione di um ,
uM si ha:
s
s
s
X
X
X
um δj ≤
δj u(xj ) ≤ uM
δj .
j=0
Poniamo σs =
j=0
(1.30)
j=0
s
s
X
X
δj u(xj ) e consideriamo la funzione continua U (x) = u(x) δj . In
j=0
j=0
virtù della (1.30) risulta U (xm ) ≤ σs ≤ U (xM ). Per il teorema del valor medio esiste
almeno un punto ξ compreso tra a e b tale che U (ξ) =σ . Una dimostrazione del tutto
18
simile può eseguirsi nel caso in cui i coefficienti δj siano negativi.
Suddividiamo l’intervallo (a, b) negli intervalli [yi , yi+1 ], con yi = a + iH ,
H = (b − a)/N ; come constatato nel paragrafo precedente per l’errore nella formula
composita risulta
RN (f ) =
N
−1
X
Rni (f ),
i=0
dove con
Rni (f )
abbiamo indicato l’errore della formula di quadratura elementare
quando applicata al generico intervallo [yi , yi+1 ] i = 0, ..., N − 1. Consideriamo come
esemplificazione il caso della formula dei trapezi. Sappiamo che se la funzione f (x) è
sufficientemente regolare l’errore che si commette utilizzando tale formula sul generico
intervallo [xi , xi+1 ] è dato da
R1i (f ) =
h3 (2)
f (ξi ), ξ ∈ ]yi , yi+1 [ .
12
Si ha, pertanto, denotando con T (H) la formula del trapezio composita (o dei trapezi)
Z
T (H) −
b
f (x)dx =
a
N −1
N −1
H 3 X (2)
H2
1 X (2)
f (ξi ) =
(b − a)
f (ξi ).
12
12
N
i=0
i=0
Se f ∈ C 2 ([a, b]) per il lemma precedente, assumendo δi =
1
i=0, ..., N esiste almeno
N
un punto ξ nell’intervallo [a, b] tale che
f
(2)
N −1
1 X (2)
(ξ) =
f (ξi )
N
i=0
In definitiva, si ha quindi
Zb
f (x)dx − T (H) = −
a
b − a 2 (2)
H f (ξ), H = (b − a)/N.
12
Si procede in modo del tutto analogo per il calcolo degli errori nelle formule composite
ottenute a partire dalle formule di quadratura discusse nel paragrafo precedente; in
particolare nella tabella che segue riportiamo alcune di queste espressioni:
19
Metodo
Errore
Metodo dei rettangoli
f 0 (ξ)
Metodo dei punti medi
f 00 (ξ)
Metodo dei trapezi
−f 00 (ξ)
Metodo di Simpson composito
−f (4) (ξ)
(b − a)
h
2
(b − a) 2
h
24
(b − a) 2
h
12
(b − a) 4
h
180
20
Capitolo 2
Quadratura numerica per funzione
integranda limitata
2.1
Introduzione
In questo capitolo analizzeremo un metodo di integrazione numerica auto-
matica: un insieme, cioè, di algoritmi numerici che restituisce un’approssimazione
dell’integrale I(f ) =
Rb
a
f (x)dx, entro i limiti di una tolleranza ε precisata dall’utente
e tale da essere capace di modificare in modo automatico il passo di integrazione,
dipendentemente dal comportamento locale della funzione. Svilupperemo tale idea
utilizzando in particolare la formula di Simpson per la quale riporteremo anche una
implementazione dimostrativa.
21
2.2
Integrali di funzioni con discontinuità di prima specie
Se la funzione integranda è limitata, ma non sufficientemente regolare, in-
tendento con ciò che la funzione stessa o alcune sue prime derivate presentano salti
in punti la cui collocazione è nota a priori, è possibile decomporre il dominio di integrazione in maniera che tali punti risultino estremi degli intervalli di integrazione
parziale. Più precisamente, sia c un punto noto all’interno di [a, b] e sia f una funzione
continua e sufficientemente regolare in [a, c) e (c, b], con salto f (c+ )−f (c− ) finito; si ha
allora
Zb
I(f ) =
Zc
f (x)dx =
a
Zb
f (x)dx +
a
f (x)dx
c
Utilizzando separatamente su [a, c− ) e (c+ , b] una qualsiasi delle formule di integrazione numerica precedentemente considerate, si può approssimare correttamente
I(f ). Le stesse considerazioni valgono se f ammette un numero finito di discontinuità
all’interno di [a, b] note. Più difficile, ovviamente, si presenta la situazione quando i
punti di discontinuità non sono noti a priori. Se la funzione è data in forma analitica, per localizzare almeno approssimativamente tali punti può essere utile un esame
della funzione mediante le tecniche dell’analisi. Un prezioso supporto, se usato correttamente, è lo studio grafico. Quando la funzione non è data in forma esplicita e
comunque risulta troppo complicata da studiare, si può affidare al metodo di integrazione il compito di scoprire eventuali punti di discontinuità. Evidentemente tali
metodi, noti col nome di metodi adattivi, dovranno essere capaci di modificare in
modo automatico il passo di integrazione, dipendentemente dal comportamento lo-
22
cale della funzione. E infatti, quando si applica un metodo adattivo, la presenza di
punti di discontinuità della funzione è segnalata da un eccessiva riduzione del passo
di integrazione. Naturalmente il successo di questa idea presuppone che il metodo
adattivo sia efficiente.
2.3
Integrazione adattiva
L’obiettivo di un integratore adattivo è primariamente quello di fornire una
Zb
f (x)dx entro i limiti di una prefissata tolleranza ε. La
approssimazione di I(f ) =
a
scelta della suddivisione in parti uguali dell’intervallo di integrazione in una formula
di quadratura composta, può non essere appropriata quando si integra una funzione
con comportamento altamente variato nell’intervallo di integrazione, cioè con grandi
variazioni su alcune parti e piccole variazioni su altre. Il significato di variazione è
precisato dal comportamento delle derivate della funzione. Fissiamo l’attenzione sul
generico sottointervallo [α, β] ⊂ [a, b]. L’analisi delle stime dell’errore per le formule
di Newton-Cotes, alcune delle quali sono state riportate nel capitolo precedente, evidenzia che bisognerebbe valutare le derivate di f sino ad un certo ordine per potere
scegliere un passo h di integrazione tale da garantire un’accuratezza prefissata, diciamo ²
(β − α)
. Tale procedimento, che richiederebbe uno sforzo computazionale ec(b − a)
cessivo, risultando cosı̀ impraticabile nelle modalità appena descritte, viene realizzato
in un integratore automatico adattivo.
23
2.4
Formula di Simpson adattiva
Per fissare le idee ci riferiamo alla formula di Simpson (1.17), sebbene il
metodo che ci apprestiamo a considerare possa essere applicato anche ad altre formule
di quadratura. Poniamo
Zβ
If (α, β) =
α
·
µ
¶
¸
h
α+β
β−α
f (x)dx, Sf (α, β) =
f (α) + 4f
+ f (β) , h =
.
3
2
2
L’espressione dell’errore nella formula di Simpson (1.18), nell’ipotesi che f sia sufficientemente regolare in [α, β] , è
If (α, β) − Sf (α, β) = −
h5 (4)
f (ξ),
90
(2.1)
essendo ξ un punto interno all’intervallo [α, β]. Allo scopo di stimare l’errore If (α, β)−
Sf (α, β) senza calcolare esplicitamente f (4) (x) utilizziamo nuovamente la formula di
Simpson (1.17) su ciascuno dei due sottointervalli [α, (α + β)/2] e [(α + β)/2, β], ciascuno di ampiezza h/2:
If (α, β) − Sf,2 (α, β) = −
(h/2)5 (4)
(f (ξ) + f (4) (η)),
90
dove ξ ∈ (α, (α + β)/2), η ∈ ((α + β)/2, β) e
Sf,2 (α, β) = Sf (α, (α + β)/2) + Sf ((α + β)/2, β).
Nell’ulteriore ipotesi che la funzione f (4) (x) non sia troppo variabile su [α, β] (e ciò
non è sempre vero, in generale) possiamo assumere f (4) (ξ) ' f (4) (η) e concludere che
If (α, β) − Sf,2 (α, β) = −
1 h5 (4)
f (ξ),
16 90
(2.2)
24
con una riduzione di un fattore 16 rispetto all’errore (2.1), corrispondente alla scelta
di un passo doppio. Confrontando la (2.2) e la (2.1), si ricava la stima
h5 (4)
16
f (ξ) ' δf (α, β)
90
15
(2.3)
dove abbiamo posto
δf (α, β) = Sf (α, β) − Sf,2 (α, β).
Confrontando le uguaglianze (2.2) e (2.3) otteniamo, quindi, la stima
|If (α, β) − Sf,2 (α, β)| '
|δf (α, β)|
.
15
Abbiamo dunque ottenuto una stima dell’errore commesso se l’integrale esatto, nella
parte relativa al sottointervallo [α, β], viene approssimato con la quadratura di Simpson composita su quel sottointervallo; tale stima deve essere verificata se la funzione
f è sufficientemente regolare e non troppo variabile nel sottointervallo [α, β]. Eviden-
temente la procedura di calcolo dell’integrale approssimato, che comunque richiederà
di decomporre l’intervallo di integrazione iniziale [a, b] in sottointervalli [α, β] più o
meno spaziati, richiederà uno sforzo computazionale maggiore soltanto nella parte in
cui la funzione subisce forti variazioni, nella maggior parte dei casi abbastanza localizzate. In pratica è più conveniente assumere una stima dell’errore più conservativa,
ad esempio
|If (α, β) − Sf,2 (α, β)| '
|δf (α, β)|
;
10
inoltre, in virtù della proprietà di additività dell’integrale, per garantire un’accuratezza
complessiva su [a, b] pari alla tolleranza ε prefissata, basterà imporre che su ogni sin-
25
a
α Α β
S
N
b
N
β =b
(I)
a
a
S
S
α
α+β
α A 2
N
( II )
b
golo sottointervallo [α, β] ⊂ [a, b] la stima dell’errore δf (α, β) verifichi
|δf (α, β)|
β−α
≤ε
.
10
b−a
(2.4)
L’algoritmo automatico per l’integrazione adattiva può essere organizzato come segue.
Indichiamo con:
1. A l’intervallo di integrazione attivo, ovvero dove si sta calcolando l’integrale;
2. S l’intervallo di integrazione già esaminato, per il quale il test sull’errore
è stato superato con successo;
3. N l’intervallo di integrazione che deve essere ancora esaminato.
All’inizio del processo di integrazione abbiamo N = [a, b], A =N e S =∅, mentre la
situazione al generico passo dell’algoritmo è visualizzata in figura 2.1. Indichiamo con
Js (f ) l’approssimazione della parte di integrale
Rα
a
f (x)dx già calcolata; evidentemente
Js (f ) = 0 all’inizio del processo; se l’algoritmo di calcolo giunge a buon fine, Js (f )
fornisce l’approssimazione cercata di I(f ). Indichiamo inoltre con J(α,β) (f ) l’integrale
approssimato di f sull’intervallo attivo [α, β] . Quest’ultimo è evidenziato in grassetto
26
nella figura 2.1. Ad ogni passo del metodo di integrazione adattiva si procede secondo
lo schema rappresentato in figura 2.1 e cioè:
1. Se il test sull’errore locale (2.4) è superato:
(i) si incrementa Js (f ) della quantità J(α,β) (f ), ovvero Js (f ) = Js (f )+J(α,β) (f );
(ii) si pone S = S ∪ A, A = N (corrispodente al percorso (I) nella figura 2.1),
e β = b.
2. Se il test sull’errore locale (2.4) non è superato:
·
α+β
(j) si dimezza A, ponendo il nuovo intervallo attivo pari a A = α,
2
¸
(corrispondente al percorso (II) nella figura 2.1);
·
(jj) si pone N =
¸
α+β
α+β
, β ∪ N, e β =
;
2
2
(jjj) si procede ad una nuova stima dell’errore.
Onde evitare che il passo di integrazione diventi troppo piccolo, conviene introdurre
un controllo sull’ampiezza di A e segnalare, in caso di eccessiva riduzione, la presenza
di un eventuale punto di singolarità della funzione integranda.
Esercizio 8 Applichiamo l’algoritmo adattivo di Simpson al calcolo del seguente in-
tegrale
Z4
tan−1 (10x)dx = 4 tan−1 (40) + 3 tan−1 (−30) − (1/20) log(16/9) ' 1.54201193
I(f ) =
−3
L’esecuzione del programma sottostante, assumendo tol = 10−4 e hmin = 10−3 , fornisce una approssimazione dell’integrale con un errore assoluto di 2.104·10−5 . L’algoritmo
esegue 77 valutazioni funzionali corrispondenti ad una suddivisione dell’intervallo [a, b]
in 38 sottointervalli di ampiezza non uniforme. La corrispondente formula composita
27
a passo uniforme avrebbe richiesto 128 suddivisioni con un errore assoluto pari a
2.413 · 10−5 .
L’algoritmo adattivo sopra descritto è implementato nel programma sottostante. Tra i
parametri di ingresso, hmin è il valore minimo ammissibile per il passo di integrazione.
In uscita vengono restituiti il valore approssimato dell’integrale integ , il numero totale
di valutazioni funzionali eseguite nf v e l’insieme dei punti di valutazione xf v .
Programma simpadpt : Integratore adattivo con la formula di Simpson
function [integ,xfv,nfv]=simpadpt(a,b,tol,fun,hmin)
integ=0;
level=0;
i=1;
alfa(i)=a;
beta(i)=b;
step=( beta(i)-alfa(i))/4;
nfv=0;
for k=1: 5
x=a+(k-1)*step;
f(i,k)=eval(fun);
nfv=nfv+1;
end
while(i > 0)
S=0;
28
S2=0;
h=(beta(i)-alfa(i))/2;
S=(h/3)*(f(i,1)+4*f(i,3)+f(i,5));
h=h/2;
S2=(h/3)*((f(i,1)+4*f(i,2)+f(i,3));
S2=S2+(h/3)*(f(i,3)+4*f(i,4)+f(i,5));
tolrv=tol*(beta(i)-alfa(i))/(b-a);
errrv=abs(S-S2)/10;
if(errrv > tolrv)
i=i+1;
alfa(i)=alfa(i-1);
beta(i)=(alfa(i-1)+beta(i-1))/2;
f(i,1)=f(i-1,1);
f(i,3)=f(i-1,2);
f(i,5)=f(i-1,3);
len=abs(beta(i)-alfa(i));
if(len >= hmin)
if(len <= 11*hmin)
str=sprintf(’Funzione singolare in x=%12.7f’, alfa(i));
disp(str);
end
step=len/4;
29
x=alfa(i)+step;
f(i,2)=eval(fun);
nfv=nfv+1;
x=beta(i)-step;
f(i,4)=eval(fun);
nfv=nfv+1;
else
xfv=xfv’;
disp(’h e”minore di hmin’)
str=sprintf(’L”integrale sinora calcolato vale%12.7e’, integ);
disp(str);
return
end
else
integ=integ+S2;
level=level+1;
if(level==1)
for k=1: 5
xfv(k)=alfa(i)+(k-1)*h;
end
ist=5;
else
30
for k=1: 4
xfv(ist+k)=alfa(i)+k*h;
end
ist=ist+4;
end
if(beta(i)==b)
xfv=xfv’;
str=sprintf(’L’integrale vale%12.7e’,integ);
disp(str);
return
end
i=i-1;
alfa(i)=beta(i+1);
f(i,1)=f(i+1,5);
f(i,3)=f(i,4);
step=abs(beta(i)-alfa(i))/4;
x=alfa(i)+step;
f(i,2)=eval(fun);
nfv=nfv+1;
x=beta(i)-step;
f(i,4)=eval(fun);
nfv=nfv+1;
31
end
end
32
Capitolo 3
Quadratura numerica per funzione
integranda non limitata o intervallo
di integrazione non limitato
3.1
Introduzione
Col termine ”integrale improprio” si indica generalmente un integrale in cui
la funzione integranda non è limitata nell’intervallo di integrazione; tuttavia, occasionalmente è utile includere in questa categoria il caso di integrali di funzioni
che posseggono una singolarità apparente o eliminabile nell’intervallo di integrazione,
ed anche il caso degli integrali su intevalli infiniti. Gli integrali impropri appaiono
frequentemente in processi computazionali e devono essere trattati mediante metodi
speciali. I primi paragrafi del presente capitolo sono dedicati al caso in cui la funzione
33
integranda non è limitata nell’intervallo di integrazione finito. Assumeremo a volte,
senza perdere in generalità, che l’integrale da valutare sia dato nella forma
R1
f (x)dx,
0
dove la funzione f (x) è continua in 0 < x ≤ 1 ma non in 0 ≤ x ≤ 1; ad esempio f (x) può
essere non limitata nelle vicinanze di x = 0. Il caso degli integrali su domini illimitati,
parimenti trattato nei paragrafi finali del presente capitolo, può essere ricondotto al
caso di integrale di funzione non limitata su intervallo finito mediante una opportuna trasformazione di variabile. Ulteriori metodi di quadratura in questo caso sono
organizzati mediante procedimento limite, o anche mediante l’utilizzo di formule interpolatorie di tipo Gaussiano che assumono come nodi di quadratura rispettivamente
gli zeri dei polinomi ortogonali di Hermite e di Laguerre.
3.2
Idee generali
Per fissare le idee, supponiamo che la funzione integranda f (x) diventi infinita
per x −→ a+ , con a estremo sinistro dell’intervallo di integrazione; l’analisi è del tutto
simile qualora f (x) diventi infinita per x −→ b− . Supponiamo, ad esempio, che la
funzione integranda si possa scrivere nella seguente forma:
f (x) =
φ(x)
, 0<θ<1
(x − a)θ
dove φ(x) è una funzione regolare sull’intervallo chiuso e limitato [a, b] , in modulo non
superiore a M . Sotto tali ipotesi possiamo dare la seguente stima dell’integrale:
Zb
|I(f )| ≤ M lim
t→a+
t
1
(b − a)1−θ
dx
=
M
.
1−θ
(x − a)θ
34
La restrizione su θ assicura, come noto, l’esistenza dell’integrale come limite di integrali di Cauchy-Riemann su sottointervalli che costituiscono una esaustione dell’intervallo
[a, b]. Per il calcolo numerico dell’integrale I(f ) si possono considerare le idee espresse
nel paragrafo 3.2.
3.3
Metodi per il calcolo di integrali impropri
Un primo metodo consiste nel fissare un ² tale che 0 < ² < (b − a) in modo
tale da scrivere l’integrale improprio come somma di due integrali I(f ) = I1 + I2 , dove
I1 =
a+²
R
a
Rb φ(x)
φ(x)
dx
I
=
dx
2
θ
(x − a)θ
a+² (x − a)
L’integrale I2 non presenta più problemi, essendo la funzione integranda regolare
sull’intervallo di integrazione; quindi, per la sua approssimazione si può procedere
con metodi di quadratura classici. Allo scopo di calcolare I1 sostituiamo φ con il suo
sviluppo in serie di Taylor attorno ad x = a arrestato all’ordine p :
φ(x) = φp (x) +
(x − a)p+1 (p+1)
φ
(ξ(x)), p ≥ 0
(p + 1)!
dove abbiamo posto
φp (x) =
p
X
k=0
φ(k) (a)
(x − a)k
.
k!
Si ha allora
I1 (f ) = ε1−θ
p
X
k=0
εk φ(k) (a)
1
+
k!(k + 1 − θ) (p + 1)!
Za+²
(x − a)p+1−θ φ(p+1) (ξ(x))dx
a
(3.1)
35
per cui, sostituendo I1 (f ) con la sommatoria a secondo membro dell’equazione precedente, l’errore corrispondente R1 (f ) è maggiorato da
|R1 (f )| ≤
¯
¯
¯
¯
max ¯φ(p+1) (x)¯ ,
a≤x≤a+²
p ≥ 0.
Supponiamo di fissare ε < 1; se le derivate di φ sono limitate o non aumentano troppo
all’aumentare di p, si ha che R1 (f ) decresce in modulo al crescere di p. L’integrale
relativo alla parte I2 (f ) si può approssimare utilizzando una formula di Newton Cotes
composita a m sottointervalli e n + 1 nodi di quadratura per sottointervallo, con n
pari. Usando le note formule per l’errore nel caso delle formule chiuse con n pari [2,
p. 281]
Rn,m (f ) =
(b − a) Mn n+2 (n+2)
H
f
(ξ),
(n + 2)! nn+3
H=
b−a
,
m
Z
Mn =
0
n
tπn+1 (t)dt < 0
e volendo equidistribuire l’errore δ tra I1 e I2 , si ha
|R2 (f )| ≤ M(n+2) (ε)
dove
(n+2)
M
(b − a − ε) |Mn |
(n + 2)!nn+3
µ
b−a−ε
m
¶n+2
=
δ
2
(3.2)
¯ n+2 ·
¸¯
¯d
¯
φ(x)
¯.
(ε) = max ¯¯ n+2
θ
a+²≤x≤b dx
(x − a) ¯
Si osserva che il valore della costante M(n+2) (ε) cresce rapidamente al tendere a zero
di ε; conseguentemente la (3.2) può comportare un numero di suddivisioni mε = m (ε)
talmente elevato da rendere il metodo in esame di scarsa utilità pratica.
Esempio 9 Si debba calcolare l’integrale generalizzato (noto come integrale di Fresnel)
π
Z2
I(f ) =
0
cos(x)
√ dx.
x
36
Sviluppando in serie di Taylor la funzione integranda nell’intorno dell’origine e applicando il teorema di integrazione per serie, si ottiene
I(f ) =
∞
X
(−1)k
k=0
1
(π/2)2k+1/2 .
(2k)! (2k + 1/2)
Troncando la serie ai primi 10 termini, si ha un valore dell’integrale pari a 1.9549.
Utilizzando la formula di Simpson composita, la stima a priori (3.2) fornisce, ponendo
n = 2, |Mn | =
4
e facendo tendere ε a zero
15
·
¸1/4
´5
0.018 ³ π
mε '
− ε ε−9/2
.
δ
2
Per δ = 10−4 , prendendo ε = 10−2 , si ricava che sono necessarie 1140 suddivisioni
(uniformi) mentre per ε = 10−4 e ε = 10−6 ne servono rispettivamente 2 · 105 e 3.6 · 107 .
Per confronto, eseguendo il programma scritto nel capitolo precedente (integrazione
adattiva con formula di Simpson) con a = ε = 10−10 , hmin = 10−12 e tol = 10−4 , si
ottiene la stima 1.955 dell’integrale con 1057 valutazioni funzionali, corrispondenti a
h πi
528 suddivisioni non uniformi dell’intervallo 0,
.
2
Un altro metodo si ricava decomponendo l’integrale I(f ) nella somma
Zb
I(f ) =
a
φ(x) − φp (x)
dx +
(x − a)θ
Zb
a
φp (x)
dx = I1 + I2
(x − a)θ
con l’ausilio dello sviluppo di Taylor (3.1). Il calcolo esatto dell’integrale I2 , dà la
seguente espressione
I2 = (b − a)1−θ
p
X
(b − a)k φ(k) (a)
k=0
L’integrale I1 si scrive, per p ≥ 0
k!(k + 1 − θ)
.
37
Zb
I1 =
(p+1) (ξ(x))
p+1−θ φ
(x − a)
(p + 1)!
a
Zb
g(x)dx
dx =
a
dove I1 ha una funzione integranda con una singolarità su derivate di ordine più
elevato. La scelta del valore p più opportuno dipenderà quindi dalla formula di
quadratura utilizzata.
3.4
Procedimento con limite
La definizione di base è
Z1
Z1
f (x)dx = lim
t→0+
0
f (x)dx.
t
Analizziamo un primo modo di procedere. Sia 1 > r1 > r2 > ... > 0 una sequenza di
punti che converge a zero, ad esempio rn =
Z1
0
Zr2
Zr1
Z1
f (x)dx =
1
. Scriviamo
2n
r3
r2
r1
f (x)dx + ....
f (x)dx +
f (x)dx +
Ogni integrale
al secondo
membro è un integrale proprio e la valutazione termina
¯r
¯
n+1
¯Z
¯
¯
¯
¯
quando ¯
f (x)dx¯¯≤ ². Questo è un criterio pratico di stop, non corretto teorica¯
¯
rn
mente. Infatti, se applicato all’integrale divergente
rn =
1
indica convergenza, essendo
n
R1 dx
relativamente alla successione
0 x
1
Zn
dx
n+1
= log
x
n
1
(n+1)
e
¯
¯
¯
¯
n
+
1
¯ = log 1 = 0.
lim ¯¯log
n→∞
n ¯
38
Esempio 10
Z1
I=
0
n
1
2
4
8
16
32
40
Z1
dx
1
2
x +x
1
3
, In =
rn
x +x
1
3
, rn = 2−n
Numero di valutazioni della funzione
In
0.28492598
0.47448022
0.68323927
0.81280497
0.84029678
0.84111612
0.84111663
0.84111692
valore esatto
dx
1
2
9
18
44
80
176
344
432
Rrn
In questo caso ogni integrale
f (x)dx è stato calcolato mediante una par-
rn−1
ticolare modifica adattiva delo schema di integrazione di Romberg.
3.5
Troncamento dell’intervallo
Rr
f (x)dx senza
0
¯r
¯
¯R
¯
difficoltà eccessive. Se ¯¯ f (x)dx¯¯ ≤ ε, allora possiamo limitarci a calcolare l’integrale
In qualche caso è possibile ottenere una stima dell’integrale
proprio
R1
0
f (x)dx.
r
Esempio 11 ([5, p. 163]) Stimiamo
Zr
0
g(x)
1
2
1
x + x3
dx
1
1
dove g(x) ∈ C [0, 1] e inoltre |g(x)| ≤ 1. Poichè x 2 ≤ x 3 in [0, 1], abbiamo
¯
¯
¯ g(x) ¯
1
¯ 1
¯
1 ¯ ≤
1 .
¯ 2
x + x3
2x 2
quindi
¯ r
¯
¯Z
¯
Zr
¯
¯ 1
1
g(x)
dx
¯
¯
2
1
1 dx¯ ≤
1 = r .
¯
x2
¯ x2 + x3 ¯ 2
0
0
Ciò suggerisce che dobbiamo prendere r ≤ 10−6 per ottenere una accuratezza di 10−3 .
39
3.6
Cambio di variabile
A volte è possibile trovare un cambio di variabile che elimina la singolarità.
Per esempio, se f (x) ∈ C [0, 1], il cambio di variabile tn = x trasforma l’integrale
Z1
1
x− n f (x)dx,
n≥2
0
Z1
in n f (tn )tn−2 dt che è un integrale proprio. Se l’integrale improprio
0
Z
1
f (x) log xdx,
0
dove f (x) ∈ C [0, 1], f (0) 6= 0 è trattato mediante la sostituzione ovvia t = − log x,
Z∞
otteniamo − te−t f (e−t )dt un integrale su un intervallo di integrazione infinito. In
0
questo caso però il cambiamento di variabile produce soltanto una trasformazione
della difficoltà iniziale in un altro tipo.
Se la funzione integranda è limitata, ma ha un basso ordine di continuità,
può essere preferibile effettuare un cambio di variabile. Per esempio, consideriamo il
caso dell’integrale
Za
I=
p
f (x)x q dx
0
dove p e q sono interi positivi. Ponendo x = tq otteniamo
1
Za q
I = q tp+q−1 f (tq )dt.
0
Altre trasformazioni utili sono:
Z1
−1
f (x)dx
(1 − x2 )1/2
Zπ
=
f (cos t) dt,
0
40
e
Z1
f (x)dx
(x (1 − x))1/2
0
3.7
Zπ/2
¡
¢
=2
f sin2 t dt.
0
Integrazione di tipo interpolatorio
Sia w(x) una funzione con una singolarità nelle vicinanze di x = 0, ma tale
Z1
w(x)xk dx esiste per k = 0, 1, 2, .., n. Per una data sequenza di ascisse
che l’integrale
0
0 < x0 < x1 < x2 < ... < xn ≤ 1, possiamo determinare pesi wi tali che
Z1
w(x)f (x)dx =
n
X
wk f (xk )
k=0
0
se f (x) ∈ Pn . Ciò induce una approssimazione della formula di integrazione
Z
1
w(x)f (x)dx ≈
0
n
X
wk f (xk ).
k=0
1
Esempio 12 Sia w(x) = x− 2 , x0 = 13 , x1 = 23 , x2 = 1. Allora i pesi wk sono determinati
dal seguente sistema lineare

R1 1



w1 + w2 + w3 = 0 x− 2 dx = 2




R 1 −1
2
2
1
2 xdx =
w
+
w
+
w
=
1
2
3
3
3
3
0 x





R

 1 w1 + 4 w2 + w3 = 1 x− 12 x2 dx = 2
9
9
5
0
Otteniamo quindi la formula di quadratura
Z
1
− 12
x
0
14
f (x)dx ≈ f
5
µ ¶
µ ¶
1
8
2
4
− f
+ f (1)
3
5
3
5
che è più conveniente usare nella forma
Z
r
·
− 21
x
0
f (x)dx ≈ r
1
2
14
f
5
µ ¶
µ ¶
¸
1
8
2
4
− f
+ f (1)
3
5
3
5
41
Esempio 13 ([5, p. 141]) Riportiamo una formula dovuta a A. Young
Z
1
−1
3.8
·
µ ¶
µ ¶
¸
1
1
π
f (−1) + 2f −
+ 2f
+ f (1) .
dx ≈
6
2
2
(1 − x2 )1/2
f (x)
Cambio di variabile su intervalli non limitati
La sostituzione x = e−y trasforma l’intervallo 0 ≤ y ≤ ∞ in 0 ≤ x ≤ 1. Quindi
possiamo scrivere la seguente formula
Z∞
Z1
f (y)dy =
0
0
f (− log x)
dx =
x
Z1
0
g(x)
dx
x
(3.3)
che riconduce un integrale su un intervallo illimitato ad un integrale su un intervallo
limitato. Se
g(x)
è limitata nelle vicinanze di x = 0, allora il secondo integrale sarà
x
proprio. Ma se ciò non accade vuol dire che abbiamo cambiato solo il tipo di difficoltà.
Una forma alternativa di questa trasformazione è
R∞
0
e−x f (x)dx =
¢
R1 ¡
1
0 f log x dx. Es-
istono ragioni di natura numerica per le quali la trasformazione (3.3) è valida, se f (y)
è di tipo esponenziale, e |f (y)| ≤ e−ky , 0 ≤ y < ∞. La trasformazione (3.3) è un caso
particolare di una procedura generale. Sia t(x) una qualsiasi funzione appartenente a
C 1 [0, ∞) e monotona in questo intervallo, tale che t(x) soddisfa le condizioni t(0) = 1,
t(∞) = 0, oppure t(0) = 0, t(∞) = 1. Allora abbiamo
Z
Z
∞
1
f (x)dx =
0
0
¯ ¯
¯ dx ¯
f (x(t)) ¯¯ ¯¯ dt.
dt
La formula (3.3) usa la sostituzione t(x) = e−x . Altre possibili sostituzioni sono
t(x) =
x
e t(x) = tanh(x). Come nella ( 3.3), le risultanti integrazioni usualmente
1+x
sono improprie. Altre trasformazioni che sono usualmente utilizzate sono
Z
Z
b
f (x)dx = (b − a)
a
µ
∞
f
0
a + bt
1+t
¶
dt
,
(1 + t)2
42
π
Z2
Z∞
f (x)dx =
0
f (x)
0
sin(x)
dx,
x
a patto che
f (x + π) = f (x) e f (x) = f (−x),
e
π
Z2
Z∞
f (x) cos(x)dx =
0
f (x)
0
sin(x)
dx,
x
a patto che
f (x + π) = −f (x) e f (x) = f (−x),
3.9
Procedimento al limite per intervalli infiniti
La definizione di base
Z
Z
∞
r
f (x)dx = lim
f (x)dx
r→∞ 0
0
suggerisce un primo modo di procedere. Sia 0 < r0 < r1 < ... una sequenza di numeri
tale che lim rn = ∞. Scriviamo
n→∞
Z
Z
∞
f (x)dx =
0
Z
r0
r1
f (x)dx +
0
f (x)dx + ...
(3.4)
r0
Ogni integrale a secondo membro della (3.4) è proprio, e le valutazioni terminano
¯
¯
¯
¯ rn+1
¯
¯ R
f (x)dx¯ ≤ ε. Come constatato in precedenza, questo particolare metodo
quando ¯
¯
¯ rn
di stop non è corretto teoricamente; per esempio l’integrale
Z∞
1
dx
x
43
è divergente, ma il test di stop applicato al caso rn = n indica convergenza. Di solito
il sottointervallo di integrazione finita è frequentemente raddoppiato ad ogni passo,
cioè si pone rn = 2n ; l’idea che supporta questa scelta è che se si usa una sequenza
aritmetica (rn = cn), il contributo di ogni singola addizione ad ogni passo può essere
eccessivamente piccolo, a volte minore di ε già dopo pochi passi, interrompendo cosı̀
il procedimento di calcolo troppo presto.
Esempio 14
Zrn
In =
0
e−x
dx, rn = 2n
1 + x4
n
In
Numero di valutazioni della funzione
0
0.57202582
35
1
0.62745952
52
2
0.63043990
100
3
0.63407761
178
4
0.63407766
322
valore esatto 0.63407783
3.10
Accelerazione della convergenza
Il metodo descritto sopra può essere accelerato se riusciamo ad ottenere uno
sviluppo asintotico di
R∞
r
f (x)dx per r → ∞. Per esempio, usando il primo termine
della (3.6) si ha
Z
r
∞
ce−r
e−x
dx
v
(1 + x4 )
(1 + r4 )
44
da cui applicando l’estrapolazione di Richardson nella forma
In0 =
In Φ(rn+1 ) − In+1 Φ(rn )
,
Φ(rn+1 ) − Φ(rn )
Φ(r) =
e−r
,
(1 + r4 )
rn = 2n
si ottengono i seguenti valori
n
0
1
2
3
In0
0.62996722
0.63046682
0.63047765
0.63047766
Si noti che I10 è più grande di I2 e I20 è quasi uguale a I4 .
3.11
Integrazione Gaussiana su intervalli illimitati
Per l’integrazione sulla semiretta o sull’intera retta, si possono usare formule
interpolatorie di tipo Gaussiano che assumono come nodi di quadratura rispettivamente gli zeri dei polinomi ortogonali di Laguerre e di Hermite.
I polinomi di Laguerre.
Sono polinomi algebrici, ortogonali sull’intervallo [0, +∞) rispetto alla funzione peso w(x)= e−x , cioè se indichiamo con Ln (x) l’n-simo polinomio allora
Z∞
Ln (x)Lm (x)e−x dx = 0,
n 6= m.
0
Essi sono definiti nel seguente modo
Ln (x) = ex
dn −x n
(e x ),
dxn
n ≥ 0,
e soddisfano la seguente relazione ricorsiva a tre termini



 Ln+1 (x) = (2n + 1 − x)Ln (x) − n2 Ln−1 (x), n ≥ 0,


 L−1 = 0,
L0 = 1.
45
I primi polinomi hanno le seguenti espressioni:
k Lk (x)
0 1
1 −x + 1
2 x2 − 4x + 2
3 −x3 + 9x2 − 18x + 6
4 x4 − 16x3 + 72x2 − 96x + 24
5 −x5 + 25x4 − 200x3 + 600x2 − 600x + 120
6 x6 − 36x5 + 450x4 − 2400x3 + 5400x2 − 4320x + 720
7 −x7 + 49x6 − 882x5 + 7350x4 − 29400x3 + 52920x2 − 35280x + 5040
Per ogni funzione f , definiamo ϕ(x) = f (x)ex . Allora
Z
I(f ) =
Z
∞
f (x)dx =
0
∞
e−x ϕ(x)dx,
0
e basterà applicare a quest’ultimo integrale le seguenti formule, note col nome di
formule di quadratura di Gauss-Laguerre, ottenendo, per n ≥ 1 e f ∈ C 2n ([0, +∞))
I(f ) =
n
X
αk ϕ(xk ) +
k=1
(n!)2 (2n)
ϕ
(ξ),
(2n)!
0<ξ<∞
(3.5)
dove i nodi xk , per k = 1, ..., n, sono gli zeri di Ln (x) e i pesi sono dati da
αk =
(n!)2 xk
.
[Ln+1 (xk )]2
Dalla (3.5) si evince che le formule di Gauss-Laguerre integrano esattamente funzioni
f del tipo ϕ(x)e−x , dove ϕ(x) ∈ P2n−1 . In senso generalizzato possiamo affermare che
esse hanno grado di esattezza ottimale, pari a 2n − 1.
46
Esempio 15 Usando la formula di quadratura di Gauss-Laguerre con n =12 per cal-
colare l’integrale I(f ) =
R∞
0
cos2 (x)e−x dx otteniamo il valore 0.5997 con un errore as-
soluto rispetto all’integrale esatto pari a 2.96 · 10−4 . La formula composita del trapezio
richiederebbe 277 nodi per ottenere la stessa accuratezza.
Mediante il cambio di variabile x→x + a nella precedente formula, si ottiene
la formula di Laguerre modificata:
Z
∞
e−x ϕ(x)dx = e−a
a
n
P
αk ϕ(xk + a) +
k=1
(n!)2 (2n)
ϕ
(ξ),
(2n)!
− ∞ < a < ξ < ∞.
(3.6)
I polinomi di Hermite:
Sono polinomi ortogonali sull’intera retta reale rispetto alla funzione peso
2
w(x) = e−x , cioè se indichiamo con Hn (x) l’n-simo polinomio allora
Z∞
2
Hn (x)Hm (x)e−x dx = 0,
n 6= m.
−∞
Essi sono definiti da
2
Hn (x) = (−1)n e−x
dn −x2
(e ),
dxn
n≥0
e si possono generare ricorsivamente nel modo seguente



 Hn+1 (x) = 2xHn (x) − 2nHn−1 (x), n ≥ 0,


 H−1 = 0,
H0 = 1.
I primi polinomi hanno le seguenti espressioni:
47
k Hk (x)
0 1
1 2x
2 4x2 − 2
3 8x3 − 12x
4 16x4 − 48x2 + 12
5 32x5 − 160x3 + 120x
6 64x6 − 480x4 + 720x2 − 120
7 128x7 − 1344x5 + 3360x3 − 1680x
2
Analogamente al caso precedente, posto ϕ(x) = f (x)ex , si ha
Z∞
I(f ) =
Z∞
2
e−x ϕ(x)dx.
f (x)dx =
−∞
−∞
Applichiamo a quest’ultimo integrale le seguenti formule, note col nome di formule di
quadratura di Gauss-Hermite, ottenendo, per n ≥ 1 e f ∈ C 2n (R)
Z∞
I(f ) =
e
−x2
ϕ(x)dx =
n
X
k=1
−∞
√
n! π (2n)
αk ϕ(xk ) + n
ϕ
(ξ)
2 (2n)!
(3.7)
dove i nodi xk per k = 1, ..., n, sono gli zeri di Hn (x) e i pesi sono dati da
√
2n+1 n! π
αk =
.
[Hn+1 (xk )]2
Dalla (3.7) possiamo concludere che le formule di Gauss-Hermite integrano esatta2
mente funzioni f del tipo ϕ(x)e−x , dove ϕ(x) ∈ P2n−1 ; esse hanno pertanto grado di
esattezza ottimale pari a 2n − 1.
48
Bibliografia
[1] F. Costabile, Appunti di Calcolo Numerico con software didattico, Liguori, Napoli, 1992.
[2] A. Quarteroni, R. Sacco, F. Saleri, Matematica Numerica, Springer-Verlag Italia, Milano, 2000.
[3] A. Ralston, A first course in Numerical Analysis, New York, 1965.
[4] P.J. Davis, Interpolation & Approximation, Dover Publications, New York, 1975.
[5] P.J. Davis, P. Rabinowitz, Methods of Numerical Integration, Academic Press, New
York, 1975.
49
Al termine, desidero ringraziare il Dr. Francesco Dell’Accio che con molta serietà e
pazienza mi ha seguito nella stesura di questa tesi.
Fly UP