Sei sulla pagina 1di 244

Lista dei simboli

IN insieme dei numeri naturali


ZZ insieme dei numeri interi relativi
IR insieme dei numeri reali
C
/
insieme dei numeri complessi
IR
m
spazio dei vettori con m componenti reali
C
/
m
spazio dei vettori con m componenti complesse
IR
mn
spazio delle matrici con m righe e n colonne a elementi reali
C
/
mn
spazio delle matrici con m righe e n colonne a elementi complessi
sign(x) =

1 se x > 0
1 se x < 0
sign
0
(x) =

sign(x) se x = 0
0 se x = 0
s() =

1 se la permutazione `e di classe pari


1 se la permutazione `e di classe dispari
tr(x) troncamento del numero reale x
rd(x) arrotondamento del numero reale x
insieme vuoto
O matrice nulla
vi LISTA DEI SIMBOLI
I matrice identica
e
(j)
j-esima colonna di I
A
T
matrice trasposta della matrice A
A
H
matrice trasposta coniugata della matrice A
diag(a
11
, a
22
, . . . , a
nn
) matrice diagonale
det(A) determinante della matrice A
r(A) rango della matrice A
(A) raggio spettrale della matrice A
tr(A) traccia della matrice A
(A) numero di condizionamento della matrice A
() molteplicit`a algebrica dellautovalore
() molteplicit`a geometrica dellautovalore

rs
=

1 se r = s
0 se r = s
( di Kronecker)

k
insieme dei polinomi algebrici di grado al pi` u k
O(h
k
) innitesimo di ordine k rispetto ad h
A B da A segue B e viceversa
A B A implica B
f(x) C
n
(I) funzione con derivate continue no allordine n sullinsieme I
Capitolo 1
Teoria degli errori
1.1 Rappresentazione dei numeri
Scelto un qualunque numero intero > 1, ogni numero non nullo x IR
ammette una rappresentazione in base
x = sign(x)
b

i=1

i
,
dove b ZZ e ogni
i
`e un intero tale che 0
i
1, i = 1, 2, . . ., (sign(x)
`e denita come una funzione che assume valore 1 se x > 0 e valore 1 se
x < 0). Il numero dicesi appunto la base, b lesponente e i numeri
i
si
dicono le cifre della rappresentazione.
Vale il seguente teorema.
Teorema 1.1.1 (di rappresentazione) Data una base intera > 1 e un qua-
lunque numero reale x diverso da zero, esiste ununica rappresentazione in
base tale che:
1. sia
1
= 0,
2. non vi sia un intero k per cui si abbia
j
= 1, j > k.
La rappresentazione denita dal teorema precedente dicesi rappresenta-
zione in virgola mobile normalizzata del numero reale x.
Fissato , sono quindi univocamente determinati i numeri b e
i
, i =
1, 2, . . ., della rappresentazione normalizzata e la serie

i=1

i

i
`e detta
2 CAPITOLO 1. TEORIA DEGLI ERRORI
mantissa del numero x; `e immediato vericare che
1

i=1

i
< 1.
Allinterno di un calcolatore si possono rappresentare solo un certo nu-
mero m di cifre della mantissa di x. La rappresentazione sul calcolatore
corrisponde perci`o al numero y = tr(x) oppure a y = rd(x) dove tr(x) ed
rd(x) sono approssimazioni di x, denite dai seguenti due criteri
y = tr(x) = sign(x)
b
m

i=1

i
, (1.1)
y = rd(x) =
_
_
_
tr(x) se 0
m+1
<

2
sign(x)
b
_
m
i=1

i
+
m

se

2

m+1
<
. (1.2)
Nel caso particolare in cui risulti
1
=
2
= =
m
= 1 e
m+1

/2, nella seconda delle (1.2) la normalizzazione porta ad aumentare di una
unit`a lesponente b. Per esempio, con = 10 e m = 3, se x = 0.9997 10
5
si ha rd(x) = 0.100 10
6
.
La (1.1) si chiama rappresentazione per troncamento del numero reale
x mentre la (1.2) fornisce la rappresentazione per arrotondamento. Si pu`o
dimostrare che | tr(x) x |<
bm
e | rd(x) x |
1
2

bm
, per cui, tra
le due, la rappresentazione per arrotondamento `e, in generale, una migliore
approssimazione del numero reale x.
Si indichi con M linsieme dei numeri z rappresentabili allinterno di un
calcolatore, comunemente chiamati numeri di macchina.
M `e un insieme nito; infatti, ssati ed m e supposto L b U
(L, U ZZ), la cardinalit`a di M risulta 2(
m

m1
)(U L+1) +1. Spesso
linsieme M viene indicato con il simbolo F(, m, L, U) per meglio eviden-
ziare le caratteristiche della macchina.
Dato un qualunque numero reale x = 0, non `e assicurata lesistenza di
rd(x) fra i numeri di macchina.
Sia, per esempio, F(10, 3, 99, 99) e x = 0.9998 10
99
; si ha rd(x) =
0.110
100
che non rientra nellinsieme dei numeri di macchina considerato. In
questo caso si ha una situazione di overow e cio`e il numero da rappresentare
`e troppo grande e non appartiene a M (tutti i calcolatori segnalano il
presentarsi di un overow, alcuni arrestano lesecuzione del programma, altri
proseguono con rd(x) = sign(x) max
yM
| y |).
1.1. RAPPRESENTAZIONE DEI NUMERI 3
Per contro, si abbia il numero x = 0.0110
99
; risulta rd(x) = 0.110
100
che non `e un numero di macchina. In questo caso si ha una situazione di
underow, cio`e il numero da rappresentare `e troppo piccolo e non appar-
tiene a M (non tutti i calcolatori segnalano questa situazione e nel caso in
cui proseguano lesecuzione del programma pongono rd(x) = 0).
Si dimostra che rd(x) soddisfa la relazione
| rd(x) x || z x |, z M,
per cui, se rd(x) M, esso, in valore assoluto, dierisce da x meno di
qualunque altro numero di macchina.
Si denisce errore assoluto della rappresentazione del numero reale x il
valore

x
= rd(x) x
ed errore relativo il valore

x
=
rd(x) x
x
=

x
x
.
Dalle precedenti considerazioni si ricavano le limitazioni
|
x
|
1
2

bm
,
|
x
|<
1
2

1m
.
Il numero u =
1
2

1m
si dice precisione di macchina. In generale quando
lerrore relativo di una approssimazione non supera
1
2

1k
si dice che lappros-
simazione `e corretta almeno no alla k-esima cifra signicativa. Da quanto
sopra segue quindi che rd(x) approssima x almeno no alla m-esima cifra
signicativa.
Se si assume la base = 2 ogni cifra della rappresentazione di un nu-
mero ha valore 0 o 1 e si dice bit
1
(binary digit), mentre si dice parola di
lunghezza t linsieme dei t bit rappresentanti un numero. Per ragioni tec-
niche si usa spesso una base = 2
n
(n > 1) in cui ciascuna cifra, tradotta in
rappresentazione binaria, richiede n bit.
Si distinguono la rappresentazione dei numeri interi da quella dei reali e
laritmetica che opera solo con numeri interi da quella che opera indierente-
mente con numeri interi e reali.
In 1.1.1, 1.1.2, 1.1.3, si far`a riferimento al caso t = 32.
1
Il termine bit `e usato nel seguito in forma invariata anche al plurale.
4 CAPITOLO 1. TEORIA DEGLI ERRORI
1.1.1 Numeri interi
Per rappresentare un numero intero i 32 bit della parola vengono cos`
utilizzati: un bit fornisce il segno del numero (per esempio 0 se il numero `e
positivo e 1 se `e negativo), i restanti 31 bit servono a rappresentare in base
2 le cifre del numero dato. E evidente che il massimo intero rappresentabile
`e, in valore assoluto, 2
31
1 = 2147483647.
1.1.2 Numeri reali (precisione semplice)
Nella rappresentazione dei numeri reali una situazione caratteristica `e la
seguente: la base `e 16 (sistema esadecimale), un bit `e riservato al segno
del numero, sette bit sono riservati alla rappresentazione dellesponente b,
i restanti 24 bit sono utilizzati per le cifre
i
della mantissa che, in base
16, sono 6 in quanto occorrono 4 bit per rappresentare in binario una cifra
esadecimale compresa tra 0 e 15. Lesponente b non `e rappresentato in segno
ma in traslazione rispetto a 64 e cio`e viene rappresentato il numero b

= b+64;
ne segue che b `e compreso tra 64 e 63.
Di conseguenza, indicando con F la cifra esadecimale che corrisponde al
numero 15
2
, il massimo numero rappresentabile (in precisione semplice) `e
0.FFFFFF 16
63
7.23 10
75
, il minimo numero non negativo rappre-
sentabile risulta 0.1 16
64
5.39 10
79
e la precisione di macchina `e
u
s
=
1
2
16
5
4.75 10
7
.
1.1.3 Numeri reali (doppia precisione)
I numeri reali si dicono in doppia precisione quando sono rappresentati
con una doppia parola e quindi con 64 bit. Rispetto alla precisione sem-
plice cambia solo il numero delle cifre esadecimali della mantissa che da 6
divengono 14 in quanto essa viene ad includere i 32 bit aggiunti. Linsieme
dei numeri rappresentabili non cambia molto mentre cambia la precisione di
macchina che diviene u
d
=
1
2
16
13
1.11 10
16
.
`
E possibile anche luso di precisioni multiple in cui si incrementa ulteri-
ormente il numero delle cifre della mantissa, migliorando di conseguenza la
precisione di macchina.
2
Le cifre della rappresentazione in base 16 sono: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
1.2. LE OPERAZIONI DI MACCHINA 5
1.2 Le operazioni di macchina
Nellinsieme M non tutte le propriet`a delle quattro operazioni elementari
risultano vericate, in quanto il risultato di una operazione deve essere ricon-
dotto ad un numero di macchina: perci`o le operazioni elementari allinterno
di una macchina sono diverse dalle corrispondenti operazioni ordinarie. Si
indicano nel seguente modo le quattro operazioni di macchina:
addizione
sottrazione
moltiplicazione
divisione.
Un esempio in cui laddizione () non gode della propriet`a associativa `e
il seguente.
Sia F(10, 3, 99, 99) e sia x = 0.135 10
4
, y = 0.258 10
2
, z =
0.251 10
2
; si ha
x (y z) = 0.135 10
4

_
0.258 10
2
0.251 10
2
_
= 0.135 10
4
0.700 10
4
= 0.835 10
4
,
mentre
(x y) z =
_
0.135 10
4
0.258 10
2
_
0.251 10
2
= 0.259 10
2
0.251 10
2
= 0.800 10
4
.
In modo analogo si possono dare esempi in cui loperazione non gode
della propriet`a distributiva rispetto alla addizione.
Quando si sottraggono due numeri di macchina dello stesso segno che
hanno lo stesso esponente b e con le mantisse che dieriscono di poco, si
incorre in una perdita di cifre signicative nel risultato. Tale fenomeno, detto
cancellazione, produce, come si vedr`a pi` u avanti, una notevole amplicazione
degli errori relativi.
6 CAPITOLO 1. TEORIA DEGLI ERRORI
1.3 Errore nel calcolo di una funzione
Una funzione non razionale viene sempre sostituita, allinterno di un
calcolatore, da una funzione razionale f, il cui uso comporta un errore f
che si dice errore di troncamento. Tale errore, alloccorrenza `e facilmente
maggiorabile.
Tuttavia anche nel calcolo di una funzione razionale f(x
1
, x
2
, . . . , x
n
) in
un punto assegnato P
0
= (x
(0)
1
, x
(0)
2
, . . . , x
(0)
n
), in generale, non si ottiene il
valore f(P
0
) cercato, a causa delle approssimazioni che si introducono.
Tali approssimazioni producono due tipi di errore.
Un primo errore nasce dal fatto che le operazioni aritmetiche che com-
paiono nella f(P) devono essere sostituite con le corrispondenti operazioni
di macchina e organizzate in un certo algoritmo e ci`o equivale in denitiva
alla sostituzione di f(P) con unaltra funzione f
a
(P) che la approssimi.
Un secondo tipo di errore si presenta quando non `e possibile rappresentare
esattamente le coordinate del punto P
0
e quindi si devono approssimare tali
coordinate con numeri di macchina (basti pensare, per esempio, al punto
P
0
= (

2, )).
1.3.1 Errore assoluto
Assegnato il punto P
0
IR
n
di coordinate x
(0)
i
, i = 1, 2, . . . , n, nel quale si
vuole calcolare la funzione f(P), si consideri linsieme
D = {P IR
n
| a
i
x
i
b
i
, i = 1, 2, . . . , n}
dove a
i
, b
i
IR e si supponga che sia a
i
x
(0)
i
b
i
, i = 1, 2, . . . , n; D si dice
insieme di indeterminazione del punto P
0
.
In eetti il valore cercato f(P
0
) viene sostituito dal valore calcolato f
a
(P
1
)
dove P
1
, di coordinate x
(1)
i
, i = 1, 2, . . . , n, appartiene a D e quindi lerrore
commesso risulta f
a
(P
1
) f(P
0
); di questo errore, detto errore totale, si pu`o
dare una stima.
Si pone
f
a
(P
1
) f(P
0
) = f
a
(P
1
) f(P
1
) +f(P
1
) f(P
0
)
dove la dierenza f
a
(P
1
) f(P
1
) `e detta errore algoritmico mentre la dif-
ferenza f(P
1
) f(P
0
) `e detta errore trasmesso dai dati.
1.3. ERRORE NEL CALCOLO DI UNA FUNZIONE 7
Lerrore algoritmico, una volta ssato lalgoritmo che fornisce f
a
(P),
risulta denito e stimabile.
Allerrore trasmesso, nellipotesi che f(P) C
1
(D), si pu`o dare una
rappresentazione generale: dalla formula di Taylor arrestata al primo termine
e con punto iniziale P
0
si ottiene
f(P
1
) f(P
0
) =
n

i=1
f
x
i
(x
(1)
i
x
(0)
i
) (1.3)
dove le derivate parziali della funzione f(P) sono calcolate in un punto op-
portuno. Indicando con

f
= f
a
(P
1
) f(P
0
) lerrore totale,

a
= f
a
(P
1
) f(P
1
) lerrore algoritmico,

d
= f(P
1
) f(P
0
) lerrore trasmesso dai dati,
risulta

f
=
a
+
d
.
Ponendo poi

x
i
= x
(1)
i
x
(0)
i
,
i
=
f
x
i
,
la (1.3) diventa

d
=
n

i=1

x
i
.
I valori
i
sono detti coecienti di amplicazione degli gli errori
x
i
.
Una limitazione per il modulo dellerrore assoluto f
a
(P
1
) f(P
0
) `e
| f
a
(P
1
) f(P
0
) | E
a
+ E
d
dove si `e posto
E
a
= massimo modulo dell

errore assoluto dovuto


al particolare algoritmo usato,
E
d
=
n

i=1
A
x
i
|
x
i
|, (1.4)
con
A
x
i
sup
xD

f
x
i

, i = 1, 2, . . . , n. (1.5)
8 CAPITOLO 1. TEORIA DEGLI ERRORI
Se si conosce una stima dellerrore di troncamento e degli errori
x
i
nonche
le A
x
i
, si pu`o stabilire a posteriori un conne superiore per lerrore assoluto
con cui si `e calcolata la funzione nel punto desiderato; questo problema `e
detto problema diretto.
Il problema inverso consiste nel richiedere a priori che il valore f
a
(P
1
)
sia tale che lerrore assoluto | f
a
(P
1
) f(P
0
) | risulti minore di un valore
pressato, per cui si deve cercare sia un algoritmo f
a
(P) sia un opportuno
punto P
1
che soddisno la richiesta.
1.3.2 Errore relativo
Lerrore relativo che si commette nel calcolo di una funzione f(P) in un
assegnato punto P
0
`e denito da

f
=
f
a
(P
1
) f(P
0
)
f(P
0
)
.
Si verica facilmente che

f
=
f(P
1
) f(P
0
)
f(P
0
)
+
f
a
(P
1
) f(P
1
)
f(P
1
)
_
1 +
f(P
1
) f(P
0
)
f(P
0
)
_
per cui, indicando con

a
=
f
a
(P
1
) f(P
1
)
f(P
1
)
lerrore relativo algoritmico e con

d
=
f(P
1
) f(P
0
)
f(P
0
)
lerrore relativo trasmesso dai dati, si ottiene

f
=
a
+
d
+
a

d
. (1.6)
Nella (1.6) si trascura il termine
a

d
in quanto di ordine superiore.
Quanto allerrore relativo trasmesso dai dati, dalla relazione (1.3) si ricava

d
=
f(P
1
) f(P
0
)
f(P
0
)
=
n

i=1
f
x
i
(x
(1)
i
x
(0)
i
)
f(P
0
)
1.4. GLI ERRORI NELLE QUATTRO OPERAZIONI 9
ed ancora, denendo
x
i
=
x
(1)
i
x
(0)
i
x
(0)
i
,

d
=
n

i=1
x
(0)
i
f(P
0
)
f
x
i

x
i
.
Inne, ponendo
i
=
x
(0)
i
f(P
0
)
f
x
i
, si ha

d
=
n

i=1

x
i
,
dove i valori
i
sono detti coecienti di amplicazione degli errori relativi.
Se i coecienti
i
sono tali che lerrore
d
risulta dello stesso ordine degli
errori
x
i
il problema del calcolo della funzione si dice ben condizionato; si
dice invece mal condizionato se a piccoli errori relativi
x
i
corrisponde un
errore
d
rilevante.
Dalla (1.6) si vede che allerrore
f
concorre anche lerrore algoritmico

a
: se lalgoritmo `e tale da produrre errori accettabilmente limitati nella sua
applicazione, si dice stabile, mentre `e detto instabile nel caso contrario.
1.4 Gli errori nelle quattro operazioni
Analizzando le quattro operazioni fondamentali per quanto riguarda gli
errori trasmessi dai dati si ottiene la seguente tabella:
operazione
d

d
x y
x
+
y
x
x+y

x
+
y
x+y

y
x y
x

y
x
xy

y
xy

y
x y y
x
+ x
y

x
+
y
x y
1
y

x
y
2

y

x

y
Si deduce che le operazioni di addizione e sottrazione non danno problemi
per quanto riguarda lerrore assoluto, mentre possono rendere grande lerrore
relativo nel caso in cui i due termini delloperazione siano molto vicini in va-
lore assoluto, in quanto pu`o accadere che i denominatori che compaiono nei
coecienti di amplicazione dellerrore relativo siano molto piccoli in valore
assoluto (fenomeno della cancellazione gi`a accennato in 1.2). La moltipli-
cazione non amplica lerrore relativo e comporta un errore assoluto che
10 CAPITOLO 1. TEORIA DEGLI ERRORI
dipende dallordine di grandezza dei fattori; anche la divisione non produce
amplicazione per quanto riguarda lerrore relativo, mentre lerrore assoluto
diminuisce se aumenta (in valore assoluto) il divisore.
1.5 Complementi ed esempi
Si riportano due esempi sul calcolo degli errori assoluti e relativi.
Esempio 1.5.1 Si vuole calcolare la funzione f(x
1
, x
2
) = x
1
/x
2
nel punto
assegnato P
0
= (

5, ).
Si assuma D = {(x
1
, x
2
) IR
2
|2.23 < x
1
< 2.24, 3.14 < x
2
< 3.15} come
insieme di indeterminazione del punto P
0
(dalle (1.4) e (1.5) si ricava che pi` u
si riduce linsieme D e pi` u stringente `e la maggiorazione dellerrore assoluto).
Problema diretto
Si calcola il rapporto x
1
/x
2
arrotondando il risultato alla seconda cifra
decimale, ottenendo quindi un errore E
a

1
2
10
2
.
Assumendo P
1
= (2.235, 3.145) si ha sicuramente |
x
1
|, |
x
2
|
1
2
10
2
.
Dalla funzione e dallinsieme D si traggono le maggiorazioni
sup
xD

f
x
1

A
x
1
= 0.32,
sup
xD

f
x
2

A
x
2
= 0.23;
da cui si ha il massimo errore assoluto
E
a
+ E
d

1
2
10
2
+ (0.32 + 0.23)
1
2
10
2
= 0.775 10
2
.
Problema inverso
Si vuole avere un valore che dierisca dal valore esatto f(P
0
) meno di un
pressato errore E = 10
2
.
Si pu`o imporre che E
a
ed E
d
siano, ciascuno, non superiore a met`a del-
lerrore totale richiesto e quindi che sia E
a

1
2
10
2
e E
d

1
2
10
2
.
Per lerrore di troncamento `e suciente arrotondare il risultato della di-
visione alla seconda cifra decimale.
1.5. COMPLEMENTI ED ESEMPI 11
Poiche lerrore trasmesso dai dati `e formato dalla somma di due addendi,
si suddivide ancora il contributo a tale errore in due parti uguali per cui si
ha
A
x
1
|
x
1
|
1
4
10
2
,
A
x
2
|
x
2
|
1
4
10
2
;
assumendo per A
x
1
e A
x
2
i valori calcolati in precedenza si ottiene
|
x
1
|
1
4
10
2
1
0.32
0.0078,
|
x
2
|
1
4
10
2
1
0.23
0.0109,
per cui si pu`o porre P
1
= (2.24, 3.14).
Si ha quindi f
a
(P
1
) = 0.71 che dierisce da f(P
0
) meno di E.
Esempio 1.5.2 Si vuole stimare lerrore relativo commesso nel calcolo della
funzione f(x, y, z, w) = x(y/z w).
Si pu`o ricorrere alluso dei gra; si calcola la funzione eseguendo una
operazione dopo laltra e stabilendo per ciascuna di esse lentit`a degli errori
relativi.
In questo esempio la sequenza delle operazioni `e
r
1
=
y
z
, r
2
= r
1
w, r
3
= xr
2
.
Il grafo in Fig. 1.1 evidenzia per ogni operazione i coecienti di amplicazione
lungo i cammini orientati. Gli errori relativi dei dati sono
x
,
y
,
z
,
w
, mentre

r
i
va inteso come lerrore relativo per la funzione r
i
e si calcola dalla (1.6)
senza lultimo termine.
Per stimare lerrore relativo totale si procede a ritroso seguendo il grafo.
Indicando con
i
lerrore algoritmico della i-esima operazione si ha

f
=
r
3
=
3
+
x
+
r
2
=
3
+
x
+
2
+
y
y zw

r
1

zw
y zw

w
=
3
+
x
+
2
+
y
y zw
(
1
+
y

z
)
zw
y zw

w
=
3
+
2
+
y
y zw

1
+
x
+
y
y zw
(
y

z
)
zw
y zw

w
.
12 CAPITOLO 1. TEORIA DEGLI ERRORI

x
w
z
y

r
3
r
2
r
1
-
-
-
?
?
?
1
-1
1
1

zw
yzw
y
yzw

r
3

r
2

r
1

w
Figura 1.1: Esempio di grafo.
Se ne conclude che lerrore algoritmico `e

a
=
3
+
2
+
y
y zw

1
e lerrore trasmesso `e

d
=
x
+
y
y zw
(
y

z
)
zw
y zw

w
.
Osservazione 1.5.1 Lerrore relativo calcolato nellEsempio 1.5.2 dipende
dallalgoritmo seguito per il calcolo della funzione f(x, y, z, w); seguendo un
altro algoritmo si trova, in generale, un errore relativo diverso.
Bibliograa: [1], [5], [28], [29].
Capitolo 2
Richiami di algebra lineare
2.1 Matrici e vettori
Con A C
/
mn
si intende una matrice di m righe e n colonne formate da
m n numeri complessi a
ij
, i = 1, 2, . . . , m, j = 1, 2, . . . , n, detti elementi
di A. Ogni elemento a
ij
`e individuato dallindice di riga i e dallindice di
colonna j. Comunemente si scrive
A =
_
_
_
_
_
_
a
11
a
12
a
1n
a
21
a
22
a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
m1
a
m2
a
mn
_
_
_
_
_
_
.
Gli interi m ed n si dicono le dimensioni di A.
Se m = n la matrice A si dice quadrata di ordine n; in tal caso gli elementi
a
ii
, i = 1, 2, . . . , n, si dicono elementi diagonali o appartenenti alla diagonale
principale di A.
Se m = n la matrice A dicesi rettangolare.
Con a C
/
m
si intende un vettore con m componenti complesse indicate
come a
i
, i = 1, 2, . . . , m. I vettori sono particolari matrici con una sola
colonna, potendosi identicare C
/
m1
con C
/
m
.
Se A ha tutti gli elementi reali `e detta matrice reale e si suole scrivere
A IR
mn
; analogamente con a IR
m
si intende un vettore a componenti
reali.
Data la matrice A C
/
mn
, la matrice B C
/
nm
i cui elementi sono
b
ij
= a
ji
, i = 1, 2, . . . , n, j = 1, 2, . . . , m, si dice matrice trasposta della
14 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
matrice A e si indica con A
T
mentre si dice matrice trasposta coniugata di A
la matrice B C
/
nm
i cui elementi sono b
ij
= a
ji
e si indica con A
H
.
La matrice quadrata
I =
_
_
_
_
_
_
1 0 0
0 1 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1
_
_
_
_
_
_
dicesi matrice identica o matrice unit`a .
Si dice matrice diagonale una matrice quadrata D con gli elementi non
diagonali nulli, cio`e della forma
D =
_
_
_
_
_
_
d
1
0 0
0 d
2
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 d
n
_
_
_
_
_
_
;
si scrive anche D = diag(d
1
, d
2
, . . . , d
n
).
Le matrici quadrate del tipo
L =
_
_
_
_
_
_
l
11
0 0
l
21
l
22
0
.
.
.
.
.
.
.
.
.
.
.
.
l
n1
l
n2
l
nn
_
_
_
_
_
_
, R =
_
_
_
_
_
_
r
11
r
12
r
1n
0 r
22
r
2n
.
.
.
.
.
.
.
.
.
.
.
.
0 0 r
nn
_
_
_
_
_
_
,
si dicono matrici triangolari e precisamente L dicesi triangolare inferiore e
R triangolare superiore.
2.2 Operazioni tra matrici
Date A, B C
/
mn
, la matrice somma, C = A +B, `e denita ponendo
c
ij
= a
ij
+b
ij
, i = 1, 2, . . . , m, j = 1, 2, . . . , n.
Valgono, per laddizione, le propriet`a associativa e commutativa.
Se A C
/
mk
e B C
/
kn
, la matrice prodotto C = AB, si denisce
ponendo
c
ij
=
k

l=1
a
il
b
lj
, i = 1, 2, . . . , m, j = 1, 2, . . . , n,
2.3. DETERMINANTE E INVERSA 15
e risulta quindi C C
/
mn
.
Per la moltiplicazione vale la propriet`a associativa e la propriet`a distribu-
tiva rispetto alla addizione.
`
E importante osservare che la moltiplicazione non gode della propriet`a
commutativa, ne della legge di annullamento del prodotto; infatti in generale
`e AB = BA, mentre il prodotto AB pu`o essere uguale alla matrice nulla
senza che ne A ne B siano nulle (cfr. Esempio 2.11.1).
Per questo motivo, quando si moltiplica una matrice A per una matrice B
occorre distinguere tra premoltiplicazione quando B moltiplica A a sinistra
(BA) e postmoltiplicazione quando B moltiplica A a destra (AB).
Per la trasposta e la trasposta coniugata del prodotto di due matrici si
ha
(AB)
T
= B
T
A
T
e (AB)
H
= B
H
A
H
.
Il prodotto a
H
b =

n
l=1
a
l
b
l
di due vettori a, b C
/
n
`e detto prodotto scalare
e se a
H
b = 0 i due vettori si dicono ortogonali.
Inne la moltiplicazione di un numero per una matrice (per un vettore)
si esegue moltiplicando per tutti gli elementi della matrice (del vettore).
Denizione 2.2.1 k vettori v
(1)
, v
(2)
, . . . , v
(k)
C
/
m
si dicono linearmente
indipendenti se

1
v
(1)
+
2
v
(2)
+ +
k
v
(k)
= 0 ,
con
i
C
/
, i = 1, 2, . . . , k, implica

1
=
2
= =
k
= 0 .
2.3 Determinante e inversa
Denizione 2.3.1 Si dice determinante di una matrice A C
/
nn
il numero
det(A) =

P
s()a
1j
1
a
2j
2
a
nj
n
dove `e la permutazione (j
1
, j
2
, .., j
n
) dei numeri (1, 2, .., n), la funzione s()
vale 1 se la permutazione `e di classe pari o 1 se la permutazione `e di
classe dispari e P `e linsieme delle n! permutazioni possibili.
16 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
Per il calcolo del determinante di una matrice A si pu`o fare uso del primo
teorema di Laplace
det(A) =
_

_
a
11
se n = 1,

n
j=1
(1)
i+j
a
ij
det(A
ij
)
=

n
i=1
(1)
i+j
a
ij
det(A
ij
) se n > 1,
(2.1)
dove A
ij
`e la sottomatrice ottenuta da A eliminando la riga i-esima e la
colonna j-esima.
Vale anche il secondo teorema di Laplace
n

j=1
(1)
i+j
a
ij
det(A
rj
) =
n

i=1
(1)
i+j
a
ij
det(A
is
) = 0
per r = i e s = j.
Nel caso di una matrice diagonale o triangolare si ha immediatamente
det(A) =
n

i=1
a
ii
.
Il determinante della matrice A si indica anche con la notazione

a
11
a
12
a
1n
a
21
a
22
a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
a
nn

.
Dalla (2.1) segue anche, per induzione, det(A) = det(A
T
).
Denizione 2.3.2 Una matrice A C
/
nn
si dice singolare (non singolare) se
det(A) = 0 (det(A) = 0).
Denizione 2.3.3 Data una matrice A C
/
mn
ed un intero k min{m, n}
si dice minore di ordine k il determinante di una matrice ottenuta da A pren-
dendo tutti gli elementi sulla intersezione di k righe e k colonne comunque
ssate.
Denizione 2.3.4 Data una matrice A C
/
nn
si dicono minori principali di
ordine k i determinanti delle sottomatrici di ordine k estratte da A e aventi
diagonale principale composta da elementi della diagonale principale di A.
2.3. DETERMINANTE E INVERSA 17
Denizione 2.3.5 Data una matrice A C
/
nn
si dice minore principale di
testa di ordine k il determinante della sottomatrice di ordine k formata dalle
prime k righe e k colonne di A.
Denizione 2.3.6 Data una matrice A C
/
mn
si dice rango o caratteristica
della matrice A il numero r(A) pari allordine pi` u alto dei suoi minori diversi
da zero.
Teorema 2.3.1 (di Binet-Cauchy) Date A C
/
mn
, B C
/
nm
, il determi-
nante della matrice prodotto C = AB C
/
mm
`e nullo se m > n; altrimenti
`e dato dalla somma dei prodotti di tutti i possibili minori di ordine massimo
di A per i corrispondenti minori di B.
1
Corollario 2.3.1 Dal Teorema 2.3.1 segue, se m = n,
det(AB) = det(A) det(B) .
Denizione 2.3.7 Data una matrice A C
/
nn
non singolare si dice matrice
inversa di A la matrice B C
/
nn
tale che
b
ij
= (1)
i+j
det(A
ji
)
det(A)
.
Da questa denizione e dai teoremi di Laplace segue
AB = BA = I.
In seguito, indicheremo con il simbolo A
1
la matrice inversa della matrice
A.
Dal Corollario 2.3.1 si ha
det(A) det(A
1
) = det(AA
1
) = det(I) = 1 ,
per cui il determinante di una matrice A `e il reciproco del determinante della
sua inversa.
Dalla Denizione 2.3.7 segue che una matrice A singolare non ammette
matrice inversa.
1
Un minore di ordine massimo di A, nel caso m n, `e il determinante della matrice
formata da m colonne di A di indici k
1
, k
2
, . . . , k
m
comunque ssati; il corrispondente
minore di B `e il determinante della matrice formata da m righe di B di indici k
1
, k
2
, . . . , k
m
.
18 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
2.4 Matrici particolari
Una matrice A C
/
nn
si dice
hermitiana se A = A
H
;
antihermitiana se A = A
H
;
unitaria se A
H
A = AA
H
= I;
normale se A
H
A = AA
H
;
simmetrica se A = A
T
;
antisimmetrica se A = A
T
.
In particolare, nel campo reale, una matrice hermitiana `e anche simme-
trica, mentre una matrice unitaria `e detta anche ortogonale.
Le matrici unitarie hanno come inversa la loro trasposta coniugata e le
matrici ortogonali hanno come inversa la loro trasposta.
Data una matrice hermitiana A ed un vettore x C
/
n
, lo scalare x
H
Ax `e
un numero reale in quanto
(x
H
Ax)
H
= x
H
A
H
x = x
H
Ax;
la matrice A si dice denita positiva (negativa) se x
H
Ax > 0 (< 0) per
ogni x C
/
n
con x = 0, mentre `e detta semidenita positiva (negativa) se
x
H
Ax 0 (0).
Teorema 2.4.1 Una matrice hermitiana `e denita positiva se e solo se i
suoi minori principali di testa sono tutti positivi.
Denizione 2.4.1 Una matrice P IR
nn
`e detta matrice di permutazione
se `e ottenuta dalla matrice identica operando su di essa una permutazione
delle colonne (delle righe).
Una matrice di permutazione `e una matrice ortogonale, avendosi P
T
P =
PP
T
= I.
Il prodotto di una matrice A per una matrice di permutazione P produce
su A una permutazione delle colonne o delle righe; precisamente:
AP presenta, rispetto ad A, la stessa permutazione di colonne che si `e ope-
rata su I per ottenere P;
PA presenta, rispetto ad A, la stessa permutazione di righe che si `e operata
su I per ottenere P.
2.5. SISTEMI LINEARI 19
Si noti che se P si ottiene permutando le colonne di I, allora P
T
si ottiene
con la stessa permutazione delle righe di I.
Denizione 2.4.2 Una matrice A C
/
nn
si dice a predominanza diagonale
forte se
| a
ii
|>
n

j=1
j=i
| a
ij
|, i = 1, 2, . . . , n.
Denizione 2.4.3 Una matrice A C
/
nn
si dice a predominanza diagonale
debole se
| a
ii
|
n

j=1
j=i
| a
ij
|, i = 1, 2, . . . , n,
e per almeno un indice r, 1 r n, si ha
| a
rr
|>
n

j=1
j=r
| a
rj
| .
Denizione 2.4.4 Una matrice A C
/
nn
si dice convergente se
lim
k
A
k
= O
dove O `e la matrice nulla.
2.5 Sistemi lineari
Dati una matrice A C
/
nn
ed un vettore b C
/
n
, un sistema di n equazioni
lineari in n incognite si pu`o rappresentare nella forma (cfr. 3.1)
Ax = b (2.2)
dove x C
/
n
`e il vettore delle incognite.
Sulla risolubilit`a del sistema (2.2) si ha il seguente teorema.
Teorema 2.5.1 (di Rouche - Capelli) Il sistema lineare (2.2) ammette soluzione
se e solo se
r(A) = r(A | b),
dove con (A | b) `e indicata la matrice completa del sistema costituita da n
righe ed n+1 colonne. Se r(A) = n la soluzione `e unica mentre se r(A) < n
linsieme delle soluzioni `e un sottospazio di C
/
n
di dimensione n r(A).
20 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
Se det(A) = 0, il sistema (2.2) si dice normale. In tal caso la soluzione
`e data formalmente da x = A
1
b e pu`o essere espressa mediante la regola di
Cramer
x
i
=
det(A
i
)
det(A)
, i = 1, 2, . . . , m,
essendo A
i
la matrice ottenuta da A sostituendo la i-esima colonna con il
vettore b.
Nel caso particolare b = 0 il sistema (2.2) si dice omogeneo ed ha sicu-
ramente soluzioni, avendosi r(A) = r(A | b); se `e anche det(A) = 0 lunica
soluzione `e x = 0. Ne segue che un sistema omogeneo ha soluzioni non nulle
allora e solo che sia det(A) = 0.
2.6 Matrici partizionate, matrici riducibili
Nelle applicazioni si incontrano spesso matrici A partizionate a blocchi e
cio`e matrici i cui elementi sono sottomatrici di A.
Una qualunque matrice pu`o essere partizionata a blocchi in molti modi;
`e importante il caso in cui i blocchi diagonali sono quadrati
2
.
Come per le matrici scritte ad elementi, anche per le matrici partizionate
a blocchi si possono avere matrici triangolari a blocchi, cio`e aventi una delle
seguenti forme
_
_
_
_
_
_
A
11
O O
A
21
A
22
O
.
.
.
.
.
.
.
.
.
.
.
.
A
k1
A
k2
A
kk
_
_
_
_
_
_
,
_
_
_
_
_
_
A
11
A
12
A
1k
O A
22
A
2k
.
.
.
.
.
.
.
.
.
.
.
.
O O A
kk
_
_
_
_
_
_
,
o diagonali a blocchi
_
_
_
_
_
_
A
11
O O
O A
22
O
.
.
.
.
.
.
.
.
.
.
.
.
O O A
kk
_
_
_
_
_
_
.
In questi casi particolari `e facile vericare che
det(A) =
k

i=1
det(A
ii
).
2
Ci`o comporta che la matrice A sia quadrata.
2.7. AUTOVALORI E AUTOVETTORI 21
Denizione 2.6.1 Una matrice A C
/
nn
si dice riducibile se esiste una
matrice di permutazione P tale che la matrice P
T
AP sia della forma
B = P
T
AP =
_
_
A
11
O
A
21
A
22
_
_
con blocchi diagonali quadrati.
Nel caso in cui B contenga qualche blocco diagonale ancora riducibile si
pu`o operare una nuova trasformazione con unaltra matrice di permutazione
e cos` via no ad arrivare alla forma ridotta della matrice A in cui tutti i
blocchi diagonali risultano non riducibili.
Una matrice che non sia riducibile `e detta irriducibile.
Da quanto visto in 2.4, la matrice B si ottiene dalla matrice A operando
sulle righe e sulle colonne la stessa permutazione operata sulle colonne di I
per ottenere P.
Per stabilire se una matrice `e riducibile o meno, cio`e se esiste o no una
matrice P che verichi la Denizione 2.6.1, servono le denizioni ed il teorema
seguenti.
Denizione 2.6.2 Data una matrice A C
/
nn
, ssati n punti, detti nodi,
N
1
, N
2
, . . . , N
n
, si dice grafo orientato associato ad A, il grafo che si ottiene
congiungendo N
i
a N
j
con un cammino orientato da N
i
a N
j
per ogni a
ij
= 0.
Denizione 2.6.3 Un grafo orientato si dice fortemente connesso se da ogni
nodo N
i
, i = 1, 2, . . . , n, `e possibile raggiungere un qualunque altro nodo N
j
,
j = 1, 2, . . . , n, seguendo un cammino orientato eventualmente passante per
altri nodi.
Teorema 2.6.1 Una matrice A C
/
nn
`e irriducibile se e solo se il grafo
orientato ad essa associato risulta fortemente connesso.
(cfr. Esempi 2.11.3 e 2.11.4)
Se A `e riducibile, per costruire P si procede come nellEsempio 2.11.5.
2.7 Autovalori e autovettori
Denizione 2.7.1 Data una matrice A C
/
nn
si dice autovalore di A ogni
numero C
/
tale che il sistema lineare
Ax = x, x C
/
n
, (2.3)
22 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
abbia soluzioni x = 0; ogni tale vettore x `e detto autovettore destro asso-
ciato allautovalore , intendendo che x ed ogni vettore kx (k C
/
, k = 0)
rappresentano lo stesso autovettore.
In analogia `e detto autovettore sinistro un vettore y C
/
n
tale che
y
T
A = y
T
.
Trasponendo entrambi i membri della (2.3) si ha
x
T
A
T
= x
T
da cui risulta che gli autovettori destri di A sono gli autovettori sinistri di
A
T
associati allo stesso autovalore.
Come si `e visto, dal teorema di Rouche -Capelli, un sistema lineare omo-
geneo ha soluzioni non nulle se e solo se la matrice dei coecienti del sistema
`e singolare e cio`e ha determinante nullo; poiche il sistema (2.3) `e equivalente
al sistema omogeneo
(A I)x = 0 ,
ne segue che gli autovalori di A sono tutti e soli i numeri che soddisfano
lequazione
det(A I) = 0. (2.4)
Essendo det(A I) = det[(A I)
T
] = det(A
T
I) segue che A e A
T
hanno gli stessi autovalori.
Dal calcolo di det(A I), si ottiene
det(A I) = (1)
n

n
+ (1)
n1

n1
+
(2.5)
(1)
n2

n2
+
n1
+
n
,
dove i coecienti
i
, i = 1, 2, . . . , n, sono, ciascuno, la somma dei minori
principali di ordine i estratti dalla matrice A.
In particolare risulta
1
=

n
j=1
a
jj
, e
n
= det(A).
1
si dice traccia di
A e si indica col simbolo tr(A).
Il polinomio (2.5) `e detto polinomio caratteristico della matrice A mentre
lequazione (2.4) prende il nome di equazione caratteristica.
Gli autovalori di una matrice A C
/
nn
coincidono con le radici delle-
quazione caratteristica, perci`o sono n e verranno indicati con
1
,
2
, . . . ,
n
.
Osservazione 2.7.1 Dalle (2.4) e (2.5) si deducono le propriet`a:
2.7. AUTOVALORI E AUTOVETTORI 23
= 0 `e autovalore di A det(A) = 0;
la somma degli autovalori coincide con
1
(cfr. le (4.50)) e quindi
n

i=1

i
= tr(A) ; (2.6)
il prodotto degli autovalori coincide con
n
(cfr. le (4.50)) e quindi
n

i=1

i
= det(A). (2.7)
Denizione 2.7.2 Si dice raggio spettrale della matrice A il numero reale
non negativo
(A) = max
1in
|
i
| .
Teorema 2.7.1 Una matrice A C
/
nn
`e convergente se e solo se il suo
raggio spettrale `e minore di 1.
Denizione 2.7.3 Data una matrice A ed una matrice S non singolare, si
dice trasformata per similitudine della matrice A, la matrice B tale che
B = S
1
AS;
le matrici A e B si dicono simili.
Si verica subito che la relazione di similitudine `e riessiva, simmetrica e
transitiva.
Teorema 2.7.2 Due matrici simili A e B hanno gli stessi autovalori.
Inoltre, per ogni autovalore , se x `e autovettore di A, allora S
1
x `e auto-
vettore di B.
Dimostrazione. Per ottenere la prima parte della tesi basta vericare che due
matrici simili A e B hanno lo stesso polinomio caratteristico.
24 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
Si ha infatti
det(B I) = det(S
1
AS I) = det(S
1
AS S
1
S)
= det[S
1
(AI)S]
= det(S
1
) det(AI) det(S)
= det(AI).
Per provare la seconda parte si osservi che da Ax = x segue (S
1
AS)S
1
x =
S
1
x.
Teorema 2.7.3 Se A possiede lautovalore e k IN, A
k
possiede lautovalore

k
e gli autovettori di A sono anche autovettori di A
k
.
Questo teorema, se A `e non singolare, vale anche per k ZZ.
Teorema 2.7.4 Gli autovalori di una matrice hermitiana sono tutti reali.
Dimostrazione. Sia un autovalore di A. Dalla uguaglianza Ax = x, si
ottiene, premoltiplicando per x
H
, x
H
Ax = x
H
x ed ancora, dividendo per il
numero reale e positivo x
H
x (si ricordi che x = 0),
=
x
H
Ax
x
H
x
. (2.8)
Nel secondo membro della (2.8) il numeratore `e reale per quanto visto allinizio
di 2.4: ne segue la tesi.
Denizione 2.7.4 Dicesi molteplicit`a algebrica di un autovalore , la mol-
teplicit`a di come radice dellequazione caratteristica.
La molteplicit`a algebrica di sar`a indicata con ().
Denizione 2.7.5 Dicesi molteplicit`a geometrica di , e si indicher`a con
(), la dimensione dello spazio delle soluzioni del sistema lineare omogeneo
(A I)x = 0.
Si osservi che la molteplicit`a geometrica cos` denita corrisponde al nu-
mero di autovettori, tra loro linearmente indipendenti, associati allautova-
lore e si ha (cfr. Teorema 2.5.1) () = n r(A I).
2.7. AUTOVALORI E AUTOVETTORI 25
Teorema 2.7.5 Per ogni autovalore risulta
1 () () n .
Teorema 2.7.6 (traslazione di spettro) Sia autovalore di A e q C
/
; allora
B = A+qI ha come autovalore +q con molteplicit`a algebrica e geometrica
pari a quelle di ; inoltre B ha gli stessi autovettori di A.
Teorema 2.7.7 Se
i
e
j
sono autovalori distinti gli autovettori ad essi
associati sono linearmente indipendenti.
Ne segue che se A C
/
nn
possiede n autovalori distinti, A ammette n
autovettori linearmente indipendenti.
Denizione 2.7.6 Una matrice A si dice diagonalizzabile se esiste una ma-
trice X non singolare tale che
X
1
AX = D (2.9)
con D = diag(
1
,
2
, . . . ,
n
).
Una matrice X che verica la (2.9) `e tale che le sue colonne x
(1)
, x
(2)
, . . . , x
(n)
sono autovettori linearmente indipendenti di A; infatti,
AX = XD
da cui segue Ax
(i)
=
i
x
(i)
, i = 1, 2, . . . , n.
Teorema 2.7.8 Una matrice A `e normale se e solo se esiste una matrice X
unitaria per cui valga la (2.9).
Teorema 2.7.9 (di Jordan) Ogni matrice A, di ordine n, avente k n au-
tovalori distinti,
1
,
2
, . . . ,
k
, `e simile ad una matrice diagonale a k blocchi,
cio`e esiste una matrice H non singolare tale che
H
1
AH = J = diag(J
(1)
, J
(2)
, . . . , J
(k)
) (2.10)
dove ogni blocco diagonale J
(i)
`e di ordine (
i
), i = 1, 2, . . . , k, ed `e anchesso
di forma diagonale a blocchi, avendosi
J
(i)
= diag(J
(i)
1
, J
(i)
2
, . . . , J
(i)
(
i
)
) ;
26 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
ciascun blocco J
(i)
l
, detto anche blocco di Jordan, `e della forma
J
(i)
l
=
_
_
_
_
_
_
_
_
_
_
_
_

i
1 0 0 0
0
i
1 0 0
0 0
i
.
.
.
0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0
i
1
0 0 0 0
i
_
_
_
_
_
_
_
_
_
_
_
_
, l = 1, 2, . . . , (
i
).
Si noti che, se p
(i)
l
`e lordine di J
(i)
l
, risulta
(
i
)

l=1
p
(i)
l
= (
i
) . (2.11)
La matrice (2.10) si dice forma canonica di Jordan della matrice A. Il
polinomio caratteristico del blocco di Jordan J
(i)
l
`e det(J
(i)
l
I) = (
i
)
p
(i)
l
,
e si dice un divisore elementare di A.
Si osservi che il numero dei blocchi di Jordan di una matrice A corrisponde
al numero di autovettori linearmente indipendenti di A.
Le matrici diagonalizzabili costituiscono un caso particolare in cui i bloc-
chi di Jordan sono tutti di ordine 1, cio`e i divisori elementari sono tutti
lineari: in tal caso le colonne di H sono gli autovettori di A.
Dal teorema di Jordan, e in particolare dalla (2.11), discende il seguente
teorema.
Teorema 2.7.10 Una matrice `e diagonalizzabile se e solo se per ogni suo
autovalore si ha () = ().
2.8 Localizzazione degli autovalori
Teorema 2.8.1 (primo teorema di Gershgorin) Sia A C
/
nn
, si indichino
con F
i
, i = 1, 2, . . . , n, gli insiemi
F
i
= {z C
/
| | z a
ii
|
i
}, con
i
=
n

j=1
j=i
| a
ij
|; (2.12)
allora se `e autovalore di A si ha
F =
n
_
i=1
F
i
.
2.8. LOCALIZZAZIONE DEGLI AUTOVALORI 27
Dimostrazione. Indicando con x un autovettore destro associato allautovalore
, sia x
k
la sua componente di massimo modulo; dalla riga k-esima della (2.3) si
ha
n

j=1
a
kj
x
j
= x
k
da cui
( a
kk
)x
k
=
n

j=1
j=k
a
kj
x
j
.
Passando ai moduli dei due membri e maggiorando nel secondo membro ogni | x
j
|
con | x
k
|, si ottiene
| a
kk
|| x
k
|
n

j=1
j=k
| a
kj
|| x
k
|
ed essendo, per la denizione di autovettore, x
k
= 0, si ha
| a
kk
|
n

j=1
j=k
| a
kj
|=
k
che prova la tesi.
Il Teorema 2.8.1 ha una evidente interpretazione graca: ciascun insieme
F
i
di (2.12) `e, nel piano complesso, un cerchio di centro il punto a
ii
e raggio

i
; linsieme F a cui appartengono tutti gli autovalori di A `e quindi lunione
dei cerchi F
i
, detti anche cerchi di Gershgorin.
Teorema 2.8.2 (secondo teorema di Gershgorin) Se M
1
`e lunione di k cerchi
di Gershgorin e M
2
`e lunione dei rimanenti n k ed `e M
1

M
2
= , allora
k autovalori appartengono a M
1
e n k a M
2
.
Teorema 2.8.3 (terzo teorema di Gershgorin) Sia A irriducibile; se un au-
tovalore appartiene alla frontiera dellunione dei cerchi di Gershgorin esso
appartiene alla frontiera di tutti i cerchi costituenti linsieme F.
Per la localizzazione degli autovalori di una matrice `e utile anche il Corol-
lario 2.10.2.
28 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
2.9 Valori singolari
Particolare importanza in alcune applicazioni (cfr. 6.8.5) ha il seguente
teorema.
Teorema 2.9.1 Qualunque sia A C
/
mn
, con m n, esistono due matrici
unitarie U C
/
mm
e V C
/
nn
tali che
A = UV
H
(2.13)
con =
_
D
O
_
, O la matrice nulla, D = diag(
1
,
2
, . . . ,
n
),
i
IR,
i = 1, 2, . . . , n, e

1

2

n
0.
La (2.13) `e detta decomposizione ai valori singolari della matrice A, la
matrice `e univocamente determinata (non cos` le matrici U e V ) ed i
numeri
i
, i = 1, 2, . . . , n, si dicono i valori singolari della matrice A. Si
pu`o vericare che il numero dei valori singolari non nulli `e uguale a r(A), le
colonne di U sono autovettori di AA
H
, mentre quelle di V sono autovettori
di A
H
A.
Teorema 2.9.2 Sia A C
/
mn
; i quadrati dei valori singolari di A sono
autovalori della matrice A
H
A C
/
nn
.
Teorema 2.9.3 Se A `e una matrice normale di ordine n si ha

i
=|
i
|, i = 1, 2, . . . , n,
dove i numeri
i
sono gli autovalori della matrice A.
2.10 Norme
Spesso `e necessario confrontare fra loro due vettori o due matrici; a tale
scopo `e utile il concetto di norma.
2.10. NORME 29
2.10.1 Norme vettoriali
Denizione 2.10.1 Si dice norma vettoriale, e si indica con x, una fun-
zione, denita nello spazio vettoriale C
/
n
, a valori reali non negativi, che
verica le seguenti condizioni:
x = 0 x = 0 ;
x =| | x , x C
/
n
, C
/
;
x +y x +y , x, y C
/
n
.
In C
/
n
`e possibile denire norme in modo arbitrario ma le pi` u usate sono
le seguenti:
x
1
=

n
i=1
| x
i
|, norma 1;
x
2
=
_

n
i=1
| x
i
|
2
, norma 2 o norma euclidea;
x

= max
1in
| x
i
|, norma .
In Fig. 2.1 `e riportato linsieme
S = {x IR
2
| x 1},
detto sfera unitaria di IR
2
, per le tre norme denite.
E E E
T T T

d
d
d
d

87
96

Figura 2.1: Sfere unitarie per le norme 1,2,.


Teorema 2.10.1 Ogni norma vettoriale `e uniformemente continua su C
/
n
.
30 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
Teorema 2.10.2 (equivalenza tra norme) Date due norme vettoriali x
p
e
x
q
, esistono due costanti reali e positive e tali che
x
p
x
q
x
p
, x C
/
n
. (2.14)
Il senso dellequivalenza fra due norme appare evidente nello studio del
comportamento di una successione di vettori: in virt` u della (2.14) il carattere
della successione `e lo stesso in entrambe le norme.
Per le norme qui denite valgono le relazioni:
x
2
x
1

nx
2
;
x

x
1
nx

;
x

x
2

nx

.
2.10.2 Norme matriciali
Denizione 2.10.2 Si dice norma matriciale, e si indica con A, una fun-
zione, denita in C
/
nn
, a valori reali non negativi, che verica le seguenti
condizioni:
A = 0 A = O;
A =| | A , A C
/
nn
, C
/
;
A +B A +B , A, B C
/
nn
;
AB AB , A, B C
/
nn
.
Si possono costruire norme matriciali facendo ricorso alle norme vettoriali
denendo
A = sup
x=0
Ax
x
;
in questo caso la norma matriciale si dice naturale o indotta dalla norma
vettoriale considerata.
Una norma matriciale si dice coerente o compatibile con una norma vet-
toriale se si ha
Ax Ax.
Le norme naturali sono coerenti con le rispettive norme vettoriali.
2.10. NORME 31
Si pu`o dimostrare che le norme matriciali indotte dalle tre norme vettoriali
denite in 2.10.1 sono le seguenti:
A
1
= max
j

n
i=1
| a
ij
|, norma 1;
A
2
=
_
(A
H
A), norma 2 o norma euclidea;
A

= max
i

n
j=1
| a
ij
|, norma .
Un esempio di norma matriciale non indotta `e dato dalla norma matriciale
di Frobenius denita come
A
F
=

_
n

i=1
n

j=1
| a
ij
|
2
;
essa non `e indotta da alcuna norma vettoriale in quanto risulta I
F
=

n
mentre `e I = sup
x=0
Ix
x
= 1 qualunque sia la norma vettoriale consider-
ata.
Teorema 2.10.3 Sia A C
/
nn
; per ogni norma matriciale indotta vale la
relazione
(A) A .
Dimostrazione. Sia un autovalore di A; quindi si ha Ax = x con x au-
tovettore destro associato a . Prendendo una qualunque norma dei due membri
si ottiene
| | x = Ax ,
da cui, se si usa la norma matriciale indotta da quella vettoriale,
| | x Ax .
Essendo x = 0, dividendo per x, si ha
| | A .
Poiche `e un qualunque autovalore di A, la relazione precedente `e valida anche
per lautovalore il cui modulo coincide con (A), da cui la tesi.
Corollario 2.10.1 Anche una matrice sia convergente `e suciente che
una sua norma indotta risulti minore di 1.
32 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
Un esempio in cui vale la relazione (A) = A `e dato dalle matrici
hermitiane; infatti si ha
A
2
=
_
(A
H
A) =
_
(A
2
) =
_

2
(A) = (A) .
Corollario 2.10.2 Se A C
/
nn
, gli autovalori di A appartengono al cerchio
{z C
/
| | z | A} ,
dove `e una qualunque norma indotta.
2.11 Complementi ed esempi
2.11.1 Prodotto di due matrici
Il seguente esempio mostra che loperazione di moltiplicazione tra matrici
non gode della propriet`a commutativa e che non vale la legge di annullamento
del prodotto.
Esempio 2.11.1 Sono date le matrici
A =
_
1 2
2 4
_
, B =
_
2 1
1
1
2
_
.
Si ha
AB =
_
0 0
0 0
_
, BA =
_
4 8
2 4
_
.
2.11.2 Matrici denite e semidenite
Teorema 2.11.1 Le matrici hermitiane e denite positive (negative) hanno
autovalori positivi (negativi) e viceversa.
La dimostrazione della parte diretta del teorema risulta evidente ricor-
rendo alla (2.8).
Teorema 2.11.2 Le matrici hermitiane e semidenite positive (negative)
hanno autovalori non negativi (non positivi) e viceversa.
2.11. COMPLEMENTI ED ESEMPI 33
Esempio 2.11.2 Sia A C
/
mn
. La matrice B = A
H
A risulta hermitiana
essendo
B
H
= (A
H
A)
H
= A
H
A = B .
Il numero x
H
Bx, con x C
/
n
, x = 0, `e dato da
x
H
Bx = x
H
A
H
Ax = (Ax)
H
(Ax)
per cui, ponendo y = Ax, si ha
x
H
Bx = y
H
y 0 .
La matrice B `e quindi semidenita positiva. Se la matrice A ha rango
massimo, il vettore y non pu`o essere nullo per cui x
H
Bx > 0 e la matrice B
`e denita positiva.
2.11.3 Matrici riducibili
Riportiamo due esempi ad illustrazione del Teorema 2.6.1.
Esempio 2.11.3 La matrice
A =
_
_
_
2 0 1
2 1 1
5 0 0
_
_
_
`e riducibile infatti il suo grafo orientato non `e fortemente connesso, non
essendo il punto N
2
raggiungibile dagli altri due punti (Fig. 2.2).
Mediante la matrice P =
_
_
_
1 0 0
0 0 1
0 1 0
_
_
_ si ottiene
B = P
T
AP =
_
_
_
2 1 0
5 0 0
2 1 1
_
_
_.
34 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
N
1
N
2
N
3
r r
r

d
d
d
d
d
d

d
ds
'
c

Figura 2.2: Grafo non fortemente connesso.


Esempio 2.11.4 La matrice
A =
_
_
_
1 0 1
1 2 5
1 1 0
_
_
_
`e irriducibile in quanto il suo grafo orientato `e fortemente connesso, come
mostrato in Fig. 2.3.
N
1
N
2
N
3
r r
r

d
d
d
d
d
d

d
ds
'
c

c
Figura 2.3: Grafo fortemente connesso.
Sia A C
/
nn
una matrice riducibile e sia P la matrice di permutazione
che la riduce. Poniamo
B = P
T
AP =
_
_
_
_
_
_
B
11
O O
B
21
B
22
O
.
.
.
.
.
.
.
.
.
.
.
.
B
k1
B
k2
B
kk
_
_
_
_
_
_
,
2.11. COMPLEMENTI ED ESEMPI 35
con i blocchi diagonali B
ii
, i = 1, 2, . . . , k, quadrati ed irriducibili; supponi-
amo che lordine dei blocchi B
ii
sia p
i
, i = 1, 2, . . . , k, per cui

k
i=1
p
i
= n.
La matrice A sia la matrice dei coecienti di un sistema lineare Ax = b.
Premoltiplicando per la matrice P
T
si ha P
T
Ax = P
T
b e P
T
APP
T
x = P
T
b.
Indicando con y il vettore P
T
x e con c il vettore P
T
b, il sistema Ax = b si
trasforma nel sistema
By = c. (2.15)
Partizionando i vettori y e c in blocchi di pari dimensione dei B
ii
, i =
1, 2, . . . , k, il sistema (2.15), scritto in forma esplicita, diviene
B
11
y
1
= c
1
B
21
y
1
+ B
22
y
2
= c
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
B
k1
y
1
+ B
k2
y
2
+ + B
kk
y
k
= c
k
.
(2.16)
La prima equazione `e un sistema lineare, con matrice dei coecienti B
11
,
di ordine p
1
, la cui incognita `e il vettore y
1
; si risolve tale sistema e si so-
stituisce il vettore y
1
nelle equazioni seguenti. La seconda equazione diviene
un sistema lineare, quadrato di ordine p
2
, da cui si ricava il vettore y
2
che
pu`o essere sostituito nelle equazioni seguenti. Procedendo in questo modo
si ricavano tutti i blocchi y
i
, i = 1, 2, . . . , k, che costituiscono il vettore y.
Una volta ottenuto lintero vettore y si risale al vettore x tramite la relazione
x = Py.
Si osservi che se la matrice A `e non singolare tale `e anche la matrice B in
quanto ottenuta da A con una trasformazione per similitudine. La matrice B
ha il determinante uguale al prodotto dei determinanti dei blocchi diagonali
per cui se B `e non singolare tali sono i blocchi B
ii
, i = 1, 2, . . . , k. Questo
assicura lesistenza e lunicit`a della soluzione di tutti i sistemi lineari che via
via si risolvono nella (2.16).
La sostituzione del sistema lineare Ax = b con il sistema lineare (2.15)
conduce alla risoluzione di k sistemi lineari tutti di ordine inferiore ad n al
posto di un unico sistema lineare di ordine n. Il vantaggio delluso di questa
trasformazione risulter`a evidente nel Capitolo 3 quando saranno esposti i
metodi numerici per la risoluzione dei sistemi lineari.
Si noti che le matrici A e B sono simili e quindi hanno gli stessi autovalori.
Per il calcolo degli autovalori di B si pu`o utilizzare la seguente osservazione.
Osservazione 2.11.1 Gli autovalori di una matrice triangolare o diagonale
a blocchi, con blocchi diagonali quadrati, sono tutti e soli gli autovalori dei
36 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
blocchi diagonali.
Il seguente esempio mostra come si pu`o costruire la matrice di permu-
tazione P che porta in forma ridotta una data matrice A riducibile.
Esempio 2.11.5 Si consideri la matrice riducibile
A =
_
_
_
_
_
_
_
_
5 0 3 0 0
1 1 1 1 5
1 0 2 0 0
1 2 1 3 0
0 0 1 0 6
_
_
_
_
_
_
_
_
.
Per trovare la matrice di permutazione che trasforma A nella sua forma
ridotta, si costruisce il grafo orientato associato alla matrice A, avente i nodi
N
1
, N
2
, N
3
, N
4
, N
5
.
Da tale grafo si constata la seguente situazione
Nodo di Nodi Nodi non
partenza raggiungibili raggiungibili
N
1
N
1
, N
3
N
2
, N
4
, N
5
;
N
2
tutti ;
N
3
N
1
, N
3
N
2
, N
4
, N
5
;
N
4
tutti ;
N
5
N
1
, N
3
, N
5
N
2
, N
4
.
Essendo N
1
il primo nodo a partire dal quale non `e possibile raggiungere
tutti gli altri nodi, si riordinano i nodi ponendo ai primi posti quei nodi che
sono raggiungibili partendo da N
1
e di seguito gli altri. Si ha quindi un nuovo
ordinamento dei nodi che `e Q
1
= N
1
, Q
2
= N
3
, Q
3
= N
2
, Q
4
= N
4
, Q
5
= N
5
.
A questo punto si opera sulla matrice A una trasformazione per similitudine
mediante la matrice di permutazione
P
1
=
_
_
_
_
_
_
_
_
1 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 0 0 1 0
0 0 0 0 1
_
_
_
_
_
_
_
_
2.11. COMPLEMENTI ED ESEMPI 37
ottenuta eettuando sulle colonne della matrice identica la stessa permu-
tazione operata sui nodi N
i
per ottenere i nodi Q
i
.
Si ottiene la matrice
A
1
= P
T
1
AP
1
=
_
_
_
_
_
_
_
_
5 3 0 0 0
1 2 0 0 0
1 1 1 1 5
1 1 2 3 0
0 1 0 0 6
_
_
_
_
_
_
_
_
.
La matrice A
1
`e triangolare a blocchi con blocchi diagonali
_
5 3
1 2
_
,
_
_
_
1 1 5
2 3 0
0 0 6
_
_
_.
Il secondo blocco diagonale risulta ancora riducibile in quanto nel suo
grafo orientato esiste un nodo (quello di indice massimo) da cui non si possono
raggiungere gli altri due.
Su questo blocco si opera analogamente a quanto fatto su A; ci`o equivale
ad eettuare una nuova trasformazione per similitudine sulla matrice A
1
mediante la matrice di permutazione
P
2
=
_
_
_
_
_
_
_
_
1 0 0 0 0
0 1 0 0 0
0 0 0 1 0
0 0 0 0 1
0 0 1 0 0
_
_
_
_
_
_
_
_
ottenendo la matrice
A
2
= P
T
2
A
1
P
2
=
_
_
_
_
_
_
_
_
5 3 0 0 0
1 2 0 0 0
0 1 6 0 0
1 1 5 1 1
1 1 0 2 3
_
_
_
_
_
_
_
_
.
I blocchi diagonali della matrice A
2
risultano irriducibili per cui essa `e la
forma ridotta di A.
38 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
Alla matrice A
2
si pu`o giungere con ununica trasformazione per simili-
tudine mediante la matrice di permutazione
P = P
1
P
2
=
_
_
_
_
_
_
_
_
1 0 0 0 0
0 0 0 1 0
0 1 0 0 0
0 0 0 0 1
0 0 1 0 0
_
_
_
_
_
_
_
_
.
2.11.4 Autovalori e autovettori di matrici particolari
Esempio 2.11.6 Le matrici della forma
G =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1
.
.
.
1
c s
1
.
.
.
1
s c
1
.
.
.
1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
p
q
,
dove G IR
nn
e c
2
+s
2
= 1, si dicono matrici di rotazione.
Si vogliono calcolare gli autovalori e gli autovettori di G nel caso s = 0.
Essendo G ortogonale, si ha det(GG
T
) = 1, per cui risulta anche det(G) =

2

n
= 1.
Dal Teorema 2.10.3 si ottiene |
i
| G
2
=
_
(GG
T
) = 1; ne segue che
pu`o essere solo |
i
|= 1, i = 1, 2, . . . , n.
Lequazione caratteristica della matrice G `e
(1 )
n2
(
2
2c + 1) = 0 ;
2.11. COMPLEMENTI ED ESEMPI 39
pertanto gli autovalori di G sono

1
= =
n2
= 1,
n1
= c

s
2
,
n
= c +

s
2
.
Poiche in corrispondenza allautovalore 1 risulta r(G I) = 2, si ha
(1) = (1) = n 2; quindi la matrice G ammette n autovettori linear-
mente indipendenti che si ricavano risolvendo i sistemi (G
i
I)x = 0,
i = 1, 2, . . . , n.
Con semplici calcoli si ottiene la matrice degli autovettori
X =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1
.
.
.
1

s
2
s
1

2
1
.
.
.
1
1

2
1

s
2
s
1
.
.
.
1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
p
q
.
Si noti che, essendo G normale, X `e unitaria (cfr. Teorema 2.7.8).
Esempio 2.11.7 Si consideri la matrice H = I2vv
H
con v C
/
n
e v
H
v = 1;
la matrice H `e detta matrice di Householder.
Si vogliono calcolare gli autovalori e gli autovettori di H.
A tale scopo, si opera su H una traslazione di spettro e si calcolano gli
autovalori della matrice B = H I = 2vv
H
. Lequazione caratteristica di
B, tenuto conto che v
H
v = 1, `e

n
+ 2
n1
= 0 .
Si ricavano quindi gli autovalori di B che sono

1
= 0,
2
= 2, con (
1
) = n 1, (
2
) = 1 .
40 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
Gli autovalori di H sono quindi

1
= 1,
2
= 1, con (
1
) = n 1, (
2
) = 1 .
Si verica facilmente che (
1
) = (
1
) e (
2
) = (
2
), quindi gli
autovettori linearmente indipendenti di H sono n. Gli autovettori associati
a
1
sono
x
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
v
2
v
1
0
.
.
.
0
0
0
_
_
_
_
_
_
_
_
_
_
_
_
_
, x
2
=
_
_
_
_
_
_
_
_
_
_
_
_
_
v
3
0
v
1
.
.
.
0
0
0
_
_
_
_
_
_
_
_
_
_
_
_
_
, . . . , x
n1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
v
n
0
0
.
.
.
0
0
v
1
_
_
_
_
_
_
_
_
_
_
_
_
_
,
mentre lautovettore associato a
2
`e x
n
= v.
Si osservi, inne, che la matrice H `e una matrice hermitiana e unitaria.
Esempio 2.11.8 Si consideri la matrice J IR
2n2n
i cui elementi sono
(J)
ik
=
_
_
_
1 se i +k = 2n + 1,
0 altrimenti.
Essendo J
2
= I, indicato con un autovalore di J, si ha
2
= 1; per cui
gli autovalori di J possono assumere i valori 1 o 1.
Osservando che tr(J) = 0 (cfr. (2.6)) si ricavano gli autovalori

1
= 1,
2
= 1 con (
1
) = (
2
) = n.
I due autovalori hanno molteplicit`a geometrica (
1
) = (
2
) = n. Gli
autovettori associati a
1
sono
x
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
1
0
0
.
.
.
0
0
1
_
_
_
_
_
_
_
_
_
_
_
_
_
, x
2
=
_
_
_
_
_
_
_
_
_
_
_
_
_
0
1
0
.
.
.
0
1
0
_
_
_
_
_
_
_
_
_
_
_
_
_
, . . . , x
n
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0
.
.
.
0
1
1
0
.
.
.
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
2.11. COMPLEMENTI ED ESEMPI 41
mentre gli autovettori associati a
2
sono
x
n+1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
1
0
0
.
.
.
0
0
1
_
_
_
_
_
_
_
_
_
_
_
_
_
, x
n+2
=
_
_
_
_
_
_
_
_
_
_
_
_
_
0
1
0
.
.
.
0
1
0
_
_
_
_
_
_
_
_
_
_
_
_
_
, . . . , x
2n
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0
.
.
.
0
1
1
0
.
.
.
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
Si osservi che gli autovettori di J sono anche autovettori di J
2
mentre
non `e vero, in generale, il viceversa. Infatti, la matrice J
2
ammette come
autovettore un qualunque vettore di C
/
n
.
2.11.5 Matrici tridiagonali
Particolare interesse hanno le matrici tridiagonali cio`e le matrici T i cui
elementi t
ij
sono nulli se | i j |> 1, i, j = 1, 2, . . . , n.
Pertanto possono scriversi nella seguente forma generale
T =
_
_
_
_
_
_
_
a
1
c
2
b
2
.
.
.
.
.
.
.
.
.
.
.
.
c
n
b
n
a
n
_
_
_
_
_
_
_
. (2.17)
Per le matrici tridiagonali (2.17) il calcolo del determinante pu`o eettuarsi
mediante la relazione ricorrente
D
0
= 1,
D
1
= a
1
,
D
i
= a
i
D
i1
b
i
c
i
D
i2
, i = 2, 3, . . . , n,
il cui termine D
n
`e det(T).
In modo del tutto analogo si pu`o calcolare det(T I), cio`e il polinomio
caratteristico della matrice (2.17), mediante la successione di polinomi
42 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
P
0
() = 1,
P
1
() = a
1
,
P
i
() = (a
i
)P
i1
() b
i
c
i
P
i2
(), i = 2, 3, . . . , n,
dove risulta P
n
() = det(T I).
Esempio 2.11.9 Si calcola il determinante della matrice di ordine n
T
n
=
_
_
_
_
_
_
_
1 1
1
.
.
.
.
.
.
.
.
.
.
.
.
1
1 1
_
_
_
_
_
_
_
,
caso particolare della (2.17).
Per det(T
n
) = D
n
risulta
D
n
= D
n1
+D
n2
. (2.18)
La (2.18), per n = 2, 3, . . ., `e una equazione lineare alle dierenze (cfr. 8.3.1)
la cui equazione caratteristica `e
2
1 = 0. La soluzione generale `e
D
n
= c
1

n
1
+c
2

n
2
, con
1
=
1+

5
2
e
2
=
1

5
2
. Le costanti arbitrarie c
1
e c
2
possono essere determinate imponendo che per n = 0 ed n = 1, D
n
assuma i
valori dati per D
0
e D
1
. Ponendo D
0
= D
1
= 1 e risolvendo quindi il sistema
c
1
+ c
2
= 1
c
1

1
+ c
2

2
= 1 ,
si ricava c
1
=
1
/

5 e c
2
=
2
/

5, da cui
D
n
=
1

n+1
1

1

n+1
2
.
Quindi, ad esempio,
det(T
100
)
1

5
(1.618)
101
5.73 10
20
.
La successione {D
n
} `e nota con il nome di successione di Fibonacci.
2.11. COMPLEMENTI ED ESEMPI 43
2.11.6 Conseguenze dei teoremi di Gershgorin
I teoremi di Gershgorin consentono di dedurre alcune propriet`a notevoli.
Corollario 2.11.1 Una matrice A a predominanza diagonale forte `e non
singolare.
Dimostrazione. Segue immediatamente dal primo teorema di Gershgorin te-
nendo presente che ogni cerchio di Gershgorin ha il centro a distanza | a
ii
| dallo-
rigine degli assi ed il raggio
i
=

n
j=1
j=i
| a
ij
|; dallipotesi segue che nessuno dei
detti cerchi contiene lorigine. Lo zero non `e quindi autovalore della matrice ed il
determinante, per la (2.7), non pu` o essere nullo.
Corollario 2.11.2 Una matrice A a predominanza diagonale debole ed ir-
riducibile `e non singolare.
Dimostrazione. Ragionando come nel precedente corollario, si osserva che la
predominanza diagonale debole consente ai cerchi di Gershgorin di avere la circon-
ferenza passante per lorigine, eccettuato uno almeno di tali cerchi. Daltra parte
se lo zero fosse autovalore della matrice irriducibile A, per il terzo teorema di Ger-
shgorin esso dovrebbe appartenere alla frontiera di tutti i cerchi, contrariamente
a quanto osservato. Dunque lo zero non `e autovalore e perci` o det(A) = 0.
Esempio 2.11.10 Sia
A =
_
_
_
2 2 0
i 2i 1
1 0 2i
_
_
_, dove i
2
= 1;
gli autovalori appartengono allinsieme rappresentato in Fig. 2.4 che `e lunione
dei tre insiemi
F
1
= {z C
/
| | z 2 | 2},
F
2
= {z C
/
| | z 2i | 2},
F
3
= {z C
/
| | z + 2i | 1}.
La matrice A `e a predominanza diagonale debole ed irriducibile; i suoi
autovalori sono non nulli essendo det(A) = 2.
44 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
-5
-4
-3
-2
-1
0
1
2
3
4
5
-4 -2 0 2 4
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
xx
xx
x
x
x
x
x
x
x
x
x
xx
xx
xx
x
x
x
x
x
x
x
x
x
xx
xx
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
Figura 2.4: cerchi di Gershgorin.
Una interessante applicazione del Teorema 2.8.1 `e la possibilit`a di local-
izzare le radici reali e complesse di una equazione algebrica.
Sia data lequazione
x
k
+a
k1
x
k1
+ +a
1
x +a
0
= 0 (2.19)
con a
i
C
/
, i = 0, 1, . . . , k 1.
Si consideri la matrice quadrata di ordine k
F =
_
_
_
_
_
_
_
_
_
_
0 1 0 0 0
0 0 1 0 0
0 0 0 0 0

0 0 0 0 1
a
0
a
1
a
2
a
k2
a
k1
_
_
_
_
_
_
_
_
_
_
; (2.20)
si verica che la (2.19) `e lequazione caratteristica della matrice F: pertanto
i suoi autovalori sono le radici dellequazione assegnata. Quindi `e possibile
localizzare le radici dellequazione (2.19) facendo uso del Teorema 2.8.1.
La matrice (2.20) `e detta matrice di Frobenius o matrice compagna delle-
quazione (2.19).
Esempio 2.11.11 Si consideri lequazione algebrica
x
3
5x
2
+ 3x 1 = 0.
2.11. COMPLEMENTI ED ESEMPI 45
Le radici dellequazione sono gli autovalori della matrice compagna
F =
_
_
_
0 1 0
0 0 1
1 3 5
_
_
_.
Applicando il primo teorema di Gershgorin alla matrice F, le radici del-
lequazione appartengono allinsieme F unione dei cerchi
F
1
= F
2
= {z C
/
| | z | 1} , F
3
= {z C
/
| | z 5 | 4} .
Se si considera la matrice F
T
e si applica ad essa il teorema di Gershgorin
(ci`o equivale ad operare sulle colonne di F) si ottiene linsieme G unione dei
cerchi
G
1
= {z C
/
| | z | 1} ,
G
2
= {z C
/
| | z | 4} ,
G
3
= {z C
/
| | z 5 | 1} .
Ricordando che gli autovalori delle matrici F e F
T
sono gli stessi, si deduce
che gli autovalori, quindi le radici dellequazione proposta, appartengono
allinsieme F

G, che `e pi` u ristretto sia di F che di G, come mostra la


Fig. 2.5.
-10
-8
-6
-4
-2
0
2
4
6
8
10
-10 -5 0 5 10
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
Figura 2.5: Intersezione F

G.
46 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
2.11.7 Polinomio minimo
Teorema 2.11.3 (di Cayley-Hamilton) Una matrice A C
/
nn
verica la sua
equazione caratteristica; si ha cio`e
P(A) = O
essendo il secondo membro la matrice nulla e P() il polinomio caratteristico
di A.
Si enuncia brevemente il Teorema 2.11.3 dicendo che A annulla P();
`e evidente come la matrice A annulli qualunque polinomio di cui P() `e
divisore; inoltre A pu`o annullare anche polinomi di grado inferiore a n.
Denizione 2.11.1 Data una matrice A C
/
nn
si dice polinomio minimo,
e si indicher`a con P
M
(), il polinomio di grado pi` u basso per il quale si ha
P
M
(A) = O.
Si pu`o dimostrare che P
M
() `e un divisore di P() e che `e della forma
P
M
() = (
1
)
p
(1)
(
2
)
p
(2)
(
k
)
p
(k)
dove p
(i)
`e lordine massimo dei blocchi di Jordan J
(i)
l
(cfr. Teorema 2.7.9),
mentre
1
,
2
, . . . ,
k
, sono gli autovalori distinti di A.
Esempio 2.11.12 Si calcolano i polinomi minimi di alcune matrici parti-
colari.
1. Sia G una matrice di rotazione di ordine n con s = 0 (cfr. Esempio
2.11.6). Essa ha equazione caratteristica
( 1)
n2
(
2
2c + 1) = 0 ;
si ha (1) = n 2, quindi i blocchi di Jordan sono tutti di ordine 1 e
il polinomio minimo di G risulta
P
M
() = ( 1)(
2
2c + 1) .
2.11. COMPLEMENTI ED ESEMPI 47
2. Sia H una matrice di Householder (cfr. Esempio 2.11.7). Essendo H
unitaria ed hermitiana, si ha H
2
= I per cui H
2
I =O ed il polinomio
minimo `e
P
M
() =
2
1
in quanto per nessun valore pu`o risultare H + I =O.
3. Sia J la matrice denita nellEsempio 2.11.8. Anche per J si ha J
2
= I
per cui il suo polinomio minimo, come per tutte le matrici ortogonali
e simmetriche, risulta
P
M
() =
2
1 .
La conoscenza di un polinomio che sia annullato da una matrice non sin-
golare pu`o essere sfruttata per il calcolo della matrice inversa come mostrato
nel seguente esempio.
Esempio 2.11.13 Sia A la matrice reale di ordine n denita da
A =
_
_
_
_
_
_
_
_
_
_
n 1 1 1 1
1 n 1 1 1
1 1 n 1 1

1 1 1 n 1
1 1 1 1 n
_
_
_
_
_
_
_
_
_
_
.
Conviene operare una traslazione di spettro (cfr. Teorema 2.7.6) e con-
siderare la matrice A (n 1)I. Per essa lequazione caratteristica (2.4) `e

n
n
n1
= 0 da cui gli autovalori
1
=
2
= =
n1
= 0 e
n
= n. Gli
autovalori di A sono perci`o

1
=
2
= =
n1
= n 1,
n
= 2n 1.
Poiche A `e hermitiana, e quindi normale, per il Teorema 2.7.8, `e diago-
nalizzabile, come `e confermato dalluguaglianza delle molteplicit`a algebrica
e geometrica.
La forma canonica di Jordan della matrice A coincide con la matrice
diagonale i cui elementi diagonali sono gli autovalori di A e quindi i blocchi
48 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE
di Jordan sono tutti di ordine 1. Da quanto aermato sopra, il polinomio
minimo della matrice A `e il polinomio di secondo grado
P
M
() = ( (n 1))( (2n 1)) =
2
+ (2 3n) + 2n
2
3n + 1.
Poiche risulta P
M
(A) =O, premoltiplicando entrambi i membri per la
matrice inversa A
1
, si ottiene
A
1
=
1
2n
2
3n + 1
((3n 2)I A)
=
1
2n
2
3n + 1
_
_
_
_
_
_
_
_
_
2n 2 1 1 1 1
1 2n 2 1 1 1
1 1 2n 2 1 1

1 1 1 2n 2 1
1 1 1 1 2n 2
_
_
_
_
_
_
_
_
_
.
Bibliograa: [2], [5], [13], [15], [31].
Capitolo 3
Sistemi di equazioni lineari
In questo capitolo si studiano due tipi di metodi risolutivi per sistemi
di equazioni lineari, solitamente detti metodi diretti e metodi iterativi. Nei
metodi diretti si giunge alla soluzione esatta (a meno degli errori di arroton-
damento) con un numero nito di operazioni sui dati; nei metodi iterativi
la soluzione viene invece approssimata dai termini di una successione di cui
la soluzione cercata `e il limite. La convenienza delluno o dellaltro tipo di
metodo dipende da particolari propriet`a del sistema che si vuole risolvere.
Per semplicit`a si fa riferimento al caso di sistemi reali, notando che
lestensione degli algoritmi al campo complesso non presenta particolari dif-
colt`a.
3.1 Algoritmo base del metodo di Gauss
Dato il sistema di n equazioni lineari
a
11
x
1
+ + a
1n
x
n
= b
1

a
n1
x
1
+ + a
nn
x
n
= b
n
(3.1)
dove i coecienti a
ij
e i termini noti b
i
sono numeri reali, si cerca un vet-
tore x
T
= (x
1
, x
2
, . . . , x
n
) che verichi le (3.1). Introdotta la matrice dei
coecienti A e il vettore dei termini noti b, il sistema si pu`o scrivere nella
forma
Ax = b , (3.2)
50 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
dove si suppone A non singolare, per garantire lesistenza e lunicit`a della
soluzione.
Il metodo di Gauss o di eliminazione consiste nel trasformare il sistema (3.2)
in un altro equivalente
Rx = c , (3.3)
dove R `e una matrice triangolare superiore con r
ii
= 0, i = 1, 2, . . . , n.
Il sistema (3.3) `e quindi della forma
r
11
x
1
+ r
12
x
2
+ + r
1n
x
n
= c
1
r
22
x
2
+ + r
2n
x
n
= c
2

r
nn
x
n
= c
n
(3.4)
e si risolve immediatamente con le formule
x
n
= c
n
/r
nn
x
i
= (c
i

n
j=i+1
r
ij
x
j
)/r
ii
, i = n 1, . . . , 1.
Per passare dal sistema (3.1) ad uno equivalente della forma (3.4) occorre
eliminare dalla i-esima equazione le incognite con indice minore di i, per
i = 2, 3, . . . , n. Ci`o si eettua utilizzando la propriet`a che la soluzione non
cambia se si sostituisce allequazione i-esima una sua combinazione lineare
con unaltra equazione del sistema. Pertanto, se a
11
= 0, si elimina x
1
da
tutte le equazioni che seguono la prima, sottraendo membro a membro dalla
i-esima equazione, i = 2, 3, . . . , n, la prima equazione i cui membri siano stati
moltiplicati per il coeciente, detto appunto moltiplicatore,
l
i1
=
a
i1
a
11
. (3.5)
Ponendo per ragioni formali a
(1)
ij
:= a
ij
, i, j = 1, 2, . . . , n, il sistema, dopo
la prima eliminazione, assume la forma:
a
(1)
11
x
1
+ a
(1)
12
x
2
+ a
(1)
13
x
3
+ + a
(1)
1n
x
n
= b
(1)
1
a
(2)
22
x
2
+ a
(2)
23
x
3
+ + a
(2)
2n
x
n
= b
(2)
2

a
(2)
n2
x
2
+ a
(2)
n3
x
3
+ + a
(2)
nn
x
n
= b
(2)
n
(3.6)
3.1. ALGORITMO BASE DEL METODO DI GAUSS 51
dove
a
(2)
ij
= a
(1)
ij
l
i1
a
(1)
1j
, b
(2)
i
= b
(1)
i
l
i1
b
(1)
1
, i, j = 2, 3, . . . , n.
Questo sistema si pu`o sostituire al sistema (3.1) senza cambiarne la solu-
zione.
Se nel sistema (3.6) risulta a
(2)
22
= 0, si pu`o eliminare x
2
da tutte le
equazioni che seguono la seconda, utilizzando ora i moltiplicatori l
i2
=
a
(2)
i2
a
(2)
22
,
i = 3, 4, . . . , n, e cos` via. Supposto che tale procedimento possa ripetersi
n 1 volte, si giunge al sistema
a
(1)
11
x
1
+ a
(1)
12
x
2
+ + a
(1)
1n
x
n
= b
(1)
1
a
(2)
22
x
2
+ + a
(2)
2n
x
n
= b
(2)
2

a
(n)
nn
x
n
= b
(n)
n
(3.7)
che `e della forma (3.4) ed `e equivalente a (3.1).
Le condizioni perche lalgoritmo possa giungere al termine come descritto,
sono
a
(1)
11
= 0, a
(2)
22
= 0, . . . , a
(n)
nn
= 0 . (3.8)
In mancanza di una di queste condizioni lalgoritmo si interrompe.
Le (3.8) equivalgono, com`e facile vericare, alla propriet`a che la matrice
A abbia i minori principali di testa diversi da zero, cio`e
a
11
= 0,

a
11
a
12
a
12
a
22

= 0, . . . , det(A) = 0 . (3.9)
In realt`a poche matrici godono di questa propriet`a; fra queste si trovano
le matrici simmetriche e denite, che ricorrono spesso nelle applicazioni.
Nella pratica del calcolo lalgoritmo di base viene modicato sia per garan-
tirne la completa esecuzione, sia per ridurre la propagazione degli errori di
arrotondamento, anche quando le condizioni (3.9) fossero vericate.
Le modiche apportate in questo senso non alterano comunque il numero
di operazioni essenziali (moltiplicazioni e divisioni) che, per un sistema di n
equazioni in n incognite, si pu`o vericare che ammonta a
n
3
3
+n
2

n
3
.
Si noti che lo stesso sistema, risolto con la regola di Cramer, che `e pure
un metodo diretto, richiede circa (n 1)(n + 1)! operazioni.
Luso della tecnica di eliminazione, evitando il calcolo dei determinanti,
riduce notevolmente anche il numero delle operazioni necessarie per il calcolo
52 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
della matrice inversa di A. La matrice A
1
`e infatti la soluzione del sistema
matriciale
AX = I,
che equivale ad n sistemi lineari della forma
Ax
(i)
= e
(i)
, i = 1, 2, . . . n,
dove si `e posto X = [x
(1)
| x
(2)
| . . . | x
(n)
] e I = [e
(1)
| e
(2)
| . . . | e
(n)
].
3.2 Tecniche di pivoting
I coecienti a
(1)
11
, a
(2)
22
, a
(3)
33
,. . . del sistema (3.7) si dicono elementi pivotali
(dal francese pivot=perno). Le modiche dellalgoritmo che si introducono
per i motivi detti nel paragrafo precedente, consistono nello stabilire a priori
un criterio di scelta dellelemento pivotale per ciascuna eliminazione.
Un primo criterio, detto del pivoting parziale, `e il seguente: si supponga
che nel sistema (3.1) sia
max
1in
| a
(1)
i1
|=| a
(1)
r1
| ; (3.10)
allora, se r = 1, si scambiano di posto la prima e lr-esima equazione e
quindi si considera un sistema in cui i coecienti a
(1)
1j
, j = 1, 2, . . . , n, sono i
coecienti a
(1)
rj
, j = 1, 2, . . . , n, del sistema di partenza e viceversa. Eettuata
la prima eliminazione, si supponga che nel sistema (3.6) si abbia
max
2in
| a
(2)
i2
|=| a
(2)
s2
| ; (3.11)
allora, se s = 2, si scambiano di posto lequazione di indice s con quella di
indice 2, quindi si procede alla seconda eliminazione e cos` via.
Unaltra strategia `e quella del pivoting totale in cui il pivot `e ancora
lelemento di massimo modulo, ma scelto ogni volta sullintera matrice del
sistema parziale da trasformare anziche su una sola colonna come nelle (3.10)
e (3.11).
`
E chiaro che in questo caso per portare il pivot selezionato nella
posizione di testa pu`o essere necessario un riordinamento delle equazioni e
delle incognite.
Nel caso di sistemi con equazioni sbilanciate, cio`e con coecienti di una
stessa equazione molto diversi nellordine di grandezza, il criterio del pivoting
3.3. FATTORIZZAZIONE LR 53
parziale pu`o risultare inecace ai ni della riduzione degli errori di arroton-
damento. In questi casi conviene ricorrere al pivoting totale oppure al cos`
detto pivoting parziale bilanciato che consiste nello scegliere come elementi
pivotali gli elementi a
(1)
r1
, a
(2)
s2
, . . ., tali che si abbia
| a
(1)
r1
|
m
(1)
r
= max
1in
| a
(1)
i1
|
m
(1)
i
,
| a
(2)
s2
|
m
(2)
s
= max
2in
| a
(2)
i2
|
m
(2)
i
, . . . . . . , (3.12)
dove i numeri m
(1)
i
= max
1jn
| a
(1)
ij
|, i = 1, 2, . . . , n, vanno calcolati
sulla matrice A del sistema di partenza, i numeri m
(2)
i
= max
2jn
| a
(2)
ij
|,
i = 2, 3, . . . , n, si calcolano sulla matrice del sistema (3.6) etc..
3.3 Fattorizzazione LR
Lalgoritmo di eliminazione pu`o essere considerato come un procedimento
che trasforma una data matrice A in una matrice triangolare R.
Per vedere in quale relazione sono le matrici A ed R si supponga che la ma-
trice A verichi le condizioni (3.9) e quindi che si possa applicare lalgoritmo
di eliminazione senza eettuare scambi tra le righe.
Teorema 3.3.1 Nellipotesi che valgano le condizioni (3.9) lalgoritmo di
eliminazione produce la fattorizzazione
A = LR , (3.13)
dove R `e la matrice triangolare superiore data dai coecienti del sistema (3.7)
ed L ha la forma
L =
_
_
_
_
_
_
_
_
_
_
_
_
1
l
21
1
l
31
l
32
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
l
n1
l
n2
l
n,n1
1
_
_
_
_
_
_
_
_
_
_
_
_
in cui gli elementi al disotto della diagonale principale coincidono con i molti-
plicatori dellalgoritmo di eliminazione.
54 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
Dimostrazione. Siano A
1
, A
2
, . . . , A
n1
= R le matrici dei successivi sistemi
equivalenti a (3.1) che si ottengono dopo ciascuna eliminazione.
Si constata che
A
1
= H
1
A, A
2
= H
2
A
1
, . . . , A
n1
= H
n1
A
n2
= R (3.14)
con
H
i
=
_
_
_
_
_
_
_
_
_
_
_
_
1
.
.
.
1
l
i+1,i
.
.
.
.
.
.
.
.
.
l
n,i
1
_
_
_
_
_
_
_
_
_
_
_
_
.
Posto L
i
:= H
1
i
e tenuto conto che
H
1
i
=
_
_
_
_
_
_
_
_
_
_
_
_
1
.
.
.
1
l
i+1,i
.
.
.
.
.
.
.
.
.
l
n,i
1
_
_
_
_
_
_
_
_
_
_
_
_
e che L
1
L
2
. . . L
n1
= L, dalle (3.14) segue
H
n1
H
n2
H
1
A = R,
da cui
A = L
1
L
2
L
n1
R = LR.
Nel caso di una matrice A qualunque si pu`o dimostrare che lalgoritmo
di Gauss con leventuale uso del pivoting parziale conduce ancora ad una
fattorizzazione della forma
PA = L
p
R
p
(3.15)
dove P `e una matrice di permutazione denita dagli scambi di righe richiesti
dallalgoritmo, R
p
`e triangolare superiore ed L
p
`e triangolare inferiore con
elementi diagonali unitari.
3.4. METODI DI FATTORIZZAZIONE 55
Una conseguenza delle decomposizioni (3.13) e (3.15) `e data rispettiva-
mente dalle uguaglianze
det(A) = det(R), det(A) = (1)
s
det(R
p
)
dove s `e il numero degli scambi di righe dovuti alluso del pivoting, mentre
i determinanti di R ed R
p
sono dati dal prodotto dei termini diagonali. Si
osservi che il costo computazionale di det(A) mediante la denizione `e di
circa n! operazioni mentre il numero di operazioni per costruire R ed R
p
con
leliminazione gaussiana `e di circa n
3
/3.
3.4 Metodi di fattorizzazione
La conoscenza di una fattorizzazione della matrice A pu`o essere utile ai
ni della risoluzione del sistema (3.1), infatti se ad esempio si conosce a priori
la decomposizione (3.13), il sistema si pu`o scrivere
LRx = b ,
e la sua risoluzione si riconduce a quella immediata dei due sistemi triangolari
Lc = b, Rx = c. (3.16)
Nellipotesi che valgano le condizioni (3.9) leliminazione gaussiana pro-
duce le due matrici R ed L, questultima essendo fornita dai moltiplica-
tori l
ij
che si possono convenientemente memorizzare durante lesecuzione
dellalgoritmo.
Tuttavia se lo scopo della fattorizzazione `e la risoluzione dei sistemi (3.16)
si preferisce costruire direttamente le matrici L ed R sulla base della deni-
zione di prodotto fra matrici, ferma restando lipotesi (3.9).
Si hanno cos` i metodi di fattorizzazione diretta che si fondano sulla (3.13)
pensata come un sistema di n
2
equazioni
a
ij
=
min(i,j)

h=1
l
ih
r
hj
, i, j = 1, 2, . . . , n. (3.17)
Per ricavare gli elementi di L ed R dalla (3.17) si possono seguire diversi
schemi di calcolo.
56 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
Nel metodo di Doolittle si pone nelle (3.17) l
ii
= 1, i = 1, 2, . . . , n, sicche
le n
2
incognite sono gli n(n+1)/2 elementi r
ij
di R con j i e gli (n1)n/2
elementi l
ij
di L al disotto della diagonale principale. Lordine che si segue
nella risoluzione delle (3.17) `e il seguente:
1. si pone i = 1 e si ricavano le r
1j
per la prima riga di R dalle n equazioni
a
1j
= l
11
r
1j
, j = 1, 2, . . . , n;
2. si pone j = 1 e si ricavano le l
i1
per la prima colonna di L dalle n 1
equazioni
a
i1
= l
i1
r
11
, i = 2, 3, . . . n;
3. si pone i = 2 e si ricavano le r
2j
per la seconda riga di R da
a
2j
=
2

h=1
l
2h
r
hj
, j = 2, 3, . . . n.
Cos` proseguendo, si costruiscono alternativamente una riga completa di
R e una colonna senza lelemento diagonale di L, seguendo lordine rappre-
sentato in Fig. 3.1.
? ? ?
-
-
-
-
2 4 6
1
3
5
7
Figura 3.1: Metodo di Doolittle.
Se nelle (3.17) si pone r
ii
= 1, i = 1, 2, . . . , n, si ottiene il metodo di Crout
in cui si costruiscono alternativamente una colonna completa di L ed una riga
senza lelemento diagonale di R secondo un ordinamento che `e il trasposto
di quello della Fig. 3.1 (cfr. Fig. 3.2).
Lo schema di calcolo per usare le (3.17) `e quindi il seguente:
1. si pone j = 1 e si ricavano le l
i1
da
a
i1
= l
i1
r
11
, i = 1, 2, . . . , n;
3.4. METODI DI FATTORIZZAZIONE 57
? ? ? ?
-
-
-
1 3 5
2
4
6
7
Figura 3.2: Metodo di Crout.
2. si pone i = 1 e si ricavano le r
1j
da
a
1j
= l
11
r
1j
, j = 2, 3, . . . n;
3. si pone j = 2 e si ricavano le l
i2
da
a
i2
=
2

h=1
l
ih
r
h2
, i = 2, 3, . . . n.
E cos` via.
Con la scelta l
ii
= 1 associata alla costruzione per righe alternate di R e
di L si ha il metodo di Banachiewicz.
Tutti questi metodi sono applicabili solo quando siano vericate le con-
dizioni (3.9) ed hanno, rispetto alla eliminazione gaussiana, il solo vantaggio
di una esecuzione pi` u compatta che non richiede la memorizzazione di stadi
intermedi.
Nel caso speciale dei sistemi lineari con matrice simmetrica denita positi-
va esiste la possibilit`a di ridurre anche il numero di operazioni essenziali, quasi
dimezzandole, rispetto al metodo di eliminazione. Ci`o si ottiene ricorrendo
alla fattorizzazione
A = LL
T
(3.18)
valida per ogni matrice A simmetrica e denita positiva, con L matrice trian-
golare inferiore ed elementi diagonali positivi ma non necessariamente uguali
ad 1.
Sulla (3.18) si fonda il metodo di Cholesky in cui ci si limita a costruire
solo la matrice L procedendo per colonne. Posto nella (3.17) r
hj
:= l
jh
si ha
per i j,
a
ij
= l
i1
l
j1
+ l
i2
l
j2
+ + l
ij
l
jj
, j = 1, 2, . . . , n, (3.19)
58 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
dando a i tutti i valori da j ad n, dalla (3.19) si ricavano gli elementi l
ij
della
colonna j-esima di L. Si noti che per i = j la (3.19) diventa
a
jj
= l
2
j1
+l
2
j2
+ + l
2
jj
da cui
l
jj
=

_
a
jj

j1

h=1
l
2
jh
dove per j = 1 la sommatoria `e nulla.
In generale, quando si conosce una fattorizzazione A = LR si ha formal-
mente A
1
= R
1
L
1
, perci`o per avere linversa di A basta risolvere i due
sistemi matriciali triangolari
RX = I , LY = I ,
che forniscono rispettivamente R
1
ed L
1
e poi eseguire il prodotto R
1
L
1
.
In particolare se A `e simmetrica e denita positiva basta risolvere soltanto il
secondo sistema, avendosi
A
1
= (L
T
)
1
L
1
= (L
1
)
T
L
1
.
3.5 Errori, stabilit`a e condizionamento
Qualunque metodo per la risoluzione di un sistema lineare produce una
soluzione approssimata a causa degli errori di arrotondamento introdotti nel
corso dei calcoli. Tali errori vengono amplicati e trasmessi alla soluzione
attraverso un meccanismo che dipende sia dallalgoritmo che dal sistema
stesso.
Sia x la soluzione esatta del sistema Ax = b, al quale si supponga di
applicare un qualunque metodo diretto e sia x+x la soluzione approssimata
che si ottiene. Si usa ammettere che linuenza dellalgoritmo equivalga ad
una certa perturbazione A, b dei dati iniziali, per cui la soluzione numerica
x + x si pu`o pensare come la soluzione esatta del sistema perturbato
(A + A)(x + x) = b + b .
Un algoritmo che produce forti perturbazioni si dice instabile, mentre si
dice stabile se le perturbazioni prodotte sono modeste.
3.5. ERRORI, STABILIT
`
A E CONDIZIONAMENTO 59
Lentit`a dellerrore relativo
x
x
dipende dalla sensibilit`a della soluzione
alle perturbazioni dei dati A e b o, come si dice, dal condizionamento del
sistema, termine col quale si designa, pi` u in generale, lattitudine che ha un
dato problema a trasmettere, pi` u o meno amplicate, le perturbazioni dei
dati alla soluzione. Precisamente vale il teorema seguente.
Teorema 3.5.1 Nellipotesi che la matrice A + A sia non singolare e che,
rispetto ad una data norma, sia A < 1/A
1
, vale la relazione:
x
x

(A)
1 (A)
A
A
_
A
A
+
b
b
_
, (3.20)
dove
(A) = AA
1
. (3.21)
Si osservi che quando il numero (A) denito dalla (3.21) `e molto grande
si ha una forte amplicazione del membro destro della (3.20) e lerrore rela-
tivo della soluzione pu`o essere molto grande. Per questo si suole assumere
(A) come misura del condizionamento del sistema o della matrice A e si
dice appunto numero di condizionamento rispetto alla norma considerata.
Il numero (A) `e non inferiore allunit`a, avendosi, per ogni norma,
(A) = AA
1
AA
1
= I 1.
In generale A si dice malcondizionata se (A) 1 e bencondizionata se
(A) non `e molto grande, ma `e chiaro che, tranne casi estremi, ladozione
di questi termini dipende da criteri contingenti.
Si osservi che se nella (3.20) si pone A = 0, lerrore relativo pu`o
crescere al pi` u linearmente al crescere di b mentre al crescere di A
lerrore potrebbe subire aumenti assai pi` u forti in quanto nel membro destro
della (3.20) cresce anche il fattore (A)/
_
1 (A)
A
A
_
.
Per questo motivo per misurare la stabilit`a o meno dellalgoritmo usato,
si cerca di risalire alla perturbazione A, partendo dagli errori di arroton-
damento introdotti dallalgoritmo di fattorizzazione della matrice A. Questa
tecnica, detta di analisi dellerrore allindietro, viene usata in generale anche
per altri algoritmi.
Nota una stima della perturbazione sui dati corrispondente ad un certo
algoritmo diretto, la (3.20) fornisce una maggiorazione a priori dellerrore
relativo della soluzione. Di validit`a pi` u generale `e invece una maggiorazione
60 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
a posteriori che si ricava come segue: sia x la soluzione ottenuta per il sistema
Ax = b risolto con un qualunque metodo e si abbia
b A x = r
dove r `e il vettore residuo. In corrispondenza alla soluzione esatta, r risulta
nullo, cio`e si ha b Ax = 0; ne segue
A( x x) = r, ( x x) = A
1
r
e, per una qualunque norma naturale:
x x A
1
r
daltra parte da Ax = b si ha
x
b
A
e dalle ultime due relazioni segue la detta maggiorazione
x x
x
(A)
r
b
. (3.22)
La (3.22) mostra che la dipendenza dellerrore nale da (A) `e un fatto
generale e mette in guardia dal ritenere buona unapprossimazione x quando
il corrispondente residuo sia piccolo.
In generale non si conosce la matrice inversa di A e quindi (A); tuttavia
la (3.22) pu`o essere eettivamente utilizzata ricorrendo ad appositi procedi-
menti per il calcolo approssimato di (A).
3.6 Metodi iterativi in generale
Molti problemi conducono alla risoluzione di un sistema Ax = b di di-
mensioni molto grandi con matrice A sparsa, cio`e con pochi elementi non
nulli. Se a un tale sistema si applica un metodo diretto, le matrici dei sistemi
intermedi o di arrivo possono diventare matrici dense, cio`e con un elevato
numero di elementi non nulli.
Sorgono cos` seri problemi di costo computazionale e di ingombro di
memoria. In questi casi pu`o giovare il ricorso ai metodi iterativi, in cui
ogni iterazione richiede il prodotto di una matrice H per un vettore.
3.6. METODI ITERATIVI IN GENERALE 61
Poiche la densit`a di H `e paragonabile a quella di A, se questa `e una
matrice sparsa, ogni iterazione comporta una mole di calcoli relativamente
modesta ed un ingombro di memoria limitato.
Il procedimento generale per costruire un metodo iterativo `e il seguente.
Dato il sistema
Ax b = 0, con A IR
nn
, b IR
n
, det(A) = 0,
si trasforma il sistema dato in un altro equivalente della forma
x = Hx +c . (3.23)
Ci`o pu`o farsi in molti modi; per esempio, con G matrice non singolare
qualsiasi, si pu`o scrivere
x = x G(Ax b)
da cui
x = (I GA)x + Gb
che `e della forma voluta.
La (3.23) suggerisce il processo iterativo
x
(k+1)
= Hx
(k)
+ c, k = 0, 1, . . . , (3.24)
dove x
(0)
`e una approssimazione iniziale della soluzione.
La matrice H `e detta matrice di iterazione e denisce il metodo. Un
metodo iterativo si dice convergente se la successione
_
x
(k)
_
converge alla
soluzione del sistema dato.
La convergenza o meno della successione
_
x
(k)
_
generata da un metodo
iterativo dipende dalla sua matrice di iterazione H in base al seguente teo-
rema.
Teorema 3.6.1 Condizione necessaria e suciente anche un metodo ite-
rativo della forma (3.24) sia convergente per qualunque vettore iniziale x
(0)
,
`e che la sua matrice di iterazione H sia convergente.
Dimostrazione. Sia a la soluzione esatta del sistema Ax = b e si voglia usare
un metodo iterativo del tipo (3.24).
Essendo x = Hx + c equivalente al sistema dato, vale lidentit`a
a = Ha + c ;
62 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
sottraendo membro a membro questa dalla (3.24) e indicando con e
(k)
= x
(k)
a
lerrore associato a x
(k)
, si ha
e
(k+1)
= He
(k)
, k = 0, 1, . . . ,
da cui
e
(k)
= H
k
e
(0)
; (3.25)
perci`o, per un arbitrario e
(0)
, si avr`a lim
k
e
(k)
= 0 se e solo se lim
k
H
k
= O.
Da note propriet`a delle matrici e delle loro norme (cfr. Teorema 2.7.1 e
Teorema 2.10.3), si ottengono i seguenti corollari.
Corollario 3.6.1 Per la convergenza del metodo (3.24) `e necessario e suf-
ciente che sia
(H) < 1 . (3.26)
Corollario 3.6.2 Condizione suciente per la convergenza del metodo (3.24)
`e lesistenza di una norma naturale per cui si abbia
H < 1 .
La (3.25) consente di studiare la riduzione dellerrore nel corso delle ite-
razioni. Infatti si dimostra che per una qualunque norma naturale si ha
lim
k
k
_
H
k
= (H) ;
quindi asintoticamente, cio`e per k abbastanza grande, si ha
k
_
H
k
(H) ; (3.27)
da questa e dalla (3.25) segue, se e
(0)
= 0,
e
(k)

e
(0)

H
k

k
(H) . (3.28)
Perci`o, in un metodo convergente, e
(k)
si riduce almeno a e
(0)
10
m
dopo un numero k di iterazioni tale che
k
(H) 10
m
ossia se
k
m

1
Log (H)
(3.29)
3.6. METODI ITERATIVI IN GENERALE 63
(si ricordi che per la (3.26) `e Log (H) < 0).
Dalla (3.29) si vede che, nellambito dei metodi convergenti, la conver-
genza risulta tanto pi` u rapida quanto pi` u grande `e il numero Log (H).
Poiche la (3.29) `e stata dedotta dalle relazioni asintotiche (3.27) e (3.28),
al numero
V =
m
k
= Log (H) (3.30)
si d`a il nome di velocit`a asintotica di convergenza del metodo avente matrice
di iterazione H.
In base alla (3.30) se due metodi hanno matrici di iterazione con diverso
raggio spettrale `e pi` u veloce quello che corrisponde al raggio spettrale minore.
Sottraendo ad entrambi i membri della (3.24) il vettore x
(k)
e tenendo
conto che c = (H I)a si perviene alla
e
(k)
(H I)
1
x
(k+1)
x
(k)
. (3.31)
Luso di un metodo iterativo comporta il ricorso a qualche criterio di
arresto. Se `e una tolleranza derrore prestabilita, un criterio spesso seguito
`e il seguente
x
(k+1)
x
(k)
(3.32)
che si basa sulla maggiorazione (3.31). Tale criterio `e chiaramente ineciente
se il numero (H I)
1
`e molto grande.
Un altro criterio si fonda sulla (3.22) che, ponendo r
(k)
= b Ax
(k)
, pu`o
scriversi
e
(k)

a
(A)
r
(k)

b
e suggerisce il criterio di arresto:
r
(k)

b
. (3.33)
La (3.33) comporta che lerrore relativo di x
(k)
non superi in norma il
numero (A). Anche questo criterio `e poco adabile se A `e molto malcon-
dizionata. Comunque per garantire che lalgoritmo termini dopo un numero
massimo N di iterazioni, si aanca ai criteri (3.32) o (3.33) lulteriore con-
dizione che il calcolo si arresti allorche sia
k N .
64 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
Si osservi che il teorema di convergenza 3.6.1 non tiene conto degli errori di
arrotondamento, cio`e vale nellipotesi ideale che le iterate siano esattamente
quelle denite dalla (3.24). In realt`a, indicando con
k
lerrore di arrotonda-
mento che si commette ad ogni passo nel calcolo della funzione Hx
(k)
+c, in
luogo della (3.24) si dovrebbe scrivere
x
(k+1)
= H x
(k)
+ c +
k
, k = 0, 1, . . .
dove { x
(k)
} `e la successione eettivamente calcolata a partire da un arbitrario
x
(0)
.
Di conseguenza si pu`o vedere che, in presenza di errori di arrotondamento,
la convergenza del metodo nel senso del Teorema 3.6.1 non garantisce che
lerrore eettivo tenda al vettore nullo. Tuttavia si pu`o dire che in un metodo
convergente leetto degli errori di arrotondamento sia abbastanza contenuto.
Questo giustica luso del criterio di arresto x
(k+1)
x
(k)
che in
pratica si sostituisce alla (3.32).
3.7 Metodi di Jacobi e di Gauss-Seidel
Per denire due classici metodi iterativi si scomponga A nella forma
A = D E F (3.34)
dove D = diag(a
11
, a
22
, . . . , a
nn
) mentre E e F sono matrici triangolari,
rispettivamente inferiore e superiore, con la diagonale nulla.
Il sistema Ax b = 0 si pu`o quindi scrivere
Dx = (E + F)x + b ,
da cui, se a
ii
= 0, i = 1, 2, . . . , n, si ottiene il metodo di Jacobi
x
(k+1)
= D
1
(E + F)x
(k)
+ D
1
b, k = 0, 1, . . . , (3.35)
la cui matrice di iterazione `e H
J
= D
1
(E + F).
Le equazioni del sistema (3.35) sono date da
x
(k+1)
i
=
1
a
ii
_
_
_b
i

j=1
j=i
a
ij
x
(k)
j
_
_
_, i = 1, 2, . . . , n, k = 0, 1 . . . . (3.36)
3.7. METODI DI JACOBI E DI GAUSS-SEIDEL 65
Il vettore x
(k+1)
ottenuto con lalgoritmo (3.36) viene prima memorizzato
in una posizione distinta da quella occupata da x
(k)
poi le n componenti x
(k+1)
i
vengono trasferite simultaneamente nelle posizioni prima occupate dalle x
(k)
i
.
Per questo motivo il metodo `e detto anche metodo delle sostituzioni simul-
tanee.
Se si scrive il sistema dato nella forma equivalente
(D E)x = Fx + b
e si suppone ancora che sia a
ii
= 0, i = 1, 2, . . . , n, si ottiene il metodo di
Gauss-Seidel
x
(k+1)
= (D E)
1
Fx
(k)
+ (D E)
1
b , k = 0, 1, . . . , (3.37)
dove la matrice di iterazione `e data da
H
G
= (D E)
1
F .
Nel calcolo pratico si fa uso di una formulazione equivalente alla (3.37) e
cio`e
x
(k+1)
= D
1
Ex
(k+1)
+ D
1
Fx
(k)
+ D
1
b , k = 0, 1, . . . , (3.38)
dove le singole equazioni sono
x
(k+1)
i
=
1
a
ii
_
b
i

i1
j=1
a
ij
x
(k+1)
j

n
j=i+1
a
ij
x
(k)
j
_
,
i = 1, 2, . . . , n, k = 0, 1, . . . .
(3.39)
Lalgoritmo (3.39) consente una maggiore economia di memoria rispetto
a quello di Jacobi, in quanto ogni singola componente x
(k+1)
i
appena calcolata
pu`o essere subito memorizzata nella posizione prima occupata dalla vecchia
componente x
(k)
i
. Ci`o giustica la denominazione di metodo delle sostituzioni
successive spesso usata per il processo (3.39).
Si osservi che in entrambi i metodi sopra deniti `e necessaria la con-
dizione a
ii
= 0, i = 1, 2, . . . , n. Se tale condizione non fosse vericata `e
sempre possibile ottenerla riordinando le equazioni e, eventualmente, anche
le incognite, purche la matrice A non sia singolare. In generale, a diversi or-
dinamenti soddisfacenti la condizione a
ii
= 0, corrispondono diverse matrici
di iterazione.
Ammesso che sia vericata la condizione ora detta, un esame della ma-
trice A del sistema pu`o dire subito se vi sono condizioni sucienti per la
convergenza. Valgono infatti i seguenti teoremi.
66 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
Teorema 3.7.1 Se A `e una matrice a predominanza diagonale forte, allora
il metodo di Jacobi e quello di Gauss-Seidel sono convergenti (cfr. Esempio
3.10.5).
Teorema 3.7.2 Se A `e una matrice irriducibile e a predominanza diagonale
debole, allora il metodo di Jacobi e quello di Gauss-Seidel sono convergenti
(cfr. Esempio 3.10.6).
In generale la convergenza di uno dei due metodi non implica quella
dellaltro.
I metodi di Jacobi e di Gauss-Seidel possono essere usati anche nella
versione a blocchi, con riferimento ad una partizione di A in sottomatrici
A
ij
, i, j = 1, 2, . . . , m, m < n, con le A
ii
matrici quadrate non singolari (non
necessariamente dello stesso ordine), cui deve corrispondere una ripartizione
in m blocchi anche per i vettori x e b.
Il sistema Ax = b rappresentato a blocchi assume quindi la forma:
_
_
_
A
11
A
1m

A
m1
A
mm
_
_
_
_
_
_
_
x
1
.
.
.
x
m
_
_
_
_
=
_
_
_
_
b
1
.
.
.
b
m
_
_
_
_
,
dove ora x
i
e b
i
sono vettori con un numero di componenti pari allordine di
A
ii
.
Alle equazioni a elementi (3.36) e (3.39) corrispondono rispettivamente le
seguenti equazioni a blocchi:
x
(k+1)
i
= A
1
ii
_
_
_b
i

j=1
j=i
A
ij
x
(k)
j
_
_
_, i = 1, 2, . . . , m, (3.40)
x
(k+1)
i
= A
1
ii
_
_
b
i

i1

j=1
A
ij
x
(k+1)
j

n

j=i+1
A
ij
x
(k)
j
_
_
, i = 1, 2, . . . , m. (3.41)
La convergenza dei metodi (3.40) e (3.41) `e ora legata ai raggi spettrali
delle corrispondenti matrici di iterazione che sono rispettivamente

H
J
=

D
1
(

E +

F) ,

H
G
= (

D

E)
1

F ,
3.8. METODI DI RILASSAMENTO 67
dove

D = diag(A
11
, A
22
, . . . , A
mm
), mentre

E e

F sono triangolari a bloc-


chi con i blocchi diagonali nulli, seguendo la scomposizione (3.34).
Generalmente i metodi a blocchi vengono usati per sistemi con matrici di
tipo speciale. Un caso del genere `e contemplato nel seguente teorema.
Teorema 3.7.3 Se A `e una matrice tridiagonale a blocchi, cio`e con A
ij
= O
per | i j |> 1, e se si ha det(A
ii
) = 0, i = 1, 2, . . . , m, i metodi a blocchi di
Jacobi e di Gauss-Seidel convergono o divergono insieme, avendosi
(

H
G
) =
2
(

H
J
) .
In generale la convergenza di un metodo per punti, per un dato sistema,
non implica quella dello stesso metodo usato a blocchi.
3.8 Metodi di rilassamento
Si consideri il metodo di Gauss-Seidel nella forma (3.38)
x
(k+1)
= D
1
(Ex
(k+1)
+ Fx
(k)
+ b) ;
scrivendo
x
(k+1)
= x
(k)
+ D
1
(Ex
(k+1)
+ Fx
(k)
+b) x
(k)
;
e ponendo
c
(k)
:= D
1
(Ex
(k+1)
+ Fx
(k)
+ b) x
(k)
(3.42)
si ha
x
(k+1)
= x
(k)
+ c
(k)
;
quindi ogni iterazione del metodo di Gauss-Seidel pu`o pensarsi come una
correzione del vettore x
(k)
mediante un altro vettore c
(k)
per ottenere x
(k+1)
.
Questa interpretazione suggerisce di introdurre una correzione del tipo
c
(k)
dove `e un parametro reale, che, opportunamente scelto, pu`o servire
ad accelerare la convergenza del metodo. Si ha cos` il metodo di rilassamento
denito da
x
(k+1)
= x
(k)
+ c
(k)
, k = 0, 1, . . . ,
ossia, tenendo conto della (3.42),
x
(k+1)
= (1 )x
(k)
+ D
1
(Ex
(k+1)
+ Fx
(k)
+b) , k = 0, 1, . . . , (3.43)
68 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
dove le equazioni a elementi sono
x
(k+1)
i
= (1 )x
(k)
i
+

a
ii
_
b
i

i1
j=1
a
ij
x
(k+1)
j

n
j=i+1
a
ij
x
(k)
j
_
,
i = 1, 2, . . . , n, k = 0, 1, . . . .
La matrice di iterazione H

del metodo di rilassamento si ottiene subito


scrivendo la (3.43) nella forma
x
(k+1)
= (D E)
1
[(1 )D + F]x
(k)
+ (D E)
1
b
da cui
H

= (D E)
1
[(1 )D + F] .
Si dimostra che per la convergenza del metodo di rilassamento `e necessario
scegliere in modo che sia
0 < < 2 . (3.44)
Nel caso speciale di matrice A hermitiana denita positiva, si pu`o di-
mostrare che la (3.44) `e anche condizione suciente per la convergenza del
metodo.
Naturalmente per = 1 si ottiene il metodo di Gauss-Seidel. Anche il
metodo di rilassamento pu`o essere impiegato nella versione a blocchi, che
consente, in qualche caso particolare, una scelta ottimale di (cfr. 3.10.6).
3.9 Metodo del gradiente coniugato
Sia A IR
nn
simmetrica e denita positiva ed a la soluzione del sistema
lineare
Ax = b ; (3.45)
se si considera il funzionale
(x) =
1
2
(b Ax)
T
A
1
(b Ax) (3.46)
si ha evidentemente (a) = 0 mentre, essendo A
1
simmetrica e denita
positiva, risulta (x) > 0 per ogni vettore reale x = a.
La risoluzione del sistema (3.45) `e quindi un problema equivalente a quello
della ricerca del punto di minimo in IR
n
per il funzionale (x).
3.9. METODO DEL GRADIENTE CONIUGATO 69
Dalla (3.46) si ricava
(x) =
1
2
x
T
Ax x
T
b +
1
2
b
T
A
1
b ;
quindi minimizzare (x) equivale a minimizzare
F(x) =
1
2
x
T
Ax x
T
b ,
che dierisce da (x) per una costante.
Si noti la relazione
grad (x) = grad F(x) = Ax b = r(x) ,
dove il vettore r(x) `e il residuo del sistema (3.45) (cfr. 3.5).
Vari metodi numerici per il calcolo di a consistono nel costruire una suc-
cessione
_
x
(k)
_
a cui corrisponda una successione
_
F(x
(k)
)
_
che sia decre-
scente. Il pi` u semplice di questi metodi, ideato da Cauchy, `e quello della
discesa pi` u ripida, che, partendo da x
(0)
arbitrario, produce la successione
x
(k+1)
= x
(k)
+
k
d
(k)
(3.47)
dove d
(k)
`e un vettore orientato nel senso di massima decrescenza di F(x) in
x
k
e
k
`e un valore reale che minimizza la funzione F(x
(k)
+d
(k)
) della sola
variabile . In pratica si pone
d
(k)
= grad F(x)
x=x
(k) = r(x
(k)
) . (3.48)
La (3.47) si interpreta geometricamente come il passaggio dal punto x
(k)
(tale che r(x
(k)
) = 0) al punto x
(k+1)
lungo la retta passante per x
(k)
e
parallela a d
(k)
. La convergenza della successione (3.47) alla soluzione a pu`o
essere molto lenta se A `e malcondizionata.
Una variante di notevole importanza prende il nome di metodo del gra-
diente coniugato.
Anche questo metodo `e espresso formalmente dalla (3.47) ma la scelta
del vettore d
(k)
`e diversa dalla (3.48) e consente di migliorare la convergenza
rispetto al metodo della discesa pi` u ripida. Per x
(0)
arbitrario si pone ora
d
(0)
= r
(0)
= b Ax
(0)
d
(k)
= r
(k)
+
k
d
(k1)
, r
(k)
= r(x
(k)
), k 1 , (3.49)
70 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
dove il numero
k
si calcola in modo che il vettore d
(k)
risulti coniugato di
d
(k1)
rispetto ad A cio`e sia
_
d
(k)
_
T
Ad
(k1)
= 0 ;
questa condizione permette di ricavare per
k
la seguente espressione

k
=
_
r
(k)
_
T
r
(k)
(r
(k1)
)
T
r
(k1)
, k 1 . (3.50)
Calcolato d
(k)
in base alle (3.49), (3.50), F(x
(k)
+ d
(k)
) risulta minima
per =
k
, dove

k
=
_
r
(k)
_
T
r
(k)
(d
(k)
)
T
Ad
(k)
. (3.51)
In questo metodo il verso del vettore d
(k)
coincide con quello di massima
decrescenza di F(x) solo per k = 0, tuttavia si dimostra che anche per
k 1 gli spostamenti di x
(k)
avvengono lungo rette orientate nel senso in
cui F(x) decresce e che si raggiunge la soluzione a in un numero p n di
passi. In realt`a la presenza degli errori di arrotondamento consente solo di
approssimare a, cio`e il metodo del gradiente coniugato nisce per assumere
un comportamento simile a quello di un metodo iterativo.
Il metodo pu`o essere usato anche per un sistema con matrice dei coef-
cienti non simmetrica applicandolo al sistema equivalente A
T
Ax = A
T
b la cui
matrice dei coecienti A
T
A risulta simmetrica e denita positiva. Va detto
che il sistema cos` trasformato ha in genere un condizionamento peggiore di
quello iniziale.
`
E possibile per`o eettuare ulteriori trasformazioni in modo
da ridurre il malcondizionamento del sistema. Le tecniche numeriche ideate
a questo scopo, sulle quali non ci si soerma, si dicono metodi di precon-
dizionamento e vengono spesso associate al metodo del gradiente coniugato.
3.10 Complementi ed esempi
3.10.1 Il metodo di Gauss-Jordan
Una variante del metodo di Gauss `e il metodo di Gauss-Jordan. Esso
consiste nelloperare sulla matrice dei coecienti del sistema (3.1) delle com-
binazioni tra le righe in modo da ottenere un sistema lineare equivalente la
cui matrice dei coecienti sia diagonale.
3.10. COMPLEMENTI ED ESEMPI 71
Per fare ci`o, basta eettuare, dal secondo passo in poi, le combinazioni
lineari opportune anche con le righe che precedono la riga a cui appartiene
lelemento pivotale. In altre parole, al passo i-esimo del metodo di Gauss si
elimina lincognita x
i
da tutte le equazioni esclusa li-esima.
Il risultato nale `e un sistema del tipo
Dx = b

dove D `e una matrice diagonale.


Come per il metodo base di Gauss, `e possibile che uno o pi` u elementi
pivotali risultino nulli. Non si presenta questo caso se e solo se valgono le
condizioni (3.9) che assicurano lapplicabilit`a del metodo senza dover ricor-
rere a scambi di righe.
Per ridurre la propagazione degli errori di arrotondamento si ricorre ai
criteri esposti in 3.2.
Lapplicazione del metodo di Gauss-Jordan a un sistema di ordine n com-
porta un costo computazionale di
n
3
2
+ n
2

n
2
operazioni, cio`e superiore a
quello del metodo di Gauss.
3.10.2 Calcolo della matrice inversa
Come accennato in 3.1, data una matrice A di ordine n non singolare, la
sua matrice inversa A
1
`e la soluzione del sistema matriciale
AX = I . (3.52)
Si tratta quindi di risolvere n sistemi lineari Ax
(i)
= e
(i)
, i = 1, 2, . . . , n,
dove x
(i)
e e
(i)
sono la i-esima colonna, rispettivamente, della matrice X e
della matrice I. Tali sistemi vengono risolti simultaneamente considerando
la matrice completa (A | I) ed eettuando su di essa le operazioni di elimi-
nazione gaussiana.
Gli eventuali scambi di righe dovute ad un eventuale pivoting parziale,
non comportano variazioni nella soluzione X del sistema lineare (3.52) che
rimane la matrice inversa di A. Infatti il sistema eettivamente risolto in tal
caso `e della forma PAX = PI, da cui segue X = A
1
. Se invece si eettua
uno scambio di colonne sulla matrice di (3.52), ci`o equivale a risolvere un
sistema della forma APX = I, da cui si ha X = P
1
A
1
e inne A
1
= PX.
Osservazione 3.10.1 Le considerazioni fatte nel caso della risoluzione del
sistema (3.52) permettono la risoluzione simultanea di pi` u sistemi lineari di
72 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
uguale matrice A come un solo sistema matriciale del tipo AX = B, dove le
colonne di B sono i vettori dei termini noti di tutti i sistemi dati.
Osservazione 3.10.2 Analogamente ai metodi iterativi, anche i metodi di-
retti di Gauss e Gauss-Jordan possono essere usati nella versione a blocchi
(cfr. Esempio 3.10.1). In questo caso, la forma dei moltiplicatori usati per le
combinazioni lineari tra le righe dierisce dalla (3.5) in quanto si opera tra
sottomatrici e, per esempio al primo passo, si ha
L
i1
= A
i1
A
1
11
.
Nella versione a blocchi, i moltiplicatori devono essere usati come premolti-
plicatori perche cos` facendo si operano combinazioni lineari tra le equazioni
del sistema senza alterarne la soluzione, mentre la postmoltiplicazione com-
porterebbe una combinazione tra le colonne e quindi una alterazione della
soluzione.
Esempio 3.10.1 Sia A IR
nn
non singolare e partizionata a blocchi nel
seguente modo:
A =
_
_
B u
u
T
c
_
_
, B IR
(n1)(n1)
, u IR
n1
, c IR.
Nellipotesi che B sia invertibile, si pu`o esprimere linversa di A operando
sui blocchi anziche sugli elementi. Applicando il metodo di Gauss-Jordan a
blocchi al sistema AX = I, si considera la matrice completa (A | I), con I
partizionata a blocchi coerentemente con A:
(A | I) =
_
_
B u I
n1
0
u
T
c 0 1
_
_
.
Premoltiplicando la prima riga per B
1
si ottiene la matrice
_
_
I
n1
B
1
u B
1
0
u
T
c 0 1
_
_
.
Premoltiplicando la prima riga per u
T
e sottraendola dalla seconda si ha
_
_
I
n1
B
1
u B
1
0
0 c u
T
B
1
u u
T
B
1
1
_
_
.
3.10. COMPLEMENTI ED ESEMPI 73
Posto = (c u
T
B
1
u)
1
, si ottiene
_
_
I
n1
B
1
u B
1
0
0 1 u
T
B
1

_
_
,
da cui, inne, sottraendo dalla prima riga la seconda premoltiplicata per
B
1
u, si ha
_
_
I
n1
0 B
1
+ B
1
uu
T
B
1
B
1
u
0 1 u
T
B
1

_
_
.
Il sistema AX = I `e cos` diventato della forma
IX = S, dove S =
_
_
B
1
+ B
1
uu
T
B
1
B
1
u
u
T
B
1

_
_
.
Si deduce quindi S = A
1
.
3.10.3 Fattorizzazione LL
T
Una matrice A reale e denita positiva `e fattorizzabile nella forma LL
T
con L matrice triangolare inferiore (cfr. 3.4).
Esempio 3.10.2 Sia
A =
_
_
_
1 t 0
t 1 t
0 t 1
_
_
_, t IR.
Gli autovalori della matrice A sono

1
= 1 ,
2
= 1 +t

2 ,
3
= 1 t

2 .
I tre autovalori risultano positivi se | t |<

2
2
e quindi per questi valori di
t, per il Teorema 2.11.2, la matrice A `e denita positiva.
Applicando il metodo di Cholesky si ottiene:
a
11
= 1 , a
22
= 1 , a
33
= 1 ,
74 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
da cui
l
2
11
= a
11
= 1 ,
l
2
22
= a
22
l
2
21
= 1 t
2
,
l
2
33
= a
33
l
2
31
l
2
32
=
12t
2
1t
2
.
Risulta inne
L =
_
_
_
_
1 0 0
t

1 t
2
0
0
t

1t
2
_
12t
2
1t
2
_
_
_
_
.
3.10.4 Sistemi malcondizionati
Esempio 3.10.3 Si consideri il sistema Ax = b con
A =
_
_
1 1
0.999 1
_
_
, b =
_
_
2
1.999
_
_
.
La soluzione `e x
T
= (1, 1) e risulta, in norma innito, (A) = 4 10
3
.
Si supponga di perturbare la matrice A con la matrice
A = 0.00024
_
_
1 1
1 1
_
_
.
Ne risulta evidentemente A/A = 24 10
5
. In questo caso il fattore di
amplicazione nella (3.20) vale
(A)
1 (A)
A
A
= 10
5
,
da cui la limitazione
x
x
24
per lerrore relativo della soluzione perturbata. In eetti, risolvendo il sistema
(A + A)(x + x) = b
3.10. COMPLEMENTI ED ESEMPI 75
si trova
x + x =
_
_
0.04023 . . .
1.9593 . . .
_
_
a cui corrisponde x/x 0.96.
Si noti, quindi, che ad una variazione A pari al 0.024% di A cor-
risponde una variazione della soluzione pari a circa il 96%.
Esempio 3.10.4 Si consideri la matrice di Hilbert del quarto ordine
A =
_
_
_
_
_
1 1/2 1/3 1/4
1/2 1/3 1/4 1/5
1/3 1/4 1/5 1/6
1/4 1/5 1/6 1/7
_
_
_
_
_
e il vettore b
T
= (1, 1, 1, 1).
Il sistema Ax = b ha soluzione x
T
= (4, 60, 180, 140). Si pu`o vericare
che il numero di condizione di A, in norma euclidea, risulta
(A) 1.55 10
4
.
Si perturbi il vettore b con
b = (, , , )
T
essendo un numero positivo arbitrario.
Per la (3.20) il fattore di amplicazione dellerrore relativo coincide con
(A).
Risolvendo il sistema perturbato
A(x + x) = b + b
si ottiene
(x + x)
T
= (4 + 516, 60 5700, 180 + 13620, 140 8820),
da cui x/x 73.
Pertanto, se = 0.01, si pu`o aermare che una perturbazione pari a 1%
del vettore b induce una variazione superiore al 70% del vettore soluzione.
76 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
3.10.5 Metodi iterativi
Gli esempi che seguono sono una applicazione dei Teoremi 3.7.1 e 3.7.2.
Esempio 3.10.5
`
E dato il sistema lineare Ax = b con
A =
_
_
_
_
_
4 1 1 1
1 4 1 1
0 1 4 1
0 0 1 4
_
_
_
_
_
, b =
_
_
_
_
_
6
6
8
2
_
_
_
_
_
.
La predominanza diagonale forte di Agarantisce la convergenza dei metodi
iterativi di Jacobi e di Gauss-Seidel. Infatti, si ottengono, rispettivamente,
le matrici di iterazione
H
J
=
1
4
_
_
_
_
_
0 1 1 1
1 0 1 1
0 1 0 1
0 0 1 0
_
_
_
_
_
,
H
G
=
1
256
_
_
_
_
_
0 64 64 64
0 16 48 48
0 4 12 52
0 1 3 13
_
_
_
_
_
.
Si verica immediatamente che H
J

= 0.75 e H
G

= 0.75, per cui,


per il Corollario 3.6.2, i metodi risultano convergenti.
In generale si pu`o dimostrare che per ogni matrice con predominanza
diagonale forte le corrispondenti matrici di iterazione H
J
e H
G
sono tali che
H
J

< 1 e H
G

< 1. In ci`o consiste la dimostrazione del Teorema 3.7.1.


Esempio 3.10.6
`
E dato il sistema lineare Ax = b con
A =
_
_
_
3 2 1
1 1 0
1 1 3
_
_
_, b =
_
_
_
3
2
6
_
_
_.
Si osservi che A `e a predominanza diagonale debole e irriducibile.
3.10. COMPLEMENTI ED ESEMPI 77
Per i metodi iterativi di Jacobi e di Gauss-Seidel si ottengono, rispettiva-
mente, le matrici di iterazione
H
J
=
1
3
_
_
_
0 2 1
3 0 0
1 1 0
_
_
_,
H
G
=
1
9
_
_
_
0 6 3
0 6 3
0 4 2
_
_
_.
Tali matrici risultano anchesse irriducibili. Analizzando i rispettivi cerchi
di Gershgorin, si osserva che, per il Teorema 2.8.3, gli autovalori di H
J
e H
G
hanno modulo minore di 1, e quindi i due metodi sono convergenti.
Il ragionamento qui seguito serve in generale a dimostrare il Teorema 3.7.2.
Si mostra, ora, come, in generale, i metodi di Jacobi e Gauss-Seidel pos-
sano non convergere contemporaneamente.
Esempio 3.10.7 Sia dato il sistema lineare Ax = b con
A =
_
_
_
1 1 2
2 1 2
2 1 1
_
_
_.
Le matrici di iterazione di Jacobi e di Gauss-Seidel sono
H
J
=
_
_
_
0 1 2
2 0 2
2 1 0
_
_
_, H
G
=
_
_
_
0 1 2
0 2 6
0 0 2
_
_
_.
Si verica che (H
J
) = 0 per cui il metodo di Jacobi `e convergente, mentre
(H
G
) = 2 per cui il metodo di Gauss-Seidel risulta divergente.
Per contro, dato il sistema lineare Ax = b con
A =
_
_
_
1 0 1
1 1 0
1 1 1
_
_
_,
per le matrici di iterazione di Jacobi e di Gauss-Seidel
H
J
=
_
_
_
0 0 1
1 0 0
1 1 0
_
_
_, H
G
=
_
_
_
0 0 1
0 0 1
0 0 0
_
_
_,
78 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
si verica che (H
J
) > 1 e (H
G
) = 0.
Esempio 3.10.8 Come esempio illustrativo del Teorema 3.7.3, si consideri
la matrice
A =
_
I B
B I
_
dove B IR
nn
e I `e la matrice identica di ordine n.
Le matrici di iterazione di Jacobi e di Gauss-Seidel sono
H
J
=
_
O B
B O
_
, H
G
=
_
O B
O B
2
_
.
Sia un autovalore di H
J
e y =
_
y
1
y
2
_
un autovettore ad esso associato.
Dallequazione H
J
y = y si ha
_
By
2
= y
1
By
1
= y
2
(3.53)
che pu`o scriversi anche
_
By
2
= (y
1
)
B(y
1
) = y
2
.
Si deduce che `e autovalore della matrice H
J
con autovettore y =
_
y
1
y
2
_
.
Sia un autovalore non nullo della matrice H
G
e z =
_
z
1
z
2
_
un autovet-
tore associato a . Dalla relazione H
G
z = z si ha
_
Bz
2
= z
1
B
2
z
2
= z
2
ovvero
_
Bz
2
= z
1
B(z
1
) = z
2
da cui
_
Bz
2
=

(

z
1
)
B(

z
1
) =

z
2
.
Dal confronto con (3.53) si evidenzia come

sia autovalore della matrice
H
J
con autovettore
_

z
1
z
2
_
. Segue quindi =
2
conforme alla tesi del
teorema citato.
3.10. COMPLEMENTI ED ESEMPI 79
Nei metodi iterativi, la scelta del vettore iniziale x
(0)
non `e soggetta a
particolari condizioni. Ci`o non esclude che una buona scelta per x
(0)
riduca
il numero delle iterazioni necessarie per ottenere una data accuratezza. Ad
esempio, se la matrice A ha una qualunque predominanza diagonale una
buona scelta `e x
(0)
i
= b
i
/a
ii
, i = 1, 2, . . . , n.
3.10.6 Scelta ottimale del parametro
Dalla scelta del parametro dipendono la convergenza e la velocit`a asin-
totica di convergenza del metodo di rilassamento.
Per fare un esempio si considera il caso particolare di un sistema con
matrice reale e denita positiva.
Esempio 3.10.9 Sia dato il sistema lineare Ax = b con
A =
_
_
_
2 2 0
2 3 1
0 1 4
_
_
_. (3.54)
Nella Fig. 3.3 `e riportata la variazione del raggio spettrale della matrice
di iterazione H

= (DE)
1
[(1 )D+F] in funzione del parametro
nellintervallo ]0, 2[.
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 3.3: Graco di (H

) per la (3.54).
Il minimo (H

) 0.3334 si ottiene per

1.3334. Con tale valo-


re di , il metodo di rilassamento applicato al sistema dato ha velocit` a di
convergenza massima.
80 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI
Se non si dispone del valore esatto di

`e evidente dalla Fig. 3.3 che


conviene preferire una sua approssimazione per eccesso ad una per difetto.
Nel caso di matrici tridiagonali e tridiagonali a blocchi non `e pratico
costruire caso per caso la funzione (H

) come nellesempio sopra considera-


to; in eetti, in questi casi, esistono formule che danno una stima immediata
del valore ottimale di .
3.10.7 Lalgoritmo del metodo del gradiente coniugato
Dato un sistema lineare Ax = b con A matrice reale e denita positiva,
scelto il vettore iniziale x
(0)
, lalgoritmo del metodo del gradiente coniugato
si pu`o descrivere come segue:
1. Calcolo del vettore residuo r
(k)
= b Ax
(k)
per k = 0;
2. se r
(k)
= 0 si arresta il calcolo;
3. si calcola il numero reale
k
dato dalla (3.50) (per k = 0 si pone
0
= 0);
4. si calcola il vettore d
(k)
= r
(k)
+
k
d
(k1)
;
5. si calcola il numero reale
k
dato dalla (3.51);
6. si calcolano i vettori x
(k+1)
= x
(k)
+
k
d
(k)
e r
(k+1)
= b Ax
(k+1)
;
7. si pone k := k + 1 e si riparte dal punto 2.
In pratica, il calcolo si arresta, per esempio, quando una norma del vettore
r
(k)
risulta minore di un valore pressato. Poiche al punto 3 si calcola il
prodotto scalare (r
(k)
)
T
r
(k)
, `e conveniente usare il seguente criterio di arresto
r
(k)

2
< b
2
. (3.55)
Esempio 3.10.10 Si consideri il sistema lineare Ax = b dove
A =
_
_
_
_
_
_
_
_
_
_
4 1 1 0 0 0
1 4 1 1 0 0
1 1 4 1 1 0
0 1 1 4 1 1
0 0 1 1 4 1
0 0 0 1 1 4
_
_
_
_
_
_
_
_
_
_
, b =
_
_
_
_
_
_
_
_
_
_
19/6
5/12
37/60
1/5
1/20
13/60
_
_
_
_
_
_
_
_
_
_
,
3.10. COMPLEMENTI ED ESEMPI 81
la cui soluzione `e a
T
= (1, 1/2, 1/3, 1/4, 1/5, 1/6).
Applicando il metodo del gradiente coniugato con vettore iniziale x
(0)
di
componenti x
(0)
i
= b
i
/a
ii
e usando il criterio di arresto (3.55) con = 10
8
,
il processo iterativo si arresta alla quinta iterazione e si ha
x
(5)
=
_
_
_
_
_
_
_
_
_
_
1.0000046 . . .
0.4999859 . . .
0.3333464 . . .
0.2499855 . . .
0.2000196 . . .
0.1666564 . . .
_
_
_
_
_
_
_
_
_
_
.
Bibliograa: [2], [5], [15], [29], [32]
Capitolo 4
Equazioni e sistemi non lineari
4.1 Introduzione
Sia f(x):IRIR una funzione continua almeno su un certo intervallo I e si
supponga che f(x) non sia della forma f(x) = a
1
x +a
0
con a
1
e a
0
costanti;
la relazione
f(x) = 0 (4.1)
si dice equazione non lineare nellincognita x.
Il problema di determinare (se esistono) gli zeri di f(x), ossia di trovare
le eventuali radici dellequazione (4.1), raramente pu`o essere risolto con un
metodo diretto, cio`e eettuando sulla (4.1) un insieme nito di operazioni
che conducano ad una espressione esplicita di ciascuna radice. Come esem-
pio basti considerare il caso di una equazione con f(x) polinomio di grado
maggiore di 1, cio`e il caso in cui la (4.1) sia della forma
a
m
x
m
+ a
m1
x
m1
+ + a
1
x + a
0
= 0, (a
m
= 0) (4.2)
con m intero 2.
La (4.2), che prende il nome di equazione algebrica di grado m, com`e
noto possiede m radici nel campo complesso, ma queste, salvo casi speciali,
si possono trovare con un metodo diretto soltanto per m 4. In generale
per calcolare numericamente una radice di una equazione non lineare della
forma (4.1) si ricorre ad un metodo iterativo, cio`e allapplicazione ripetuta
di una formula del tipo
x
n+1
=
n
(x
n
, x
n1
, . . . , x
nk+1
), n = 0, 1, . . . , k 1, (4.3)
84 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
dove
n
si dice la funzione di iterazione del metodo. Tale funzione dipende
non solo dagli argomenti x
n
, x
n1
, . . . , x
nk+1
, ma anche dalla funzione f(x)
e la sua forma pu`o variare al variare di n. Una opportuna scelta della fun-
zione di iterazione e delle approssimazioni iniziali x
0
, x
1
, . . . , x
k+1
pu`o far
s` che la successione {x
n
} converga alla radice . Il calcolo viene arrestato al
vericarsi di qualche criterio di accettabilit`a prestabilito. Ad eccezione dei
k valori iniziali, ogni altro termine di {x
n
} viene calcolato in funzione di k
termini gi`a noti: per questo motivo la (4.3) viene detta metodo iterativo a k
punti. Se la forma di
n
non varia al variare di n il metodo si dice stazionario.
Denizione 4.1.1 Data una successione {x
n
} convergente ad un limite ,
si ponga e
n
= x
n
; se esistono due numeri reali p 1 e C = 0 tali che sia
lim
n
| e
n+1
|
| e
n
|
p
= C, (4.4)
si dice che la successione ha ordine di convergenza p e fattore di convergenza
C.
Per p = 1 e p = 2 la convergenza si dice anche lineare e quadratica
rispettivamente. Nel caso di p = 1 la convergenza ad implica C < 1.
Dalla (4.4) segue che per n abbastanza grande si ha
| e
n+1
|
| e
n
|
p
C . (4.5)
Si dice che il metodo (4.3) `e convergente di ordine p se tale `e la successione da
esso generata. Analogamente a quanto stabilito in 3.6 per i sistemi lineari, si
pu`o denire una velocit`a asintotica di convergenza, nel caso p = 1 (e C < 1),
ponendo V = LogC; per p > 1 la velocit`a di convergenza ha una espressione
pi` u complicata che dipende dai valori di p e di C e cresce al crescere di p e
al decrescere di C.
Nei paragra che seguono verranno esposti alcuni metodi iterativi a due
e ad un punto.
4.2 Metodo di bisezione
Il metodo di bisezione `e il pi` u semplice metodo iterativo per approssi-
mare gli zeri reali di una funzione f(x). In questo metodo ad ogni passo si
4.2. METODO DI BISEZIONE 85
costruisce un intervallo contenente uno zero di f(x) e si assume come ap-
prossimazione di tale zero lascissa del punto medio del detto intervallo.
Sia f(x) continua sullintervallo [a, b] e poniamo x
0
= a, x
1
= b. Supposto
che si abbia f(x
0
)f(x
1
) < 0, per la continuit`a di f(x) si avr`a almeno uno
zero in ]x
0
, x
1
[. Per semplicit`a supporremo che ]x
0
, x
1
[ contenga un solo zero
di f(x). Il numero
x
2
=
x
1
+ x
0
2
,
cio`e lascissa del punto medio di ]x
0
, x
1
[, sar`a certamente una approssimazione
di migliore di almeno una delle precedenti x
0
e x
1
. Se non si verica
f(x
2
) = 0, si confronta il segno di f(x
2
) con quello di f(x
1
); se risulta
f(x
2
)f(x
1
) < 0 allora ]x
2
, x
1
[, nel caso contrario sar`a ]x
0
, x
2
[. Quindi
la nuova approssimazione x
3
sar`a data da
a) x
3
= (x
2
+ x
1
)/2, se f(x
2
)f(x
1
) < 0,
b) x
3
= (x
2
+ x
0
)/2, se f(x
2
)f(x
1
) > 0.
Indicando con x
2
una variabile che pu`o assumere i valori x
1
o x
0
, possiamo
unicare i due casi nella sola formula:
x
3
=
x
2
+ x
2
2
dove x
2
=
_
_
_
x
1
se f(x
2
)f(x
1
) < 0 ,
x
0
altrimenti .
Per esempio, nel caso della Fig. 4.1 si verica il caso b).
Ripetendo il procedimento, si determinano x
4
, x
5
, x
6
, . . . secondo la for-
mula generale
x
n+1
=
x
n
+ x
n
2
, n = 1, 2, . . . ; (4.6)
dove per n = 1 `e x
1
= x
0
mentre per n > 1 si pone
x
n
=
_
_
_
x
n1
se f(x
n
)f(x
n1
) < 0 ,
x
n1
altrimenti .
Il metodo di bisezione `e quindi un metodo iterativo a due punti non
stazionario, infatti la funzione al secondo membro della (4.6) non `e la stessa
ad ogni passo.
Poiche ad ogni passo lintervallo contenente viene dimezzato, dopo n
passi si ha una approssimazione x
n+1
, tale che
| x
n+1
|
1
2
n
(b a), (4.7)
86 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-1 -0.5 0 0.5 1 1.5 2
x x x x
X
0
X
1
X
2
X
3
Figura 4.1: Metodo di bisezione.
da cui segue lim
n
| x
n
|= 0, che prova la convergenza del metodo (4.6)
alla radice e fornisce anche una maggiorazione a priori dellerrore assoluto
presente nelliterata x
n+1
. La (4.7) suggerisce come un possibile criterio di
arresto la condizione
1
2
n
(b a) < , dove > 0 `e un numero opportunamente
pressato. La stessa condizione permette di conoscere a priori il numero n di
iterazioni necessario per ridurre il modulo dellerrore assoluto al disotto di .
Il metodo (4.6) converge linearmente, infatti assumendo | x
n
x
n1
|
come stima di | x
n
|=| e
n
|, si ha, per n abbastanza grande, luguaglianza
approssimata della forma (4.5)
| e
n+1
|
| e
n
|

| x
n+1
x
n
|
| x
n
x
n1
|
=
1
2
;
poiche la convergenza `e lenta, di solito questo metodo `e usato per ottenere
una prima approssimazione che consenta luso di altri metodi pi` u ecienti.
4.3 Regula Falsi e metodo delle Secanti
Si abbiano le stesse condizioni iniziali del metodo di bisezione, ossia risulti
x
0
< < x
1
e f(x
0
)f(x
1
) < 0. Il metodo di falsa posizione, noto anche col
nome di regula falsi, `e un altro metodo iterativo a due punti, in generale non
4.3. REGULA FALSI E METODO DELLE SECANTI 87
stazionario, nel quale, partendo da ]x
0
, x
1
[, ad ogni passo si costruisce un
nuovo intervallo di estremi x
n
e x
n
contenente uno zero di f(x) e si assume
come approssimazione x
n+1
lo zero di una funzione lineare il cui graco `e la
retta per i punti A
n
[x
n
, f(x
n
)] e

A
n
[ x
n
, f( x
n
)]. Si ha quindi lo schema
x
n+1
= x
n
f(x
n
)
x
n
x
n
f(x
n
) f( x
n
)
, n = 1, 2, . . . , (4.8)
dove per n = 1 `e x
1
= x
0
mentre per n > 1 si pone, come nel metodo di
bisezione,
x
n
=
_
_
_
x
n1
se f(x
n
)f(x
n1
) < 0 ,
x
n1
altrimenti .
Si noti che anche nel metodo di bisezione il numero x
n+1
fornito dalla (4.6)
pu`o interpretarsi come lo zero di una funzione lineare il cui graco `e la retta
passante per i punti A
n
[x
n
, sign
0
(f(x
n
))] e

A
n
[ x
n
, sign
0
(f( x
n
))], dove
si `e posto
sign
0
(z) :=
_
z
|z|
per z = 0 ,
0 per z = 0 .
Il fatto che nella regula falsi si utilizzino i valori di f(x) anziche i soli segni,
spiega perche, quando il metodo (4.8) converge, la convergenza `e pi` u rapida
che nel metodo (4.6). Linterpretazione geometrica del metodo `e illustrata
nella Fig. 4.2.
Teorema 4.3.1 Se f(x) C
2
(I) e se il metodo regula falsi converge ad uno
zero di f(x) con I tale che f

() = 0, f

() = 0, la convergenza `e di
ordine p = 1.
Una variante importante della regula falsi `e il metodo delle secanti, in
cui sono richieste due approssimazioni iniziali senza alcunaltra condizione e
senza la necessit`a di controllare il segno di f(x) ad ogni passo.
In questo metodo il calcolo dellapprossimazione x
n+1
utilizza le infor-
mazioni precedenti, x
n
e x
n1
, secondo la formula
x
n+1
= x
n
f(x
n
)
x
n
x
n1
f(x
n
) f(x
n1
)
, n = 1, 2 . . . ; (4.9)
il numero x
n+1
`e individuato geometricamente (cfr. Fig. 4.3) dal punto in
cui la secante passante per i punti A
n
[x
n
, f(x
n
)] e A
n1
[x
n1
, f(x
n1
)]
incontra lasse delle ascisse.
88 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1
x x x x
X
0
X
1
X
2
X
3
A
0
A
1
A
3
Figura 4.2: Regula falsi.
La (4.9) rappresenta un metodo iterativo stazionario a due punti, ma, per
n 2, ad ogni passo il calcolo di x
n+1
richiede la sola valutazione di f(x
n
).
La convergenza del metodo `e garantita se le approssimazioni x
0
e x
1
si
scelgono abbastanza vicine alla radice ; vale il seguente teorema.
Teorema 4.3.2 Se f(x) C
2
(I) e se il metodo delle secanti converge ad
uno zero di f(x) con I e tale che f

() = 0, f

() = 0, allora lordine
della convergenza `e p = (1 +

5)/2 1.618.
4.4 Metodi iterativi a un punto
In questo paragrafo si esporranno alcune propriet`a generali dei metodi
iterativi stazionari a un punto.
Data lequazione f(x) = 0, si pu`o sempre costruire una funzione (x) tale
che lequazione data sia equivalente alla seguente
x = (x). (4.10)
Basta infatti porre, ad esempio,
(x) = x g(x)f(x) ,
4.4. METODI ITERATIVI A UN PUNTO 89
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x x x
X
1
X
0
X
2
X
3
A
1
A
0
A
2
A
3
Figura 4.3: Metodo delle secanti.
dove g(x) `e unarbitraria funzione continua che si suppone diversa da zero
nei punti di una regione contenente gli zeri di f(x). Se `e uno zero di f(x)
si ha anche = () e viceversa; si dice un punto sso della trasfor-
mazione (4.10) o, semplicemente, di (x).
Per ogni scelta della funzione (x) si pu`o considerare un metodo iterativo
stazionario ad un punto della forma
x
n+1
= (x
n
), n = 0, 1, 2, . . . , (4.11)
e il problema di approssimare uno zero di f(x) si riduce a quello di costruire
mediante la (4.11) una successione convergente ad , punto sso di (x).
Dal teorema seguente risulta una condizione suciente per la convergenza
locale del metodo (4.11), cio`e una convergenza assicurata dalla scelta di x
0
in un opportuno intorno di .
Teorema 4.4.1 Sia un punto sso di (x) interno ad un intervallo I
sul quale (x) sia derivabile con continuit`a e si supponga che esistano due
numeri positivi e K con K < 1, tali che x [, +] I si verichi
la condizione
|

(x) | K; (4.12)
allora per il metodo (4.11) valgono le seguenti proposizioni:
90 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
1. se x
0
], +[ allora `e anche x
n
], +[ per n = 1, 2, . . . ;
2. per la successione {x
n
}, con x
0
] , + [, si ha lim
n
x
n
= ;
3. `e lunico punto sso di (x) in [ , + ].
Dimostrazione. La proposizione 1 si dimostra per induzione, cio`e, scelto un
x
0
], +[, si ammette per ipotesi che sia, per un certo n, x
n
], +[,
ossia | x
n
|< e si deduce che deve essere x
n+1
] , + [, ovvero
| x
n+1
|< . Infatti, facendo uso della (4.11) e del teorema del valor medio, si
ha
x
n+1
= (x
n
) () =

()(x
n
),
dove `e compreso tra x
n
e ; dallipotesi fatta su x
n
e da quelle del teorema segue
poi
| x
n+1
|=|

() || x
n
| K | x
n
|< . (4.13)
La proposizione 2 segue dallipotesi 0 < K < 1 e dalla disuguaglianza
| x
n+1
| K
n+1
| x
0
|
che si ottiene dalla (4.13).
Inne la proposizione 3 risulta per assurdo, infatti se in] , +[ esistesse
un altro punto sso

= , si avrebbe
|

|=| () (

) |=|

() ||

| K |

|<|

| .
Il Teorema 4.4.1 trova applicazione in molti casi concreti in cui qualche
zero di f(x) sia stato gi`a localizzato (per esempio col metodo di bisezione)
in un intervallo su cui valga la (4.12). Nelle Figure 4.4 e 4.5 sono riportati
i graci delle funzioni y = x e y = (x) che si incontrano nel punto P di
ascissa . In esse `e data linterpretazione geometrica di un metodo della
forma (4.11) con la condizione (4.12) vericata in due modi diversi.
In generale lordine di convergenza di un metodo iterativo `e un numero
reale 1 (vedi per esempio il metodo delle secanti). Per i metodi iterativi
stazionari ad un punto vale per`o il teorema seguente.
Teorema 4.4.2 Un metodo iterativo ad un punto, la cui funzione di itera-
zione (x) sia sucientemente derivabile, ha ordine di convergenza uguale
ad un numero intero positivo p. Precisamente se il metodo (4.11) converge
ad , la convergenza `e di ordine p allora e solo che si abbia
() = ,
(i)
() = 0 per 1 i < p,
(p)
() = 0. (4.14)
4.4. METODI ITERATIVI A UN PUNTO 91
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x x x x x
P
X
0
X
1
X
2
X
3
Figura 4.4: 1 <

(x) < 0.
Dimostrazione. Usando la (4.11) e la formula di Taylor si ha in generale
x
n+1
= (x
n
) () =

()(x
n
) +

()
(x
n
)
2
2!
+
+ . . . +
(p1)
()
(x
n
)
p1
(p 1)!
+
(p)
()
(x
n
)
p
p!
dove `e compreso tra x
n
e ; quindi, se valgono le (4.14), si ha
lim
n
| x
n+1
|
| x
n
|
p
=
|
(p)
() |
p!
= 0, (4.15)
cio`e lordine di convergenza `e p ed il fattore di convergenza `e C =
|
(p)
()|
p!
.
Viceversa se lordine `e p, sia
(i)
() la prima derivata non nulla nel precedente
sviluppo di Taylor intorno al punto ; se fosse i = p, per il ragionamento diretto
anche lordine sarebbe i = p contro lipotesi. Quindi deve essere i = p cio`e valgono
le (4.14).
`
E importante notare che i Teoremi 4.4.1 , 4.4.2 e quelli di 4.3 valgono
per la successione teorica {x
n
} denita dal processo iterativo in assenza di
errori di arrotondamento. Nella pratica per`o si introduce al passo n-esimo
un errore
n
dovuto agli arrotondamenti nel calcolo di e agli errori dei passi
precedenti, per cui, nel caso specico del processo (4.11), la successione che
si ottiene `e in realt`a
x
n+1
= ( x
n
) +
n
, n = 0, 1, . . . ; (4.16)
92 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x x x x x
X
0
X
1
X
2
X
3
P
Figura 4.5: 0 <

(x) < 1.
per tale successione { x
n
}, anche quando fossero vericate le ipotesi del Teo-
rema 4.4.1, non `e pi` u garantita la convergenza ad .
Tuttavia si pu`o dimostrare che nelle ipotesi del teorema di convergenza
e vericandosi la condizione |
n
| , n = 0, 1, . . . , i termini della succes-
sione (4.16) niscono col cadere in un intorno di la cui ampiezza dipende
linearmente da e inoltre, se K non `e troppo vicino a 1 e se si opera con
una precisione tale da rendere trascurabile il numero /(1 K), lerrore
| x
n+1
| `e dellordine di | x
n+1
x
n
|. Quindi come criterio di arresto
dellalgoritmo iterativo si pu`o assumere la condizione | x
n+1
x
n
| oppure

x
n+1
x
n
min(| x
n
|,| x
n+1
|)

a seconda che si voglia limitare lerrore assoluto o quello


relativo.
Si abbia una successione {x
n
} convergente linearmente; in base alla (4.5)
si ha quindi, per p = 1 e per n sucientemente grande,
x
n+1
C(x
n
) ,
x
n+2
C(x
n+1
) ,
da cui

x
n
x
n+2
x
2
n+1
x
n+2
2x
n+1
+ x
n
. (4.17)
Si ha perci`o una approssimazione di costruita con tre termini successivi
x
n
, x
n+1
, x
n+2
. Il secondo membro della (4.17) si pu`o considerare come il
4.4. METODI ITERATIVI A UN PUNTO 93
termine z
n
di una nuova successione, che, per evitare errori di cancellazione,
si pone, di solito, nella forma
z
n
= x
n

(x
n+1
x
n
)
2
x
n+2
2x
n+1
+ x
n
. (4.18)
Introducendo i simboli

n
:= x
n+1
x
n
,
2
n
:= x
n+2
2x
n+1
+ x
n
(
2
n
=
n+1

n
)
la successione {z
n
} pu`o scriversi
z
n
= x
n

(
n
)
2

2
n
, n = 0, 1, . . . . (4.19)
Lo schema di calcolo denito dalla (4.19) va sotto il nome di processo
2
di Aitken ed ha lo scopo di accelerare la convergenza di una successione che
converga linearmente. Vale infatti il seguente teorema.
Teorema 4.4.3 Se una successione {x
n
} converge ad linearmente, allora
la successione {z
n
} converge allo stesso limite pi` u rapidamente di {x
n
},
ossia si ha
lim
n
z
n

x
n

= 0.
Nella Fig. 4.6 `e data una interpretazione geometrica facilmente vericabile
del processo di Aitken, nel caso di una successione generata con iterazioni
del tipo x
n+1
= (x
n
): z
n
`e lascissa della intersezione della retta per i punti
P
n
[x
n
, (x
n
)] e P
n+1
[x
n+1
, (x
n+1
)] con la retta di equazione y = x.
Sulla base della (4.17), supponendola valida anche nel caso di una suc-
cessione che converga non linearmente, `e possibile, partendo da un metodo
iterativo x
n+1
= (x
n
) di un dato ordine, costruirne un altro di ordine pi` u
elevato. Infatti, esprimendo il membro destro della (4.18) in funzione della
sola x
n
, si ha
F(x
n
) = x
n

((x
n
) x
n
)
2
((x
n
)) 2(x
n
) + x
n
.
In generale F(x) ha gli stessi punti ssi di (x).
Il metodo iterativo
x
n+1
= F(x
n
), n = 0, 1, . . . , (4.20)
`e noto come metodo di Steensen e per esso si pu`o dimostrare il teorema
seguente.
94 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
0
0.5
1
1.5
2
0 0.5 1 1.5 2
x x x x
X
n
X
n+1
X
n+2
Z
n
P
n
P
n+1
Figura 4.6: Processo di Aitken.
Teorema 4.4.4 Sia (x) la funzione di iterazione di un metodo di ordine p
per approssimare un suo punto sso . Per p > 1 il corrispondente metodo
di Steensen (4.20) per approssimare ha ordine 2p 1, mentre per p = 1
e nella ipotesi

() = 1, il metodo (4.20) ha ordine almeno 2.


4.5 Metodo di Newton
Il pi` u importante fra i metodi ad un punto `e il metodo di Newton. Tale
metodo si pu`o applicare per approssimare uno zero di f(x) se, in tutto
un intorno di , f(x) `e derivabile con continuita. In tal caso, assumendo la
funzione di iterazione della forma
(x) = x
f(x)
f

(x)
(4.21)
si ha il metodo
x
n+1
= x
n

f(x
n
)
f

(x
n
)
, n = 0, 1, 2, . . . . (4.22)
Literata x
n+1
`e individuata dal punto dincontro dellasse delle ascisse con
la tangente alla curva y = f(x) nel punto A
n
[x
n
, f(x
n
)] (cfr. Fig. 4.7);
per questo si usa anche la denominazione di metodo delle tangenti.
4.5. METODO DI NEWTON 95
-1
-0.5
0
0.5
1
1.5
2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x x x
X
n
X
n+1
A
n
y=f(x)
Figura 4.7: Metodo di Newton.
Sulla convergenza e lordine del metodo di Newton, vale il seguente teo-
rema.
Teorema 4.5.1 Sia f(x) C
3
([a, b]), a < < b, f() = 0, f

() = 0,
allora valgono le proposizioni:
1. esiste un numero > 0 tale che per ogni x
0
[ , + ] il
metodo (4.22) converge;
2. la convergenza `e di ordine p 2;
3. se p = 2 il fattore di convergenza `e C =
1
2

()
f

()

.
Dimostrazione. Dalla (4.21) segue

(x) =
f(x)f

(x)
f

2
(x)
(4.23)
da cui

() = 0 ; (4.24)
quindi, ssato un numero positivo K < 1, esiste un numero > 0 tale che per ogni
x [, +] si abbia |

(x) | K e perci`o vale il teorema di convergenza 4.4.1.


96 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
Per dimostrare lasserto 2, dalla (4.23) si ricava

() =
f

()
f

()
;
ne segue che se f

() = 0 `e anche

() = 0; questa insieme alla (4.24), garantisce


per il Teorema 4.4.2, che lordine `e p = 2. Se invece si ha f

() = 0 `e anche

() = 0 e quindi si ha p > 2.
Se p = 2, lasserto 3 segue dalla (4.15) essendo

() = 0 e

() = 0.
Notiamo che la convergenza di cui si parla nella proposizione 1 del teorema
precedente `e di tipo locale, cio`e si verica se si sceglie x
0
in un intorno di di
raggio abbastanza piccolo. A un tale intorno si pu`o pervenire, ad esempio,
col metodo di bisezione.
Vi sono per`o casi speciali in cui si pu`o avere una convergenza globale, cio`e
che si verica per qualunque scelta di x
0
in un dato intervallo limitato [a, b].
Ci`o `e asserito nel teorema seguente.
Teorema 4.5.2 Sia f(x) C
2
([a, b]) con f(a)f(b) < 0 e si supponga
1. f

(x) = 0, x [a, b],


2. f

(x) 0, oppure f

(x) 0, x [a, b],


3.

f(a)
f

(a)

< b a,

f(b)
f

(b)

< b a,
allora f(x) ha un solo zero [a, b] ed il metodo di Newton converge ad
per ogni x
0
[a, b].
Osservazione 4.5.1 Si noti che ponendo nella (4.22) x
n
= a oppure x
n
= b
si ottiene rispettivamente
| x
n+1
a |=

f(a)
f

(a)

e | x
n+1
b |=

f(b)
f

(b)

,
per cui le condizioni dellipotesi 3 equivalgono a
| x
n+1
a |< b a, | x
n+1
b |< b a,
cio`e le tangenti negli estremi A [a, f(a)] e B [b, f(b)] intersecano lasse
delle ascisse allinterno di [a, b].
4.5. METODO DI NEWTON 97
Sotto le ipotesi 1 e 2 del Teorema 4.5.2 cadono in particolare le funzioni
monotone convesse o concave su [a, b]. Una importante applicazione si ha
nella speciale equazione
f(x) = x
m
c = 0, m IR, m 2, c > 0, (4.25)
che possiede la soluzione positiva =
m

c, radice m-esima aritmetica di c.


Poiche per x > 0 si ha f

(x) > 0 e f

(x) > 0, per applicare il Teo-


rema 4.5.2 basta constatare che si possono assegnare intervalli [a, b] con
a < < b, tali da soddisfare le condizioni 3. Se a > 0 `e tale che sia
f(a) < 0, si avr`a a < . Ogni numero b > a +

f(a)
f

(a)

= a +
a
m
c
ma
m1
veri-
ca la prima delle condizioni 3; inoltre, con questa scelta, b risulta a destra
dellintersezione della tangente in A [a, f(a)] con lasse delle ascisse, quindi
`e b > e si ha

f(b)
f

(b)

=
b
m

m
mb
m1
= (b )
b
m1
+ b
m2
+ +
m1
mb
m1
< b < b a.
Pertanto un tale numero b verica anche la seconda condizione 3. Ne segue
che ogni numero positivo pu`o considerarsi interno a un intervallo [a, b] che
verichi le condizioni 3 e perci`o il metodo di Newton applicato alla (4.25)
converge ad , comunque si scelga una approssimazione iniziale x
0
> 0. Il
metodo fornisce la formula
x
n+1
=
1
m
[(m1)x
n
+ cx
1m
n
] n = 0, 1, . . . .
Per m = 2 si ha lalgoritmo x
n+1
=
1
2
_
x
n
+
c
x
n
_
per estrarre la radice
quadrata di c, notevole per il suo basso costo computazionale.
Il Teorema 4.5.1 vale nellipotesi f

() = 0, cio`e se `e uno zero semplice


di f(x). Supponiamo ora che sia per f(x) uno zero di molteplicit`a s 1;
in tal caso si pu`o scrivere
f(x) = g(x)(x )
s
, con g(x) =
f(x)
(x )
s
e g() = lim
x
g(x) = 0.
98 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
Quindi per il metodo di Newton si ha
(x) = x
f(x)
f

(x)
= x
g(x)(x )
sg(x) + g

(x)(x )
da cui segue, con facili calcoli,

() = 1
1
s
. (4.26)
Perci`o, per s > 1, il metodo convergere linearmente con fattore di conver-
genza C = 1
1
s
.
Se si sostituisce la funzione f(x) con F(x) = f(x)/f

(x) che ha gli stessi


zeri di f(x) ma tutti semplici, il metodo di Newton, applicato allequazione
F(x) = 0 fornisce ancora una convergenza almeno quadratica verso la radice
, essendo ora F

() = 0. Il costo computazionale `e per`o maggiore di quello


richiesto dallequazione f(x) = 0, poiche, in eetti, si usa la formula iterativa
x
n+1
= x
n

f(x
n
)f

(x
n
)
f

2
(x
n
) f(x
n
)f

(x
n
)
, n = 0, 1, . . . . (4.27)
Quando si conosce la molteplicit`a della radice si pu`o usare una formula
meno costosa della (4.27), ottenuta modicando il metodo di Newton in modo
che la convergenza sia almeno quadratica anche per una radice di molteplicit`a
s > 1. Scrivendo infatti
x
n+1
= x
n
s
f(x
n
)
f

(x
n
)
, n = 0, 1, . . . , (4.28)
si denisce un metodo per il quale si ha
(x) = x s
f(x)
f

(x)
,
da cui segue, tenuto conto della (4.26),

() = 0 .
Nelluso del metodo (4.22) pu`o accadere che i valori di f

(x
n
) varino
molto lentamente al variare di n. In tal caso pu`o essere utile una variante
del metodo di Newton in cui lo stesso valore di f

(x
n
) viene utilizzato per un
certo numero di passi successivi, dopo i quali viene ricalcolato; in altri termini
4.6. METODI ITERATIVI IN I R
N
99
f

(x
n
) non si calcola ad ogni passo ma solo ogni volta che n coincide con un
elemento di un pressato sottoinsieme dei numeri naturali, lasciando f

(x
n
)
uguale allultimo valore calcolato se n non appartiene a tale sottoinsieme.
Si noti che se il valore di f

(x
n
) viene mantenuto costante per ogni n, la
convergenza del metodo dipende dal valore di tale costante ed `e comunque
lineare. Anche il metodo delle secanti pu`o considerarsi ottenuto dal metodo
di Newton approssimando f

(x
n
) con il rapporto incrementale
f(x
n
)f(x
n1
)
x
n
x
n1
.
4.6 Metodi iterativi in IR
n
La teoria dei metodi iterativi precedentemente esposta pu`o essere estesa
al caso in cui, nella (4.1), sia f(x) :IR
n
IR
n
, cio`e al caso di un sistema di n
equazioni (non lineari) in altrettante incognite
f
1
(x
1
, . . . , x
n
) = 0
f
2
(x
1
, . . . , x
n
) = 0
.
.
. (4.29)
f
n
(x
1
, . . . , x
n
) = 0 .
In analogia con quanto esposto in 4.4, il sistema (4.29) si pu`o scrivere in
una forma equivalente la quale consente di approssimare una soluzione =
(
1
,
2
, . . . ,
n
)
T
come punto sso di una opportuna funzione di iterazione
(x) :IR
n
IR
n
data da
(x) = x G(x)f(x), (4.30)
dove = (
1
,
2
, . . . ,
n
)
T
, x = (x
1
, x
2
, . . . , x
n
)
T
, f = (f
1
, f
2
, . . . , f
n
)
T
e G(x)
`e una matrice n n non singolare in un dominio DIR
n
contenente .
Si considerano quindi metodi iterativi della forma
x
(k+1)
= (x
(k)
), k = 0, 1, . . . , (4.31)
per i quali si denisce lordine di convergenza come in 4.1 cambiando nella
Denizione 4.1.1 i valori assoluti in norme di vettori.
Se esistono continue le derivate prime delle funzioni
i
, introducendo la
matrice jacobiana
(x) =
_
_
_
_

1
x
1


1
x
n
.
.
.
.
.
.
.
.
.

n
x
1


n
x
n
_
_
_
_
, (4.32)
100 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
si pu`o generalizzare il Teorema 4.4.1 e dimostrare il seguente teorema di
convergenza locale.
Teorema 4.6.1 Se `e un punto sso di (x), condizione suciente per la
convergenza ad del metodo (4.31) `e che esistano due numeri positivi K e
, con K < 1, tali che si abbia
(x) K, x D

= {x | x } ; (4.33)
purche x
(0)
sia scelto in D

; in tal caso `e lunico punto sso di in D

.
Il Teorema 4.4.2 non pu`o essere direttamente esteso in IR
n
; tuttavia se
esistono continue le derivate seconde delle
i
, si pu`o dimostrare che, se il
metodo (4.31) converge ad un punto sso , condizione suciente perche
converga linearmente `e che sia
() = O.
Mentre, se () = O, la convergenza `e almeno quadratica ed `e esatta-
mente quadratica se risulta non nulla almeno una delle matrici hessiane
H
i
() =
_
_
_
_
_

i
x
2
1

i
x
1
x
2


2

i
x
1
x
n
.
.
.
.
.
.
.
.
.

i
x
n
x
1

i
x
n
x
2


2

i
x
2
n
_
_
_
_
_
x=
, i = 1, . . . , n.
Per estendere il metodo di Newton al sistema non lineare (4.29), sup-
poniamo che le funzioni f
i
siano derivabili con continuit`a rispetto a ciascuna
variabile e che la matrice jacobiana
J(x) =
_
_
_
_
f
1
x
1

f
1
x
n
.
.
.
.
.
.
.
.
.
f
n
x
1

f
n
x
n
_
_
_
_
sia non singolare in un dominio contenente nel suo interno una soluzione
del sistema (4.29).
Specializzando la funzione di iterazione (4.30) nella forma
(x) = x J
1
(x)f(x),
4.6. METODI ITERATIVI IN I R
N
101
si ha il sistema x = x J
1
(x)f(x) equivalente a (4.29), da cui il metodo
iterativo di Newton o di Newton-Raphson
x
(k+1)
= x
(k)
J
1
(x
(k)
)f(x
(k)
), k = 0, 1, . . . .
Nelluso pratico del metodo literata x
(k+1)
si ricava dalla soluzione del siste-
ma lineare
J(x
(k)
)d
(k)
= f(x
(k)
), k = 0, 1, . . . , (4.34)
dove d
(k)
= x
(k+1)
x
(k)
.
Sullordine e sulla convergenza locale del metodo si ha il seguente teorema.
Teorema 4.6.2 Sia D soluzione di (4.29) e le funzioni f
i
siano della
classe C
3
(D) e tali che J(x) sia non singolare in D; allora lordine di con-
vergenza del metodo di Newton `e almeno p = 2 e si ha convergenza per ogni
scelta di x
(0)
in un opportuno dominio contenente .
Dimostrazione. Tenuto conto della forma della funzione di iterazione , la
colonna j-esima della matrice (4.32) risulta:

x
j
=
x
x
j


x
j
_
J
1
(x)f(x)
_
=
x
x
j
J
1
(x)
f(x)
x
j

J
1
(x)
x
j
f(x)
=
J
1
(x)
x
j
f(x) ;
infatti i vettori
x
x
j
e J
1
(x)
f(x)
x
j
coincidono con la j-esima colonna della matrice
identica. Ne segue che per x = si ha
_

x
j
_
x=
=
_
J
1
(x)
x
j
_
x=
f() = 0, j = 1, 2, . . . , n,
quindi `e
() = O, (4.35)
cio`e lordine di convergenza del metodo `e almeno p = 2.
Dalla continuit`a di (x) e dalla (4.35) segue inne, per un assegnato K < 1,
lesistenza di un dominio D

= {x | x } D in cui vale la con-


dizione (4.33) e quindi il metodo converge x
(0)
D

.
102 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
Nel caso di una lenta variazione della matrice jacobiana J(x), si pu`o
ricorrere anche ora ad un metodo di Newton semplicato della forma
J(x
(0)
)d
(k)
= f(x
(k)
), k = 0, 1, . . . , (4.36)
dove la matrice jacobiana `e valutata una sola volta in corrispondenza ad
una buona approssimazione iniziale x
(0)
. Se il metodo (4.36) converge, la
convergenza `e in generale lineare.
Un modo di evitare il calcolo dellintera matrice J(x) ad ogni passo,
consiste nel considerare li-esima equazione del sistema (4.29) come una
equazione nella sola incognita x
i
ed applicare a ciascuna equazione del si-
stema il metodo di Newton per equazioni in una incognita. Supposto che
lordinamento delle equazioni sia tale che, in un dominio contenente , si
abbia
f
i
(x
1
, . . . , x
n
)
x
i
= 0, i = 1, 2, . . . , n,
si ottiene
x
(k+1)
i
= x
(k)
i

f
i
(x
(k)
1
, . . . , x
(k)
n
)
f
i
(x
(k)
1
,...,x
(k)
n
)
x
i
, i = 1, . . . , n; k = 0, 1, . . . . (4.37)
Questo metodo, detto metodo non lineare di Jacobi-Newton, `e un metodo
iterativo ad un punto e pu`o esprimersi nella forma matriciale
x
(k+1)
= x
(k)
D
1
(x
(k)
)f(x
(k)
), k = 0, 1, . . . ,
dove D = diag(
f
1
x
1
,
f
2
x
2
, . . . ,
f
n
x
n
); la convergenza, lineare, `e garantita se
vale la condizione (4.33), tenendo conto che nel metodo in esame si ha
(x) = x D
1
(x)f(x).
Una variante del metodo (4.37) si ottiene introducendo la tecnica iterativa
di Gauss-Seidel, della forma
x
(k+1)
i
= x
(k)
i

f
i
(x
(k+1)
1
, . . . , x
(k+1)
i1
, x
(k)
i
, . . . , x
(k)
n
)
f
i
(x
(k+1)
1
,...,x
(k+1)
i1
,x
(k)
i
,...,x
(k)
n
)
x
i
,
(4.38)
i = 1, 2, . . . , n, k = 0, 1, . . . ,
dove si sono utilizzate, per il calcolo di x
(k+1)
i
, le prime i 1 componenti gi`a
note delliterata x
(k+1)
in corso di calcolo.
4.7. ZERI DI POLINOMI 103
Il metodo (4.38) `e noto come metodo non lineare di Gauss-Seidel.
Un modo di accelerare la convergenza lineare di questo metodo `e quello
di introdurre un fattore di rilassamento ]0, 2[ ponendo
x
(k+1)
i
= x
(k)
i
F
(k+1,k)
i
, i = 1, 2, . . . , n, k = 0, 1, . . . , (4.39)
dove F
(k+1,k)
i
indica la frazione che compare in (4.38). Alla (4.39), con > 1
si d`a il nome di metodo di sovrarilassamento di Newton.
Una classe di metodi, mutuati dal metodo di Newton-Raphson e che pos-
sono essere interpretati come una estensione del metodo delle secanti in IR
n
,
si ottiene sostituendo in (4.34) la matrice J(x) con una sua approssimazione
discreta; si ha cos` levidente vantaggio di non dovere calcolare le n
2
derivate
parziali costituenti J(x).
Per approssimare J(x
(k)
) si pu`o introdurre la matrice (x
(k)
), reale di
ordine n, i cui elementi sono dati da
_
(x
(k)
)
_
ij
=
f
i
(x
(k)
+h
(k)
j
e
(j)
)f
i
(x
(k)
)
h
(k)
j
,
i, j = 1, 2, . . . , n, k = 0, 1, . . . ,
essendo h
(k)
j
opportuni scalari, innitesimi al crescere di k; ad esempio si pu`o
assumere h
(k)
j
= f
j
(x
(k)
) oppure, pi` u semplicemente, h
(k)
j
= x
(k1)
j
x
(k)
j
.
In generale questi metodi presentano un ordine di convergenza p 2.
4.7 Zeri di polinomi
Lequazione (4.1) sia algebrica di grado m 2, cio`e della forma
P(x) = a
m
x
m
+ a
m1
x
m1
+ + a
1
x + a
0
= 0 (a
m
= 0) (4.40)
con i coecienti a
i
reali. Allequazione (4.40) sono applicabili tutti i metodi
visti nei paragra precedenti, ma le particolari propriet`a della classe dei poli-
nomi forniscono ulteriori procedimenti per la localizzazione e lapprossimazione
delle radici. Uno strumento utile a tale scopo `e la successione di Sturm.
Denizione 4.7.1 Si dice successione di Sturm per il polinomio P(x) con
a
i
IR, una successione di polinomi reali
P
0
(x) := P(x), P
1
(x), . . . , P
k
(x), (k m) (4.41)
per cui valgono le seguenti propriet`a:
104 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
1. P
k
(x) non ha zeri reali,
2. IR, P
r
() = 0 per 1 r k 1 implica P
r1
()P
r+1
() < 0,
3. IR, P
0
() = 0 implica P

0
()P
1
() > 0.
Dalla propriet`a 3 della denizione segue che gli zeri reali di P(x) sono
tutti semplici.
Teorema 4.7.1 (di Sturm) Se la (4.41) `e una successione di Sturm il numero
degli zeri del polinomio P(x) nellintervallo a < x b `e dato da V (a)V (b),
dove V (x) `e il numero delle variazioni di segno presenti nella successione dei
valori non nulli assunti dalla (4.41) nel punto x.
Dimostrazione. Al variare di x la funzione V (x) pu`o cambiare di valore
soltanto se qualche polinomio P
i
(x) della successione (4.41) cambia di segno e
pertanto si annulla in un punto x = . Per la propriet`a 2 non possono annullarsi
in x = due polinomi consecutivi, inoltre, se P
i
() = 0, non pu`o essere i = k per
la propriet`a 1. Quindi deve essere 0 i k 1.
Distinguiamo i due casi i > 0 e i = 0.
Nel primo caso, tenuto conto della propriet`a 2 e della continuit`a , i polinomi
P
i1
(x), P
i
(x) e P
i+1
(x), calcolati nel punto x = e in punti sucientemente
vicini x = e x = + ( > 0), presentano una sola delle possibili dis-
tribuzioni di segni illustrate nei due quadri seguenti:
+ +
P
i1
+ + +
P
i
0 0
P
i+1
+ + +
.
Quindi si ha comunque V () = V () = V (+) e il valore di V (x) non cambia
quando x attraversa uno zero di P
i
(x).
Nel secondo caso, tenendo conto della propriet`a 3, si hanno le due possibilit`a:
+ +
P
0
+ 0 0 +
P
1
+ + +
.
Perci`o se `e radice di P(x) = 0 nella successione (4.41) si ha
V ( ) V ( + ) = 1 .
4.7. ZERI DI POLINOMI 105
In particolare se = a, dalle ultime due colonne di ciascuno dei quadri relativi
a P
0
e P
1
, si ha V (a) V (a + ) = 0, mentre se = b, dalle prime due colonne si
ha V (b ) V (b) = 1.
Quindi il valore di V (x) si abbassa di una unit`a ogni volta che x attraversa
crescendo uno zero di P(x), eccettuato il caso in cui tale zero coincida con x = a.
Da quanto sopra resta dimostrata la tesi.
Corollario 4.7.1 Se nella (4.41) si ha k = m e se inoltre tutti i polinomi
hanno i coecienti dei termini di grado massimo dello stesso segno, allora
lequazione (4.40) ha m radici reali e distinte e viceversa.
Per costruire eettivamente una successione di Sturm per il polinomio (4.40),
si pone
P
0
(x) := P(x) , P
1
(x) := P

(x) ,
P
r1
(x) = P
r
(x)Q
r
(x) P
r+1
(x) , r = 1, 2, . . . , (4.42)
dove Q
r
(x) e P
r+1
(x) sono rispettivamente quoziente e resto della divisione
P
r1
(x)/P
r
(x), r = 1, 2, . . ..
Il processo (4.42) ha termine, poiche il grado dei polinomi decresce al
crescere dellindice e perci`o per un certo k m risulta
P
k1
(x) = P
k
(x)Q
k
(x).
Si riconosce nel processo (4.42) il noto algoritmo di Euclide che fornisce il
massimo comune divisore di P
0
(x) e P
1
(x), cio`e si ha
P
k
(x) = M.C.D. {P(x), P

(x)}. (4.43)
Dalle (4.42) e (4.43) segue che, nel caso in cui P(x) e P

(x) non abbiano


zeri reali in comune, i polinomi P
0
(x), P
1
(x), . . . , P
k
(x) formano una succes-
sione di Sturm per P(x). Infatti, nellipotesi fatta e per la (4.43), P
k
(x) non
ha zeri reali (propriet`a 1).
Se P
r
() = 0 con 1 r k 1, allora si ha P
r1
() = P
r+1
() = 0
come segue dalla (4.42) e quindi P
r1
()P
r+1
() < 0 (propriet`a 2).
Dalla denizione di P
0
(x) e di P
1
(x), se P
0
() = 0, segue P

0
()P
1
() =
(P

())
2
> 0 (propriet`a 3).
Se P(x) e P

(x) hanno zeri reali in comune, questi, per la (4.43), sono


tutti zeri di P
k
(x) con la stessa molteplicit`a che hanno come zeri di P

(x) e
la (4.42) non fornisce una successione di Sturm.
106 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
In tal caso si pu`o vericare che la successione
P
0
(x)
P
k
(x)
,
P
1
(x)
P
k
(x)
, . . . ,
P
k
(x)
P
k
(x)
, (4.44)
`e una successione di Sturm per il polinomio P(x)/P
k
(x) che ha tanti zeri
semplici quanti sono gli zeri distinti di P(x).
La dierenza V (a) V (b) valutata per la successione (4.44) fornisce
allora il numero delle radici reali e distinte (indipendentemente dalla loro
molteplicit`a ) dellequazione P(x) = 0 sullintervallo a < x b.
Una successione di Sturm pu`o essere usata per individuare un intervallo
[a, b] contenente una sola radice reale di una equazione algebrica e quindi,
con successivi dimezzamenti dellintervallo come nel metodo di bisezione, si
pu`o approssimare con qualsivoglia accuratezza anche se piuttosto lenta-
mente.
Lapprossimazione di uno zero di P(x), che sia stato separato per esempio
con una successione di Sturm, pu`o essere fatta usando uno qualunque dei
metodi esposti precedentemente. In particolare, si pu`o utilizzare il metodo
di Newton
x
n+1
= x
n

P(x
n
)
P

(x
n
)
,
che richiede ad ogni passo il calcolo di P(x
n
) e P

(x
n
). Il calcolo di un
polinomio in un punto x = c pu`o farsi agevolmente; infatti, posto
P(x) = (x c)Q(x) + R , (4.45)
si ha P(c) = R e lespressione di R insieme a quella dei coecienti del
quoziente Q(x) si ottiene in funzione dei coecienti a
i
di P(x) usando lal-
goritmo di Runi-Horner, cio`e ponendo
Q(x) = b
m1
x
m1
+ b
m2
x
m2
+ + b
0
, R = b
1
,
e calcolando successivamente (in base al principio di identit`a applicato alla (4.45))
b
m1
= a
m
,
b
m2
= b
m1
c + a
m1
,

b
i
= b
i+1
c + a
i+1
, (4.46)

b
1
= b
0
c + a
0
= R .
4.7. ZERI DI POLINOMI 107
Lalgoritmo (4.46) ottimizza il calcolo di P(c) = R riducendolo ad m
moltiplicazioni ed altrettante addizioni ed equivale a calcolare per x = c il
polinomio P(x) scritto nella forma
((. . . ((a
m
x + a
m1
)x + a
m2
)x + a
m3
)x + + a
1
)x + a
0
.
Con lo stesso algoritmo si pu`o calcolare anche P

(x) per x = c, avendosi


dalla (4.45)
P

(x) = (x c)Q

(x) + Q(x), P

(c) = Q(c).
Unoperazione possibile nelle equazioni algebriche `e la cosiddetta de-
azione che consiste nellutilizzare una radice , gi`a trovata, per abbassare
il grado dellequazione, in base al fatto che le rimanenti radici di P(x) = 0
sono quelle dellequazione di grado m1
S
1
(x) =
P(x)
x
= 0 .
Di questa equazione si pu`o calcolare una nuova radice per poi ripetere una
deazione e cos` via, no ad ottenere, almeno in linea di principio, tutte le
radici.
Tale procedimento `e per`o sconsigliabile in pratica, infatti quandanche
si conoscesse esattamente, il calcolo dei coecienti di S
1
(x) introduce
inevitabilmente degli errori che possono privare di attendibilit`a i risultati
successivi.
Per evitare queste dicolt`a si pu`o ricorrere alla cosddetta deazione im-
plicita in cui ogni radice gi`a calcolata viene utilizzata per calcolarne unaltra,
operando sempre sul polinomio originale P(x), mediante una modica del
metodo di Newton.
Siano
1
,
2
, . . . ,
m
gli zeri di P(x); partendo dalla nota decomposizione
P(x) = a
m
(x
1
)(x
2
) (x
m
) ,
e supposto di conoscere le radici
1
,
2
, . . . ,
r
(1 r < m), sia S
r
(x) il
polinomio di grado mr che si otterrebbe operando senza errori r deazioni;
sar`a allora
S
r
(x) =
P(x)
(x
1
)(x
2
) (x
r
)
.
108 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
Da questa segue che si pu`o applicare il metodo di Newton allequazione
S
r
(x) = 0, senza conoscere esplicitamente il polinomio S
r
(x), ottenendo
x
n+1
= x
n

1
P

(x
n
)
P(x
n
)

_
1
x
n

1
+ +
1
x
n

r
_
. (4.47)
La (4.47) prende il nome di metodo di Newton con deazione implicita.
Il metodo di Newton pu`o essere usato anche nel campo complesso.
Esistono anche metodi ecienti che forniscono simultaneamente tutte le
radici reali o complesse di una equazione algebrica.
Uno dei pi` u usati consiste nel considerare le radici dellequazione P(x) = 0
come autovalori della matrice di Frobenius associata a P(x) (cfr. Capitolo
2) e nellapplicare per il calcolo degli autovalori il metodo QR descritto nel
Capitolo 5.
Un altro metodo, che consente di approssimare tutte le radici di una
equazione algebrica come soluzione di uno speciale sistema non lineare, `e
quello esposto nellEsempio 6.8.3.
4.8 Complementi ed esempi
I metodi iterativi possono essere analizzati in base alla loro ecienza.
Anche se questo concetto non ha una denizione formale unica, esso `e legato
essenzialmente allordine p del metodo (e quindi alla sua capacit`a di ridurre
lerrore ad ogni iterazione) ed al numero v di valutazioni di funzione per ogni
iterazione (e quindi alla sua complessit`a computazionale). Molto semplice-
mente, ad esempio, lecienza E pu`o essere denita da
E =
p
v
.
Limitandosi al caso di radici semplici, per il metodo delle secanti (4.9) si
ha E 1.618 avendosi v = 1 per ogni iterazione (tranne che per la prima),
mentre risulta E = 1 sia per la regula falsi (4.8) sia per il metodo di New-
ton (4.22). Analogamente si ha E = 1 per il metodo di Steensen
x
n+1
= x
n

(f(x
n
))
2
f(x
n
) f(x
n
f(x
n
))
(4.48)
ottenuto dalla (4.20) ove si ponga (x) = x f(x): infatti, come si verica
facilmente, per esso `e p = 2 e v = 2.
4.8. COMPLEMENTI ED ESEMPI 109
Il vantaggio del metodo delle secanti rispetto ad altri metodi, ed in parti-
colare rispetto al metodo di Newton, pu`o risultare decisivo nel caso di funzioni
complicate e di non immediata derivabilit`a.
Esempio 4.8.1 Lequazione
f(x) = x
_
arccos
1
1 + x
_
sin(log(2x+1))

= 0
ha una radice in ]0, 1[.
Assumendo x
0
= 0.6 e x
1
= 0.4, il metodo delle secanti produce con 6
valutazioni di f(x), x
5
= 0.30212622627176 . . . dove le 14 cifre riportate sono
esatte.
Il metodo di Newton, applicato con x
0
= 0.4, fornisce lo stesso risul-
tato con literazione x
4
: sono per`o necessarie otto valutazioni di funzione di
cui quattro di f

(x), funzione, questa, dotata di una maggiore complessit`a


computazionale.
4.8.1 Radici multiple
Il metodo di Newton e le sue varianti (metodo delle secanti, metodo di
Steensen (4.48)) mostrano una riduzione dellordine di convergenza, e quindi
dellecienza, in presenza di radici multiple.
Tuttavia, nota la molteplicit`a s di una radice di f(x) = 0, `e possibile,
generalizzando la (4.28), costruire schemi iterativi aventi ordine di conver-
genza superiore al primo.
Esempio 4.8.2 Si consideri la funzione di iterazione
(x) = x
2f
(s1)
(x)
2f
(s)
(x) + h(x)f
(s+1)
(x)
dove si intende f
(0)
(x) = f(x) e dove, per denizione di molteplicit`a di una
radice, si ha f
(r)
() = 0, r = 0, 1, . . . , s 1, f
(s)
() = 0. La funzione h(x)
pu`o essere determinata in modo che il metodo x
n+1
= (x
n
), n = 0, 1, . . .,
abbia un ordine di convergenza superiore al primo.
Poiche risulta

() = 1
2f
(s)
()
2f
(s)
() + h()f
(s+1)
()
,
110 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
il metodo ha ordine di convergenza almeno due se h() = 0.
Derivando ancora viene

() =
f
(s)
()
_
2f
(s+1)
() + h

()f
(s+1)
()
_
f
(s+1)
()f
(s)
()
[f
(s)
()]
2
.
Pertanto lordine di convergenza `e almeno tre se

() = 0, ossia se
h

() = 1.
In particolare se si assume h(x) = f
(s1)
(x)/f
(s)
(x), le precedenti con-
dizioni sono soddisfatte e poiche, come si constata facilmente,

() = 0, il
metodo ha ordine di convergenza esattamente p = 3.
Per esempio, applicando il metodo alla funzione f(x) = (x
3
+x 1)
2
che
ha uno zero di molteplicit`a due in ]0, 1[, ponendo s = 2 e x
0
= 1 si ottiene:
x
1
= 0.73170731 . . . ,
x
2
= 0.68269610 . . . ,
x
3
= 0.68232780 . . .
(in x
3
le otto cifre decimali sono esatte). Lalgoritmo di Newton (4.22), che
in questo caso perde la convergenza quadratica, con x
0
= 1 fornisce otto cifre
decimali esatte in x
27
.
Applicando il metodo alla funzione f(x) = x
3
+x 1 con s = 1 e x
0
= 1,
si ottiene:
x
1
= 0.69230769 . . . ,
x
2
= 0.68232811 . . . ,
x
3
= 0.68232780 . . . .
In questo caso, per il Teorema 4.4.2, il fattore di convergenza `e
C =
1
6
|

() |=
6
2
1
3
2
+ 1
0.3122 ,
dove si `e approssimato con 0.68232780 x
3
.
Alternativamente C pu`o essere stimato dalle iterazioni fatte, in base
alla (4.5),
C
| x
3
x
2
|
| x
3
x
1
|
3
0.3119.
Per questo metodo con h(x) = f
(s1)
(x)/f
(s)
(x) risulta E = 1, indipen-
dentemente da s. Tuttavia, a parte la necessaria conoscenza a priori di s,
pu`o costituire un inconveniente luso delle derivate successive di f(x).
4.8. COMPLEMENTI ED ESEMPI 111
4.8.2 Il caso delle equazioni algebriche
Lequazione algebrica (4.2) `e dotata di importanti relazioni fra i coefcien-
ti, reali o complessi, e le radici
i
, i = 1, 2, . . . , m. Fra queste si riportano le
due seguenti.
Posto
s
i
=

1k
1
<k
2
<<k
i
m

k
1

k
2

k
i
, i = 1, 2, . . . , m,
dove in particolare `e s
1
=
1
+
2
+ +
m
e s
m
=
1

2

m
,
S
k
=
m

i=1

k
i
, k = 1, 2, . . . ,
si possono dimostrare le seguenti relazioni:
s
i
= (1)
i
a
mi
a
m
, i = 1, 2, . . . , m; (4.49)
k

i=1
a
mi+1
S
ki+1
= ka
mk
, k = 1, 2, . . . , m. (4.50)
Le (4.50) sono dette formule di Girard-Newton.
Nel caso di equazioni a coecienti interi, dalla (4.49) con i = m, segue
facilmente che le eventuali radici razionali, della forma p/q, con q = 0, p e q
interi e primi fra loro, sono da ricercarsi nellinsieme
_
divisori interi di a
0
divisori interi di a
m
_
.
Le (4.49) e (4.50) consentono, inoltre, di ricondurre la risoluzione di una
particolare classe di sistemi algebrici non lineari alla risoluzione di una equa-
zione algebrica.
Esempio 4.8.3 Si consideri il sistema
2

i=0
b
i
x
k
i
= m
k
, k = 0, 1, 2, 3, 4, 5,
112 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
nelle incognite b
0
, b
1
, b
2
, x
0
, x
1
, x
2
. Tale sistema `e formalmente analogo al
sistema (7.4) con n = 2. Dalle prime tre equazioni si ricavano b
0
, b
1
, b
2
,
(implicate linearmente) in funzione di x
0
, x
1
, x
2
, m
0
, m
1
, m
2
, ottenendo
b
0
=
m
0
x
1
x
2
m
1
(x
1
+ x
2
) + m
2
(x
1
x
0
)(x
2
x
0
)
,
b
1
=
m
0
x
0
x
2
m
1
(x
0
+ x
2
) + m
2
(x
0
x
1
)(x
2
x
1
)
,
b
2
=
m
0
x
0
x
1
m
1
(x
0
+ x
1
) + m
2
(x
0
x
2
)(x
1
x
2
)
.
Sostituendo nelle ultime tre equazioni e ponendo s
1
= x
0
+ x
1
+ x
2
,
s
2
= x
0
x
1
+x
0
x
2
+x
1
x
2
, s
3
= x
0
x
1
x
2
, si ottiene il sistema lineare in s
1
, s
2
, s
3
,
_
_
_
m
2
m
1
m
0
m
3
m
2
m
1
m
4
m
3
m
2
_
_
_
_
_
_
s
1
s
2
s
3
_
_
_ =
_
_
_
m
3
m
4
m
5
_
_
_.
Ponendo m
k
=
b
k+1
a
k+1
k+1
, si pu`o vericare che la matrice dei coecienti `e
non singolare, percio, risolvendo, si trova
s
1
= 3
_
b + a
2
_
, s
2
= 3
_
b + a
2
_
2

3
5
_
b a
2
_
2
,
s
3
=
_
_
_
b + a
2
_
2

3
5
_
b a
2
_
2
_
_
b + a
2
.
Evidentemente, per le (4.49), i numeri x
0
, x
1
, x
2
, sono le radici dellequazione
algebrica
x
3
s
1
x
2
+ s
2
x s
3
= 0 .
Cercando le soluzioni di questa equazione fra i divisori di s
3
, si trova che
(b + a)/2 `e radice; ne segue quindi
x
0
=
b + a
2

b a
2

3
5
, x
1
=
b + a
2
, x
2
=
b + a
2
+
b a
2

3
5
.
Con tali valori si ricava, poi, facilmente
b
0
= b
2
=
5
18
(b a), b
1
=
4
9
(b a).
4.8. COMPLEMENTI ED ESEMPI 113
Si noti che con a = 1 e b = 1 si ottengono i nodi e i pesi della formula
di quadratura di Gauss-Legendre a tre punti (cfr. 7.1 e 7.4).
Un esempio di applicazione delle (4.50) si ha se b
0
, b
1
, b
2
, sono arbi-
trariamente pressati uguali. Dalla prima equazione del sistema si ottiene
b
0
= b
1
= b
2
= m
0
/3, mentre per il calcolo di x
0
, x
1
, x
2
, possono usarsi le
successive tre equazioni. Con a = 1 e b = 1 si ha:
x
0
+ x
1
+ x
2
= 0
x
2
0
+ x
2
1
+ x
2
2
= 1
x
3
0
+ x
3
1
+ x
3
2
= 0 .
Questo sistema ha per soluzioni tutte le permutazioni dei tre numeri che
sono radici del polinomio algebrico a
3
x
3
+ a
2
x
2
+ a
1
x + a
0
, i cui coecienti
possono ricavarsi con le formule di Girard-Newton. Ponendo nelle (4.50)
k = 3, e, come suggerito dal sistema, S
1
= 0, S
2
= 1, S
3
= 0, si ottiene
a
0
= 0
a
3
+ 2a
1
= 0
a
2
+ 3a
0
= 0 .
Fissando arbitrariamente uno dei coecienti a
i
, ad esempio a
3
= 1, si ha
lequazione
x
3

1
2
x = 0
e quindi x
0
= x
2
=

2
2
, x
1
= 0.
4.8.3 Una particolare successione di Sturm
Si consideri la matrice tridiagonale hermitiana
T =
_
_
_
_
_
_
_
a
1
b
2
b
2
.
.
.
.
.
.
.
.
.
.
.
.
b
n
b
n
a
n
_
_
_
_
_
_
_
con b
i
= 0, i = 2, 3, . . . , n. Il suo polinomio caratteristico P() = det(AI)
pu`o essere calcolato per ricorrenza come visto in 2.11.5 e si ha
P() := P
n
() = (a
n
)P
n1
() | b
n
|
2
P
n2
()
114 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
con P
0
() = 1 e P
1
() = a
1
.
Al riguardo vale il seguente teorema.
Teorema 4.8.1 Nelle ipotesi fatte su T, la successione
(1)
n
P
n
(), (1)
n1
P
n1
(), . . . , P
1
(), P
0
(), (4.51)
`e una successione di Sturm per P() e gli zeri di P() sono distinti.
Esempio 4.8.4 Si considera la matrice di ordine n
T =
_
_
_
_
_
_
_
0 1/2
1/2
.
.
.
.
.
.
.
.
.
.
.
.
1/2
1/2 0
_
_
_
_
_
_
_
.
Si verica facilmente che, per la successione (4.51), risulta V (1)V (1) = n.
Inoltre se n `e pari si ha V (1) V (0) = V (0) V (1) = n/2, mentre se n
`e dispari si ha V (1) V (0) = (n + 1)/2 e V (0) V (1) = (n 1)/2: in
questo secondo caso = 0 `e uno zero di P(). In entrambi i casi si verica
che = 1 non `e uno zero di P(); ne segue che |
i
|< 1, i = 1, 2, . . . , n.
Questo risultato si trova anche applicando il Teorema 2.8.1 alla matrice T
e osservando che = 1 e = 1 non possono essere autovalori in quanto
le matrici T I e T + I sono a predominanza diagonale debole con grafo
orientato fortemente connesso e quindi non singolari (cfr. Corollario 2.11.2).
Si pu`o poi dimostrare che gli autovalori di T sono

i
= cos
_
i
n + 1
_
, i = 1, 2, . . . , n.
4.8.4 Il teorema di Newton-Kantorovich
Per il metodo di Newton
x
(k+1)
= x
(k)
J
1
(x
(k)
)f(x
(k)
), k = 0, 1, . . . ,
sussiste il seguente teorema.
4.8. COMPLEMENTI ED ESEMPI 115
Teorema 4.8.2 (di Newton-Kantorovich) Sia x
(0)
IR
n
e f(x) C
2
(D) dove
D =
_
x | x x
(0)
2b
_
IR
n
. Se risulta:
J
1
(x
(0)
) a;
J
1
(x
(0)
)f(x
(0)
) b;

n
r=1

2
f
i
x
j
x
r


c
n
, x D, 1 i, j n;
abc
1
2
;
allora si ha:
x
(k)
D, k = 1, 2, . . .;
lim
k
x
(k)
= , essendo radice di f(x) = 0;
`e unica in D;
x
(k)

b(2abc)
2
k
1
2
k1
.
Per quanto non di agevole applicazione, il teorema `e importante perche
fornisce un legame tra la convergenza e la scelta della stima iniziale x
(0)
oltreche un risultato di esistenza e unicit`a della soluzione di f(x) = 0 (si noti
che nel Teorema 4.6.2 lesistenza della soluzione `e ammessa per ipotesi).
Esempio 4.8.5 Si consideri in IR
3
il sistema
f(x) =
_
_
_
_
2x
1
+ cos x
2
+ cos x
3
1.9
cos x
1
+ 2x
2
+ cos x
3
1.8
cos x
1
+ cos x
2
+ 2x
3
1.7
_
_
_
_
= 0.
La matrice jacobiana `e
J(x) =
_
_
_
_
2 sin x
2
sin x
3
sin x
1
2 sin x
3
sin x
1
sin x
2
2
_
_
_
_
.
Si assume come stima iniziale x
(0)
= 0. Segue, con semplici calcoli,
J
1
(0) =
1
2
= a, J
1
(0)f(0) =
3
20
= b ,
dove si `e usata la norma .
116 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI
Inoltre, per ogni x, si ha

n
r=1
|
2
f
i
/x
j
x
r
| 1, 1 i, j 3, da cui
c = 3.
Poiche abc = 9/40 <
1
2
il metodo di Newton `e convergente.
Si noti che risulta D =
_
x | x
3
10
_
, per cui i punti di coordinate

2
non appartengono a D; ne viene che J(x) `e, per x D, diagonalmente
dominante in senso forte e pertanto la soluzione del sistema (4.34) pu`o essere
approssimata, per ogni k, con il metodo iterativo di Jacobi o di Gauss-Seidel.
Il risultato
x
4
=
_
_
_
_
0.04236905027717 . . .
0.09413400044134 . . .
0.14733761588854 . . .
_
_
_
_
`e stato ottenuto con x
(0)
= 0, usando il metodo di Jacobi.
Bibliograa: [1], [5], [19], [25], [26], [29].
Capitolo 5
Calcolo di autovalori e
autovettori
La conoscenza degli autovalori e degli autovettori di una matrice quadrata
(cfr. Capitolo 2) `e richiesta non solo nellambito di importanti teorie della
matematica, ma anche in molte applicazioni, nelle quali si deve disporre di
una loro buona approssimazione numerica.
Per stimare gli autovalori e gli autovettori di una matrice A sembrerebbe
naturale ricorrere alla approssimazione delle radici dellequazione caratteri-
stica
det(A I) = 0, (5.1)
usando i metodi studiati nel Capitolo 4 e successivamente, per ogni autovalore
trovato, risolvere il sistema lineare omogeneo
(A I)x = 0. (5.2)
Tuttavia, tranne qualche caso speciale, (cfr. Complementi ed esempi del
Capitolo 2 e Capitolo 4) `e sconsigliabile seguire tale via, a causa degli i-
nevitabili errori che si introducono nel calcolo dei coecienti della (5.1).
Infatti piccole variazioni nei coecienti della (5.1) possono comportare forti
variazioni delle radici, giungendo talvolta a mutare radici reali in complesse
e viceversa. Inoltre, quandanche si disponesse di un autovalore esatto , i
metodi di ricerca degli autovettori associati a mediante la risoluzione del
sistema (5.2) non sempre risultano di semplice applicazione.
Nei paragra che seguono sono esposti alcuni metodi iterativi pi` u comune-
mente usati. Il primo di essi serve ad approssimare un autovalore di modulo
118 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI
dominante ed un autovettore ad esso associato. Gli altri approssimano si-
multaneamente tutti gli autovalori, sfruttando la loro invarianza rispetto alle
trasformazioni per similitudine; si deducono poi gli autovettori in base alla
nota relazione tra autovettori di matrici simili (cfr. Teorema 2.7.2).
5.1 Metodo delle potenze
Il metodo delle potenze si fonda sul seguente teorema.
Teorema 5.1.1 Sia A C
/
nn
una matrice diagonalizzabile con autovalori
soddisfacenti le condizioni
|
1
|>|
2
| |
n
| ; (5.3)
sia z
(0)
C
/
n
un vettore arbitrario; allora il processo iterativo
y
(0)
= z
(0)
y
(k)
= Ay
(k1)
, k = 1, 2, . . . ,
(5.4)
`e tale che
lim
k
y
(k)
y
(k)
j
= v, lim
k
y
(k)
H
Ay
(k)
y
(k)
H
y
(k)
=
1
, (5.5)
dove j `e un indice per cui y
(k)
j
= 0 e v `e lautovettore associato a
1
.
Dimostrazione. La diagonalizzabilit`a di A implica lesistenza di n autovettori
x
(i)
, i = 1, 2, . . . , n, linearmente indipendenti e quindi che il vettore z
(0)
possa
rappresentarsi nella forma z
(0)
=

n
i=1
c
i
x
(i)
, dove `e lecito supporre che sia c
1
= 0.
Dalla (5.4) segue quindi
y
(k)
= A
k
y
(0)
= A
k
(c
1
x
(1)
+ + c
n
x
(n)
)
= c
1
A
k
x
(1)
+ + c
n
A
k
x
(n)
= c
1

k
1
x
(1)
+ + c
n

k
n
x
(n)
(5.6)
=
k
1
_
c
1
x
(1)
+
n

i=2
c
i
_

1
_
k
x
(i)
_
e anche, per ogni indice j,
y
(k)
j
=
k
1
_
c
1
x
(1)
j
+
n

i=2
c
i
_

1
_
k
x
(i)
j
_
. (5.7)
5.1. METODO DELLE POTENZE 119
In particolare, scegliendo y
(k)
j
= 0, tenendo conto dellipotesi (5.3) e dividendo
membro a membro la (5.6) per la (5.7), si ottiene
lim
k
y
(k)
y
(k)
j
= b
1
x
(1)
= v , (5.8)
dove b
1
= 1/x
(1)
j
; perci`o il vettore v `e lautovettore associato a
1
, come aerma
la tesi. Si ha quindi
Av =
1
v
e anche
v
H
Av =
1
v
H
v
da cui
v
H
Av
v
H
v
=
1
;
inne, tenendo conto della (5.8), si ha
lim
k
y
(k)
H
Ay
(k)
y
(k)
H
y
(k)
= lim
k
_
y
(k)
/y
(k)
j
_
H
A
_
y
(k)
/y
(k)
j
_
_
y
(k)
/y
(k)
j
_
H
_
y
(k)
/y
(k)
j
_
=
v
H
Av
v
H
v
=
1
per cui risulta dimostrata anche la seconda delle (5.5).
Il rapporto
R(y
(k)
) =
y
(k)
H
Ay
(k)
y
(k)
H
y
(k)
dicesi quoziente di Rayleigh.
Dalle relazioni (5.6) e (5.7) si deduce che gli errori
y
(k)
y
(k)
j
v ed R(y
(k)
)
1
tendono a zero come
_

1
_
k
.
Nel Teorema 5.1.1 lipotesi che A sia diagonalizzabile `e, in generale,
dicile da controllare; tuttavia tale ipotesi `e certamente vericata per la
vasta classe delle matrici normali, che sono riconoscibili in base alla pro-
priet`a A
H
A = AA
H
(cfr. Capitolo 2). La convergenza del metodo delle
potenze allautovalore di modulo massimo e allautovettore associato si pu`o
dimostrare anche se Anon `e diagonalizzabile, purche valga la condizione (5.3).
Un algoritmo basato sulla (5.4) pu`o dar luogo a fenomeni di overow o
di underow in quanto pu`o produrre vettori con componenti di valore asso-
luto eccessivamente grande o eccessivamente piccolo. Pertanto si preferisce
120 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI
ricorrere a qualche forma modicata delle iterazioni (5.4), introducendo una
normalizzazione dei vettori. Un algoritmo che genera una successione di
vettori
_
z
(k)
_
normalizzati `e il seguente,
y
(k)
= Az
(k1)
z
(k)
=
y
(k)

k
_
_
_
k = 1, 2, . . . , (5.9)
dove `e ancora z
(0)
arbitrario e
k
`e una costante di normalizzazione oppor-
tuna. Se, ad esempio,
k
`e una componente di massimo modulo di y
(k)
, scelta,
a partire da un certo k, sempre con lo stesso indice, risulta z
(k)

= 1.
1
Nelle ipotesi del Teorema 5.1.1, si dimostra che
lim
k
z
(k)
= w e lim
k
R(z
(k)
) =
1
(5.10)
dove w `e lautovettore associato a
1
.
In pratica si possono quindi assumere R(z
(k)
) e z
(k)
come approssimazioni
rispettivamente di
1
e dellautovettore associato, adottando come criterio di
arresto la condizione | R(z
(k)
) R(z
(k1)
) |< con > 0 pressato.
Il Teorema 5.1.1 si pu`o estendere al caso pi` u generale in cui
1
abbia
molteplicit`a r 1, modicando lipotesi (5.3) nella forma

1
=
2
= =
r
, |
1
|>|
r+1
| |
n
| .
Si osservi che per r = 1 lunico autovettore associato a
1
`e approssimato
da z
(k)
; mentre, se r > 1, z
(k)
approssima un autovettore appartenente allo
spazio generato dagli r autovettori associati a
1
e lautovettore approssimato
cambia in dipendenza dalla scelta del vettore iniziale z
(0)
.
Nellipotesi |
1
|>|
2
|>|
3
| |
n
|, il metodo delle potenze con-
sente il calcolo dellautovalore
2
e del corrispondente autovettore utilizzando
la conoscenza di
1
e x
1
. Per semplicit`a, ci si limita qui al caso leggermente
pi` u restrittivo delle matrici normali, le quali hanno autovettori due a due
ortogonali; supponendoli normalizzati a lunghezza unitaria, per essi risulta
x
(i)
H
x
(j)
=
ij
, 1 i, j n.
Applicando il metodo nella forma (5.9) con
k
= y
(k)

2
, e ottenuti i
valori (approssimati) di x
(1)
e
1
, si considera la matrice
A
1
= A
1
x
(1)
x
(1)
H
.
1
Per la (5.6) gli indici delle componenti di modulo massimo di y
(k)
, per k suciente-
mente grande, coincidono con gli indici delle componenti di massimo modulo di x
(1)
.
5.2. METODO DELLE POTENZE INVERSE 121
Si constata subito che si ha
A
1
x
(1)
= 0 e A
1
x
(i)
=
i
x
(i)
, i = 2, 3, . . . , n;
la matrice A
1
, quindi, ha autovalori 0,
2
,
3
, . . . ,
n
, e gli stessi autovettori di
A. Il metodo, applicato ora a A
1
, converge allautovettore x
(2)
e allautovalore

2
. Questo procedimento, detto deazione, pu`o essere ripetuto, nellipotesi
|
1
|>|
2
|> >|
n
|, per calcolare tutti gli autovalori e tutti gli
autovettori, considerando successivamente le matrici
A
i
= A
i

r=1

r
x
(r)
x
(r)
H
, i = 1, 2, . . . , n 1.
5.2 Metodo delle potenze inverse
La matrice A di ordine n sia diagonalizzabile ed abbia un solo autovalore
di modulo minimo, cio`e sia
|
1
||
2
| |
n1
|>|
n
|> 0;
la matrice inversa A
1
avr`a quindi autovalori vericanti la condizione

>

n1

.
Ne segue che il metodo delle potenze, applicato alla matrice inversa A
1
,
fornisce lautovalore di massimo modulo 1/
n
e, di conseguenza, anche lau-
tovalore di minimo modulo di A. Dalle (5.9) si ha, per z
(0)
arbitrario,
y
(k)
= A
1
z
(k1)
, z
(k)
=
y
(k)

k
, k = 1, 2 . . . .
In pratica si usa il seguente algoritmo, detto metodo delle potenze inverse,
Ay
(k)
= z
(k1)
, z
(k)
=
y
(k)

k
, k = 1, 2 . . . , (5.11)
nel quale ad ogni passo occorre risolvere un sistema lineare di matrice A
per ottenere y
(k)
. Questo metodo pu`o essere vantaggiosamente usato per
approssimare un qualunque autovalore
j
di A quando se ne conosca gi`a una
122 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI
approssimazione iniziale

j
. Partendo dallosservazione che gli autovalori
della matrice A

j
I sono

j
, . . . ,
j

j
, . . . ,
n

j
,
mentre quelli della matrice (A

j
I)
1
sono
1

j
, . . . ,
1

j
, . . . ,
1

j
,
se

j
`e abbastanza vicino a
j
si pu`o supporre che
1

j
sia lautovalore di
massimo modulo per (A

j
I)
1
e quindi si pu`o applicare a questa matrice
lalgoritmo (5.11) che ora assume la forma:
(A

j
I)y
(k)
= z
(k1)
, z
(k)
=
y
(k)

k
, k = 1, 2 . . . . (5.12)
Arrestando, per esempio, le iterazioni per k = m, si ha
R(z
(m)
)
1

j
da cui si ottiene

j

1 +

j
R(z
(m)
)
R(z
(m)
)
.
Si noti che il vettore z
(m)
ottenuto da (5.12) approssima lautovettore
associato allautovalore
1

j
per la matrice (A

j
I)
1
, ma z
(m)
`e anche un
autovettore approssimato associato allautovalore
j
per la matrice A.
5.3 Metodo di Jacobi per matrici
simmetriche
Il metodo di Jacobi permette di approssimare tutti gli autovalori di una
matrice hermitiana. Per semplicit`a si considerano qui solo matrici A reali e
simmetriche.
5.3. METODO DI JACOBI PER MATRICI SIMMETRICHE 123
Il metodo consiste nelloperare successive trasformazioni per similitudine
mediante matrici di rotazione G
rs
della forma (cfr. Esempio 2.11.6)
G
rs
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1
.
.
.
1
cos sin
1
.
.
.
1
sin cos
1
.
.
.
1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
r
s
.
Tali matrici sono determinate dagli interi r ed s, con 1 r < s n, e dal
parametro ; inoltre sono ortogonali, cio`e si ha
G
rs
G
T
rs
= G
T
rs
G
rs
= I e quindi G
1
rs
= G
T
rs
.
Il metodo di Jacobi `e un metodo iterativo in cui al passo k-esimo si
trasforma una matrice A
k
mediante una matrice ortogonale G
(k)
rs
secondo
lalgoritmo seguente:
A
1
:= A
(5.13)
A
k+1
= G
(k)
T
rs
A
k
G
(k)
rs
, k = 1, 2, . . . ,
dove gli indici r ed s variano al variare di k.
Nella versione classica del metodo si scelgono gli indici di G
(k)
rs
coin-
cidenti con quelli di un elemento non diagonale a
(k)
rs
di A
k
avente modulo
massimo e il valore di viene determinato in modo che nella matrice trasfor-
mata A
k+1
risulti
a
(k+1)
rs
= 0. (5.14)
`
E facile constatare che la trasformazione (5.13) lascia inalterati tutti gli
elementi di A
k
non appartenenti alle righe e alle colonne di indici r ed s, cio`e
si ha
a
(k+1)
ij
= a
(k)
ij
per i, j = r, s,
124 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI
mentre vengono modicati solo gli elementi delle righe e colonne di indici r
e s e inoltre conserva la simmetria iniziale.
Precisamente si ha:
a
(k+1)
rs
= a
(k+1)
sr
=
_
a
(k)
rr
a
(k)
ss
_
sin cos + a
(k)
rs
_
cos
2
sin
2

_
, (5.15)
a
(k+1)
rj
= a
(k+1)
jr
= a
(k)
rj
cos + a
(k)
sj
sin , j = r, s,
a
(k+1)
sj
= a
(k+1)
js
= a
(k)
rj
sin + a
(k)
sj
cos , j = r, s, (5.16)
a
(k+1)
rr
= a
(k)
rr
cos
2
+ 2a
(k)
rs
sin cos + a
(k)
ss
sin
2
,
a
(k+1)
ss
= a
(k)
rr
sin
2
2a
(k)
rs
sin cos + a
(k)
ss
cos
2
.
Dalla (5.15) segue che la (5.14) `e vericata per ogni soluzione dellequazione

_
a
(k)
rr
a
(k)
ss
_
sin cos + a
(k)
rs
_
cos
2
sin
2

_
= 0.
In pratica si ricavano direttamente due valori, sin e cos , per costruire la
matrice G
(k)
rs
, scrivendo la precedente equazione nella forma
t
2
+ 2mt 1 = 0, (5.17)
dove si `e posto t := tan , m := (a
(k)
rr
a
(k)
ss
)/2a
(k)
rs
.
Scegliendo fra le due radici della (5.17) quella di modulo minore, cor-
rispondente a | | /4, si ha
t =
_
_
_
m+

1 +m
2
se m > 0 ,
m

1 +m
2
se m < 0 ;
per m = 0 si sceglie t = 1. In ogni caso si ottiene
cos =
1

1 +t
2
, sin = t cos ,
con cui si costruisce la G
(k)
rs
voluta.
In questo modo ad ogni passo si annulla un elemento non diagonale (e il
suo simmetrico); ci`o non esclude che nei passi successivi un elemento non dia-
gonale nullo possa essere modicato e assumere un valore non nullo; tuttavia
vale il seguente teorema.
5.3. METODO DI JACOBI PER MATRICI SIMMETRICHE 125
Teorema 5.3.1 La successione {A
k
} generata dalle (5.13) col metodo di
Jacobi classico converge alla matrice diagonale
D = diag(
1
,
2
, . . . ,
n
),
dove
1
, . . . ,
n
sono gli autovalori di A.
In base a questo teorema, un criterio di arresto delle iterazioni (5.13)
potrebbe essere il vericarsi della condizione
max
i>j
| a
(k+1)
ij
| , (5.18)
dove > 0 `e un numero pressato.
Se il criterio (5.18) `e vericato, allora la matrice A
k+1
approssima la
matrice diagonale D e quindi, indicando con G
(i)
la matrice di rotazione
della i-esima iterazione, si ha
G
(k)
T
G
(k1)
T
G
(1)
T
AG
(1)
G
(k1)
G
(k)
= A
k+1
,
o anche, posto H
k
:= G
(1)
G
(k)
,
AH
k
= H
k
A
k+1
.
Quindi gli elementi a
(k+1)
ii
di A
k+1
sono approssimazioni degli autovalori di
A mentre i corrispondenti autovettori sono approssimati dalle colonne della
matrice H
k
che si pu`o ottenere mediante lalgoritmo
H
0
= I, H
j
= H
j1
G
(j)
, j = 1, 2, . . . , k.
Una variante del metodo di Jacobi classico consiste nel sopprimere la
ricerca dellelemento di modulo massimo da annullare ad ogni passo, evi-
tando cos` tutti i necessari confronti fra elementi. Ci`o si ottiene annullando
sistematicamente tutti gli elementi non nulli che si incontrano percorrendo
per righe gli elementi al disopra della diagonale principale, cio`e quelli di indici
(12), (13), , (1n); (23), , (2n); ; (n 1, n).
Loperazione `e ciclica nel senso che si ripete eseguendo gli annullamenti
sempre nello stesso ordine. Per questo metodo, noto come metodo di Ja-
cobi ciclico, si pu`o dimostrare un teorema di convergenza analogo al Teo-
rema 5.3.1.
126 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI
5.4 Riduzione in forma tridiagonale e di
Hessenberg
Se una matrice `e hermitiana e tridiagonale, lapprossimazione dei suoi
autovalori ed autovettori, sia col metodo di Jacobi che con altri metodi,
risulta pi` u agevole che per una matrice hermitiana qualunque non sparsa. Per
questo motivo una generica matrice hermitiana A viene di solito trasformata
in una matrice tridiagonale simile.
Fra i vari modi per eettuare la riduzione di A alla forma tridiagonale
riportiamo qui il metodo di Givens, considerato, per semplicit`a, nel caso
reale. In questo metodo si usano ancora le matrici di rotazione per ottenere
termini nulli ma, a dierenza di quanto si `e visto nel metodo di Jacobi, un
elemento che `e stato annullato a un certo passo non viene pi` u modicato
nelle successive trasformazioni. Ci`o si ottiene annullando ordinatamente i
termini non nulli fra gli elementi a
ij
con i j 2, considerati per colonne,
nel seguente ordine
a
31
, a
41
, . . . , a
n1
; a
42
, a
52
, . . . , a
n2
; . . . ; a
n,n2
,
usando, rispettivamente, le matrici di rotazione
G
23
, G
24
, . . . , G
2n
; G
34
, G
35
, . . . , G
3n
; . . . ; G
n1,n
. (5.19)
Poiche ad ogni passo viene annullato un elemento e il suo simmetrico,
bastano al pi` u
(n2)(n1)
2
rotazioni per trasformare A in una matrice simile
A
1
di forma tridiagonale, conservando la simmetria.
In questo processo gli indici della matrice di rotazione e quelli dellele-
mento da annullare non sono gli stessi come nel metodo di Jacobi, ma la
matrice G
(k)
rs
viene costruita in modo che risulti
a
(k+1)
s,r1
= 0, k = 1, 2, . . . ,
(n 2)(n 1)
2
; (5.20)
se fosse gi`a a
(k)
s,r1
= 0 si pone G
(k)
rs
= I (cio`e = 0).
Utilizzando la (5.16) ove si ponga j = r 1, la (5.20) fornisce
a
(k+1)
s,r1
= a
(k)
s,r1
cos a
(k)
r,r1
sin = 0 ,
che `e soddisfatta per
cos =
a
(k)
r,r1
_
_
a
(k)
s,r1
_
2
+
_
a
(k)
r,r1
_
2
, sin =
a
(k)
s,r1
_
_
a
(k)
s,r1
_
2
+
_
a
(k)
r,r1
_
2
.
5.5. SCHEMA DEL METODO QR 127
Formule numericamente pi` u stabili si ottengono calcolando
t = tan =
a
(k)
s,r1
a
(k)
r,r1
, c = cot =
a
(k)
r,r1
a
(k)
s,r1
,
e ponendo
cos =
1

1 +t
2
, sin = t cos se | t |< 1 ,
sin =
1

1 +c
2
, cos = c sin se | t |> 1 .
La conoscenza delle matrici (5.19) consente di risalire dagli autovettori
della matrice tridiagonale A
1
a quelli della matrice data. Infatti, sia y un au-
tovettore di A
1
associato a e G la matrice prodotto di tutte le matrici (5.19)
nellordine ivi considerato; G `e ancora ortogonale e si ha A
1
= G
T
AG da cui,
essendo A
1
y = y, segue A
1
y = G
T
AGy = y perci`o AGy = Gy e x = Gy
`e lautovettore di A corrispondente a y.
Se il processo di Givens si applica ad una matrice A non simmetrica, la
matrice H che si ottiene al termine delle (n 2)(n 1)/2 trasformazioni `e
della forma seguente
H =
_
_
_
_
_
_
h
11
h
12
h
1n
h
21
h
22
h
2n
.
.
.
.
.
.
.
.
.
h
n1,n
h
nn
_
_
_
_
_
_
.
H si dice matrice di Hessenberg superiore.
La riduzione di una matrice A non simmetrica alla forma di Hessenberg,
al pari di quella delle matrici simmetriche alla forma tridiagonale, `e utile ai
ni dellulteriore approssimazione di autovalori ed autovettori.
Un metodo per ottenere queste approssimazioni e che risulta particolar-
mente eciente quando opera su matrici delle due forme suddette `e il metodo
QR esposto nel paragrafo seguente.
5.5 Schema del metodo QR
Lapprossimazione simultanea di tutti gli autovalori di una matrice qua-
lunque, viene generalmente eettuata mediante il metodo QR, di cui ci si
128 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI
limita ad accennare le linee fondamentali nel caso reale partendo dal seguente
teorema.
Teorema 5.5.1 Per ogni matrice A IR
nn
esiste una decomposizione nel
prodotto di una matrice Q ortogonale per una matrice R triangolare superio-
re.
La dimostrazione si ottiene costruendo eettivamente le matrici Q ed
R. Uno dei vari modi per raggiungere lo scopo consiste nel premoltiplicare
successivamente A con matrici di rotazione G
rs
scelte in modo che ad ogni
passo si ottenga una matrice prodotto in cui risulti nullo un elemento di
indici (s, r) situato sotto la diagonale principale, ammesso che non fosse gi`a
nullo (in tal caso si pone G
rs
= I). La strategia che si segue `e quella di
premoltiplicare A ordinatamente per le n(n 1)/2 matrici
G
12
, G
13
, . . . , G
1n
; G
23
, . . . , G
2n
; . . . ; G
n1,n
,
in modo che, nelle successive matrici prodotto, risultino nulli rispettivamente
gli elementi di indici
(21), (31), . . . , (n1); (32), . . . , (n2); . . . ; (n, n 1).
In questo modo non vengono modicati gli elementi nulli ottenuti nei passi
precedenti.
Poiche gli elementi annullati sono tutti situati al disotto della diagonale
principale, la matrice R ottenuta dopo n(n 1)/2 prodotti `e triangolare
superiore e si ha
G
n1,n
G
13
G
12
A = R,
inne, essendo le G
rs
ortogonali, si ha
A = G
T
12
G
T
13
G
T
n1,n
R = QR
che fornisce la cosiddetta fattorizzazione QR della matrice A, con la matrice
Q = G
T
12
G
T
13
G
T
n1,n
ortogonale.
In particolare, se la matrice A `e della forma di Hessenberg superiore
oppure tridiagonale, la fattorizzazione QR richiede al pi` u n 1 premoltipli-
cazioni per matrici di rotazione, essendo al pi` u n 1 gli elementi non nulli
di A al disotto della diagonale principale.
Il Teorema 5.5.1 pu`o essere generalizzato al caso di una matrice ad ele-
menti complessi; in tal caso la matrice Q della fattorizzazione `e una matrice
unitaria.
5.5. SCHEMA DEL METODO QR 129
Lalgoritmo QR per la ricerca degli autovalori di A IR
nn
utilizza la
fattorizzazione QR secondo lo schema
A
1
:= A ,
A
k
= Q
k
R
k
, (5.21)
A
k+1
= R
k
Q
k
, k = 1, 2, . . . .
Tutte le matrici della successione {A
k
} generata dallalgoritmo (5.21) sono
simili ad A; infatti, per qualunque k, si ha Q
T
k
Q
k
= I e anche
A
k+1
= Q
T
k
Q
k
R
k
Q
k
= Q
T
k
A
k
Q
k
.
Ogni matrice della successione {A
k
} ha quindi gli stessi autovalori di A;
inoltre, se A `e nella forma di Hessenberg, si pu`o dimostrare che ogni matrice
della successione {A
k
} si mantiene della stessa forma di A. In tal caso ad
ogni passo la fattorizzazione richiede al pi` u (n 1) prodotti di matrici e il
costo computazionale di una iterazione
2
`e di circa 2n
2
moltiplicazioni. Tale
costo sale a n
3
moltiplicazioni se A `e di forma qualsiasi.
La giusticazione teorica del metodo QR si completa con i due teoremi
seguenti che ci si limita ad enunciare nel caso reale.
Teorema 5.5.2 (di Schur) Per ogni matrice A IR
nn
esiste una matrice
reale ortogonale B tale che la trasformata per similitudine S = B
1
AB =
B
T
AB `e una matrice triangolare a blocchi con i blocchi diagonali di ordine
uno o due, della forma
S =
_
_
_
_
_
_
S
11
S
12
S
1r
S
22
S
2r
.
.
.
.
.
.
S
rr
_
_
_
_
_
_
. (5.22)
I blocchi diagonali di ordine 1 sono autovalori reali di A, mentre ogni blocco
diagonale di ordine due ha come autovalori una coppia di autovalori complessi
coniugati di A.
2
Per iterazione si intende la fattorizzazione di A
k
e il calcolo di A
k+1
in base alle
(5.21).
130 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI
Teorema 5.5.3 Se gli autovalori di A IR
nn
sono reali e distinti in modulo
e quindi vericano la condizione
|
1
|>|
2
|> >|
n
| (5.23)
e se gli autovettori di A formano una matrice X tale che X
1
sia fattorizza-
bile LR, allora le matrici A
k
per k tendono ad una matrice triangolare
superiore e gli elementi diagonali a
(k)
ii
di A
k
tendono agli autovalori
i
di A
ordinati per modulo decrescente.
Se A possiede qualche coppia di autovalori complessi coniugati (e quindi
la (5.23) non `e vericata) ma i moduli di ciascuna coppia e quelli degli au-
tovalori reali sono distinti e se vale lipotesi fatta su X
1
, allora le matrici
A
k
convergono ad una matrice triangolare a blocchi del tipo (5.22), in cui gli
autovalori dei vari blocchi sono ancora ordinati per modulo decrescente.
Osservazione 5.5.1 Mancando lipotesi della fattorizzabilit`a LR di X
1
, si
ha ancora la convergenza del metodo ma pu`o venire meno lordinamento per
modulo decrescente degli autovalori.
In pratica, partendo da una matrice A in forma di Hessenberg superiore
le iterazioni si arrestano al raggiungimento di una matrice A
m
che possiede
qualche elemento della codiagonale principale talmente piccolo in valore as-
soluto da potersi considerare nullo. Si supponga che sia
A
m
=
_
A
11
A
12
O A
22
_
con A
11
, A
22
, entrambe in forma di Hessenberg superiore.
Gli autovalori di A
m
sono quindi approssimati dagli autovalori di A
11
e
A
22
. Se per una o entrambe le matrici A
11
e A
22
non si `e ancora raggiunta
la forma triangolare o (5.22) si dovr`a applicare ancora il metodo QR a una
o a ciascuna delle due matrici e cos` via.
In linea di principio il metodo QR fornisce anche gli autovettori di una
matrice A. Infatti si supponga che, dopo m 1 trasformazioni ortogonali,
si sia ottenuta una matrice A
m
(della forma (5.22) o triangolare superiore) e
sia uno degli autovalori di A fornito da A
m
; posto
Q = Q
1
Q
2
Q
m1
,
Q `e ancora una matrice ortogonale.
5.6. COMPLEMENTI ED ESEMPI 131
Ripetendo per Q, A
m
ed A, il ragionamento fatto in 5.4 per le matrici
G, A
1
ed A, segue che, se y `e un autovettore di A
m
associato a , x = Qy
`e il corrispondente autovettore di A. Tuttavia il costo computazionale per il
calcolo della matrice Q `e elevato per cui, disponendo dellapprossimazione
di un autovalore, conviene utilizzare il metodo delle potenze inverse descritto
in 5.2 per ottenere un autovettore corrispondente di A.
Il metodo QR, qui esposto in una delle sue versioni pi` u semplici, viene
adoperato anche in forme modicate pi` u ecienti; esso presenta comunque
una notevole stabilit`a numerica e la propriet`a di convergere sotto ipotesi
anche pi` u deboli di quelle del Teorema 5.5.3.
5.6 Complementi ed esempi
5.6.1 Precisazione sul metodo delle potenze
Nel metodo delle potenze, applicato nella forma (5.4), la scelta del vet-
tore z
(0)
`e arbitraria. La diagonalizzabilit`a di A, e quindi lesistenza di n
autovettori x
(i)
linearmente indipendenti, implica che, in ogni caso, risulti
z
(0)
=

n
i=1
c
i
x
(i)
.
Se per una data scelta di z
(0)
risulta c
1
= 0 e si suppone |
2
|>|
3
|, la
successione dei vettori y
(k)
converge, come si riscontra dalla (5.6), ad un au-
tovettore associato a
2
mentre R(y
(k)
) tende a
2
. Ci`o accade eettivamente
quando si ricorre a precisioni molto elevate. In caso contrario, gli errori di
arrotondamento fanno s` che la successione {y
(k)
} nisca per convergere an-
cora, sia pure lentamente, ad un autovettore associato a
1
cos` come R(y
(k)
)
a
1
. Infatti, in questo secondo caso, la (5.4) si scrive
y
(k)
= Ay
(k1)
+
(k)
, k = 1, 2, . . . , (5.24)
dove
(k)
`e il vettore di errore, anchesso rappresentabile come una combi-
nazione degli autovettori di A. Posto
(1)
= d
1
x
(1)
+ + d
n
x
(n)
, il vettore
y
(1)
, fornito dalla (5.24) per k = 1, si pu`o esprimere nella forma
y
(1)
= (c
1

1
+d
1
)x
(1)
+ + (c
n

n
+ d
n
)x
(n)
,
dove ora il coeciente di x
(1)
`e, in generale, diverso da zero e quindi, a partire
da y
(1)
, le ipotesi del Teorema 5.1.1 sono soddisfatte. Una situazione analoga
si verica per il metodo applicato nella forma normalizzata (5.9).
132 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI
Esempio 5.6.1 Sia
A =
_
_
_
_
_
2 1 0 0
1 2 1 0
0 1 2 1
0 0 1 2
_
_
_
_
_
e si assuma z
(0)
= (1, 1, 1, 1)
T
: con questa scelta, nelluguaglianza z
(0)
=

4
i=1
c
i
x
(i)
risulta c
1
= 0.
Si `e applicato il metodo delle potenze in forma normalizzata con tre pre-
cisioni di macchina: u
s
4.7510
7
(precisione semplice), u
d
1.1110
16
(precisione doppia) e u
q
2.5810
26
(precisione quadrupla). Si `e adottato
il criterio di arresto | R(z
(k)
) R(z
(k1)
) |<
1
2
10
5
. I risultati ottenuti sono
nella tavola che segue.
k R(z
(k)
)
u
s
6 2.6180295 . . .
u
d
6 2.6180339 . . .
u
q
6 2.6180339 . . .
Le otto cifre signicative del valore riportato per la precisione doppia
e la precisione quadrupla corrispondono a quelle dellautovalore
2
e sono
corrette. Tuttavia, proseguendo le iterazioni in precisione semplice e in pre-
cisione doppia, leetto degli errori di arrotondamento fa s` che, per k k

,
R(z
(k)
) si stabilizzi denitivamente su valori che approssimano
1
. Mentre,
la precisione quadrupla, essendo trascurabili gli errori di arrotondamento,
continua a fornire lapprossimazione di
2
.
Nella tavola che segue si danno i valori dellindice k

a partire dal quale


le otto cifre signicative riportate per R(z
(k)
) rimangono sse.
k

R(z
(k)
), k k

u
s
79 3.6180315 . . .
u
d
144 3.6180339 . . .
u
q
6 2.6180339 . . .
Lapprossimazione di
1
ottenuta in precisione doppia `e corretta nelle
otto cifre signicative riportate nella tavola.
5.6. COMPLEMENTI ED ESEMPI 133
5.6.2 Accelerazione della convergenza
Si pu`o dimostrare che per gli elementi della matrice A
k
del metodo QR (5.21),
nelle ipotesi del Teorema 5.5.3, risulta
a
(k)
ij
= O
_
_
_

j
_
k
_
_
, i > j .
Ne segue che per questo metodo la convergenza pu`o essere molto lenta se

1; ad analoga conclusione si giunge, a causa della (5.6), per il metodo


delle potenze se
1

2
.
Una tecnica che consente di ovviare a questo inconveniente consiste nellef-
fettuare una traslazione dello spettro di A (cfr. Teorema 2.7.6). Si considera,
cio`e, in luogo di A, la matrice B = A + qI, che ha gli stessi autovettori e i
cui autovalori sono
i
=
i
+q, i = 1, 2, . . . , n, scegliendo il parametro q tale
che sia ancora |
1
|>|
2
|> >|
n
|, ma risulti

<

.
In tal caso il metodo delle potenze ed il metodo QR, applicati a B, con-
vergono pi` u rapidamente.
Esempio 5.6.2 Si consideri la matrice
A =
_
_
_
21 1 1
1 21 1
1 1 21
_
_
_.
Dal teorema di Gershgorin si ricava 19 |
3
||
2
||
1
| 23, per
cui la convergenza sar`a, nella migliore delle ipotesi, come quella del termine
(19/23)
k
(0.826)
k
.
Eettuando una traslazione di spettro con q = 19, si ha la matrice B con
0 |
3
||
2
||
1
| 4. Essendo
i
=
i
q, risulta |
2
/
1
||
2
/
1
|.
Si `e applicato il metodo delle potenze in precisione doppia alle due matrici
A e B, con il criterio di arresto | R(z
(k)
) R(z
(k1)
) |< 10
9
ottenendo i
risultati riportati nella tavola che segue.
k R(z
(k)
)
matrice A 401 22.0000000118 . . .
matrice B 48 3.0000000052 . . .
134 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI
Il metodo QR, applicato con i criteri di arresto max
i>j
| a
(k)
ij
|< 10
6
e
max
i>j
| b
(k)
ij
|< 10
6
, ha fornito i seguenti risultati:
a
(286)
11
= 22.00000166 . . . , b
(33)
11
= 3.00000154 . . . ,
a
(286)
22
= 19.99999944 . . . , b
(33)
22
= 1.00000058 . . . ,
a
(286)
33
= 20.99999888 . . . , b
(33)
33
= 1.99999787 . . . .
Gli autovalori di A sono
1
= 22,
2
= 21,
3
= 20.
Si noti inoltre che nelle matrici A
(k)
e B
(k)
gli autovalori compaiono sulla
diagonale principale non ordinati per modulo decrescente: ci`o `e dovuto al
fatto che la matrice X
1
di cui nel Teorema 5.5.3 non `e fattorizzabile LR
(cfr. Osservazione 5.5.1); si ha infatti
X
1
=
_
_
_
1 1 0
1 1 1
0 1 1
_
_
_.
Bibliograa: [2], [13], [15], [29], [31].
Capitolo 6
Interpolazione e
approssimazione
In molti problemi si ha a che fare con una funzione f(x) di forma non
elementare, o addirittura sconosciuta, di cui si possiede solo una tabulazione
in un numero nito di punti (sovente si tratta di misurazioni sperimentali).
In questi casi la stima di un valore di f(x), in un punto diverso da quelli
in cui `e data, pu`o essere fatta utilizzando i dati disponibili.
Questa operazione, detta interpolazione, di solito si eettua sostituendo a
f(x) una funzione che sia facilmente calcolabile come, per esempio, un poli-
nomio. C`e quindi connessione fra il problema dellinterpolazione e quello pi` u
generale della approssimazione di una funzione f(x), cio`e della sostituzione di
f(x) con una funzione pi` u semplice e che si discosti da f(x) il meno possibile.
Per misurare lo scostamento da f(x) esistono vari criteri che danno luogo ad
altrettanti metodi di approssimazione. In questo capitolo si descrivono alcune
tecniche di interpolazione e lapprossimazione di una funzione col metodo dei
minimi quadrati nel caso discreto.
6.1 Dierenze divise
Assegnata una funzione f(x) : I IRIR si ha la seguente denizione.
Denizione 6.1.1 Siano x
0
, x
1
, . . . , x
k1
I con x
i
= x
j
se i = j; la
funzione
f[x
0
, x
1
, . . . , x
k1
, x] =
f[x
0
, x
1
, . . . , x
k2
, x] f[x
0
, x
1
, . . . , x
k1
]
x x
k1
, (6.1)
136 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
ove, per k = 1, f[x
0
, x] =
f(x)f(x
0
)
xx
0
, `e denita x I, x = x
i
, i =
0, 1, . . . , k 1, e si chiama dierenza divisa di ordine k.
Se f(x) `e derivabile su I, la (6.1) si estende a tutto I (cfr. Propriet`a
6.8.2).
Vale il seguente teorema di espansione, dimostrabile per induzione.
Teorema 6.1.1 Sia f(x) : I IRIR e siano x
0
, x
1
, . . . , x
k
I con x
i
= x
j
se i = j; vale lidentit`a
f(x) = f(x
0
) + (x x
0
)f[x
0
, x
1
] + (x x
0
)(x x
1
)f[x
0
, x
1
, x
2
]
+ + (x x
0
)(x x
1
) (x x
k1
)f[x
0
, x
1
, . . . , x
k
] (6.2)
+(x x
0
)(x x
1
) (x x
k
)f[x
0
, x
1
, . . . , x
k
, x].
6.2 Interpolazione parabolica
Siano dati k + 1 punti reali x
0
, x
1
, . . . , x
k
I, due a due distinti, in cor-
rispondenza dei quali siano noti i k+1 valori reali f(x
0
), f(x
1
), . . . . . . , f(x
k
).
Linterpolazione parabolica consiste nel determinare un polinomio di grado al
pi` u k
P
k
(x) = a
k
x
k
+ a
k1
x
k1
+ + a
1
x + a
0
(6.3)
tale che
P
k
(x
i
) = f(x
i
), i = 0, 1, . . . , k; (6.4)
il polinomio P
k
(x) si chiama polinomio di interpolazione.
Nellinsieme dei polinomi del tipo (6.3) ne esiste uno ed uno solo che veri-
ca le (6.4). Infatti, imponendo che il polinomio (6.3) verichi le (6.4) si ot-
tiene il sistema lineare di k+1 equazioni nelle k+1 incognite a
i
, i = 0, 1, . . . , k,
a
0
+ a
1
x
0
+ + a
k1
x
k1
0
+ a
k
x
k
0
= f(x
0
)

a
0
+ a
1
x
k
+ + a
k1
x
k1
k
+ a
k
x
k
k
= f(x
k
) .
(6.5)
6.2. INTERPOLAZIONE PARABOLICA 137
Il sistema (6.5) ha la seguente matrice dei coecienti
_
_
_
_
_
_
1 x
0
x
k1
0
x
k
0
1 x
1
x
k1
1
x
k
1

1 x
k
x
k1
k
x
k
k
_
_
_
_
_
_
il cui determinante `e

0j<ik
(x
i
x
j
) e risulta diverso da zero, essendo i
punti x
i
due a due distinti. Tale matrice `e detta matrice di Vandermonde.
Il sistema (6.5) ha quindi ununica soluzione e perci`o `e unico il polinomio
cercato.
Osservazione 6.2.1 Il polinomio di interpolazione `e di grado minore di k
se, nella soluzione del sistema (6.5), risulta a
k
= 0.
Per la costruzione di P
k
(x) esistono procedimenti pi` u pratici che non la
risoluzione del sistema (6.5). Si possono, per esempio, utilizzare le dierenze
divise, in base al seguente teorema che si pu`o dimostrare per induzione.
Teorema 6.2.1 Il polinomio
P
k
(x) = f(x
0
) + (x x
0
)f[x
0
, x
1
] + (x x
0
)(x x
1
)f[x
0
, x
1
, x
2
]
(6.6)
+ + (x x
0
)(x x
1
) (x x
k1
)f[x
0
, x
1
, . . . , x
k
]
verica le condizioni (6.4).
Il polinomio (6.6) `e detto polinomio di interpolazione di Newton.
Una seconda forma del polinomio di interpolazione si pu`o ottenere per
mezzo delle funzioni polinomiali di grado k
l
r
(x) =
(x x
0
) (x x
r1
)(x x
r+1
) (x x
k
)
(x
r
x
0
) (x
r
x
r1
)(x
r
x
r+1
) (x
r
x
k
)
, (6.7)
r = 0, 1, . . . , k. I polinomi (6.7) godono della propriet`a
l
r
(x
s
) =
r,s
, r, s = 0, 1, . . . , k;
di conseguenza il polinomio
L
k
(x) =
k

r=0
l
r
(x)f(x
r
)
138 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
verica le condizioni (6.4). L
k
(x) si chiama polinomio di interpolazione di
Lagrange e i polinomi (6.7) sono detti polinomi fondamentali della interpo-
lazione di Lagrange.
Lerrore che si commette se si sostituisce alla funzione f(x) il polinomio
di interpolazione P
k
(x) o L
k
(x) si ricava dalla (6.2) che pu`o scriversi
f(x) = P
k
(x) + (x x
0
) (x x
k
)f[x
0
, x
1
, . . . , x
k
, x];
si ha quindi
E
k
(x) = f(x) P
k
(x) = (x)f[x
0
, x
1
, . . . , x
k
, x] , (6.8)
dove si `e posto (x) = (x x
0
)(x x
1
) (x x
k
).
Teorema 6.2.2 Se f(x) C
k+1
(I) si ha
f(x) P
k
(x) = (x)
f
(k+1)
()
(k + 1)!
dove
min{x
0
, x
1
, . . . , x
k
, x} < < max{x
0
, x
1
, . . . , x
k
, x} .
6.3 Interpolazione osculatoria di Hermite
Siano assegnati k + 1 punti reali x
0
, x
1
, . . . , x
k
I, due a due distinti, in
corrispondenza dei quali siano noti 2k+2 valori reali f(x
0
), f(x
1
), . . . , f(x
k
),
f

(x
0
), f

(x
1
), . . . , f

(x
k
); linterpolazione osculatoria di Hermite consiste nel
determinare un polinomio H(x) di grado al pi` u 2k + 1 tale che
H(x
r
) = f(x
r
), H

(x
r
) = f

(x
r
), r = 0, 1, . . . , k. (6.9)
Introdotti i polinomi di grado 2k + 1
h
0r
(x) = [1 2l

r
(x
r
)(x x
r
)]l
2
r
(x), r = 0, 1, . . . , k,
(6.10)
h
1r
(x) = (x x
r
)l
2
r
(x), r = 0, 1, . . . , k,
`e di semplice verica il seguente teorema.
6.4. INTERPOLAZIONE CON FUNZIONI SPLINE 139
Teorema 6.3.1 Il polinomio, di grado al pi` u 2k + 1,
H(x) =
k

r=0
h
0r
(x)f(x
r
) +
k

r=0
h
1r
(x)f

(x
r
) (6.11)
soddisfa le condizioni (6.9).
Il polinomio (6.11) `e detto polinomio di interpolazione di Hermite.
I polinomi h
0r
(x) e h
1r
(x) deniti dalle (6.10) sono detti, rispettivamente,
funzioni fondamentali di prima e di seconda specie dellinterpolazione di Her-
mite.
Teorema 6.3.2 Il polinomio H(x) `e unico.
Dimostrazione. Si supponga, per assurdo, che esista un secondo polinomio
S(x) di grado al pi` u 2k + 1 che soddis le (6.9).
Il polinomio R(x) = H(x) S(x) e la sua derivata prima si annullano nei
k + 1 punti x
0
, x
1
, . . . , x
k
, per cui R(x) risulta divisibile almeno per il polinomio
Q(x) = (xx
0
)
2
(xx
k
)
2
; ci`o `e assurdo essendo Q(x) di grado 2k +2 ed R(x)
di grado non superiore a 2k + 1.
Una espressione dellerrore che si commette nel sostituire alla funzione
f(x) il polinomio H(x) `e data dal teorema seguente.
Teorema 6.3.3 Se f(x) C
2k+2
(I) si ha
f(x) H(x) = (x x
0
)
2
(x x
k
)
2
f
(2k+2)
()
(2k + 2)!
dove
min{x
0
, x
1
, . . . , x
k
, x} < < max{x
0
, x
1
, . . . , x
k
, x} .
6.4 Interpolazione con funzioni spline
I due tipi di interpolazione esposti nei precedenti paragra presentano lo
svantaggio che, al crescere di k, aumenta, in generale, il grado del polinomio
di interpolazione il quale nisce per assumere una forma poco maneggevole e
pu`o discostarsi anche sensibilmente dalla funzione f(x) (cfr. Esempio 6.8.2).
Per ovviare a questo inconveniente si pu`o ricorrere alla interpolazione
mediante funzioni spline costituita da una interpolazione polinomiale a tratti
140 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
con polinomi di ugual grado su ciascun tratto, soddisfacenti certe condizioni
di regolarit`a.
Siano dati k + 1 punti reali x
0
< x
1
< < x
k
in corrispondenza dei
quali siano noti k +1 valori reali y
i
= f(x
i
), i = 0, 1, . . . , k. Si ha la seguente
denizione.
Denizione 6.4.1 Dicesi funzione spline di grado m, relativa ai punti x
0
, x
1
, ..
.., x
k
, una funzione S
m
(x) : [x
0
, x
k
] IR tale che:
1. S
m
(x) `e un polinomio di grado non superiore a m in ogni intervallo
[x
i1
, x
i
], i = 1, 2, . . . , k;
2. S
m
(x
i
) = y
i
, i = 0, 1, . . . , k;
3. S
m
(x) C
m1
([x
0
, x
k
]).
Nel seguito ci si limita ad analizzare il caso m = 3 che d`a luogo alle
cosiddette spline cubiche.
Una funzione spline cubica S
3
(x) `e composta da k polinomi p
i
(x), i =
1, 2, . . . , k, di grado al pi` u 3; ciascun polinomio p
i
(x) : [x
i1
, x
i
] IR `e
denito da quattro coecienti. S
3
(x) risulter`a quindi determinata dai 4k
coecienti dei polinomi che la compongono. Imponendo che siano vericate
le propriet`a 2 e 3, si ottengono le 4k 2 condizioni
p
i
(x
i1
) = y
i1
, i = 1, 2, . . . , k,
p
i
(x
i
) = y
i
, i = 1, 2, . . . , k,
p

i
(x
i
) = p

i+1
(x
i
), i = 1, 2, . . . , k 1,
p

i
(x
i
) = p

i+1
(x
i
), i = 1, 2, . . . , k 1.
(6.12)
Le due ulteriori condizioni si scelgono di solito fra le seguenti:
p

1
(x
0
) = p

k
(x
k
) = 0 , Spline naturale;
p

1
(x
0
) = p

k
(x
k
) , p

1
(x
0
) = p

k
(x
k
) , Spline periodica;
p

1
(x
0
) = y

0
, p

k
(x
k
) = y

k
, Spline vincolata,
se i valori y

0
= f

(x
0
) e y

k
= f

(x
k
) sono noti.
Teorema 6.4.1 Se i punti x
0
, . . . , x
k
sono tali che x
i
x
i1
= h, i =
1, 2, . . . , k, esiste una unica funzione spline cubica naturale S
3
(x).
6.4. INTERPOLAZIONE CON FUNZIONI SPLINE 141
Dimostrazione. Introdotti k +1 valori arbitrari m
i
, si costruiscono i polinomi
p
i
(x) nella forma di Hermite (6.11) a due punti con f(x
r
) = y
r
, f

(x
r
) = m
r
,
r = i 1, i,
p
i
(x) =
_
1 +
2
h
(x x
i1
)
_ _
x x
i
h
_
2
y
i1
+
_
1
2
h
(x x
i
)
_ _
x x
i1
h
_
2
y
i
+(x x
i1
)
_
x x
i
h
_
2
m
i1
+ (x x
i
)
_
x x
i1
h
_
2
m
i
,
i = 1, 2, . . . k.
I polinomi p
i
(x) vericano, per costruzione, i primi tre gruppi di condizioni (6.12)
qualunque siano i valori m
0
, m
1
, . . . , m
k
. Per determinare tali k + 1 valori si uti-
lizzano le ultime delle (6.12) e le due condizioni di spline naturale.
Essendo
p

i
(x
i1
) =
2
h
2
[3(y
i
y
i1
) h(m
i
+ 2m
i1
)] ,
p

i
(x
i
) =
2
h
2
[3(y
i1
y
i
) +h(2m
i
+m
i1
)] ,
si perviene al sistema lineare
2m
0
+ m
1
=
3
h
(y
1
y
0
)
m
0
+ 4m
1
+ m
2
=
3
h
(y
2
y
0
)
m
1
+ 4m
2
+ m
3
=
3
h
(y
3
y
1
)
.
.
.
.
.
.
.
.
.
.
.
.
m
k2
+ 4m
k1
+ m
k
=
3
h
(y
k
y
k2
)
m
k1
+ 2m
k
=
3
h
(y
k
y
k1
) .
(6.13)
La matrice dei coecienti di questo sistema `e a predominanza diagonale forte
per cui `e non degenere. Ne discende che la soluzione esiste ed `e unica, quindi
esistono, univocamente determinati, i polinomi p
1
(x), p
2
(x), ..., p
k
(x).
Con considerazioni analoghe alle precedenti, lesistenza e lunicit`a si pu`o
dimostrare anche nel caso di partizione non uniforme, cio`e con punti x
i
non
in progressione aritmetica, e per spline cubiche periodiche o vincolate (cfr.
Esempio 6.8.9).
Nel caso delle spline cubiche vincolate e per partizioni uniformi si pu`o
dimostrare il seguente teorema di convergenza.
142 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
Teorema 6.4.2 Se f(x) C
4
([x
0
, x
k
]), allora esistono delle K
p
> 0, p =
0, 1, 2, 3, tali che
max
x
0
xx
k

f
(p)
(x) S
(p)
3
(x)

K
p
M
4
h
4p
, 0 p 2,
max
x
i1
xx
i

f
(3)
(x) p
(3)
i
(x)

K
3
M
4
h , i = 1, 2 . . . k,
dove M
4
= max
x
0
xx
k

f
(4)
(x)

.
Nelle precedenti maggiorazioni si pu`o assumere K
0
=
7
8
, K
1
= K
2
=
7
4
,
K
3
= 2.
6.5 Interpolazione con funzioni razionali
Un altro tipo di interpolazione si ottiene mediante luso di funzioni razio-
nali.
Siano dati n + m + 1 punti x
0
, x
1
, . . . , x
n+m
, due a due distinti, in cor-
rispondenza dei quali siano noti i valori reali f(x
0
), f(x
1
), . . . , f(x
n+m
).
Si consideri la funzione razionale a valori reali
R
n
m
(x) =
P
n
(x)
Q
m
(x)
=
a
n
x
n
+ a
n1
x
n1
+ + a
1
x + a
0
b
m
x
m
+ b
m1
x
m1
+ + b
1
x + b
0
.
Linterpolazione con funzioni razionali consiste nella determinazione degli
n +m+2 coecienti a
i
, i = 0, 1, . . . , n, e b
i
, i = 0, 1, . . . , m, in modo che sia
R
n
m
(x
i
) = f(x
i
), i = 0, 1, . . . , n + m. (6.14)
Per questo `e necessario che sia
P
n
(x
i
) f(x
i
)Q
m
(x
i
) = 0, i = 0, 1, . . . , n + m. (6.15)
La determinazione di una funzione razionale che verichi le (6.14) `e quindi
ricondotta alla risoluzione del sistema lineare omogeneo (6.15) di n + m + 1
equazioni nelle n + m + 2 incognite a
i
, b
i
. Il sistema (6.15) `e risolubile e
se la matrice dei coecienti ha rango massimo, ha soluzioni non nulle che
dieriscono tra loro per una costante moltiplicativa.
Tali soluzioni non possono fornire coecienti b
i
tutti uguali a zero, cio`e
non possono essere tali da rendere Q
m
(x) identicamente nullo; infatti, se cos`
fosse, P
n
(x) avrebbe n + m + 1 zeri quando il suo grado `e al pi` u n.
6.6. APPROSSIMAZIONE POLINOMIALE 143
Se in corrispondenza alle soluzioni non nulle del sistema (6.15) si verica
Q
m
(x
r
) = 0 , (6.16)
per qualche indice r compreso tra 0 e n + m, il problema dellinterpolazione
mediante funzioni razionali per quei punti non ha soluzione ed i punti per i
quali si verica la (6.16) si dicono punti inaccessibili.
6.6 Approssimazione polinomiale
Non sempre i polinomi di interpolazione sono adatti per approssimare una
funzione continua con una data accuratezza su tutto un intervallo. Infatti,
per un noto teorema di Bernstein, dato un intervallo [a, b] e ssati in esso
k + 1 punti, con k = 1, 2, . . ., esiste certamente qualche funzione f(x) con-
tinua su [a, b], con la propriet`a che la successione dei polinomi interpolanti
P
1
(x), P
2
(x), . . ., di grado pari allindice, non converge uniformemente ad
f(x). Tuttavia, se, per una funzione continua f(x), si cerca nella classe di
tutti i polinomi, anziche fra quelli della particolare successione sopra denita,
allora esiste qualche polinomio che approssima f(x) quanto si vuole, uni-
formemente su [a, b]. Vale infatti il seguente fondamentale teorema.
Teorema 6.6.1 (di Weierstrass) Sia f(x) C
0
([a, b]); allora per ogni > 0
esiste un intero n, dipendente da , ed un polinomio p(x) di grado al pi` u n,
tale che sia
| f(x) p(x) |< , x [a, b]. (6.17)
Per esempio, Bernstein ha dimostrato che si possono costruire eettiva-
mente polinomi p(x) aventi la propriet`a (6.17), in base al seguente teorema.
Teorema 6.6.2 Data f(x) C
0
([0, 1]), si denisca il polinomio di grado n
B
n
(f; x) =
n

i=0
n!
i!(n i)!
x
i
(1 x)
ni
f
_
i
n
_
, (6.18)
allora la successione di polinomi {B
n
} converge uniformemente a f(x) su
[0, 1].
Si noti che, eettuando nella (6.18) la sostituzione x =
ta
ba
, il polinomio
trasformato B
n
(f; t) risulta denito su [a, b] e quindi pu`o sostituirsi al poli-
nomio p(x) della (6.17).
144 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
Lapprossimazione, polinomiale o no, di una funzione f(x) pu`o anche
ottenersi richiedendo che siano vericate propriet`a diverse dalla (6.17); per
esempio, spesso nelle applicazioni si impone la propriet`a che la funzione ap-
prossimante minimizzi una opportuna norma euclidea. Con questo criterio,
detto dei minimi quadrati, si possono, per esempio, costruire approssimazioni
che utilizzano un insieme discreto di punti dati [x
i
, f(x
i
)], senza necessaria-
mente imporre al graco della funzione approssimante di passare per quei
punti, come nel caso dellinterpolazione.
6.7 Metodo dei minimi quadrati nel discreto
Siano date m + 1 funzioni
i
(x), i = 0, 1, . . . , m, m k, continue almeno
su un insieme I contenente k + 1 punti x
j
, j = 0, 1, . . . , k, e si abbiano i
valori f(x
j
) per ogni x
j
. Si consideri la funzione combinazione lineare delle

i
(x)
(x) = c
0

0
(x) + c
1

1
(x) + + c
m

m
(x)
dove c
i
IR, i = 0, 1, . . . , m. Si vuole approssimare f(x) con (x).
`
E evidente che la funzione (x) dipende dalla scelta dei coecienti c
i
. Il
metodo dei minimi quadrati consiste nello scegliere i coecienti c
i
per i quali
la funzione
(c
0
, c
1
, . . . , c
m
) =
k

j=0
_
m

i=0
c
i

i
(x
j
) f(x
j
)
_
2
(6.19)
assume valore minimo. La funzione (6.19) rappresenta la somma degli scarti
quadratici tra la funzione (x) e la funzione f(x) nei punti x
j
e coincide con
il quadrato della norma euclidea del vettore di componenti (x
j
) f(x
j
).
Da qui la denominazione del metodo.
La (6.19) `e una funzione continua di m + 1 variabili, per cui il punto di
minimo assoluto (se esiste) `e da ricercarsi tra i punti di IR
m+1
per i quali
sono nulle tutte le derivate parziali della rispetto a c
0
, c
1
, . . . , c
m
.
Si hanno quindi le relazioni

c
s
= 2
k

j=0
_
m

i=0
c
i

i
(x
j
) f(x
j
)
_

s
(x
j
) = 0, s = 0, 1, . . . , m, (6.20)
che costituiscono un sistema lineare di m+1 equazioni nelle m+1 incognite
c
0
, c
1
, . . . , c
m
.
6.7. METODO DEI MINIMI QUADRATI NEL DISCRETO 145
Ponendo c = (c
0
, c
1
, . . . , c
m
)
T
, b = (f(x
0
), f(x
1
), . . . , f(x
k
))
T
,
A =
_
_
_
_
_

0
(x
0
)
1
(x
0
)
m
(x
0
)

0
(x
1
)
1
(x
1
)
m
(x
1
)

0
(x
k
)
1
(x
k
)
m
(x
k
)
_
_
_
_
_
,
la (6.19) pu`o scriversi
(c) = (Ac b)
T
(Ac b) = Ac b
2
2
, (6.21)
mentre il sistema (6.20), detto sistema delle equazioni normali, pu`o essere
scritto nella forma
A
T
Ac A
T
b = 0. (6.22)
Questo sistema ha soluzione, in quanto si pu`o dimostrare che r(A
T
A) =
r(A
T
A | A
T
b).
Nel caso in cui la matrice A IR
(k+1)(m+1)
abbia rango uguale a m + 1,
per il Teorema 2.3.1, la matrice A
T
A IR
(m+1)(m+1)
ha determinante diverso
da zero; quindi il sistema (6.22) ha ununica soluzione e la funzione (c) ha
un unico punto stazionario. Tale punto stazionario risulta il punto di minimo
assoluto. Infatti, la matrice hessiana della (6.21) `e la matrice A
T
A che, nel
caso in esame, risulta denita positiva.
La scelta delle funzioni
i
(x) pu`o, in pratica, dipendere dalla distribuzione
sul piano cartesiano dei punti di coordinate [x
j
, f(x
j
)], j = 0, 1, . . . , k. Le
scelte pi` u comuni sono:

0
(x) = 1,
1
(x) = x,
2
(x) = x
2
, . . . ;

0
(x) =
1
2
,
1
(x) = cos x,
2
(x) = sin x,

3
(x) = cos(2x),
4
(x) = sin(2x), . . . ;

0
(x) = e

0
x
,
1
(x) = e

1
x
,
2
(x) = e

2
x
, . . .,
(
0
,
1
,
2
. . . IR,
r
=
s
, con r = s) .
Si ha cos` la migliore approssimazione (x) nel senso dei minimi quadrati
rispettivamente di tipo polinomiale, trigonometrica ed esponenziale.
146 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
6.8 Complementi ed esempi
6.8.1 Propriet`a ed applicazioni delle dierenze divise
Propriet`a 6.8.1 (di simmetria) Se i
0
, i
1
, . . . , i
k
, `e una qualunque permu-
tazione dei numeri 0, 1, . . . , k, si ha
f[x
i
0
, x
i
1
, . . . , x
i
k
] = f[x
0
, x
1
, . . . , x
k
].
Dimostrazione. La dierenza divisa f[x
0
, x
1
, . . . , x
k
] `e il coeciente della
potenza x
k
del polinomio di interpolazione espresso dalla (6.6). Costruendo il
polinomio di interpolazione relativo ai punti x
i
0
, x
i
1
, . . . , x
i
k
, ne viene che il coef-
ciente del termine in x
k
`e dato da f[x
i
0
, x
i
1
, . . . , x
i
k
]. Per lunicit`a del polinomio
di interpolazione si ha la tesi.
Propriet`a 6.8.2 Se f(x) C
1
(I), la funzione f[x
0
, x
1
, . . . , x
k1
, x] `e pro-
lungabile per continuit` a su tutto I.
Dimostrazione. Si procede per induzione.
Dalla Denizione 6.1.1 e dalla derivabilit`a di f(x) segue
lim
xx
i
f[x
i
, x] = lim
xx
i
f(x) f(x
i
)
x x
i
= f

(x
i
)
per cui le dierenze divise del primo ordine risultano prolungabili per continuit`a
ponendo f[x
i
, x
i
] = f

(x
i
), i = 0, 1, . . . , k.
Supposto che le dierenze divise di ordine s siano continue su I, per le dierenze
divise di ordine s + 1, dalla denizione e dalla Propriet`a 6.8.1, si ha
f[x
0
, x
1
, . . . , x
s
, x] = f[x, x
0
, x
1
, . . . , x
s
]
=
f[x, x
0
, x
1
, . . . , x
s2
, x
s
] f[x, x
0
, x
1
, . . . , x
s1
]
x
s
x
s1
;
dalla continuit`a del numeratore di questultima frazione segue la continuit`a su I
delle dierenze divise di ordine s + 1 se si pone
f[x
0
, x
1
, . . . , x
s
, x
i
] =
f[x
i
, x
0
, x
1
, . . . , x
s2
, x
s
] f[x
i
, x
0
, x
1
, . . . , x
s1
]
x
s
x
s1
,
i = 0, 1, . . . , s .
6.8. COMPLEMENTI ED ESEMPI 147
La tesi risulta cos` provata.
Osservazione 6.8.1 Come conseguenza della Propriet`a 6.8.2 si ha che,
nellipotesi f(x) C
1
(I), la (6.1) e la (6.2) restano valide anche quando
x
0
, x
1
, . . . , x
k
non sono tutti distinti.
Propriet`a 6.8.3 Se f(x) C
k
(I) esiste almeno un valore , con la pro-
priet`a min
i
x
i
< < max
i
x
i
, tale che
f[x
0
, x
1
, . . . , x
k
] =
f
(k)
()
k!
.
Dimostrazione. La funzione Q(x) = f(x) P
k
(x) ammette come zeri i valori
x
0
, x
1
, . . . , x
k
, in quanto sono vericate le condizioni (6.4). Dal teorema di Rolle
discende che la funzione Q

(x) ha almeno k zeri distinti appartenenti allintervallo


] min
i
x
i
, max
i
x
i
[. Analogamente, la funzione Q

(x) ammette almeno k 1 zeri


distinti e cos` di seguito. Quindi la funzione Q
(k)
(x) ammette almeno uno zero
tale che min
i
x
i
< < max
i
x
i
.
Calcolando la funzione Q
(k)
(x) nel punto si ha
Q
(k)
() = f
(k)
() P
(k)
k
() = f
(k)
() k!f[x
0
, x
1
, . . . , x
k
] = 0
da cui la tesi.
Come applicazione di questa propriet`a si ottiene lespressione data nel
Teorema 6.2.2 per lerrore E
k
(x) = f(x) P
k
(x).
Per calcolare le dierenze divise che intervengono nel polinomio di in-
terpolazione di Newton (6.6) si pu`o ricorrere alla costruzione di un quadro
delle dierenze divise come in Fig. 6.1 dove nella colonna DDr sono riportate
opportune dierenze divise di ordine r.
x f(x) DD1 DD2 DD3
x
0
f(x
0
)
x
1
f(x
1
) f[x
0
, x
1
]
x
2
f(x
2
) f[x
0
, x
2
] f[x
0
, x
1
, x
2
]
x
3
f(x
3
) f[x
0
, x
3
] f[x
0
, x
1
, x
3
] f[x
0
, x
1
, x
2
, x
3
]
Figura 6.1: Quadro delle dierenze divise.
148 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
Il quadro pu`o essere esteso quanto si vuole, osservando che ogni dierenza
divisa si ottiene sottraendo al termine che si trova nella stessa riga e nella
colonna immediatamente a sinistra il primo termine di questa colonna e di-
videndo per la dierenza dei corrispondenti x
i
.
Le dierenze divise che gurano nel polinomio (6.6) sono date dal primo
termine di ciascuna colonna.
Osservazione 6.8.2 Nel caso in cui gli elementi della colonna delle dierenze
di ordine r risultino tutti uguali fra loro, gli elementi delle colonne successive
sono nulli, perci`o il grado del polinomio di interpolazione `e r.
Osservazione 6.8.3 Il valore della dierenza divisa di ordine k si pu`o anche
ottenere direttamente dalla formula
f[x
0
, x
1
, . . . , x
k
] =
f(x
0
)
(x
0
x
1
)(x
0
x
2
) (x
0
x
k
)
+
f(x
1
)
(x
1
x
0
)(x
1
x
2
) (x
1
x
k
)
+
+
f(x
k
)
(x
k
x
0
)(x
k
x
1
) (x
k
x
k1
)
che si dimostra per induzione.
Esempio 6.8.1
`
E data la seguente tabella di valori
x 0 1 2 2 3
y 5 3 3 9 11
.
Si vuole il polinomio di interpolazione di Newton P
4
(x). Dai dati si ottiene
il seguente quadro delle dierenze divise
x y DD1 DD2 DD3
0 5
1 3 2
2 3 1 1
2 9 7 5 1
3 11 2 0 1
Le dierenze divise del terzo ordine risultano uguali tra loro per cui il
polinomio di interpolazione `e di grado 3. Usando la (6.6), si ha
P
4
(x) = 5 + 2x x(x + 1) + x(x + 1)(x 2)
= x
3
2x
2
x + 5.
6.8. COMPLEMENTI ED ESEMPI 149
A conferma di quanto accennato in 6.4 si riporta un esempio nel quale al
crescere del grado del polinomio di interpolazione peggiora lapprossimazione
della funzione f(x).
Esempio 6.8.2 Si consideri la funzione di Runge, rappresentata in [0, 1],
f(x) =
1
100x
2
100x + 26
,
per la quale risulta f(x) C

([0, 1]), e si scelgano i punti equidistanti x


i
=
i/k, i = 0, 1, . . . , k.
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
3
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Figura 6.2: Polinomio di interpolazione P
15
(x) (linea tratteggiata) a con-
fronto con la funzione di Runge (linea continua).
Si vede dalla Fig. 6.2 che lerrore E
k
(x) corrispondente al polinomio di
interpolazione P
k
(x), in prossimit`a degli estremi dellintervallo, assume valori
elevati.
Si pu`o anche dimostrare che
lim
k
max
0x1
| E
k
(x) |= +.
150 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
In generale, il comportamento dellerrore dipende dalla particolare scelta
dei punti x
i
, i = 0, 1, . . . , k. Per esempio, se si scelgono come nodi gli zeri
dei polinomi di Chebyshev di prima specie (cfr. 7.4) si dimostra che, per ogni
f(x) C
2
([1, 1]), P
k
(x) converge uniformemente ad f(x) su [1, 1] per
k e si ha f(x) P
k
(x)

= O
_
1

k
_
Una interessante applicazione delle dierenze divise si ha nellesempio
che segue, in cui si espone il metodo di Pasquini-Trigiante che permette di
approssimare simultaneamente tutte le radici di unequazione algebrica.
Esempio 6.8.3 Si supponga che lequazione
f(x) = x
m
+ a
m1
x
m1
+ + a
0
= 0 (a
i
IR) (6.23)
abbia m radici reali. Dalla (6.2) relativa ai punti x
1
, . . . , x
m
, non necessaria-
mente tutti distinti (cfr. Osservazione 6.8.1) si ha
f(x) = f[x
1
] + (x x
1
)f[x
1
, x
2
] +
+(x x
1
) (x x
m1
)f[x
1
, . . . , x
m
]
+(x x
1
) (x x
m
)f[x
1
, . . . , x
m
, x]
(dove si `e posto f[x
1
] = f(x
1
)). Ne segue che se i numeri x
1
, . . . , x
m
, veri-
cano il sistema
f[x
1
] = 0
f[x
1
, x
2
] = 0
f[x
1
, x
2
, x
3
] = 0

f[x
1
, x
2
, . . . , x
m
] = 0 ,
(6.24)
allora coincidono con le radici dellequazione (6.23) e viceversa.
Si pu`o dimostrare che il metodo di Newton-Raphson applicato al si-
stema (6.24) `e convergente, comunque si scelga il vettore iniziale x
(0)
=
(x
(0)
1
, . . . , x
(0)
m
)
T
IR
m
, con lesclusione al pi` u di un insieme di punti di IR
m
di
misura nulla.
Utilizzando note propriet`a delle dierenze divise e delle equazioni alge-
briche `e possibile porre le iterazioni di Newton per il sistema (6.24) nella
6.8. COMPLEMENTI ED ESEMPI 151
forma
x
(n+1)
k
= x
(n)
k

k
, k = 1, 2, . . . , m1,
x
(n+1)
m
= a
m1

m1
k=1
x
(n)
k
.
Gli incrementi
k
si costruiscono col seguente algoritmo:
per k = 1, 2, . . . , m1
p
0,k
:= 1;
per i = 1, 2, . . . , mk + 1
p
i,0
:= 0,
p
i,k
= p
i,k1
+ p
i1,k
x
(n)
k
;
P
k
=

mk+1
r=0
a
r+k1
p
r,k
;
per j = 1, 2, . . . , k
q
[j]
0,k
:= 1,
per h = 1, 2, . . . , mk
q
[j]
h,k
= p
h,k
+ q
[j]
h1,k
x
(n)
j
;
Q
j,k
=

mk
r=0
a
r+k
q
[j]
r,k
;

k
= (P
k

k1
r=1
Q
r,k
)/Q
k,k
.
Nellalgoritmo si `e assunto a
m
= 1 e

0
r=1
= 0.
Per esempio, si consideri lequazione algebrica
x
6
4x
5
2x
4
+ 32x
3
59x
2
+ 44x 12 = 0
le cui soluzioni sono x
1
= x
2
= x
3
= 1, x
4
= x
5
= 2, x
6
= 3.
Scegliendo x
(0)
= (0, 0, 0, 0, 0, 0)
T
, il metodo di Pasquini-Trigiante, pro-
grammato in precisione doppia, fornisce, dopo n iterazioni, i seguenti risultati
che si riportano con 7 cifre decimali.
n x
(n)
1
x
(n)
2
x
(n)
3
x
(n)
4
x
(n)
5
x
(n)
6
1 0.2727272 0.4730354 1.0979872 14.1562500 4.5000000 16.5000000
5 0.8120109 1.1411024 0.9627325 3.5977632 0.7398782 3.2534874
10 0.9720920 0.9717788 1.0563354 2.0696312 1.9301192 2.9999568
20 0.9995045 0.9984509 1.0006503 2.0000913 1.9999086 2.9999999
30 0.9999282 1.0000030 1.0000041 2.0000000 1.9999999 3.0000000
152 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
6.8.2 Interpolazione inversa
In alcune applicazioni si presenta il problema di determinare per quali
valori reali di x una funzione, nota per punti, assume un dato valore c.
Un modo di procedere consiste nel sostituire alla funzione f(x) il poli-
nomio di interpolazione P
k
(x) relativo ai punti dati e nel risolvere lequazione
algebrica
P
k
(x) c = 0 (6.25)
ricorrendo, se necessario, alle tecniche esposte nel Capitolo 4.
Tuttavia, nel caso in cui la funzione f(x) sia monotona, almeno su un
intervallo contenente tutti i valori x
i
, e quindi risulti invertibile su tale inter-
vallo, si pu`o evitare la risoluzione della (6.25).
Infatti, posto y
i
= f(x
i
), i = 0, 1, . . . , k, si costruisce il polinomio di
interpolazione Q
k
(y) tale che Q
k
(y
i
) = x
i
, i = 0, 1, . . . , k, e si approssima il
valore richiesto calcolando Q
k
(c).
Questa tecnica prende il nome di interpolazione inversa.
Esempio 6.8.4
`
E data la seguente tabella di valori
x 1 0 1 3
y(x) 4 2 0 2
.
Si vuole una stima del valore per il quale y() = 0.5.
Dai dati appare ragionevole supporre che la funzione y(x) sia monotona al
variare di x nellintervallo contenente i quattro valori assegnati; si costruisce
quindi il polinomio Q
3
(y) usando il seguente quadro delle dierenze divise
y(x) x DD1 DD2 DD3
4 1
2 0 1/2
0 1 1/2 0
2 3 2/3 1/24 1/48
Risulta
Q
3
(y) = 1
1
2
(y 4)
1
48
y(y 4)(y 2)
=
1
48
(y
3
+ 6y
2
32y + 48) .
6.8. COMPLEMENTI ED ESEMPI 153
Una stima di `e data da
Q
3
(0.5) =
801
1152
= 0.6953125.
Usando invece linterpolazione diretta, si ha il polinomio P
3
(x) =
1
12
(x
3

25x+24); si risolve quindi lequazione P


3
(x)0.5 = 0, ossia x
3
25x+18 = 0,
che ha ununica soluzione nellintervallo [1, 3]. Applicando, ad esempio, il
metodo di Newton si ottiene
0.7359438 .
6.8.3 Altri esempi di interpolazione
Esempio 6.8.5
`
E data la tabella di valori
x 1 0 1 2 3
y 1/3 1/2 3/5 2/3 5/7
.
Si vogliono interpolare tali valori con la funzione
R
2
2
(x) =
a
2
x
2
+ a
1
x + a
0
b
2
x
2
+ b
1
x + b
0
.
I coecienti reali a
0
, a
1
, a
2
, b
0
, b
1
, b
2
, sono determinati dalle condizioni R
2
2
(x
i
) =
y
i
, i = 0, 1, 2, 3, 4, che forniscono il sistema lineare omogeneo di 5 equazioni
in 6 incognite
a
2
a
1
+ a
0

1
3
b
2
+
1
3
b
1

1
3
b
0
= 0
a
0

1
2
b
0
= 0
a
2
+ a
1
+ a
0

3
5
b
2

3
5
b
1

3
5
b
0
= 0
4a
2
+ 2a
1
+ a
0

8
3
b
2

4
3
b
1

2
3
b
0
= 0
9a
2
+ 3a
1
+ a
0

45
7
b
2

15
7
b
1

5
7
b
0
= 0 .
Ovviamente esistono innite soluzioni. Ponendo, per esempio, b
2
= 1, si
ha
a
0
= 2, a
1
= 1, a
2
= 1, b
0
= 4, b
1
= 3,
154 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
per cui
R
2
2
(x) =
x
2
+ x 2
x
2
+ 3x 4
.
Si noti che, in questo caso particolare, R
2
2
(x) si semplica nella forma
x+2
x+4
.
Esempio 6.8.6 Si vuole determinare la spline cubica naturale S
3
(x) che
interpola i valori
x 0 1 2
y a a 2a
dove a IR.
La spline S
3
(x) `e composta da due polinomi p
1
(x), p
2
(x) (cfr. Teorema 6.4.1),
di grado al pi` u tre, relativi agli intervalli [0, 1] e [1, 2].
Il sistema (6.13), in questo caso, diventa
2m
0
+ m
1
+ = 6a
m
0
+ 4m
1
+ m
2
= 3a
m
1
+ 2m
2
= 9a
ed ha la soluzione
m
0
=
13
4
a, m
1
=
1
2
a, m
2
=
17
4
a .
Si ha quindi la spline S
3
(x) formata dai polinomi
p
1
(x) =
5
4
ax
3

13
4
ax + a , x [0, 1] ,
p
2
(x) =
5
4
ax
3
+
15
2
ax
2

43
4
ax +
7
2
a , x [1, 2] .
Esempio 6.8.7 Per la funzione f(x) = sin(2x), sullintervallo [0, 1], sono
assegnate due tabelle di valori che si vogliono interpolare facendo ricorso a
diversi tipi di interpolazione.
6.8. COMPLEMENTI ED ESEMPI 155
1. Sia data la tabella di valori
x 0 1/4 1/2 3/4 1
f(x) 0 1 0 1 0
.
Si ottiene il polinomio di interpolazione di Lagrange
L
4
(x) = l
1
(x) l
3
(x)
=
128
3
x(x 1/2)(x 3/4)(x 1)
+
128
3
x(x 1/4)(x 1/2)(x 1)
=
32
3
(2x
3
3x
2
+ x) .
2. Sia data la tabella di valori
x 0 1
f(x) 0 0
f

(x) 2 2
.
Il polinomio interpolante di Hermite risulta
H(x) = h
10
(x)2 + h
11
(x)2
= x(x 1)
2
2 + (x 1)x
2
2
= 2(2x
3
3x
2
+ x) .
3. La spline cubica naturale S
3
(x) che interpola i valori della tabella del
punto 1 si ottiene risolvendo il sistema lineare che risulta da (6.13) con
h = 1/4, k = 4,
2m
0
+ m
1
= 12
m
0
+ 4m
1
+ m
2
= 0
m
1
+ 4m
2
+ m
3
= 24
m
2
+ 4m
3
+ m
4
= 0
m
3
+ 2m
4
= 12
la cui soluzione `e
m
0
= 6, m
1
= 0, m
2
= 6, m
3
= 0, m
4
= 6.
156 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
Si ha, quindi, la spline S
3
(x)
p
1
(x) = 32x
3
+ 6x , x [0, 1/4] ,
p
2
(x) = 32x
3
48x
2
+ 18x 1 , x [1/4, 1/2] ,
p
3
(x) = 32x
3
48x
2
+ 18x 1 , x [1/2, 3/4] ,
p
4
(x) = 32x
3
+ 96x
2
90x + 26 , x [3/4, 1] .
6.8.4 Derivazione numerica
Si considera il problema di valutare le derivate di una funzione della quale
sono assegnati i valori in alcuni punti di un intervallo dellasse reale.
Siano y
i
= f(x
i
), i = 0, 1, . . . , k, con x
0
< x
1
< < x
k
, i valori dati.
Il problema pu`o essere risolto approssimando f

(x), f

(x), . . ., in un punto
x ]x
0
, x
k
[, con le corrispondenti derivate di un polinomio di interpolazione
di f(x).
Tuttavia, nellinterpolazione parabolica, polinomi di grado elevato pos-
sono scostarsi molto dai valori di f(x) (cfr. Esempio 6.8.2). Inoltre, la
propriet`a f(x
i
) = P
k
(x
i
), i = 1, 2, . . . , k 1, non implica che siano piccoli gli
errori
| P

k
(x
i
) f

(x
i
) |, | P

k
(x
i
) f

(x
i
) |, . . . , i = 1, 2, . . . , k 1.
Per questo motivo, quando per approssimare una derivata si usa linter-
polazione parabolica, ci si limita a polinomi di grado non elevato e si stimano
i valori di f

(x), f

(x), . . ., utilizzando i dati solo in alcuni punti vicini al


punto x.
In quello che segue, si danno le formule pi` u comuni per la derivata prima
e seconda.
Allo scopo si considerano i polinomi di secondo grado
q
i
(x) = l
i1
(x)y
i1
+ l
i
(x)y
i
+ l
i+1
(x)y
i+1
, i = 1, 2, . . . , k 1,
dove
l
i1
(x) =
(x x
i
)(x x
i+1
)
(x
i1
x
i
)(x
i1
x
i+1
)
,
6.8. COMPLEMENTI ED ESEMPI 157
l
i
(x) =
(x x
i1
)(x x
i+1
)
(x
i
x
i1
)(x
i
x
i+1
)
,
l
i+1
(x) =
(x x
i1
)(x x
i
)
(x
i+1
x
i1
)(x
i+1
x
i
)
.
Si assume quindi f

(x) q

i
(x) e f

(x) q

i
(x), x ]x
i1
, x
i+1
[. Se x
i
=
x
0
+ ih, i = 0, 1, . . . , k, h > 0, si hanno le cosiddette formule centrali
f

(x
i
) q

i
(x
i
) =
y
i+1
y
i1
2h
, i = 1, 2, . . . , k 1, (6.26)
f

(x
i
) q

i
(x
i
) =
y
i1
2y
i
+ y
i+1
h
2
, i = 1, 2, . . . , k 1. (6.27)
Lerrore di troncamento della (6.26) `e E
1
(x
i
) = f

(x
i
) q

i
(x
i
) e pu`o essere
determinato, nel caso che f(x) C
3
(]x
0
, x
k
[), considerando, per esempio, gli
sviluppi di Taylor
y
i+1
= y
i
+ f

(x
i
)h +
1
2
f

(x
i
)h
2
+
1
6
f
(3)
(
i+1
)h
3
,
i+1
]x
i
, x
i+1
[,
y
i1
= y
i
f

(x
i
)h +
1
2
f

(x
i
)h
2

1
6
f
(3)
(
i1
)h
3
,
i1
]x
i1
, x
i
[.
Sottraendo membro a membro queste due relazioni si ottiene,
f

(x
i
) =
y
i+1
y
i1
2h
+ E
1
(x
i
) ,
dove
E
1
(x
i
) =
1
12
_
f
(3)
(
i+1
) + f
(3)
(
i1
)
_
h
2
=
1
6
f
(3)
(
i
)h
2
,

i
[
i1
,
i+1
].
Analogamente, supposto f(x) C
4
(]x
0
, x
k
[), si ottiene lerrore di tronca-
mento della (6.27). Dagli sviluppi di Taylor, arrestati ai termini del quarto
ordine e sommati membro a membro, si ha
f

(x
i
) =
y
i1
2y
i
+ y
i+1
h
2
+ E
2
(x
i
) ,
dove
E
2
(x
i
) =
1
24
_
f
(4)
(
i+1
) + f
(4)
(
i1
)
_
h
2
=
1
12
f
(4)
(
i
)h
2
,
158 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
con
i+1
]x
i
, x
i+1
[,
i1
]x
i1
, x
i
[ e
i
[
i1
,
i+1
] .
Esempio 6.8.8 Si consideri il problema dierenziale
y

(x) = e
y(x)
,
y(0) = 0 ,
y(1) = 0 ,
la cui soluzione esatta `e
y(x) = log
_

_
1
2
_
_
c
cos
_
cx
2

c
4
_
_
_
2
_

_
,
essendo la costante c, soluzione dellequazione c
2
2 cos
2
(c/4) = 0, approssi-
mata da 1.3360556949061.
Fatta una partizione dellintervallo [0, 1] mediante i punti x
i
= ih, i =
1, 2, . . . , k 1, h = 1/k, si vogliono calcolare i valori y
i
che approssimano, in
tali punti, la soluzione y(x) del problema dato.
Posto y
0
= y(0) = 0, y
k
= y(1) = 0 e tenuto conto che per la (6.27) pu`o
scriversi
y

(x
i
)
y
i1
2y
i
+ y
i+1
h
2
, i = 1, 2, . . . , k 1,
i valori cercati sono la soluzione del sistema non lineare
y
i1
2y
i
+ y
i+1
h
2
= e
y
i
, i = 1, 2, . . . , k 1.
Posto y
T
= (y
1
, . . . , y
k1
), tale sistema `e della forma g(y) = 0 con g
T
(y) =
(g
1
(y), g
2
(y), . . . , g
k1
(y)),
g
1
(y) = 2y
1
h
2
e
y
1
+ y
2
,
g
i
(y) = y
i1
2y
i
h
2
e
y
i
+ y
i+1
, i = 2, . . . , k 2 ,
g
k1
(y) = y
k2
2y
k1
h
2
e
y
k1
.
Applicando il metodo di Newton y
(r+1)
= y
(r)
J
1
(y
(r)
)g(y
(r)
), r =
0, 1, . . ., con k = 10, y
(0)
= 0 e arrestando le iterazioni al vericarsi di
6.8. COMPLEMENTI ED ESEMPI 159
y
(r+1)
y
(r)

< 10
6
, si `e ottenuto
y
(3)

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0.041404
0.073214
0.095730
0.109159
0.113622
0.109159
0.095730
0.073214
0.041404
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
dove lerrore max
1ik1
| y
(3)
i
y(x
i
) | `e dellordine di 10
4
.
Per la derivazione approssimata si possono anche utilizzare funzioni spline.
Come `e noto, esse hanno grado indipendente dal numero dei punti della par-
tizione, e buone caratteristiche di convergenza (cfr. Teorema 6.4.2).
Se quindi si conosce la spline S
3
(x) che interpola i valori y
i
= f(x
i
),
x
i
= x
0
+ih, i = 0, 1, . . . , k, si assume, per ogni x [x
0
, x
k
], f

(x) S

3
(x) e
f

(x) S

3
(x). In particolare, dalla dimostrazione del Teorema 6.4.1, risulta
f

(x
i
) m
i
, i = 0, 1, . . . , k,
f

(x
0
)
2
h
2
[3(y
1
y
0
) h(m
1
+ 2m
0
)] ,
f

(x
i
)
2
h
2
[3(y
i1
y
i
) + h(2m
i
+ m
i1
)] , i = 1, 2, . . . , k.
Esempio 6.8.9
`
E data la seguente tavola dei valori di y = f(x)
x 0 0.1 0.2 0.3
y 1 100/101 25/26 100/109
;
inoltre sono assegnati y

0
= f

(0) = 0 e y

3
= f

(0.3) = 6000/11881.
Si vogliono stimare f

(0.1), f

(0.1), e f

(0.2), f

(0.2).
`
E conveniente ricorrere ad una spline vincolata al ne di utilizzare i valori
dati di f

(x) negli estremi dellintervallo. In casi di questo genere, poiche i


momenti m
0
e m
k
sono noti, nel sistema (6.13) la prima e lultima equazione
vengono soppresse mentre nella seconda e nella penultima si portano m
0
e
m
k
a secondo membro. Il sistema quindi si riduce a sole k 1 equazioni in
altrettante incognite.
160 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
Nella fattispecie si ha
4m
1
+ m
2
=
3
h
(y
2
y
0
) y

0
m
1
+ 4m
2
=
3
h
(y
3
y
1
) y

3
.
Posto h = 0.1, inserendo i dati e arrotondando i calcoli alla sesta cifra dopo
la virgola, si ricava
m
1
= 0.196024 , m
2
= 0.369750 ,
che possono essere assunti come stime di f

(0.1) e f

(0.2) rispettivamente.
Le derivate seconde possono essere approssimate con (cfr. 6.4)
p

2
(x
1
) =
2
h
2
[3(y
2
y
1
) h(m
2
+ 2m
1
)] ,
p

2
(x
2
) =
2
h
2
[3(y
1
y
2
) + h(2m
2
+ m
1
)] .
Sostituendo i valori trovati per m
1
ed m
2
ed arrotondando i calcoli come
sopra si ottiene
p

2
(0.1) = 1.900369, p

2
(0.2) = 1.574151,
che si assumono come stime di f

(0.1) e f

(0.2).
Al ne di evidenziare la bont`a delle approssimazioni ottenute, si eettua
il confronto con i valori esatti essendo i dati della tavola quelli della funzione
f(x) =
1
1+x
2
. Si ha:
| m
1
f

(0.1) | 3.5 10
5
, | m
2
f

(0.2) | 7.2 10
5
,
| p

2
(0.1) f

(0.1) | 1.7 10
2
, | p

2
(0.2) f

(0.2) | 1.3 10
1
.
Se, in luogo della spline vincolata, si usano le formule (6.26) e (6.27) si
ottiene:
f

(0.1) q

1
(0.1) = 0.192307,
f

(0.2) q

2
(0.2) = 0.363339,
f

(0.1) q

2
(0.1) = 1.865956,
f

(0.2) q

2
(0.2) = 1.554672,
da cui gli errori
| q

1
(0.1) f

(0.1) | 3.8 10
3
, | q

2
(0.2) f

(0.2) | 6.5 10
3
,
| q

1
(0.1) f

(0.1) | 1.7 10
2
, | q

2
(0.2) f

(0.2) | 1.5 10
1
.
Si spiega la minore precisione raggiunta in questo secondo caso con il
fatto che le formule (6.26) e (6.27) non tengono conto dei dati f

(0) e f

(0.3).
6.8. COMPLEMENTI ED ESEMPI 161
6.8.5 Sistemi lineari sovradeterminati
Siano k e m due numeri naturali con k > m e inoltre si abbiano A IR
km
e b IR
k
. Il sistema lineare sovradeterminato
Ax = b (6.28)
ha soluzione se e solo se r(A) = r(A | b) (cfr. Teorema 2.5.1).
Nel caso r(A) < r(A | b), il sistema (6.28) non ha soluzione e quindi per
ogni vettore x IR
m
si ha
b Ax = r
dove r IR
k
, il vettore dei residui, risulta non nullo.
Si dice che si risolve il sistema (6.28) nel senso dei minimi quadrati se si
determina un vettore x IR
m
che renda minimo il prodotto scalare
(x) = (b Ax)
T
(b Ax) = r
T
r =
k

i=1
r
2
i
= r
2
2
. (6.29)
La determinazione di un punto di minimo `e ricondotta alla ricerca dei punti
che annullano tutte le derivate parziali prime della (x) ossia alla risoluzione
del sistema lineare

x
i
_
(b Ax)
T
(b Ax)
_
= 0, i = 1, 2, . . . , m,
che si pu`o scrivere nella forma
A
T
Ax = A
T
b , (6.30)
la cui risolubilit`a risulta da quanto si `e detto per il sistema (6.22).
La risoluzione del sistema (6.28) nel senso dei minimi quadrati `e sempli-
cata se della matrice A si conosce una decomposizione ai valori singolari (cfr.
2.9) A = UV
T
con IR
km
, mentre U IR
kk
e V IR
mm
sono matrici
unitarie.
Si pu`o dimostrare che, indicando con u
i
e v
i
le colonne, rispettivamente,
delle matrici U e V e con
i
, i = 1, 2, . . . , s (s = r(A)), i valori singolari non
nulli della matrice A, un vettore c che minimizza la (x) `e dato da
c =
s

i=1
u
T
i
b

i
v
i
. (6.31)
162 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
Si pu`o vericare che a tale vettore corrisponde lo scarto quadratico
(b Ac)
T
(b Ac) =
k

i=s+1

u
T
i
b

2
.
Se s = m, c `e lunica soluzione del sistema (6.30) mentre se s < m nello
spazio delle soluzioni del sistema (6.30) c `e il vettore con norma euclidea
minima.
Esempio 6.8.10 Si consideri il sistema lineare sovradeterminato
_

_
2x
1
x
2
= 1
x
1
+ x
2
= 0
x
1
+ 2x
2
= 1 .
La matrice del sistema `e quindi
A =
_
_
_
2 1
1 1
1 2
_
_
_.
I valori singolari della matrice A, ricavati in base al Teorema 2.9.2, sono

1
=

7 e
2
=

5 ed una decomposizione ai valori singolari `e A = UV


T
con
U =

70
70
_
_
_
3

7 3

2
2

5 0 5

5 3

2
_
_
_, =
_
_
_

7 0
0

5
0 0
_
_
_,
V =

2
2
_
1 1
1 1
_
.
La (6.31) fornisce la soluzione del sistema nel senso dei minimi quadrati
c =
_
19
35
,
9
35
_
T
.
Alla stessa soluzione si giunge risolvendo il sistema (6.30).
6.8. COMPLEMENTI ED ESEMPI 163
Esempio 6.8.11 Si consideri il sistema lineare Ax = b con A IR
n2
e
b IR
n
dati da
A =
_
_
_
_
_
_
_
_
_
1 1
1 1
.
.
.
.
.
.
1 1
1 1
_
_
_
_
_
_
_
_
_
, b =
_
_
_
_
_
_
_
_
_
1
2
.
.
.
n 1
n
_
_
_
_
_
_
_
_
_
.
La matrice A ha un unico valore singolare positivo
1
=

2n e gli au-
tovettori delle matrici AA
T
e A
T
A associati a
2
1
sono, rispettivamente,
u =

n
n
_
_
_
_
_
_
1
1
.
.
.
1
_
_
_
_
_
_
, v =

2
2
_
1
1
_
.
Un vettore che minimizza la (x) `e, per la (6.31),
c =
u
T
bv

1
=
n + 1
4
_
1
1
_
.
Poiche in questo caso `e r(A) = 1 (quindi s < m), il vettore c ha norma
euclidea minima tra tutte le soluzioni del sistema (6.30). Allo stesso risultato
si giunge risolvendo direttamente il sistema (6.30) che assume ora la forma
_
n n
n n
__
c
1
c
2
_
= n
n + 1
2
_
1
1
_
e le cui soluzioni sono
c =
_
_
c
1
n+1
2
c
1
_
_
.
La norma euclidea
c
2
=

c
2
1
+
_
n + 1
2
c
1
_
2
`e minima se c
1
= (n + 1)/4.
Bibliograa: [1], [19], [26] [29], [27].
Capitolo 7
Integrazione numerica
In questo capitolo si studiano alcuni metodi per il calcolo approssimato
di integrali deniti.
Alcuni motivi che consigliano luso di metodi approssimati in luogo di
metodi analitici (esatti) sono i seguenti:
di molte funzioni integrabili non si conosce una funzione primitiva
esprimibile con funzioni elementari (per esempio, f(x) = e
cos x
,
f(x) = x
x
);
in molti casi, funzioni semplici hanno funzioni primitive tanto
complicate che spesso le formule approssimate sono pi` u facilmente
calcolabili di quelle esatte e con maggiore precisione (per esem-
pio, una primitiva di f(x) =
x
2
1+x
4
`e F(x) =

2
4
_
1
2
log
x
2

2x+1
x
2
+

2x+1
+arctan

2x
1x
2
_
);
spesso della funzione integranda `e nota solo una restrizione a un
insieme discreto.
7.1 Grado di precisione ed errore
Sia f(x) sucientemente regolare sullintervallo [a, b] dellasse reale. Sia
(x) una funzione peso non negativa in [a, b] e tale che esistano niti i mo-
menti
m
k
= I(x
k
) =
_
b
a
x
k
(x)dx, k = 0, 1, . . . . (7.1)
166 CAPITOLO 7. INTEGRAZIONE NUMERICA
Si pone il problema di approssimare
I(f) =
_
b
a
(x)f(x)dx
con una formula di quadratura della forma
J
n
(f) =
n

i=0
a
i
f(x
i
) , (7.2)
dove i numeri a
i
, i = 0, 1, . . . , n, detti pesi o coecienti, sono reali. I punti
x
i
, i = 0, 1, . . . , n, con x
0
< x
1
< < x
n
sono detti nodi e di solito
appartengono allintervallo [a, b]. Lerrore `e perci`o formalmente dato da
E
n
(f) = I(f) J
n
(f) .
Considerata la base 1, x, x
2
, . . . , x
m
, x
m+1
, dello spazio vettoriale dei polinomi
algebrici di grado al pi u m + 1, si puo dare la seguente denizione.
Denizione 7.1.1 La formula (7.2) ha grado di precisone (algebrico) m INse
si verica
E
n
(1) = E
n
(x) = = E
n
(x
m
) = 0, E
n
(x
m+1
) = 0 . (7.3)
Una formula del tipo (7.2) `e individuata una volta che lo siano i nodi e i pesi.
Per determinare gli 2n + 2 parametri si impone che sia
E
n
(1) = E
n
(x) = = E
n
(x
2n+1
) = 0, (7.4)
ovvero
a
0
+ a
1
+ + a
n
= m
0
a
0
x
0
+ a
1
x
1
+ + a
n
x
n
= m
1

a
0
x
2n+1
0
+ a
1
x
2n+1
1
+ + a
n
x
2n+1
n
= m
2n+1
,
(7.5)
dove i termini noti m
k
, k = 0, 1, . . . , 2n + 1, sono dati dalla (7.1).
Si pu`o dimostrare che la soluzione (a
0
, . . . , a
n
, x
0
, . . . , x
n
)
T
del sistema
non lineare (7.5) `e univocamente determinata (per il caso con (x) = 1,
cfr. Esempio 4.8.3). La formula (7.2) con coecienti e nodi soddisfacenti
7.2. LE FORMULE DI NEWTON-COTES 167
le (7.4) si dice che ha grado di precisione almeno 2n + 1; se inoltre risulta
E
n
(x
2n+2
) = 0, il grado di precisione `e esattamente 2n + 1.
Si noti che se f(x)
2n+1
allora dalle (7.4) segue E
n
(f(x)) = 0.
Lerrore (7.4) `e suscettibile di una rappresentazione generale: sussiste
infatti il seguente teorema, enunciato, per semplicit`a, nel caso di una for-
mula (7.2) con (x) = 1 e a = x
0
< x
1
< < x
n
= b.
Teorema 7.1.1 (di Peano) Sia f(x) C
m+1
([a, b]) e J
n
(f) di grado di pre-
cisione m, allora risulta
E
n
(f) =
1
m!
_
b
a
f
(m+1)
(t)G(t)dt (7.6)
essendo G(t) = E
n
(s
m
(x t)) e
s
m
(x t) =
_
_
_
(x t)
m
, t < x,
0 , t x.
La funzione G(t) dicesi nucleo di Peano.
Nel caso in cui G(t) non cambi segno in [a, b], usando la (7.6) e il teorema
della media, si ottiene
E
n
(f) =
1
m!
f
(m+1)
()
_
b
a
G(t)dt , ]a, b[ ,
da cui si pu`o ricavare
_
b
a
G(t)dt (che non dipende da f) ponendo, per esempio,
f(x) = x
m+1
; ne segue
E
n
(f) =
f
(m+1)
()
(m + 1)!
E
n
(x
m+1
) , ]a, b[ . (7.7)
7.2 Le formule di Newton-Cotes
Se in (7.2) i nodi sono pressati arbitrariamente (due a due distinti), i pesi
sono determinati dalle prime n + 1 equazioni di (7.5) che formano il sistema
lineare
V = (7.8)
168 CAPITOLO 7. INTEGRAZIONE NUMERICA
con
V =
_
_
_
_
_
_
_
_
1 1 1
x
0
x
1
x
n

x
n
0
x
n
1
x
n
n
_
_
_
_
_
_
_
_
,

T
= (a
0
, a
1
, . . . , a
n
),
T
= (m
0
, m
1
, . . . , m
n
). Poiche V
T
`e una matrice di
Vandermonde, nelle ipotesi attuali `e det(V ) = 0 e quindi esiste ed `e unico.
Il grado di precisione `e almeno n poiche E
n
(1) = E
n
(x) = = E
n
(x
n
) = 0.
Se (x) = 1 e i nodi sono ssati in progressione aritmetica di ragione
h = (ba)/n, cio`e x
i
= x
0
+ih, i = 0, 1, . . . , n, e quindi con x
0
= a e x
n
= b, si
hanno le formule di Newton-Cotes; h si dice il passo della formula. I pesi sono
deniti in base alla formulazione algebrica precedentemente data e quindi
calcolabili risolvendo il sistema (7.8); tuttavia, per una loro rappresentazione
esplicita conviene ricorrere ad un approccio interpolatorio.
Al riguardo si esprime f(x) tramite il polinomio di interpolazione di La-
grange (cfr. Teorema 6.2.2), usando i nodi x
i
. Cio`e si pone
f(x) =
n

i=0
l
i
(x)f(x
i
) +
1
(n + 1)!
f
(n+1)
()(x) ,
essendo l
i
(x), i = 0, 1, . . . , n, i polinomi fondamentali di Lagrange di grado
n, ]a, b[ e (x) = (x x
0
)(x x
1
) (x x
n
). Ne viene:
I(f) =
n

i=0
I(l
i
(x))f(x
i
) +
1
(n + 1)!
I
_
f
(n+1)
()(x)
_
.
Si assume quindi J
n
(f) =

n
i=0
a
i
f(x
i
) con
a
i
= I(l
i
(x)) (7.9)
e si ha
E
n
(f) =
1
(n + 1)!
I(f
(n+1)
()(x)) . (7.10)
I pesi delle formule di Newton-Cotes sono stati calcolati per vari valori
di n tramite le (7.9); no a n = 7 (otto punti) i pesi sono positivi, mentre
per n > 7 compaiono pesi negativi e le formule diventano numericamente
instabili, cio`e la loro capacit`a di amplicare gli errori di arrotondamento
aumenta.
7.2. LE FORMULE DI NEWTON-COTES 169
Una caratteristica importante delle formule di Newton-Cotes risiede nel
fatto che per esse il nucleo di Peano G(t) non cambia segno in [a, b], per cui,
per lerrore, pu`o utilizzarsi la (7.7): m si determina in base alla denizione,
mentre il termine E
n
(x
m+1
) si calcola facilmente una volta noti i pesi. In
tal modo, indicando con p = n + 1 il numero dei nodi, lerrore assume la
seguente forma caratteristica
E
n
(f) =
_
_
_
c
p
h
p+1
f
(p)
(), p pari,
c
p
h
p+2
f
(p+1)
(), p dispari,
con c
p
costante dipendente da p.
Si osservi come la (7.10), invece, non possa mettersi in una forma pi` u
semplice, tranne che nel caso n = 1, in cui (x) ha segno costante e quindi,
applicando il teorema della media, la funzione f
(2)
() pu`o essere portata fuori
dal segno di integrale.
Notiamo inne che le formule di Newton-Cotes qui denite vengono dette
chiuse, per distinguerle da formule analoghe dette aperte nelle quali si ha
a < x
0
< x
1
< < x
n
< b.
Di seguito si riportano le prime sette formule chiuse con i relativi errori.
Formula trapezoidale:
I(f) =
b a
2
[f(x
0
) + f(x
1
)]
1
12
h
3
f
(2)
().
Formula di Simpson:
I(f) =
b a
6
[f(x
0
) + 4f(x
1
) + f(x
2
)]
1
90
h
5
f
(4)
().
Formula dei 3/8 o pulcherrima:
I(f) =
b a
8
[f(x
0
) + 3f(x
1
) + 3f(x
2
) + f(x
3
)]
3
80
h
5
f
(4)
().
Formula di Milne-Boole:
I(f) =
b a
90
[7f(x
0
) + 32f(x
1
) + 12f(x
2
) + 32f(x
3
) + 7f(x
4
)]

8
945
h
7
f
(6)
().
170 CAPITOLO 7. INTEGRAZIONE NUMERICA
Formula dei sei punti:
I(f) =
b a
288
[19f(x
0
) + 75f(x
1
) + 50f(x
2
) + 50f(x
3
) + 75f(x
4
)
+19f(x
5
)]
275
12096
h
7
f
(6)
().
Formula di Weddle:
I(f) =
b a
840
[41f(x
0
) + 216f(x
1
) + 27f(x
2
) + 272f(x
3
) + 27f(x
4
)
+ 216f(x
5
) + 41f(x
6
)]
9
1400
h
9
f
(8)
().
Formula degli otto punti:
I(f) =
b a
17280
[751f(x
0
) + 3577f(x
1
) + 1323f(x
2
) + 2989f(x
3
)
+ 2989f(x
4
) + 1323f(x
5
) + 3577f(x
6
) + 751f(x
7
)]

8183
518400
h
9
f
(8)
().
Se, per una formula a n + 1 punti, il passo di integrazione h = (b a)/n
risulta troppo ampio, si divide [a, b] in m parti uguali, mediante i punti
x
0
= a < x
1
< < x
m
= b, e si utilizza la propriet`a
I(f) =
m

i=1
_
x
i
x
i1
f(x)dx .
Si ottengono quindi le cosiddette formule di Newton-Cotes generalizzate ap-
plicando una stessa formula a n + 1 punti per ognuno degli m integrali a
secondo membro. Si hanno cos` nm + 1 nodi con un passo h = (b a)/nm.
Le formule pi` u usate sono la formula trapezoidale (n = 1) e quella di
Simpson (n = 2) le quali danno luogo alle corrispondenti formule generaliz-
zate:
I(f) =
b a
2m
_
f(x
0
) + 2
m1

i=1
f(x
i
) + f(x
m
)
_

(b a)
3
12m
2
f
(2)
() ; (7.11)
I(f) =
b a
6m
_
f(x
0
) + 4
m1

i=0
f
_
x
i
+ x
i+1
2
_
+ 2
m1

i=1
f(x
i
) + f(x
m
)
_

(b a)
5
2880m
4
f
(4)
().
7.3. APPLICAZIONE DELLA ESTRAPOLAZIONE ALLINTEGRAZIONE 171
Queste due formule generalizzate presentano il vantaggio di un errore che
tende a zero al crescere di m. Si noti che da h = (b a)/nm segue che gli
errori sono rispettivamente dellordine di h
2
e di h
4
.
7.3 Applicazione della estrapolazione
allintegrazione
Si pu`o dimostrare che se f(x) `e sucientemente regolare in [a, b], lerrore
della formula generalizzata (7.11) ammette uno sviluppo in serie di potenze
pari di h. Pi` u precisamente, scrivendo per semplicit`a I invece di I(f) e
ponendo
J
(1)
0
=
h
2
_
f(x
0
) + 2
m1

i=1
f(x
i
) + f(x
m
)
_
, (7.12)
si pu`o dimostrare il seguente teorema.
Teorema 7.3.1 Se f(x) C
2r+2
([a, b]), la (7.11) pu`o scriversi
I = J
(1)
0
+
(1)
1
h
2
+
(1)
2
h
4
+ +
(1)
r
h
2r
+ O(h
2r+2
) (7.13)
dove
(1)
1
,
(1)
2
, . . . ,
(1)
r
, non dipendono da h.
La (7.13) oltre a mostrare, come gi`a osservato, che lerrore di J
(1)
0
`e
dellordine di h
2
, consente di ottenere, con un costo computazionale rela-
tivamente contenuto, stime di I migliori della (7.12) per mezzo della tecnica
di estrapolazione.
Scelto lintero q > 1, la formula trapezoidale generalizzata, con il passo
h/q = (b a)/mq, fornisce la stima di I,
J
(1)
1
=
h
2q
_
_
f(x
0
) + 2
mq1

i=1
f(x
i
) + f(x
mq
)
_
_
,
dove ora i nodi sono x
i
= a + i
h
q
, i = 0, 1, . . . , mq. Daltra parte, per il
Teorema 7.3.1, si pu`o scrivere
I = J
(1)
1
+
(1)
1
_
h
q
_
2
+
(1)
2
_
h
q
_
4
+ +
(1)
r
_
h
q
_
2r
+ O(h
2r+2
). (7.14)
172 CAPITOLO 7. INTEGRAZIONE NUMERICA
Eliminando il termine
(1)
1
h
2
fra la (7.13) e la (7.14) si ottiene
I = J
(2)
0
+
(2)
2
h
4
+ +
(2)
r
h
2r
+ O(h
2r+2
) , (7.15)
dove si `e posto
J
(2)
0
=
q
2
J
(1)
1
J
(1)
0
q
2
1
(7.16)
e dove i nuovi coecienti,
(2)
2
, . . . ,
(2)
r
, non dipendono da h.
La (7.15) mostra che lerrore di J
(2)
0
`e dellordine di h
4
, cio`e `e una stima
di I migliore di J
(1)
0
e J
(1)
1
, mentre la (7.16) implica un costo computazionale
di solo 3 operazioni essenziali; per contro, una stima di I pi` u accurata di
J
(1)
1
, mediante la formula trapezoidale, implica necessariamente luso di un
passo minore di h/q e quindi un costo computazionale pi` u elevato di quello
richiesto dalla (7.16).
Il procedimento di estrapolazione pu`o essere ripetuto: ad ogni appli-
cazione, lordine dellerrore della nuova stima di I aumenta di due. Infatti,
con il passo h/q
2
, dalla formula trapezoidale generalizzata, si ricava J
(1)
2
men-
tre il Teorema 7.3.1 fornisce
I = J
(1)
2
+
(1)
1
_
h
q
2
_
2
+
(1)
2
_
h
q
2
_
4
+ +
(1)
r
_
h
q
2
_
2r
+ O(h
2r+2
);
eliminando
(1)
1
(h/q)
2
fra questa relazione e la (7.14) si ha
I = J
(2)
1
+
(2)
2
_
h
q
_
4
+ +
(2)
r
_
h
q
_
2r
+ O(h
2r+2
) (7.17)
dove
J
(2)
1
=
q
2
J
(1)
2
J
(1)
1
q
2
1
;
eliminando ora
(2)
2
h
4
fra la (7.15) e la (7.17) si pu`o scrivere
I = J
(3)
0
+
(3)
3
h
6
+ +
(3)
r
h
2r
+ O(h
2r+2
)
dove
J
(3)
0
=
q
4
J
(2)
1
J
(2)
0
q
4
1
,
7.3. APPLICAZIONE DELLA ESTRAPOLAZIONE ALLINTEGRAZIONE 173
con
(3)
3
, . . . ,
(3)
r
indipendenti da h.
Nella sua formulazione pi` u generale, la tecnica di estrapolazione consiste,
ssato lintero N < r, nel calcolare, mediante la formula trapezoidale gener-
alizzata, i valori
J
(1)
0
, J
(1)
1
, . . . , J
(1)
N
, (7.18)
corrispondenti ai passi h, h/q, . . . , h/q
N
(questa `e la parte pi` u costosa del
metodo), quindi, a partire dai valori (7.18), si costruiscono nuove approssi-
mazioni di I in base allo schema
J
(k+1)
i
=
q
2k
J
(k)
i+1
J
(k)
i
q
2k
1
, k = 1, 2, . . . , N, (7.19)
dove, per ciascun valore di k, lindice i assume i valori 0, 1, . . . , N k.
Dalle considerazioni precedenti si deduce che J
(k+1)
i
presenta un errore
dellordine di (h/q
i
)
2(k+1)
.
`
E importante rilevare inoltre che la conoscenza di due delle approssi-
mazioni (7.18), consente di stimare lerrore di entrambe, senza la necessit`a
di conoscere le derivate di f(x).
Per esempio, supposto di aver calcolato J
(1)
0
e J
(1)
1
, dalle (7.13) e (7.14)
si ha
I J
(1)
0
+
(1)
1
h
2
,
I J
(1)
1
+
(1)
1
(h/q)
2
.
Evidentemente
(1)
1
h
2
e
(1)
1
(h/q)
2
forniscono stime dellerrore rispettiva-
mente di J
(1)
0
e di J
(1)
1
, non appena si calcoli il valore di
1
. A tale scopo,
eliminando I fra le due relazioni, si ottiene

(1)
1

J
(1)
0
J
(1)
1
_
h
q
_
2
h
2
.
Comunemente vengono usati i valori q = 2 o q = 4 (cfr. Esempio 7.6.3).
Le approssimazioni di I ottenute col processo di estrapolazione, note come
formule di Romberg, costituiscono una speciale applicazione di un procedi-
mento generale, detto estrapolazione di Richardson. Tale procedimento pu`o
essere impiegato in tutti quei casi in cui una grandezza T si possa approssi-
mare con un valore
(1)
0
dipendente da un parametro h, e lerrore T
(1)
0
sia
sviluppabile in serie di potenze di h, cio`e si abbia
T =
(1)
0
+
(1)
1
h
r
1
+
(1)
2
h
r
2
+
174 CAPITOLO 7. INTEGRAZIONE NUMERICA
con
(1)
1
,
(1)
2
, . . ., non dipendenti da h e 0 < r
1
< r
2
< interi. La
costruzione di approssimazioni di T pi` u accurate di
(1)
0
si ottiene con uno
schema analogo a quello denito dalla (7.19).
7.4 Formule di quadratura di tipo gaussiano
Si premettono brevemente alcune denizioni e propriet`a di una particolare
classe di polinomi.
Sia (x) una funzione peso che verichi le ipotesi fatte in 7.1.
Si indichi con lo spazio vettoriale dei polinomi algebrici a coecienti
reali e sia [a, b] un intervallo, non necessariamente limitato. Per ogni coppia
r(x), s(x) si consideri il prodotto scalare
< r, s >=< s, r >= I(rs) =
_
b
a
(x)r(x)s(x)dx. (7.20)
Si denisce quindi la classe dei polinomi ortogonali

come linsieme
dei polinomi algebrici, a coecienti reali, ortogonali rispetto al prodotto
scalare (7.20), cio`e

= {q
i
(x) | grado(q
i
) = i; < q
i
, q
j
>= h
i

ij
; i, j = 0, 1, 2, ..} .
I numeri positivi h
i
sono le costanti di normalizzazione.
Dati [a, b] e (x), gli elementi di

restano deniti a meno di una costante


moltiplicativa e costituiscono una base per ; per essi valgono le seguenti
propriet`a:
< p, q
n
>= 0 p
n1
; (7.21)
q
n
(x) ha n zeri reali e distinti in ]a, b[. (7.22)
Come osservato in 7.1, ssati (x), [a, b] ed n, risulta univocamente de-
terminata la formula di quadratura di grado di precisione almeno 2n + 1
I(f) =
_
b
a
(x)f(x)dx
n

i=0
a
i
f(x
i
) = J
n
(f) ,
che propriamente dicesi formula di quadratura gaussiana.
7.4. FORMULE DI QUADRATURA DI TIPO GAUSSIANO 175
Teorema 7.4.1 Dati [a, b] e (x), sia f(x) C
2n+2
(]a, b[) e J
n
(f) una for-
mula di quadratura gaussiana; allora i nodi x
0
, x
1
, . . . , x
n
sono gli zeri di
q
n+1
(x)

, i pesi sono positivi e dati da


a
i
= I(l
2
i
), i = 0, 1, . . . , n,
dove l
i
(x) sono i polinomi fondamentali di Lagrange relativi ai detti nodi e il
grado di precisione `e esattamente 2n + 1, essendo
E
n
(f) = K
n
f
(2n+2)
()
(2n + 2)!
, K
n
> 0 , ]a, b[ , (7.23)
lerrore della formula.
Dimostrazione. Siano x
0
, x
1
, . . . , x
n
, gli zeri di q
n+1
(x); relativamente a questi
punti si considerano i polinomi fondamentali di Lagrange (cfr. 6.2) di grado n
l
i
(x) = (x x
0
) (x x
i1
)(x x
i+1
) (x x
n
)/
i
con
i
= (x
i
x
0
) (x
i
x
i1
)(x
i
x
i+1
) (x
i
x
n
), i = 0, 1, . . . , n, e le funzioni
fondamentali dellinterpolazione di Hermite (cfr. 6.3) di grado 2n + 1 di prima e
di seconda specie
h
0i
(x) = [1 2l

i
(x
i
)(x x
i
)]l
2
i
(x), i = 0, 1, . . . , n,
h
1i
(x) = (x x
i
)l
2
i
(x), i = 0, 1, . . . , n.
Evidentemente q
n+1
(x) e (x) = (xx
0
) (xx
n
) dieriscono per una costante
moltiplicativa c
n+1
, per cui si pu` o scrivere
q
n+1
(x) = c
n+1
(x) = c
n+1

i
(x x
i
)l
i
(x) .
Pertanto, per quanto riguarda le funzioni fondamentali di Hermite di prima specie,
risulta
I(h
0i
) = I(l
2
i
)
2l

i
(x
i
)
c
n+1

i
I(q
n+1
l
i
), i = 0, 1, . . . , n,
avendosi
i
= 0 per la propriet`a (7.22).
Daltra parte si ha I(q
n+1
l
i
) =< q
n+1
, l
i
>= 0 per la (7.21), in quanto l
i
(x)
n
,
per cui
I(h
0i
) = I(l
2
i
) , i = 0, 1, . . . , n. (7.24)
Per le funzioni di seconda specie risulta
I(h
1i
) =
1
c
n+1

i
I(q
n+1
l
i
) = 0 , i = 0, 1, . . . , n. (7.25)
176 CAPITOLO 7. INTEGRAZIONE NUMERICA
Ricordando che (cfr. Teorema 6.3.3)
f(x) =
n

i=0
h
0i
(x)f(x
i
) +
n

i=0
h
1i
(x)f

(x
i
) +
f
(2n+2)
()
(2n + 2)!

2
(x),
con ]a, b[, e tenendo conto dei risultati (7.24) e (7.25) nonche della propriet`a
additiva degli integrali, si ha
I(f) =
n

i=0
I(l
2
i
)f(x
i
) + I
_
f
(2n+2)
()
(2n + 2)!

2
_
.
Poiche (x)
2
(x) non cambia segno nellintervallo di integrazione, nel secondo
termine a secondo membro pu`o applicarsi il teorema della media e scrivere
I
_
f
(2n+2)
()
(2n + 2)!

2
_
=
f
(2n+2)
()
(2n + 2)!
I(
2
), ]a, b[.
Ponendo quindi
a
i
= I(l
2
i
), i = 0, 1, . . . , n,
K
n
= I(
2
), n = 0, 1, . . . ,
E
n
(f) = K
n
f
(2n+2)
()
(2n + 2)!
,
si ha inne
I(f) =
n

i=0
a
i
f(x
i
) + E
n
(f)
dove a
i
> 0, i = 0, 1, . . . , n, K
n
> 0, n = 0, 1, . . ..
Le formule aventi i pesi e i nodi deniti come nel Teorema 7.4.1 coincidono
con quelle della formulazione algebrica data in 7.1. Lipotesi di derivabilit`a,
richiesta dal teorema, consente quindi una rappresentazione dellerrore nella
forma (7.23) ma non `e necessaria per la denizione della formula.
Nella tavola che segue si riportano le caratteristiche di alcuni polinomi
ortogonali fra i pi` u usati, che danno luogo alle corrispondenti formule di
quadratura gaussiane da cui prendono il nome (nella tavola il simbolo sta
per 3.141592... ).
7.4. FORMULE DI QUADRATURA DI TIPO GAUSSIANO 177
Intervallo Peso Classicazione K
n
[1, 1] 1/

1 x
2
Chebyshev 1
a
specie /2
2n+1
[1, 1]

1 x
2
Chebyshev 2
a
specie /2
2n+3
[1, 1] 1 Legendre
2
2n+3
[(n+1)!]
4
(2n+3)[(2n+2)!]
2
[0, +[ e
x
Laguerre [(n + 1)!]
2
] , +[ e
x
2
Hermite (n + 1)!

/2
n+1
Osservazione 7.4.1 Nodi e pesi delle formule gaussiane sono numeri ir-
razionali e sono stati calcolati in precisione multipla per vari valori di n.
Essi sono inseriti nei principali programmi di calcolo per lintegrazione ap-
prossimata. Luso di tali formule per via automatica non presenta, in genere,
particolari dicolt`a.
Per completezza, nel paragrafo 7.6.3 sono riportate la formule di ricorrenza
per la generazione dei polinomi ortogonali qui menzionati, nonche i corrispon-
denti nodi e pesi per alcuni valori di n.
Osservazione 7.4.2 Per ragioni di convenienza, per gli integrali estesi ad un
intervallo limitato [a, b], si usano polinomi ortogonali deniti in [1, 1]. In
eetti ogni intervallo di integrazione a t b pu`o ricondursi allintervallo
1 x 1 con la trasformazione t =
ba
2
x +
b+a
2
e la funzione (x) pu`o
essere comunque introdotta. Risulta infatti
_
b
a
g(t)dt =
_
1
1
(x)f(x)dx
ove si assuma f(x) =
ba
2(x)
g
_
ba
2
x +
b+a
2
_
.
Si noti poi che lintegrazione gaussiana, basata sui polinomi di Laguerre e di
Hermite, permette di approssimare integrali su intervalli non limitati (purche
lintegrale esista nito).
Osservazione 7.4.3 La positivit`a dei pesi consente di dimostrare, sotto
ipotesi molto generali, la convergenza di J
n
(f).
Pi` u precisamente, nel caso di intervalli limitati [a, b] e per formule di grado
2n + 1, la semplice continuit`a di f(x) `e condizione suciente anche
lim
n
J
n
(f) = I(f) .
178 CAPITOLO 7. INTEGRAZIONE NUMERICA
Pertanto lerrore E
n
(f) tende a zero per n anche nel caso che f(x) non
sia derivabile e quindi E
n
(f) non possa esprimersi nella forma (7.23).
Inoltre, nel caso di intervalli di integrazione non limitati, vale il seguente
teorema relativo alle formula di Gauss-Laguerre.
Teorema 7.4.2 Se esiste un numero reale > 1 ed un x

tali che | f(x) |


e
x
/x

per x > x

e se f(x) C
0
([0, +[), allora per la formula di quadratura
di Gauss-Laguerre risulta
lim
n
J
n
(f) = I(e
x
f) .
7.5 Integrazione in pi` u dimensioni
Lapprossimazione di integrali multipli, della forma cio`e
I(f) =
_
b
1
a
1
_
b
2
a
2

_
b
r
a
r
(x
1
, . . . , x
r
)f(x
1
, . . . , x
r
)dx
1
. . . dx
r
con (x
1
, . . . , x
r
) 0 per x
i
[a
i
, b
i
], i = 1, . . . , r, presenta dicolt`a e costi
computazionali assai pi` u elevati rispetto al caso monodimensionale.
Ci si limita qui, per semplicit`a, ad accennare il problema nel caso bidi-
mensionale con peso unitario e dominio di integrazione rettangolare.
Sia f(x, y) integrabile su [a, b] [c, d] con x [a, b], y [c, d].
Sia J
k
una formula di quadratura monodimensionale con k + 1 nodi x
i

[a, b] e pesi a
i
, i = 0, 1, . . . , k, e J
n
una con n + 1 nodi y
j
[c, d] e pesi b
j
,
j = 0, 1, . . . , n.
In base al teorema di riduzione degli integrali doppi, risulta evidentemente
I(f) =
_
b
a
_
d
c
f(x, y)dxdy =
_
b
a
_
_
d
c
f(x, y)dy
_
dx

_
b
a
n

j=0
b
j
f(x, y
j
)dx
k

i=0
n

j=0
a
i
b
j
f(x
i
, y
j
) (7.26)
= J
k
J
n
(f).
J
k
J
n
(f) dicesi formula di cubatura e lerrore `e
E
k,n
(f) = I(f) J
k
J
n
(f) .
7.5. INTEGRAZIONE IN PI
`
U DIMENSIONI 179
Quindi, ad esempio, se J
2
`e la formula di quadratura di Simpson si ha
J
2
J
2
(f) =
(b a)(d c)
36
[f(x
0
, y
0
) + 4f(x
0
, y
1
) + f(x
0
, y
2
)
+4f(x
1
, y
0
) + 16f(x
1
, y
1
) + 4f(x
1
, y
2
) + f(x
2
, y
0
)
+4f(x
2
, y
1
) + f(x
2
, y
2
)] .
Se inoltre f(x, y) `e sucientemente regolare si pu`o dimostrare che lerrore
`e dato da
E
2,2
(f) =
hk
45
_
h
4

4
f( x, y)
x
4
+ k
4

4
f(

x,

y)
y
4
_
con x,

x ]a, b[, y,

y ]c, d[, e h = (b a)/2, k = (d c)/2.


Formule di cubatura possono essere costruite anche direttamente. Per
esempio, considerati i punti P
r
[a, b] [c, d], r = 0, 1, . . . , N, si cercano
formule del tipo
I(f) J
N
(f) =
N

r=0
c
r
f(P
r
). (7.27)
I nodi P
r
ed i pesi c
r
sono determinati in modo che la (7.27) sia esatta quando
f(P) `e un polinomio di grado non superiore a g nelle due variabili x e y, cio`e
in modo che sia
E
N
(x

) = 0, 0 + g ,
dove E
N
(f) = I(f) J
N
(f).
Si osservi tuttavia che se J
n
`e una formula di quadratura con grado di
precisione m, ossia se risulta
J
n
(f) =
n

i=0
a
i
x

i
= I(x

), = 0, 1, . . . , m,
allora, facendo riferimento, per semplicit`a, ad un dominio di integrazione
quadrato, si verica facilmente che
J
n
J
n
(x

) =
n

i=0
n

j=0
a
i
a
j
x

i
x

j
= I(x

), 0 , m. (7.28)
La J
n
J
n
(f), detta formula del prodotto cartesiano, `e della forma (7.27) ove si
usino gli N + 1 = (n + 1)
2
nodi P
ij
= (x
i
, x
j
) con i pesi a
i
a
j
e risulta esatta
per polinomi no al grado 2m.
180 CAPITOLO 7. INTEGRAZIONE NUMERICA
Ad esempio, nel caso [a, b] = [1, 1] e n = 1, la formula di quadratura di
Gauss-Legendre J
1
ha nodi e pesi
x
0
= x
1
=

3
3
, a
0
= a
1
= 1
e grado di precisione m = 3.
Con [c, d] = [1, 1] la formula di cubatura J
1
J
1
ha N + 1 = 2
2
= 4 nodi
dati da
_

3
3
,

3
3
_
,
_
3
3
,

3
3
_
,
_

3
3
,

3
3
_
,
_
3
3
,

3
3
_
con coecienti unitari; essa inoltre risulta esatta per ogni monomio del tipo
x

con 0 , 3 ed `e esplicitamente data da


I(f) =
_
1
1
_
1
1
f(x, y)dxdy
f
_

3
3
,

3
3
_
+ f
_
3
3
,

3
3
_
+ f
_

3
3
,

3
3
_
+f
_
3
3
,

3
3
_
.
7.6 Complementi ed esempi
7.6.1 Costruzione di formule e calcolo dellerrore
Un approccio algebrico analogo a quello che conduce al sistema (7.5) con-
sente la costruzione di formule di quadratura pi` u generali di quelle viste -
nora, potendosi utilizzare anche i valori di una o pi` u derivate come nellesempio
seguente.
Esempio 7.6.1 Si vogliono calcolare i pesi e i nodi della formula
I(f) =
_
1
0
f(x)dx a
0
f(0) +
1
6
f

(x
1
) +
1
6
f

(x
2
) + a
1
f(1) = J(f)
in modo che sia massimo il grado di precisione.
7.6. COMPLEMENTI ED ESEMPI 181
Imponendo E(x
r
) = I(x
r
) J(x
r
) = 0, r = 0, 1, 2, 3, si trova subito
a
0
= 5/6, a
1
= 1/6, ed inoltre si ha
x
1
+ x
2
= 1/2
x
2
1
+ x
2
2
= 1/6
da cui x
1
= (3

3)/12 e x
2
= (3 +

3)/12.
Poiche risulta E(x
4
) = 1/120, la formula ha grado di precisione m = 3.
Il Teorema 7.1.1 indica una procedura generale per calcolare lerrore di
una formula di quadratura quando f(x) sia sucientemente regolare.
Esempio 7.6.2 Si vuole calcolare lerrore E
2
(f) = I(f)J
2
(f) della formula
di Simpson
I(f) =
_
1
1
f(x)dx
1
3
f(1) +
4
3
f(0) +
1
3
f(1) = J
2
(f) .
Ponendo f(x) = x
r
, si trova E
2
(x
r
) = 0, r = 0, 1, 2, 3, ed E
2
(x
4
) = 4/15,
per cui il grado di precisione `e m = 3.
Il nucleo di Peano `e dato da
G(t) =
_
1
t
(x t)
3
dx
4
3
(0 t)
3

1
3
(1 t)
3
=
1
4
t
4
+
2
3
t
3
+
1
2
t
2

1
12
per 1 t < 0;
G(t) =
_
1
t
(x t)
3
dx
1
3
(1 t)
3
=
1
4
t
4

2
3
t
3
+
1
2
t
2

1
12
per 0 t 1.
Poiche G(t) ha segno costante in ] 1, 1[, dalla (7.7) si ricava
E
2
(f) =
1
90
f
(4)
(), ] 1, 1[.
182 CAPITOLO 7. INTEGRAZIONE NUMERICA
Esempio 7.6.3 Si consideri
I(f) =
_
1
0
dx
1 + x
,
il cui valore esatto `e I(f) = log 2 = 0.69314718 . . ..
Posto, nella (7.18), N = 2, si calcolano, J
(1)
0
, J
(1)
1
e J
(1)
2
con h = 1/2
e q = 2. Applicando la (7.19), per k = 1, 2, si ottengono i seguenti valori
estrapolati:
J
(1)
0
= 0.70833333 . . .
J
(1)
1
= 0.69702380 . . . J
(2)
0
= 0.69325396 . . .
J
(1)
2
= 0.69412185 . . . J
(2)
1
= 0.69315453 . . . J
(3)
0
= 0.69314790 . . . .
Si noti che i valori J
(2)
0
e J
(3)
0
sono pi` u accurati di quelli aventi lindice
superiore pi` u piccolo (in particolare J
(2)
0
`e una approssimazione migliore di
J
(1)
2
che ha un costo computazionale maggiore).
Come osservato in 7.3, una stima dellerrore di J
(1)
1
basata sui valori J
(1)
0
e J
(1)
1
pu`o ottenersi calcolando

(1)
1

J
(1)
1
J
(1)
0
h
2
h
2
/4
0.0603175
da cui
E(f) = I J
(1)
1

(1)
1
h
2
4
0.00377.
In modo analogo si pu`o ottenere una stima dellerrore di J
(1)
2
utilizzando
la coppia J
(1)
2
, J
(1)
0
oppure J
(1)
2
, J
(1)
1
.
Esempio 7.6.4 Si vuole calcolare il numero minimo n + 1 di nodi per
approssimare, con una formula di quadratura di tipo gaussiano, lintegrale
I(f) =
_
1
0
log(x + 1)
_
x(x + 1)
dx
in modo che risulti | E
n
| 10
5
.
7.6. COMPLEMENTI ED ESEMPI 183
Si trasforma lintervallo ]0, 1[ nellintervallo ] 1, 1[ con la sostituzione
t = 2x 1. Si ha quindi
I(f) =
_
1
0
log(x + 1)
_
x(x + 1)
dx
=
_
1
1
log
_
t + 3
2
_

1 t
3 + t
1

1 t
2
dt
=

1
3 +
_
1
1
log
_
t + 3
2
_
1

1 t
2
dt , ] 1, 1[ ,
dove si `e potuto applicare il teorema della media in quanto le funzioni g(t) =
log
_
t+3
2
_
e (t) =
1

1t
2
non cambiano segno in ] 1, 1[. Posto h() =
_
1
3+
,
si pu`o considerare una formula di quadratura di Gauss-Chebyshev di prima
specie e scrivere
I(f) = h()I(g) = h()
_
J
n
(g) + K
n
g
(2n+2)
()
(2n + 2)!
_
con K
n
= /2
2n+1
.
Pertanto I(f) h()J
n
(g) e inoltre, avendosi 0 h() 1 e | g
(k)
(t) |
(k1)!
2
k
, k = 0, 1, . . ., si pu`o vericare che, per lerrore, risulta
| E
n
|=

K
n
h()
g
(2n+2)
()
(2n + 2)!

6 10
6
con n = 3, ossia con 4 nodi.
Nellintegrazione gaussiana la scelta del peso, e quindi della formula, pu`o
risultare determinante ai ni dellerrore. Si consideri, ad esempio, lintegrale
I(f) =
_
1
1
x
2

1 x
2
dx
il cui valore esatto `e /8 = 0.39269908 . . ..
Con una formula a due nodi di Gauss-Chebyshev di seconda specie ((x) =

1 x
2
), si ottiene
I(f) = I
_

1 x
2
x
2
_
= J
1
(x
2
) .
184 CAPITOLO 7. INTEGRAZIONE NUMERICA
Utilizzando una formula a tre nodi di Gauss-Chebyshev di prima specie
((x) = 1/

1 x
2
), risulta
I(f) = I
_
1

1 x
2
_
x
2
[1 x
2
]
_
_
= J
2
_
x
2
(1 x
2
)
_
.
Quindi gli errori delle precedenti due formule sono nulli.
Per contro, con una formula di Gauss-Legendre con quattro nodi, si ha
I(f) J
3
_
x
2

1 x
2
_
= 0.40405278 . . . ,
con un errore E
3
(f) 1.1 10
2
.
Esempio 7.6.5 Si vogliono calcolare i pesi della formula
_
b
a
_
b
a
_
b
a
f(x, y, z)dxdydz c
0
f(a, a, a) + c
1
f(b, 0, 0)
+c
2
f(0, b, 0) + c
3
f(0, 0, b) .
Allo scopo si impone che la formula sia esatta per f(x, y, z) = 1, x, y, z.
Ne viene il sistema
c
0
+ c
1
+ c
2
+ c
3
= (b a)
3
c
0
a + c
1
b =
1
2
(b a)
3
(b + a)
c
0
a + c
2
b =
1
2
(b a)
3
(b + a)
c
0
a + c
3
b =
1
2
(b a)
3
(b + a)
che ha soluzione solo se b = 3a; in tal caso si ottiene
c
0
=
(ba)
3
(b3a)
2(b3a)
,
c
i
=
(ba)
4
2(b3a)
, i = 1, 2, 3 .
7.6.2 Integrali impropri
Le formule viste per lintegrazione approssimata non sempre sono adatte
per essere utilizzate direttamente per il calcolo di un integrale improprio.
7.6. COMPLEMENTI ED ESEMPI 185
Per esempio, nel caso di singolarit`a della funzione integranda, la presenza di
punti singolari crea dicolt`a nella scelta dei nodi e pu`o compromettere la
convergenza della formula.
Talvolta la singolarit`a `e facilmente rimuovibile con una semplice sosti-
tuzione come nellintegrale
I(f) =
_
1
0
dx
x
1/
, 2,
che, con la posizione x = t

, diviene
I(f) =
_
1
0
t
2
dt .
In altri casi si pu`o ricorrere ad una formula gaussiana opportunamente
pesata: lintegrale
I(f) =
_
1
1
e
x

1 x
dx
pu`o scriversi
I(f) = I
_
1

1 x
2
g(x)
_
con g(x) = e
x

1 + x e quindi essere approssimato con una formula di qua-


dratura di Gauss-Chebyshev di prima specie.
Altri due metodi sono proposti nei due esempi che seguono.
Esempio 7.6.6 Si considera lintegrale
I(f) =
_
1
0
e
x

1 x
dx .
Con una integrazione per parti, scegliendo e
x
come fattore nito, si
ottiene
I(f) = 2 2I(g) (7.29)
dove si `e posto g(x) = e
x

1 x C
0
([0, 1]).
`
E da notare, tuttavia, che g(x) non `e derivabile per x = 1 per cui la
stima dellerrore, per esempio mediante la (7.6) o la (7.23), pu`o essere di-
coltosa. Per ovviare a questo inconveniente si pu`o procedere a due ulteriori
integrazioni per parti, applicate a I(g), portando la (7.29) nella forma
I(f) =
18
15

8
15
I(s) ,
186 CAPITOLO 7. INTEGRAZIONE NUMERICA
dove s(x) = e
x
_
(1 x)
5
C
2
([0, 1]).
Lapprossimazione di I(s) mediante la formula generalizzata (7.11), con
m = 8, fornisce il seguente risultato
I(s) 0.231851
con un errore assoluto, in modulo, inferiore a 10
4
.
Gli integrali della forma,
I(f) =
_
b
a
g(x)
(x a)

dx
con 0 < < 1 e g(x) regolare in [a, b], possono essere arontati sottraendo
dal numeratore uno o pi` u termini dello sviluppo di Taylor di g(x) con punto
iniziale x = a; questa tecnica va sotto il nome di metodo della sottrazione
della singolarit`a .
Esempio 7.6.7 Lintegrale
I(f) =
_
1
0
e
x
x

dx
con 0 < < 1 pu`o scriversi
I(f) = I(r) + I(s)
con r(x) = (e
x
1)/x

e s(x) = 1/x

.
Ponendo r(0) = 0, risulta, per prolungamento, r(x) C
0
([0, 1]) in quanto
lim
x0
r(x) = 0 e inoltre si ha I(s) = 1/(1 ).
Si noti tuttavia che r(x) non `e della classe C
1
([0, 1]): se si richiede per
r(x) una maggiore regolarit`a conviene porre
r(x) =
e
x
1 x
x

, s(x) =
1
x

+
1
x
1
,
dove al numeratore di r(x) si `e sottratto un ulteriore termine dello sviluppo
in serie di e
x
.
In tal caso si ha r(x) C
1
([0, 1]) e I(s) = (3 2)/[(1 )(2 )].
Un altro tipo di integrale improprio si ha quando lintervallo di inte-
grazione non `e limitato. Possono allora risultare utili le formule gaussiane di
Laguerre e di Hermite.
7.6. COMPLEMENTI ED ESEMPI 187
Esempio 7.6.8 Sia
I(f) =
_

0
sin(x
2
)dx
il cui valore esatto `e
1
2
_

2
= 0.626657 . . ..
Con evidenti passaggi pu`o scriversi
I(f) =
1
2
_
+

e
x
2
g(x)dx

=
1
2
J
n
(g)
dove g(x) = e
x
2
sin(x
2
) e J
n
`e una formula di quadratura di Gauss-Hermite.
Eseguendo i calcoli, con n = 4, si trova
1
2
J
4
(g) = 0.626868 . . . .
Alternativamente si pu`o eettuare un troncamento dellintervallo non
limitato, avendo cura di stimare opportunamente la parte tralasciata, come
nellesempio che segue.
Esempio 7.6.9 Si consideri
I(f) =
_

0
cos x
cosh x
dx
il cui valore esatto `e

2
sech

2
= 0.6260201 . . ..
Pu`o scriversi
I(f) = I
(1)
(f) + I
(2)
(f)
con
I
(1)
(f) =
_
b
0
cos x
cosh x
dx, I
(2)
(f) =
_

b
cos x
cosh x
dx,
e si ha
| I
(2)
(f) |
_

b
dx
cosh x
= 2
_

b
e
x
e
2x
+ 1
dx 2
_

b
e
x
dx = 2e
b
.
Quindi, ad esempio, con b = 10, lintegrale proprio I
(1)
(f) approssima I(f)
con un errore assoluto non superiore a 2e
10
10
4
.
188 CAPITOLO 7. INTEGRAZIONE NUMERICA
Si osservi, come si constata facilmente, che per x > 3, risulta

e
x
cos x
cosh x

<
e
x
x
2
;
quindi, per il Teorema 7.4.2 con = 2 e x

= 3, la formula di Gauss-Laguerre
J
n
(f) con f(x) = e
x cos x
cosh x
`e convergente allintegrale dellesempio precedente.
Avendosi lim
n
(J
n+1
(f)J
n
(f)) = 0, il numero | J
n+1
(f)J
n
(f) | pu`o
assumersi come una stima del modulo dellerrore assoluto che si commette
approssimando I(e
x
f) con J
n+1
(f).
Applicando la formula con n = 4 e n = 5, si trova:
J
5
(f) = 0.6202592 . . . ,
| J
5
(f) J
4
(f) | 10
2
.
Lerrore eettivo risulta
| I(e
x
f) J
6
(f) | 5.8 10
3
.
7.6.3 Polinomi ortogonali: formule di ricorrenza, nodi
e pesi
I polinomi ortogonali possono essere costruiti con semplici formule di ri-
correnza a tre termini. I loro zeri sono i nodi delle corrispondenti formule
di quadratura. Su intervalli simmetrici rispetto allorigine i nodi sono sim-
metrici rispetto allorigine e a ogni coppia di nodi simmetrici compete lo
stesso peso. Le costanti di normalizzazione h
i
, i 0, sono quelle date nella
denizione di classe di polinomi ortogonali

e riferite al prodotto scalare


(7.20).
Polinomi di Chebyshev di 1
a
specie (h
0
= , h
i
= /2, i > 0).
T
i+1
(x) = 2xT
i
(x) T
i1
(x), i = 1, 2, . . . ; T
0
(x) = 1, T
1
(x) = x.
I nodi e i pesi delle corrispondenti formule di quadratura sono esprimibili in
forma chiusa. Poiche i pesi sono costanti per ogni valore di n, esse sono dette
formule a pesi uniformi.
x
i
= cos
(2i + 1)
2(n + 1)
, a
i
=

n + 1
, i = 0, 1, . . . , n.
7.6. COMPLEMENTI ED ESEMPI 189
Polinomi di Chebyshev di 2
a
specie (h
i
= /2).
U
i+1
(x) = 2xU
i
(x) U
i1
(x), i = 1, 2, . . . ; U
0
(x) = 1, U
1
(x) = 2x.
n x
i
a
i
0 0.0000000000 1.5707963268
1 0.5000000000 0.7853981634
2 0.7071067812 0.3926990817
0.0000000000 0.7853981634
3 0.8090169944 0.2170787134
0.3090169944 0.5683194500
4 0.8660254038 0.1308996939
0.5000000000 0.3926990817
0.0000000000 0.5235987756
5 0.9009688679 0.0844886909
0.6234898019 0.2743330561
0.2225209340 0.4265764164
Polinomi di Legendre (h
i
= 2/(2i + 1)).
(i + 1)P
i+1
(x) = (2i + 1)xP
i
(x) iP
i1
(x), i = 1, 2, . . . ;
P
0
(x) = 1, P
1
(x) = x.
n x
i
a
i
0 0.0000000000 2.0000000000
1 0.5773502692 1.0000000000
2 0.7745966692 0.5555555555
0.0000000000 0.8888888888
3 0.8611363116 0.3478548451
0.3399810436 0.6521451549
4 0.9061798459 0.2369268851
0.5384693101 0.4786286705
0.0000000000 0.5688888888
5 0.9324695142 0.1713244924
0.6612093865 0.3607615730
0.2386191861 0.4679139346
190 CAPITOLO 7. INTEGRAZIONE NUMERICA
Polinomi di Laguerre (h
i
= 1).
(i + 1)L
i+1
(x) = (2i + 1 x)L
i
(x) iL
i1
(x), i = 1, 2, . . . ;
L
0
(x) = 1, L
1
(x) = x + 1.
n x
i
a
i
0 1.0000000000 1.0000000000
1 0.5857864376 0.8535533906
3.4142135624 0.1464466094
2 0.4157745568 0.7110930099
2.2942803603 0.2785177336
6.2899450829 0.0103892565
3 0.3225476896 0.6031541043
1.7457611012 0.3574186924
4.5366202969 0.0388879085
9.3950709123 0.0005392947
4 0.2635603197 0.5217556106
1.4134030591 0.3986668111
3.5964257710 0.0759424497
7.0858100059 0.0036117587
12.640800844 0.0000233700
5 0.2228466042 0.4589646739
1.1889321017 0.4170008308
2.9927363261 0.1133733821
5.7751435691 0.0103991975
9.8374674184 0.0002610172
15.982873981 0.0000008985
Polinomi di Hermite (h
i
= 2
i
(i!)

).
H
i+1
(x) = 2xH
i
(x) 2iH
i1
(x), i = 1, 2, . . . ; H
0
(x) = 1, H
1
(x) = 2x.
7.6. COMPLEMENTI ED ESEMPI 191
n x
i
a
i
0 0.0000000000 1.7724538509
1 0.7071067812 0.8862269255
2 1.2247448714 0.2954089752
0.0000000000 1.1816359006
3 1.6506801239 0.0813128354
0.5246476233 0.8049140900
4 2.0201828705 0.0199532421
0.9585724646 0.3936193232
0.0000000000 0.9453087205
5 2.3506049737 0.0045300099
1.3358490740 0.1570673203
0.4360774119 0.7246295952
Bibliograa: [7], [9], [30].
Capitolo 8
Metodi numerici per equazioni
dierenziali ordinarie
8.1 Introduzione
Il problema trattato nel presente capitolo riguarda lapprossimazione nu-
merica di una funzione y(t) : [a, b] IRIR
m
, soluzione del seguente problema
di valori iniziali, o di Cauchy, del primo ordine
y

(t) = f(t, y(t)), t [a, b],


(8.1)
y(t
0
) = y
0
,
dove f(t, y) : [a, b]IR
m
IR
m
, t
0
[a, b] e y
0
IR
m
.
Prima di presentare alcune delle principali tecniche di approssimazione
nel discreto, giova premettere qualche considerazione teorica sul problema
continuo (8.1).
Teorema 8.1.1 Sia f(t, y) denita e continua nellinsieme
D = {(t, y) | < a t b < +, y < +}
ed esista una costante L tale che
f(t, y) f(t, y

) Ly y

(8.2)
per ogni (t, y), (t, y

) D. Allora esiste ununica soluzione y(t) C


1
([a, b])
del problema (8.1), per ogni y
0
assegnato.
194 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
La costante L e la relazione (8.2) diconsi rispettivamente costante e con-
dizione di Lipschitz.
Il precedente teorema vale sotto lipotesi, pi` u restrittiva, che esista e sia
continua la matrice jacobiana J(t, y) : D IR
mm
di f, denita da
J(t, y) =
f
y
:
in tal caso nella (8.2) pu`o assumersi L = sup
(t,y)D
f/y.
Talvolta il problema di Cauchy `e dato nella forma autonoma
y

(t) = f(y),
(8.3)
y(t
0
) = y
0
.
Ci`o non lede la generalit`a in quanto ogni problema (8.1) pu`o ricondursi
alla forma (8.3) con la sostituzione z
1
(t) = y(t), z
2
(t) = t, aggiungendo
lequazione z

2
(t) = 1 e completando le condizioni iniziali con z
2
(t
0
) = t
0
;
ponendo z
T
= (z
T
1
, z
2
), g
T
= (f(z)
T
, 1), z
T
0
= (y
T
0
, t
0
) risulta infatti
z

(t) = g(z) ,
z(t
0
) = z
0
,
che `e, appunto, della forma (8.3).
Problemi dierenziali di ordine superiore al primo possono essere trasfor-
mati in problemi equivalenti del primo ordine con una opportuna sostituzione.
Si consideri, infatti, il problema di ordine r > 1
y
(r)
= f(t, y, y

, . . . , y
(r1)
) ,
y(t
0
) =
1
,
y

(t
0
) =
2
,
.
.
.
y
(r1)
(t
0
) =
r
;
8.1. INTRODUZIONE 195
se si introduce il vettore ausiliario z IR
mr
, z
T
= (z
T
1
, z
T
2
, . . . , z
T
r
), denito da
z
1
= y ,
z
2
= z

1
= y

,
z
3
= z

2
= y

,
.
.
.
z
r
= z

r1
= y
(r1)
,
e si pone z

r
= y
(r)
= f(t, z
1
, z
2
, . . . , z
r
) e z(t
0
)
T
= (
T
1
,
T
2
, . . . ,
T
r
) = z
T
0
, il
precedente problema pu`o scriversi come
z

(t) = g(t, z) ,
z(t
0
) = z
0
,
con g
T
= (z
T
2
, z
T
3
, . . . , z
T
r
, f(t, z)
T
), che `e della forma (8.1).
Il problema (8.1) si dice lineare se `e f(t, y(t)) = K(t)y(t) + (t) con
K(t) : [a, b] IR
mm
e (t) : [a, b] IR
m
; si dice lineare a coecienti costanti
se K non dipende da t: con ci`o il problema assume la forma
y

(t) = Ky(t) + (t) ,


(8.4)
y(t
0
) = y
0
.
Nel caso importante che K sia diagonalizzabile, la soluzione generale
di (8.4) `e
y(t) =
m

i=1
d
i
x
(i)
e

i
t
+ (t) (8.5)
dove
i
ed x
(i)
, i = 1, 2, . . . , m, sono rispettivamente gli autovalori e i cor-
rispondenti autovettori di K, (t) `e una soluzione particolare di (8.4) e le d
i
,
i = 1, 2, . . . , m, sono costanti arbitrarie.
Il problema (8.4) si dice omogeneo se (t) = 0: nellipotesi fatta su K, la
sua soluzione generale `e la (8.5) con (t) identicamente nulla.
Nei metodi numerici considerati nel seguito, si far`a riferimento ad un
sottoinsieme discreto dellintervallo [a, b], t
0
= a < t
1
< < t
N
= b,
ottenuto con una progressione aritmetica di ragione h > 0, denita da t
n
=
t
0
+nh, n = 0, 1, 2, . . . , N. La ragione h si dice passo della discretizzazione.
196 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
In corrispondenza ad una data discretizzazione, si indica con y
n
una ap-
prossimazione di y(t
n
) ottenuta con un metodo numerico specico in assenza
di errori di arrotondamento, mentre, in presenza di tali errori (dovuti, in
genere, ad una macchina da calcolo), lapprossimazione di y(t
n
) `e indicata
con y
n
.
8.2 Metodi a un passo
8.2.1 Generalit`a
I metodi a un passo sono della forma generale
y
n+1
= y
n
+ h(h, t
n
, y
n
), n = 0, 1, . . . , (8.6)
in cui la funzione dipende dalla funzione f del problema (8.1).
Posto y
0
= y(t
0
), la (8.6) serve a calcolare y
n+1
conoscendo y
n
.
Se dipende anche da y
n+1
il metodo si dice implicito e, se non `e lineare,
y
n+1
si calcola con una tecnica iterativa (cfr. (8.36)). Se non dipende da
y
n+1
il metodo `e detto esplicito e la sua applicazione `e immediata.
Due semplici metodi sono i seguenti:
la formula trapezoidale
y
n+1
= y
n
+
h
2
[f(t
n
, y
n
) +f(t
n+1
, y
n+1
)] (implicito);
il metodo di Eulero
y
n+1
= y
n
+hf(t
n
, y
n
) (esplicito).
Si introducono ora alcune denizioni.
Denizione 8.2.1 Si dice errore globale di discretizzazione nel punto t
n+1
, la
dierenza e
n+1
= y(t
n+1
) y
n+1
.
Denizione 8.2.2 Dicesi errore locale di troncamento la quantit` a
n+1
denita
da

n+1
= y(t
n+1
) u
n+1
(8.7)
dove
u
n+1
= y(t
n
) +h(h, t
n
, y(t
n
)) .
8.2. METODI A UN PASSO 197
Lerrore
n+1
`e quindi lerrore introdotto dal metodo al passo da t
n
a t
n+1
ed `e uguale alla dierenza fra il valore esatto y(t
n+1
) e quello teorico u
n+1
che si ottiene usando il metodo (8.6) col valore esatto y(t
n
) al posto di y
n
.
Si consideri un passaggio al limite facendo tendere h a zero e n allinnito
in modo che t
0
+ nh resti sso e si indichi tale operazione con limh0
t=t
n
.
Denizione 8.2.3 Un metodo (8.6) si dice coerente se vale la condizione
lim
h0
t=t
n+1

n+1
h
= 0 .
Dalla (8.7) segue che la coerenza implica
(0, t, y(t)) = f(t, y(t)) . (8.8)
Si denisce ordine del metodo il pi` u grande intero positivo p per cui risulta

n+1
= O
_
h
p+1
_
.
Si noti che un metodo coerente ha ordine almeno p = 1 e che, in linea di
principio, laccuratezza del metodo cresce al crescere di p.
Denizione 8.2.4 Un metodo si dice convergente se, applicato a un qualun-
que problema di Cauchy soddisfacente le ipotesi del Teorema 8.1.1, risulta,
per ogni t [a, b],
lim
h0
t=t
n+1
y
n+1
= y(t
n+1
) ,
e quindi
lim
h0
t=t
n+1
e
n+1
= 0 .
Occorre considerare, inne, gli errori che nascono dagli arrotondamenti.
La dierenza e
n+1
= y
n+1
y
n+1
dicesi errore globale di arrotondamento.
Tale errore `e originato dagli errori di arrotondamento introdotti dalla macchina
ad ogni passo. Questi si suppongono di solito indipendenti da h e quindi, per
un ssato intervallo, il loro contributo cresce con il numero dei passi.
Si denisce errore totale e
n+1
= y(t
n+1
) y
n+1
lerrore che si accumula al
passo t
n+1
per leetto degli errori che si sono prodotti in ognuno dei passi
precedenti.
Il seguente teorema stabilisce condizioni necessarie e sucienti perche un
metodo esplicito (8.6) sia convergente.
198 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Teorema 8.2.1 La funzione (h, t, y) sia continua nella regione
D = {(h, t, y) | 0 < h h
0
, < a t b < +, y < +}
e inoltre soddis la seguente condizione di Lipschitz
(h, t, y

) (h, t, y) My

y
per ogni (h, t, y

), (h, t, y) D, allora il metodo (8.6) `e convergente se e solo


se `e coerente.
Per i metodi considerati in 8.2.2 e 8.2.3 la funzione verica le condizioni
del Teorema 8.2.1 se la f(t, y) soddisfa quelle del Teorema 8.1.1.
8.2.2 Metodi di Runge-Kutta
I metodi di Runge-Kutta costituiscono una importante classe di metodi
della forma (8.6). La struttura generale di tali metodi `e
y
n+1
= y
n
+ h
s

i=1
b
i
k
i
(8.9)
dove
k
i
= f(t
n
+c
i
h, y
n
+ h
s

j=1
a
ij
k
j
), i = 1, 2, . . . , s. (8.10)
I parametri reali b
i
, c
i
, a
ij
deniscono il metodo ed s `e detto numero di
stadi.
Pertanto un metodo di Runge-Kutta `e un metodo a un passo in cui risulta
(h, t
n
, y
n
) =
s

i=1
b
i
k
i
. (8.11)
Si osservi che, dalla convergenza del metodo, segue
lim
h0
t=t
n+1
k
i
= f(t, y(t)), i = 1, 2, . . . , s,
per cui, tenuto conto della (8.11), la condizione di coerenza (8.8) equivale a
s

i=1
b
i
= 1 .
8.2. METODI A UN PASSO 199
Per convenzione, comunemente adottata, si pone
c
i
=
s

j=1
a
ij
, i = 1, 2, . . . , s . (8.12)
Si ottiene una utile rappresentazione compatta di un metodo di Runge-
Kutta per mezzo della seguente tavola di Butcher
c A
b
T
=
c
1
a
11
a
1s

c
s
a
s1
a
ss
b
1
b
s
.
Si distinguono due classi di metodi, riconoscibili dalla forma della matrice A:
metodi espliciti se a
ij
= 0, per ogni coppia i, j con 1 i j s;
metodi impliciti se a
ij
= 0 per qualche coppia i, j con i j.
Nel primo caso le (8.10) hanno la forma
k
i
= f(t
n
+ c
i
h, y
n
+h
i1

j=1
a
ij
k
j
), i = 1, 2, . . . , s,
e quindi ciascun vettore k
i
si pu`o calcolare esplicitamente in funzione dei
precedenti k
j
, j = 1, 2, . . . , i 1.
Nel secondo caso, introducendo il vettore k
T
= (k
T
1
, . . . , k
T
s
) IR
ms
, le (8.10)
si possono scrivere in forma implicita
k = (k) (8.13)
con
i
(k) = f(t
n
+ c
i
h, y
n
+h

s
j=1
a
ij
k
j
), i = 1, 2, . . . , s.
Il sistema (8.13) `e lineare o non lineare a seconda che lo sia f(t, y) rispetto
a y e pu`o essere risolto con un algoritmo specico.
Una sottoclasse dei metodi impliciti `e costituita dai metodi semi-impliciti
nei quali `e a
ij
= 0, 1 i < j s, e a
ii
= 0 per almeno un i. In tal caso si ha
k
i
= f(t
n
+ c
i
h, y
n
+ h
i1

j=1
a
ij
k
j
+ ha
ii
k
i
), i = 1, 2, . . . s,
e quindi le (8.10) possono essere risolte singolarmente con un costo com-
putazionale pi` u contenuto di quello richiesto per il sistema (8.13).
200 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Lerrore locale di troncamento di un metodo di Runge-Kutta di ordine p
`e della forma

n+1
= h
p+1

dove `e una funzione dipendente in modo non semplice da y


n
, c, b e dagli
elementi di A.
Di seguito si riportano alcuni metodi espliciti, con s 4, scelti fra i pi` u
noti.
Metodo di Eulero, p = 1:
0 0
1
. (8.14)
Metodo di Eulero modicato, p = 2:
0 0 0
1 1 0
1/2 1/2
.
Metodo della poligonale, p = 2:
0 0 0
1/2 1/2 0
0 1
.
Formula di Heun, p = 3:
0 0 0 0
1/3 1/3 0 0
2/3 0 2/3 0
1/4 0 3/4
.
Formula di Kutta, p = 3:
0 0 0 0
1/2 1/2 0 0
1 1 2 0
1/6 2/3 1/6
.
8.2. METODI A UN PASSO 201
Metodo di Runge-Kutta classico, p = 4:
0 0 0 0 0
1/2 1/2 0 0 0
1/2 0 1/2 0 0
1 0 0 1 0
1/6 1/3 1/3 1/6
. (8.15)
In generale i metodi impliciti sono classicati in base al tipo di formula
di quadratura a cui danno luogo allorche vengono applicati al problema y

=
f(t). Si ha in questo caso
y
n+1
y
n
= h
s

i=1
b
i
f(t
n
+c
i
h) .
Il secondo membro pu`o intendersi come una formula di quadratura, con pesi
b
i
e nodi c
i
, che approssima lintegrale
_
t
n+1
t
n
f(t)dt ;
infatti si ha
y
n+1
y
n
y(t
n+1
) y(t
n
) =
_
t
n+1
t
n
f(t)dt = h
_
1
0
f(t
n
+ ch)dc .
Di seguito si riportano alcuni esempi con s 3.
Metodi di Gauss-Legendre, p = 2s:
1/2 1/2
1
,
(3

3)/6 1/4 (3 2

3)/12
(3 +

3)/6 (3 + 2

3)/12 1/4
1/2 1/2
.
Metodi di Radau IA, p = 2s 1:
0 1
1
, (8.16)
202 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
0 1/4 1/4
2/3 1/4 5/12
1/4 3/4
.
Metodi di Radau IIA, p = 2s 1:
1 1
1
,
1/3 5/12 1/12
1 3/4 1/4
3/4 1/4
.
Metodi di Lobatto IIIA, p = 2s 2:
0 0 0
1 1/2 1/2
1/2 1/2
, (8.17)
0 0 0 0
1/2 5/24 1/3 1/24
1 1/6 2/3 1/6
1/6 2/3 1/6
.
Metodi di Lobatto IIIB, p = 2s 2:
0 1/2 0
1 1/2 0
1/2 1/2
, (8.18)
0 1/6 1/6 0
1/2 1/6 1/3 0
1 1/6 5/6 0
1/6 2/3 1/6
.
Metodi di Lobatto IIIC, p = 2s 2:
0 1/2 1/2
1 1/2 1/2
1/2 1/2
,
8.2. METODI A UN PASSO 203
0 1/6 1/3 1/6
1/2 1/6 5/12 1/12
1 1/6 2/3 1/6
1/6 2/3 1/6
.
Si osservi che i metodi (8.16) e (8.18) sono un esempio di eccezione alla
condizione (8.12).
Esempi di metodi semi-impliciti sono il metodo (8.17), gi`a riportato in 8.2.1
come formula trapezoidale, e il metodo (8.18).
`
E da rilevare che i metodi impliciti hanno, in genere, a parit`a di numero di
stadi, un ordine superiore a quello dei metodi espliciti. Inoltre per i metodi
di Gauss-Legendre, Radau e Lobatto lordine p dipende in modo semplice
e diretto da s. Un risultato di questo tipo non `e disponibile per i metodi
espliciti per i quali, invece, si hanno teoremi che stabiliscono per ogni ordine
ssato p il minimo numero s degli stadi (o, per contro, per ogni s ssato,
il massimo ordine ottenibile). Al riguardo la situazione desumibile dalla
letteratura attuale `e riassunta nella tavola seguente.
p 1 2 3 4 5 6 7 8 9 10
s minimo 1 2 3 4 6 7 9 11 12 s 17 13 s 17
Tavola 8.1: Corrispondenza tra ordine e numero minimo di stadi.
8.2.3 Stabilit`a dei metodi di Runge-Kutta
Si applichi un metodo di Runge-Kutta, nel caso scalare m = 1, al seguente
problema test
y

(t) = y(t), C
/
, Re() < 0, (8.19)
la cui soluzione `e y(t) = de
t
, con d costante arbitraria.
Poiche lim
t
y(t) = 0, `e naturale richiedere che la soluzione numerica
abbia un comportamento analogo a quello della soluzione continua, cio`e che
sia, per ogni n,
| y
n+1
| c | y
n
| (8.20)
per qualche costante positiva c < 1.
Tale relazione implica che, per il passo h prescelto, gli errori di discretizza-
zione si mantengono limitati col procedere dei calcoli.
204 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Questa propriet`a riguarda la sensibilit`a agli errori di uno schema discreto,
ovvero la sua stabilit`a numerica.
Per giungere ad una condizione che garantisca la (8.20) si faccia riferi-
mento, ad esempio, al pi` u elementare dei metodi di Runge-Kutta, il metodo
di Eulero (8.14), il quale pu`o scriversi
y
n+1
= y
n
+ hf(t
n
, y
n
) . (8.21)
Questo metodo, applicato al problema (8.19), fornisce
y
n+1
= (q + 1)y
n
dove si `e posto
q = h .
Pertanto la (8.20) sar`a vericata se e solo se
| q + 1 |< 1 ,
ovvero se i valori del parametro q, nel piano complesso, sono interni al cerchio
di centro [1, 0] e raggio unitario.
Generalizzando quanto sopra esposto per il metodo esplicito (8.21) al caso
di un metodo di Runge-Kutta qualunque, cio`e applicando un metodo (8.9)-
(8.10) al problema (8.19), si ottiene unequazione della forma
y
n+1
= R(q)y
n
. (8.22)
R(q) `e detta funzione di stabilit`a ed `e vericata la (8.20) se e solo se
| R(q) |< 1 . (8.23)
Denizione 8.2.5 Un metodo di Runge-Kutta si dice assolutamente stabile,
per un dato q, se la sua funzione di stabilit` a soddisfa la condizione (8.23).
Denizione 8.2.6 Linsieme del piano complesso
S
A
= {q C
/
| | R(q) |< 1}
si chiama regione di assoluta stabilit`a del metodo.
8.2. METODI A UN PASSO 205
Si pu`o dimostrare che, introdotto il vettore u = (1, 1, . . . , 1)
T
IR
s
, la
funzione di stabilit`a di un metodo di Runge-Kutta `e data da
R(q) =
det(I qA + qub
T
)
det(I qA)
. (8.24)
A titolo di verica qui si ricavano la (8.22) e (8.24) per la formula trape-
zoidale
y
n+1
= y
n
+
h
2
[f(y
n
) +f(y
n+1
)] :
applicandola al problema test (8.19) si ha
y
n+1
=
1 +q/2
1 q/2
y
n
.
Facendo riferimento alla formula espressa nella forma (8.17), la stessa
funzione di stabilit`a R(q) =
1+q/2
1q/2
si pu`o ottenere direttamente dalla (8.24)
ponendo
I =
_
1 0
0 1
_
, A =
_
0 0
1/2 1/2
_
, u =
_
1
1
_
, b =
_
1/2
1/2
_
.
Nella (8.24) det(I qA + qub
T
) e det(I qA) sono polinomi in q, a
coecienti reali, di grado s, quindi R(q) `e una funzione razionale (cfr.
6.5). Poiche allora R( q) = R(q) ne viene che S
A
`e simmetrica rispetto allasse
reale.
Si vede subito che per la formula trapezoidale la regione S
A
`e lintero
semipiano Re(q) < 0.
Si noti che per la soluzione esatta del problema test si ha
y(t
n+1
) = de
t
n+1
= y(t
n
)e
q
,
mentre dalla (8.22), per denizione di errore locale di troncamento, si ottiene
y(t
n+1
) = R(q)y(t
n
) +
n+1
,
da cui, confrontando con la precedente e supponendo
n+1
= O(h
p+1
), si ha
e
q
R(q) = O(h
p+1
) . (8.25)
Dalla (8.25) segue che, per Re(q) > 0 ed h sucientemente piccolo, si ha
| R(q) |> 1, cio`e q S
A
e quindi lintersezione di S
A
con lasse reale `e del
tipo ], 0[ con < 0.
206 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Denizione 8.2.7 Un metodo si dice A
0
-stabile se
S
A
{q | Re(q) < 0, Im(q) = 0} ,
cio`e se S
A
contiene lintero semiasse reale negativo.
Denizione 8.2.8 Un metodo si dice A-stabile se
S
A
{q | Re(q) < 0} .
In un metodo A-stabile, quindi, la condizione di stabilit`a | R(q) |< 1 `e
garantita indipendentemente dal passo h purche sia Re(q) < 0. Inoltre la
A-stabilit`a implica la A
0
-stabilit`a.
Denizione 8.2.9 Un metodo si dice L-stabile se `e A-stabile e se
lim
Re(q)
| R(q) |= 0 .
Si noti, per esempio, che la formula trapezoidale `e A-stabile, ma, essendo
lim
Re(q)
R(q) = 1, non `e L-stabile.
Poiche nei metodi espliciti la matrice A`e triangolare inferiore con elementi
diagonali nulli, risulta det(I qA) = 1 e pertanto R(q) `e un polinomio di
grado compreso fra 1 e s; per questi metodi risulta lim
Re(q)
| R(q) |=
+. Resta quindi provato il seguente teorema.
Teorema 8.2.2 Non esistono metodi di Runge-Kutta espliciti A-stabili.
`
E da notare che le varie denizioni di stabilit`a date per il caso scalare
m = 1, si estendono anche al caso m > 1 facendo riferimento al problema
lineare a coecienti costanti
y

= Ky , (8.26)
dove si suppone che K abbia autovalori
1
,
2
, . . . ,
m
distinti e che sia
Re(
i
) < 0 , i = 1, 2, . . . , m. (8.27)
Posto
q
i
= h
i
, i = 1, 2, . . . , m,
lequivalenza del sistema (8.26) ad un sistema di m equazioni indipendenti
z

i
=
i
z
i
, i = 1, 2, . . . , m, che si ottiene diagonalizzando la matrice K, gius-
tica la seguente denizione.
8.2. METODI A UN PASSO 207
Denizione 8.2.10 Un metodo di Runge-Kutta, applicato al problema (8.26),
si dice assolutamente stabile per un insieme di valori q
i
C
/
, i = 1, 2, . . . , m,
se
q
i
S
A
, i = 1, 2, . . . , m, (8.28)
dove S
A
`e la regione di assoluta stabilit`a denita nel caso scalare (cfr. De-
nizione 8.2.6).
Si pu`o dimostare che nei metodi espliciti con p = s, cio`e (cfr. Tavola 8.1)
per s = 1, 2, 3, 4, si ha
R(q) = 1 +q +
1
2!
q
2
+ +
1
s!
q
s
. (8.29)
Nella Tavola 8.2 si riportano il valore minimo di Re(q) e il valore massimo
di | Im(q) | per le regioni di assoluta stabilit`a associate alla (8.29).
s Re(q) | Im(q) |
1 2 1
2 2 1.75
3 2.5 2.4
4 2.785 2.95
Tavola 8.2: Valori estremi di S
A
per i metodi espliciti con p = s.
Le regioni S
A
di assoluta stabilit`a per i metodi (8.29) con s = 1, 2, 3, 4
sono riportate in Fig. 8.1, e sono costituite dai punti interni alle porzioni di
piano delimitate dalle curve date per ogni valore di s.
Si osservi ora che dalla (8.25) si ha e
q
R(q), e quindi R(q) `e una funzione
razionale che approssima lesponenziale e
q
. Si comprende quindi come possa
essere interessante confrontare le funzioni di stabilit`a R(q) dei vari metodi
di Runge-Kutta con le cosiddette approssimazioni razionali di Pade della
funzione esponenziale. Esse sono date da
R
k
j
(q) =
P
k
(q)
Q
j
(q)
,
dove
P
k
(q) =
k

i=0
k!(j + k i)!
(k i)!(j + k)!i!
q
i
,
208 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
4 3 2 1 0 1 2
3
2
1
0
1
2
3
S=3
S=2
S=1
S=4
Figura 8.1: Regioni S
A
dei metodi di Runge Kutta espliciti con s = 1, 2, 3, 4.
Q
j
(q) =
j

i=0
j!(j +k i)!
(j i)!(j + k)!i!
(q)
i
.
R
k
j
(q) `e lunica funzione razionale con numeratore di grado k e denomi-
natore di grado j tale che
e
q
= R
k
j
(q) +O(q
k+j+1
) (8.30)
quando q 0. Si riportano nella Tavola 8.3 le espressioni di R
k
j
(q) con
0 k, j 3.
k = 0 k = 1 k = 2 k = 3
j = 0 1 1 + q 1 + q +
1
2
q
2
1 + q +
1
2
q
2
+
1
6
q
3
j = 1
1
1q
1+
1
2
q
1
1
2
q
1+
2
3
q+
1
6
q
2
1
1
3
q
1+
3
4
q+
1
4
q
2
+
1
24
q
3
1
1
4
q
j = 2
1
1q+
1
2
q
2
1+
1
3
q
1
2
3
q+
1
6
q
2
1+
1
2
q+
1
12
q
2
1
1
2
q+
1
12
q
2
1+
3
5
q+
3
20
q
2
+
1
60
q
3
1
2
5
q+
1
20
q
2
j = 3
1
1q+
1
2
q
2

1
6
q
3
1+
1
4
q
1
3
4
q+
1
4
q
2

1
24
q
3
1+
2
5
q+
1
20
q
2
1
3
5
q+
3
20
q
2

1
60
q
3
1+
1
2
q+
1
10
q
2
+
1
120
q
3
1
1
2
q+
1
10
q
2

1
120
q
3
Tavola 8.3: Approssimazioni di Pade dellesponenziale.
8.2. METODI A UN PASSO 209
Si constata che molte approssimazioni di Pade coincidono con altrettante
funzioni di stabilt`a. Per esempio, dalla Tavola 8.3 si vede che le approssi-
mazioni R
k
0
(q), k = 1, 2, 3, coincidono con le funzioni di stabilit`a dei metodi
di Runge-Kutta espliciti con p = s.
Nella denizione seguente si caratterizzano le varie approssimazioni di
Pade .
Denizione 8.2.11 Una approssimazione R
k
j
(q) di Pade si dice:
A
0
-accettabile se | R
k
j
(q) |< 1 quando Re(q) < 0 e Im(q) = 0;
A-accettabile se | R
k
j
(q) |< 1 quando Re(q) < 0;
L-accettabile se `e A-accettabile e lim
Re(q)
| R
k
j
(q) |= 0.
Evidentemente R
k
j
(q) non pu`o essere A-accettabile se k > j. Al riguardo
si ha il seguente risultato che dimostra la cosiddetta congettura di Ehle.
Teorema 8.2.3 Le approssimazioni di Pade R
k
j
(q) sono A-accettabili se e
solo se j 2 k j.
Ne segue che se j 2 k < j, R
k
j
(q) sono anche L-accettabili.
Vale poi il seguente teorema.
Teorema 8.2.4 R
k
j
(q) `e A
0
-accettabile se e solo se k j.
Se per un metodo risulta R(q) = R
k
j
(q), con k j, allora esso sar`a A
0
-
stabile, A-stabile oppure L-stabile a seconda che R
k
j
(q) sia A
0
-accettabile,
A-accettabile o L-accettabile.
Inne si possono dimostrare le proposizioni che seguono, le quali, per
semplicit`a, si sono riunite in un unico teorema:
Teorema 8.2.5 Risulta:
R(q) = R
s
s
(q) per i metodi di Gauss-Legendre a s stadi;
R(q) = R
s1
s
(q) per i metodi di Radau IA e Radau IIA a s stadi;
R(q) = R
s1
s1
(q) per i metodi di Lobatto IIIA e Lobatto IIIB a s
stadi;
R(q) = R
s2
s
(q) per i metodi di Lobatto IIIC a s stadi.
Quindi i metodi riportati da questo teorema sono A-stabili per ogni valore
di s e, in particolare, i metodi di Radau IA, Radau IIA e di Lobatto IIIC
sono anche L-stabili.
210 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Una classe di problemi particolarmente importanti, per i quali sono utili
i metodi A-stabili, `e quella dei cosiddetti problemi sti. Limitandosi, per
semplicit`a, al caso di un problema lineare, siano

autovalori della
matrice K di (8.4) tali che
| Re(

) |= min {| Re(
1
) |, | Re(
2
) |, . . . , | Re(
m
) |} ,
| Re(

) |= max {| Re(
1
) |, | Re(
2
) |, . . . , | Re(
m
) |} .
Il problema (8.4) si dice sti se, per gli autovalori di K, vale lipotesi (8.27)
e risulta anche:
| Re(

) || Re(

) | ,
| Re(

) |1 .
In tal caso, nella soluzione (8.5), la parte

m
i=1
d
i
x
(i)
e

i
t
, che prende il nome
di soluzione transitoria, contiene la componente e

t
che tende a zero per
t , variando rapidamente in T

[t
0
, t
0
+ |

|
1
].
`
E chiaro che per approssimare la componente e

t
sullintervallo T

`e
necessario un passo h

dellordine di |

|
1
. Un tale passo risulta troppo
piccolo nei riguardi della componente e

t
: infatti questa decresce lentamente
in T

[t
0
, t
0
+ |

|
1
] e risulta che lampiezza di T

`e molto maggiore di
quella di T

. Fuori dellintervallo T

sarebbe quindi opportuno aumentare


la lunghezza del passo, compatibilmente con laccuratezza che si vuole ot-
tenere. Tuttavia, per i metodi con S
A
limitata, il rispetto della condizione
di stabilit`a (8.28) costringe ad usare il passo h

anche su tutto lintervallo


T

, facendo crescere in modo inaccettabile il numero dei passi necessari.


Analoghe considerazioni possono farsi nei riguardi della componente e

t
confrontata con (t), cio`e con quella parte della (8.5) che, nellipotesi (8.27),
`e detta soluzione stazionaria.
Al riguardo si consideri il seguente esempio.
Si vuole approssimare la soluzione del problema omogeneo (8.26) con un
errore locale di troncamento dellordine di 10
4
; siano gli autovalori di K
reali e

= 1000,

= 0.1; si applichi il metodo di Runge-Kutta clas-


sico (8.15), di ordine p = 4, il cui intervallo reale di stabilit`a `e ] 2.785, 0[.
Il passo h = 0.1 `e suciente per la precisione che si richiede, tuttavia le
condizioni (8.28) sono soddisfatte solo se q

= h

] 2.785, 0[, ovvero


se h < 0.002785. Assumendo t
0
= 0, il termine della soluzione relativo a
8.3. METODI A PI
`
U PASSI 211

tende rapidamente a zero, mentre quello relativo a

sar`a prossimo a
zero per un valore t

nettamente maggiore; sia esso t

|
1
= 10. Oc-
corrono perci`o = 10/h 3600 passi per approssimare la soluzione y(t)
sullintrevallo [t
0
, t

]. Poiche ad ogni passo si eettuano s = 4 valutazioni


della funzione Ky, il costo computazionale risulta elevato e pu`o divenire ap-
prezzabile il fenomeno di accumulo degli errori di arrotondamento. Questi
inconvenienti si possono evitare se si usa una tecnica di variazione del passo e
se si utilizza un metodo A-stabile. In questo caso, poiche le (8.28) sono sod-
disfatte qualunque sia h, lunico vincolo al passo `e dato dal valore richiesto
per lerrore locale di troncamento e a parit`a di ordine, con 100 passi si ottiene
il risultato voluto.
8.3 Metodi a pi` u passi
8.3.1 Equazioni alle dierenze
Si consideri lequazione
k

j=0

j
y
n+j
= b
n
, n = 0, 1, . . . , (8.31)
dove
j
sono costanti scalari e b
n
un vettore di IR
m
assegnato. La (8.31)
prende il nome di equazione lineare alle dierenze a coecienti costanti di
ordine k e la sua soluzione `e una successione di vettori y
n
di IR
m
. Sia y

n
una
sua soluzione particolare e z
n
la soluzione generale dellequazione omogenea
associata
k

j=0

j
y
n+j
= 0 , n = 0, 1, . . . , (8.32)
allora la soluzione generale della (8.31) `e data da
y
n
= z
n
+y

n
.
Per sostituzione si trova che z
n
= d
n
, d IR
m
, `e una soluzione della (8.32)
se `e radice del polinomio caratteristico
() =
k

j=0

j
.
212 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Se () ha k radici distinte
1
,
2
, . . . ,
k
, linsieme {
n
1
,
n
2
, . . . ,
n
k
} forma
un sistema fondamentale di soluzioni e la soluzione generale della (8.32) `e
z
n
=
k

i=1
d
i

n
i
(8.33)
essendo d
i
vettori arbitrari di IR
m
. Se una radice, ad esempio
j
, ha molteplicit`a
e le rimanenti sono tutte distinte, linsieme
{
n
1
, . . . ,
n
j1
,
n
j
, n
n
j
, n
2

n
j
, . . . , n
1

n
j
,
n
j+1
, . . . ,
n
k+1
}
forma ancora un sistema fondamentale di soluzioni e si ha
z
n
=
j1

i=1
d
i

n
i
+
j+1

i=j
d
i
n
ij

n
j
+
k

i=j+
d
i

n
i+1
. (8.34)
`
E immediata lestensione al caso generale che () abbia r radici distinte
i
,
i = 1, 2, . . . , r, ciascuna con molteplicit`a
i
con

r
i=1

i
= k.
Si indichi con E loperatore di avanzamento denito da
Ey
n
= y
n+1
;
ammettendo che loperatore E sia lineare, cio`e risulti E(y
n
+ y
n+1
) =
Ey
n
+ Ey
n+1
, e convenendo di porre E
2
y
n
= E(Ey
n
), la (8.31) pu`o for-
malmente scriversi
(E)y
n
= b
n
.
8.3.2 Metodi lineari
Un metodo lineare a pi` u passi, o a k passi, con k 1, per approssimare
la soluzione del problema (8.1) ha la struttura seguente
k

j=0

j
y
n+j
= h
k

j=0

j
f(t
n+j
, y
n+j
) , n = 0, 1, . . . , (8.35)
cio`e ha la forma di una equazione alle dierenze, lineare rispetto a y
n+j
e
f(t
n+j
, y
n+j
), j = 0, 1, . . . , k.
I coecienti
j
e
j
sono costanti reali e si ammette che sia
|
0
| + |
0
| = 0 ,
k
= 1 .
8.3. METODI A PI
`
U PASSI 213
Per ogni n, la (8.35) fornisce il vettore y
n+k
in funzione dei k vettori precedenti
y
n+k1
, y
n+k2
, . . . , y
n
.
Si suppongono noti (dati o calcolati) i k vettori iniziali y
0
, y
1
, . . . , y
k1
.
Se
k
= 0 il metodo si dice implicito: posto
w =
k1

j=0

j
y
n+j
+ h
k1

j=0

j
f(t
n+j
, y
n+j
) ,
si calcola, per n = 0, 1, . . ., una approssimazione z

della soluzione dellequa-


zione
z = h
k
f(t
n+k
, z) +w (8.36)
e si assume quindi y
n+k
= z

. Se f(t, y) `e lineare rispetto a y la (8.36) si


riduce ad un sistema lineare; in caso contrario si pu`o utilizzare, ad esempio,
il seguente procedimento iterativo
z
(r+1)
= h
k
f(t
n+k
, z
(r)
) +w , r = 0, 1, . . . ,
la cui convergenza `e garantita se (cfr. Teorema 4.6.1)
h |
k
| L < 1 ,
dove L `e la costante di Lipschitz della funzione f(t, z). Se esiste la matrice
f/z si pu`o porre L = sup
(t,z)D
f/z.
Se
k
= 0 il metodo si dice esplicito e il calcolo di y
n+k
`e diretto.
Al metodo (8.35) sono associati i seguenti due polinomi, detti primo e
secondo polinomio caratteristico,
() =
k

j=0

j
, () =
k

j=0

j
.
Convenendo di porre
f
n+j
= f(t
n+j
, y
n+j
) ,
la (8.35) pu`o formalmente scriversi
(E)y
n
= h(E)f
n
.
214 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Denizione 8.3.1 Dicesi errore locale di troncamento di un metodo a pi` u
passi la quantit`a
n+k
denita da

n+k
=
k

j=0

j
y(t
n+j
) h
k

j=0

j
f(t
n+j
, y(t
n+j
)) . (8.37)
Questa denizione, nellambito dei metodi lineari, coincide con la De-
nizione 8.2.2 se il metodo `e esplicito, mentre, se il metodo `e implicito, le
due denizioni forniscono errori che dieriscono per termini dellordine di h.
Analogamente si hanno poi le denizioni di coerenza, ordine e convergenza.
Per un metodo a pi` u passi la condizione di coerenza `e data da
lim
h0
t=t
n+k

n+k
h
= 0 , (8.38)
e lordine `e il pi` u grande intero p per cui risulta

n+k
= O(h
p+1
) .
Restano invariate, rispetto ai metodi a un passo, le denizioni di errore
globale di discretizzazione, di errore globale di arrotondamento e di errore
totale (riferite al calcolo di y
n+k
nel punto t
n+k
).
In generale i vettori y
1
, . . . , y
k1
dipendono da h e si dice che formano un
insieme compatibile di vettori iniziali se vale la propriet`a
lim
h0
y
i
= y
0
, i = 1, 2, . . . , k 1.
Denizione 8.3.2 Il metodo (8.35) si dice convergente se, applicato a un
qualunque problema soddisfacente le ipotesi del Teorema 8.1.1, `e tale che,
per ogni t [a, b], si abbia
lim
h0
t=t
n+k
y
n+k
= y(t
n+k
) ,
per ogni insieme compatibile di vettori iniziali.
Come gi`a osservato per i metodi ad un passo, anche per questi metodi, la
riduzione di h su un dato intervallo pu`o produrre un aumento dei contributi
allerrore totale: questo fenomeno `e dovuto allaccumulo degli errori locali di
arrotondamento i quali possono ritenersi indipendenti da h.
8.3. METODI A PI
`
U PASSI 215
Nellipotesi che y(t) C

(]a, b[), sviluppando il secondo membro della (8.37)


si pu`o scrivere formalmente

n+k
= c
0
y(t
n
) +c
1
y

(t
n
)h + c
2
y

(t
n
)h
2
+ + c
r
y
(r)
(t
n
)h
r
+ ,
dove le c
i
, i = 0, 1, . . ., sono costanti date da
c
0
=
k

j=0

j
= (1) ,
c
1
=
k

j=0
(j
j

j
) =

(1) (1) , (8.39)


c
r
=
k

j=0
_
1
r!
j
r

1
(r 1)!
j
r1

j
_
, r = 2, 3, . . . .
Ne segue che per un metodo di ordine p deve essere c
0
= c
1
= = c
p
= 0,
c
p+1
= 0; quindi risulta

n+k
= c
p+1
y
(p+1)
(t
n
)h
p+1
+ O(h
p+2
) , (8.40)
dove c
p+1
y
(p+1)
(t
n
)h
p+1
si dice parte principale di
n+k
mentre c
p+1
prende
il nome di costante di errore del metodo. Dalle (8.39) e (8.40) discende il
seguente teorema.
Teorema 8.3.1 Un metodo a pi` u passi `e coerente se e solo se
(1) = 0,

(1) = (1) . (8.41)


Lapplicazione della (8.35) al problema test
y

= 0 , y(t
0
) = y
0
, (8.42)
la cui soluzione `e y(t) = y
0
, d`a luogo allequazione lineare omogenea alle
dierenze
k

j=0

j
y
n+j
= 0 (8.43)
il cui polinomio caratteristico coincide con il primo polinomio caratteris-
tico () del metodo stesso. La soluzione generale y
n
della (8.43) `e della
forma (8.33) o (8.34) a seconda che le radici
1
,
2
, . . . ,
k
di () = 0 siano
216 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
distinte o meno. Si pu`o vericare che la soluzione numerica della (8.43), per
un insieme compatibile di valori iniziali, converge alla soluzione del problema
continuo (8.42) solo se vale la seguente condizione delle radici
|
i
| 1 , i = 1, 2, . . . , k,
(8.44)
dove, se |
i
|= 1, allora
i
`e semplice.
Si conclude che un metodo della forma (8.35) non `e convergente se gli zeri
del suo polinomio () non soddisfano la condizione (8.44).
Denizione 8.3.3 Un metodo lineare (8.35) si dice zero-stabile se gli zeri
del suo polinomio () soddisfano la condizione (8.44).
Si pu`o dimostrare il seguente teorema.
Teorema 8.3.2 Un metodo lineare a pi` u passi `e convergente se e solo se `e
coerente e zero-stabile.
In linea di principio `e possibile costruire metodi lineari a k passi no ad un
ordine massimo p = 2k determinando le 2k+1 costanti
0
, . . . ,
k1
,
0
, . . . ,
k
in modo che, in base alle (8.39), risulti c
0
= c
1
= = c
2k
= 0: tuttavia tali
metodi possono risultare non zero-stabili. Sussiste infatti il seguente teorema
detto prima barriera di Dahlquist.
Teorema 8.3.3 Non esistono metodi lineari a k passi zero-stabili di ordine
superiore a k + 1 se k `e dispari e a k + 2 se k `e pari.
Si riportano qui alcuni dei pi` u noti metodi lineari con relative costanti
derrore.
I metodi di Adams sono caratterizzati da () =
k

k1
. Se
k
= 0 si
ha la sottoclasse dei metodi espliciti di Adams-Bashforth; per k = 1 si ha il
metodo di Eulero (costante di errore c
2
= 1/2), mentre per k = 2 risulta
y
n+2
y
n+1
=
h
2
(3f
n+1
f
n
) , c
3
=
5
12
.
Se
k
= 0 si ha la sottoclasse dei metodi impliciti di Adams-Moulton; per
k = 1 si ha la formula trapezoidale (costante di errore c
3
= 1/12), per
k = 2 si ottiene
y
n+2
y
n+1
=
h
12
(5f
n+2
+ 8f
n+1
f
n
) , c
4
=
1
24
.
8.3. METODI A PI
`
U PASSI 217
I metodi BDF (Backward Dierentiation Formulae) hanno () =
k

k
,
sono di ordine p = k e zero-stabili solo per k 6. Per esempio, per k = 1, 2, 3
si ha rispettivamente
y
n+1
y
n
= hf
n+1
, c
2
=
1
2
, (8.45)
y
n+2

4
3
y
n+1
+
1
3
y
n
= h
2
3
f
n+2
, c
3
=
2
3
,
y
n+3

18
11
y
n+2
+
9
11
y
n+1

2
11
y
n
= h
6
11
f
n+3
, c
4
=
3
22
.
La (8.45) `e nota come formula di Eulero implicita.
Nella classe dei metodi con () =
k

k2
quelli aventi
k
= 0 si dicono
metodi di Nystrom; per k = 2 si ottiene la formula del punto centrale
y
n+2
y
n
= 2hf
n+1
, c
3
=
1
3
. (8.46)
Se invece
k
= 0 si hanno i metodi generalizzati di Milne-Simpson; in parti-
colare per k = 2 si ha la regola di Simpson
y
n+2
y
n
=
h
3
(f
n+2
+ 4f
n+1
+ f
n
) , c
5
=
1
90
. (8.47)
I metodi di Newton-Cotes hanno () =
k
1; con k = 4 e
k
= 0 si ha,
per esempio,
y
n+4
y
n
=
4
3
h(2f
n+3
f
n+2
+ 2f
n+1
) , c
5
=
28
90
. (8.48)
8.3.3 Metodi a pi` u passi: assoluta stabilit`a
Si `e visto che la coerenza e la zero-stabilit`a garantiscono la convergenza di
un metodo lineare (cfr. Teorema 8.3.2), ma, essendo la convergenza una pro-
priet`a limite per h 0, pu`o accadere che un metodo convergente, usato con
un ssato passo h > 0, anche se piccolo, produca errori globali relativamente
grandi.
Ci`o accade per esempio se si applica al problema test (8.19) la formula
del punto centrale (8.46), che pure `e coerente e zero-stabile.
Occorre pertanto denire un concetto di stabilit`a che garantisca non solo
la convergenza del metodo per h 0 ma anche il contenimento degli errori
per un dato h.
218 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Si consideri il caso scalare m = 1.
Il metodo (8.35) applicato al problema test (8.19) fornisce
k

j=0
(
j
q
j
)y
n+j
= 0 . (8.49)
Alla (8.49) `e associato il polinomio caratteristico, detto polinomio di stabilit`a
,
(q, ) = () q() . (8.50)
Se
1
(q),
2
(q), . . . ,
k
(q) sono le radici di (q, ) = 0, che si suppone si
mantengano semplici, la soluzione generale della (8.49) `e data da
y
n
=
k

i=1
d
i

n
i
(q) , n = 0, 1, . . . , (8.51)
dove d
i
, i = 1, 2, . . . , k, sono costanti arbitrarie.
Daltra parte, ponendo nella (8.49) il valore esatto y(t
n+j
) al posto di
y
n+j
, per denizione di errore di troncamento locale (vedi la (8.37)) si ha
k

j=0
(
j
q
j
)y(t
n+j
) =
n+k
;
sottraendo membro a membro da questa equazione la (8.49) si ottiene
k

j=0
(
j
q
j
)e
n+j
=
n+k
che pu`o ritenersi un caso perturbato della (8.49). Ne segue che lerrore globale
di discretizzazione e
n
= y(t
n
) y
n
ha un andamento analogo a quello di y
n
e si pu`o quindi aermare che e
n
non cresce, al crescere di n, per i valori di q
per cui risulta
|
i
(q) |< 1 , i = 1, 2, . . . , k. (8.52)
Denizione 8.3.4 Un metodo della forma (8.35) si dice assolutamente sta-
bile per un dato q C
/
, se gli zeri del suo polinomio di stabilit`a (q, ) verif-
icano la condizione (8.52).
Denizione 8.3.5 Linsieme del piano complesso
S
A
= {q C
/
| |
i
(q) |< 1, i = 1, 2, . . . , k}
si chiama regione di assoluta stabilit`a del metodo lineare a pi` u passi.
8.3. METODI A PI
`
U PASSI 219
S
A
`e simmetrico rispetto allasse reale: infatti se

`e tale che (q,

) = 0,
per la (8.50), risulta anche ( q,

) = 0.
Si osservi che si ha lim
h0
(q, ) = (0, ) = (); pertanto le radici
caratteristiche
i
(q), i = 1, 2, . . . , k, per h 0 tendono alle radici di () =
0. Daltra parte, una di queste radici, per le condizioni di coerenza (8.41), `e
uguale a 1. Quindi una delle radici
i
(q), che si indicher`a con
1
(q), tende a
1 per h 0 e, a causa della condizione (8.44), essa `e unica. A
1
(q) si d`a
il nome di radice principale di (q, ) = 0, perche `e quella che nella (8.51)
approssima la soluzione y(t) = de
t
del problema test.
Le altre radici
2
(q), . . . ,
k
(q) si chiamano radici spurie o parassite perche
nascono dalla sostituzione dellequazione dierenziale, del primo ordine, con
lequazione alle dierenze (8.49), di ordine k, e il loro eetto `e solo quello di
accrescere lerrore.
Per la (8.37) ove si ponga y(t) = e
t
ed f(t, y) = e
t
, si ottiene

n+k
= e
t
n
(q, e
q
) = O(h
p+1
) .
Daltra parte vale lidentit`a
(q, ) = (1 q
k
)(
1
(q))(
2
(q)) (
k
(q));
ne segue quindi
(q, e
q
) = (1 q
k
)(e
q

1
(q))(e
q

2
(q)) (e
q

k
(q)) = O(h
p+1
) .
Quando q 0 lunico fattore di (q, e
q
) che tende a zero, per quanto detto
sopra, `e e
q

1
(q): si ha pertanto

1
(q) = e
q
+O(h
p+1
) . (8.53)
Dalla (8.53) segue che se Re(q) > 0, ed h `e sucientemente piccolo, risulta
|
1
(q) |> 1 e quindi q S
A
, cio`e lintersezione di S
A
con lasse reale `e del
tipo ], 0[ con < 0.
In Fig. 8.2 sono riportate le regioni S
A
delle formule BDF con k = 1, 2, 3,
e sono costituite dai punti esterni alle porzioni di piano delimitate dalle curve
date per ogni valore di k.
Nel teorema seguente sono riuniti i risultati pi` u signicativi della teoria
della stabilit`a per i metodi a pi` u passi, avvertendo che anche per questi
metodi le denizioni di A
0
-stabilit`a e di A-stabilit`a sono le medesime date
per i metodi di Runge-Kutta (cfr. Denizioni 8.2.7 e 8.2.8).
220 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
1 0 1 2 3 4 5 6 7
4
3
2
1
0
1
2
3
4
K=3
K=2
K=1
Figura 8.2: Regioni S
A
delle prime tre fomule BDF.
Teorema 8.3.4 (di Dahlquist)
Non esistono metodi lineari a pi` u passi espliciti A-stabili;
lordine massimo di un metodo lineare a pi` u passi A-stabile non pu`o su-
perare due (seconda barriera di Dahlquist);
la formula trapezoidale `e il metodo lineare A-stabile del secondo ordine
con la costante di errore pi` u piccola in modulo.
Successivamente la prima proposizione di questo teorema `e stata ulteri-
ormente precisata come segue.
Teorema 8.3.5 Non esistono metodi lineari a pi` u passi espliciti A
0
-stabili.
La denizione di assoluta stabilit`a data nel caso m = 1, si estende in
modo naturale al caso m > 1 considerando il problema test (8.26): si dice
ora che un metodo a pi` u passi applicato al problema (8.26) `e assolutamente
stabile per un dato insieme di valori q
i
, i = 1, 2, . . . , m, se e solo se
q
i
S
A
, i = 1, 2, . . . , m,
dove S
A
`e la regione di assoluta stabilit`a introdotta con la Denizione 8.3.5.
8.3. METODI A PI
`
U PASSI 221
8.3.4 Metodi di predizione e correzione
In 8.3.2 si `e visto che luso di un metodo (8.35) di tipo implicito richiede,
ad ogni passo, la risoluzione dellequazione (8.36), che pu`o essere non lineare.
In tal caso lincognita y
n+k
viene approssimata con il processo iterativo
z
(r+1)
= h
k
f(t
n+k
, z
(r)
) +w , r = 0, 1, . . . .
`
E chiaro che, ammesso che vi sia convergenza, quanto pi` u vicina alla soluzione
si sceglie lapprossimazione iniziale z
(0)
, tanto pi` u piccolo `e il numero delle
iterazioni necessarie per ottenere una certa accuratezza.
Su questidea si basano i cosiddetti metodi di predizione e correzione, nei
quali si sceglie z
(0)
= y

n+k
dove y

n+k
si calcola in precedenza con un metodo
esplicito.
In questo contesto il metodo esplicito viene detto predittore mentre il
metodo implicito prende il nome di correttore. In quello che segue si fa
riferimento, per semplicit`a, al caso in cui predittore e correttore hanno lo
stesso ordine; inoltre si suppone che il correttore venga usato una sola volta
ad ogni passo.
In queste ipotesi, la struttura generale di un metodo di predizione e cor-
rezione `e quindi data da
y

n+k
=
k1

j=0

j
y
n+j
+ h
k1

j=0

j
f
n+j
,
(8.54)
y
n+k
=
k1

j=0

j
y
n+j
+ h
k1

j=0

j
f
n+j
+ h
k
f

n+k
,
dove si `e posto f

n+k
= f(t
n+k
, y

n+k
).
Si osservi che un metodo di predizione e correzione nella forma (8.54) ha
un costo computazionale non superiore a quello del correttore usato da solo
iterativamente.
Lalgoritmo (8.54) viene designato con la sigla PEC per indicare le varie
fasi che costituiscono un passo, cio`e
P (Prediction): calcolo di y

n+k
mediante il predittore,
E (Evaluation): valutazione del termine f(t
n+k
, y

n+k
),
C (Correction): calcolo di y
n+k
mediante il correttore.
222 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Al passo successivo si utilizza f(t
n+k
, y

n+k
) nel predittore per dare corso alla
nuova fase P.
Una variante `e costituita dallalgoritmo PECE in cui compare lulteriore
fase
E: valutazione del termine f(t
n+k
, y
n+k
);
in tal caso, nella fase P del passo successivo, il predittore utilizza la valu-
tazione f(t
n+k
, y
n+k
) che, di solito, `e pi` u corretta della f(t
n+k
, y

n+k
).
Anche la stabilit`a di un metodo di predizione e correzione si studia me-
diante la sua applicazione al problema test (8.19) e, in generale, `e diversa
da quella del predittore e del correttore supposti usati singolarmente. Si
consideri, ad esempio, il seguente metodo di predizione e correzione in cui il
predittore `e la formula del punto centrale (8.46) e il correttore `e la formula
trapezoidale
y

n+2
= y
n
+ 2hf
n+1
,
(8.55)
y
n+2
= y
n+1
+
h
2
(f
n+1
+f

n+2
) .
La formula del punto centrale non `e assolutamente stabile mentre la formula
trapezoidale `e A-stabile.
Applicato al problema test, il metodo (8.55) diviene
y

n+2
= y
n
+ 2qy
n+1
,
y
n+2
= y
n+1
+
1
2
qy
n+1
+
1
2
qy

n+2
,
da cui, eliminando y

n+2
, si ottiene
y
n+2

_
1 +
1
2
q + q
2
_
y
n+1

1
2
qy
n
= 0 .
Il metodo (8.55) `e dotato di una regione non vuota di assoluta stabilit`a come
si verica dalla sua regione S
A
in Fig 8.3 costituita dai punti interni alla
porzione di piano delimitata dalla curva data.
Particolare importanza hanno i metodi di predizione e correzione costruiti
con due formule dello stesso ordine: in tal caso si pu`o avere ad ogni passo una
buona stima della parte principale dellerrore locale di troncamento sia del
8.3. METODI A PI
`
U PASSI 223
1.5 1 0.5 0 0.5
1.5
1
0.5
0
0.5
1
1.5
Figura 8.3: Regione S
A
del metodo (8.55).
predittore che del correttore. Basandosi sullassunto che nei membri destri
delle (8.54) sia
y
n+j
= y(t
n+j
) , j = 0, 1, . . . , k 1,
tenuto conto della denizione (8.37) di errore locale di troncamento e della (8.40),
pu`o scriversi, per un predittore e un correttore entrambi di ordine p,
y(t
n+k
) = y

n+k
+ c

p+1
y
(p+1)
(t
n
)h
p+1
+ O(h
p+2
) ,
y(t
n+k
) = y
n+k
+ c
p+1
y
(p+1)
(t
n
)h
p+1
+ O(h
p+2
) . (8.56)
Dalle precedenti uguaglianze si ricava la relazione
c
p+1
y
(p+1)
(t
n
)h
p+1
=
c
p+1
c

p+1
c
p+1
(y
n+k
y

n+k
) +O(h
p+2
) (8.57)
che fornisce la detta stima per il correttore e richiede soltanto la conoscenza
del valore predetto e del valore corretto.
Eliminando y
(p+1)
(t
n
) tra la (8.57) e la (8.56) si ottiene una ulteriore
approssimazione di y(t
n+k
) data da
y
n+k
= y
n+k
+
c
p+1
c

p+1
c
p+1
(y
n+k
y

n+k
) , (8.58)
224 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
e si ha y(t
n+k
) y
n+k
= O(h
p+2
).
La (8.58), detta correzione di Milne o estrapolazione locale, pu`o essere una
ulteriore relazione in un metodo di predizione e correzione PEC o PECE:
ad esempio, usando come predittore la (8.48) e come correttore la (8.47), si
ottiene il seguente metodo
y

n+4
= y
n
+
4
3
h(2f
n+1
f
n+2
+ 2f
n+3
) ,
y
n+4
= y
n+2
+
h
3
(f
n+2
+ 4f
n+3
+ f

n+4
) , (8.59)
y
n+4
= y
n+4

1
29
(y
n+4
y

n+4
) .
La stima che si ottiene dalla (8.57) pu`o servire anche per controllare ad
ogni passo lentit`a dellerrore locale, ai ni di una strategia di variazione del
passo. In tal caso si riduce il passo se lerrore `e troppo grande e si aumenta
in caso contrario.
8.3.5 Metodi a pi` u passi: stabilit`a relativa
Per tutti i metodi esposti in questo capitolo, lassoluta stabilit`a viene
denita per problemi con soluzioni y(t) tali che lim
t+
y(t) = 0, essendo
questo tipo di problema molto frequente nelle applicazioni. Da qui luso di
problemi test della forma
y

= y , o y

= Ky
con le rispettive condizioni
Re() < 0 , e Re(
i
) < 0 , i = 1, 2, . . . , m.
Per i problemi con soluzione y(t) tale che lim
t+
y(t) = +, si fa
riferimento agli stessi problemi test, dove ora si assume rispettivamente
Re() > 0 , e Re(
j
) > 0 , per qualche j {1, 2, . . . , m}.
In tal caso si richiede, per la soluzione numerica, che sia lim
n
y
n
= +
e a tale scopo si introduce il concetto di stabilit` a relativa, per signicare che
lerrore relativo
y
n
y(t
n
)
y(t
n
)
si mantiene accettabile (cio`e piccolo rispetto a
1) al crescere di n. Per esempio, nel caso dei metodi lineari e per m = 1, si
propone, di solito, la seguente denizione.
8.4. PROBLEMI AI LIMITI E BV-METODI 225
Denizione 8.3.6 Il metodo lineare (8.35) si dice relativamente stabile per
un dato q C
/
, se, applicato al problema test y

= y, Re() > 0, gli zeri del


suo polinomio di stabilit` a (q, ) vericano le condizioni
|
i
(q) |<|
1
(q) | , i = 2, 3, . . . , k,
dove
1
(q) `e la radice principale di (q, ) = 0.
Denizione 8.3.7 Linsieme del piano complesso
S
R
= {q C
/
| |
i
(q) |<|
1
(q) |, i = 2, 3, . . . , k}
si dice regione di relativa stabilit`a del metodo (8.35).
Si consideri, ad esempio, la formula del punto centrale (8.46): il suo
polinomio di stabilit`a `e
(q, ) =
2
2q 1 ,
i cui zeri sono
1
(q) = q +

q
2
+ 1 e
2
= q

q
2
+ 1. Poiche |
1

2
|= 1,
la formula non ha una regione di assoluta stabilit`a. Tuttavia, limitandosi
per semplicit`a al caso q IR, risulta
2
(q) <
1
(q) se q > 0: essa, quindi, `e
dotata di un intervallo reale di relativa stabilit`a coincidente con il semiasse
positivo.
Si conclude questa rassegna di metodi per problemi di valori iniziali osser-
vando che le propriet`a di stabilit`a qui riportate fanno parte della cosiddetta
teoria della stabilit`a lineare, in cui si fa riferimento a problemi test lineari a
coecienti costanti, ma se ne estendono i risultati a problemi pi` u generali.
Anche se la stabilit`a lineare `e un requisito necessario, tuttavia essa pu`o
rivelarsi inadeguata quando un metodo, stabile in senso lineare, venga ap-
plicato ad un problema (8.1) con f(t, y) non lineare, o anche lineare con
la matrice K dipendente da t oppure non diagonalizzabile. In questi casi
sarebbe pi` u appropriata una forma di stabilit` a non lineare, la cui trattazione
va oltre gli scopi del presente testo ed `e reperibile in opere specializzate.
8.4 Problemi ai limiti e BV-metodi
8.4.1 Introduzione
NellEsempio 6.8.8 si `e considerato un problema continuo per una equa-
zione dierenziale del secondo ordine, che dierisce da un problema di Cauchy
226 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
per il fatto che la soluzione `e assoggettata, invece che ad una condizione in un
punto iniziale, a due condizioni poste agli estremi di un intervallo. Indipen-
dentemente dallordine dellequazione dierenziale, che pu`o sempre ricondursi
ad un sistema del primo ordine (cfr. 8.1), i problemi continui con condizioni
che coinvolgono i valori della soluzione in pi` u punti si dicono problemi ai
limiti.
La discretizzazione di questi problemi si pu`o fare mediante un problema
ai limiti discreto, cio`e costituito da una equazione alle dierenze di ordine k
a cui sono associate condizioni su valori iniziali e valori nali della soluzione.
Pi` u in generale, un problema ai limiti discreto si pu`o sempre ottenere
da un problema continuo, sia ai limiti che di valori iniziali, applicando una
formula lineare a k passi del tipo (8.35)
k

j=0

j
y
n+j
h
k

j=0

j
f
n+j
= 0 . (8.60)
In tal caso la formula prende il nome di BV-metodo o, pi` u brevemente, BVM
(Boundary Value Method). Per contro quando la (8.60) `e usata come nei
paragra precedenti (cio`e quando trasforma un problema continuo di val-
ori iniziali in un problema discreto di valori iniziali), allora viene indicata
con la sigla IVM (Initial Value Method). Nel caso dei problemi di valori in-
iziali, luso dei BVM presenta alcuni notevoli vantaggi rispetto ai tradizionali
IVM. Per esempio il superamento della seconda barriera di Dahlquist (cfr.
Teorema 8.3.4) e la maggiore facilit`a di stima dellerrore globale. I due usi
della (8.60) come IVM e come BVM sono schematizzati nella Tavola 8.4.
Si noti che esistono anche metodi che riconducono un problema continuo ai
limiti ad un equivalente problema di valori iniziali che poi viene discretiz-
zato con un IVM. Tali metodi, che qui non sono considerati, sono noti come
metodi shooting.
Problema continuo Metodo Problema discreto
Valori iniziali
IVM
Valori iniziali

BVM
Valori ai limiti
BVM
Valori ai limiti
Tavola 8.4: Caratterizzazione degli IVM e dei BVM.
8.4. PROBLEMI AI LIMITI E BV-METODI 227
8.4.2 Modo di impiego dei BVM
Di solito una formula del tipo (8.60) usata come BVM si dice metodo base
e viene associata ad altre formule dello stesso tipo, generalmente implicite e
con un numero di passi minore, che si dicono metodi ausiliari. Per delineare
come si impiegano tali formule, si considerer`a il problema continuo di valori
iniziali: il caso di un problema di valori ai limiti necessita solo di poche e
semplici modiche.
Si considera un passo di discretizzazione costante h > 0 sullintervallo [a, b].
Se t
0
= a, t
N
= b e t
n
= t
0
+nh, n = 0, 1, . . . , N, si assume h = (t
N
t
0
)/N.
Applicando al problema il metodo base (8.60), per n = 0, 1, . . . , N k, si
scrivono N k + 1 relazioni indipendenti.
Queste N k + 1 relazioni si possono considerare come un sistema nelle
N incognite y
1
, . . . , y
N
. Vi sono quindi ancora k 1 incognite del problema
discreto che devono essere determinate e ci`o si pu`o fare aggiungendo al sis-
tema altrettanti metodi ausiliari. Se f(t, y) `e lineare rispetto a y tale `e anche
il sistema che cos` si ottiene: la soluzione esiste ed `e unica per lindipendenza
lineare delle equazioni che lo costituiscono. Tale soluzione si assume come
approssimazione discreta della soluzione del problema continuo (cfr. 8.5.5)
Se il problema continuo non `e lineare, il procedimento ora descritto rimane
valido, ma conduce ad un sistema discreto non lineare. In tal caso si pu`o
dimostrare, sotto opportune ipotesi, lesistenza di una soluzione unica del
problema discreto e la convergenza delle iterazioni di Newton (cfr. 4.6).
In particolare il sistema viene strutturato come segue.
Alle N k + 1 equazioni ottenute dal metodo base vengono aggiunte k 1
equazioni date da altrettanti metodi ausiliari. Tali metodi, per motivi che si
chiariranno meglio nel paragrafo successivo, sono generalmente organizzati
in due gruppi: k
1
1 metodi ausiliari di testa da porre come equazioni
iniziali del sistema e k
2
metodi ausiliari di coda da porre come equazioni
nali, con k = k
1
+k
2
. Pertanto il sistema di N equazioni nelle N incognite
y
1
, . . . , y
N
assume la forma seguente:
_

r
j=0

j
y
j
h

r
j=0

j
f
j
= 0, = 1, . . . , k
1
1,

k
j=0

j
y
+jk
1
h

k
j=0

j
f
+jk
1
= 0, = k
1
, . . . , N k
2
,

s
j=0

j
y
N+js
h

s
j=0

j
f
N+js
= 0, = N k
2
+ 1, . . . , N.
(8.61)
228 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Si noti che nelle prime k
1
1 equazioni ausiliarie del sistema sono implicate le
incognite y
1
, . . . , y
r
, nelle equazioni del metodo di base le incognite y
1
, . . . , y
N
,
mentre nelle ultime k
2
equazioni ausiliarie le incognite y
Ns
, . . . , y
N
. Tale sis-
tema costituisce un metodo BV M con (k
1
, k
2
)-condizioni al contorno o, pi` u
semplicemente BVM
k
1
k
2
.
Poiche, in generale, `e N k, si pu`o provare che le caratteristiche di con-
vergenza e di stabilit`a del metodo (8.61) sono essenzialmente regolate dal
metodo base il cui ordine p, per ovvi motivi di omogeneit`a, `e il medesimo
delle formule ausiliarie. Pertanto, in quello che segue, (), (), (q, )
sono i polinomi del metodo base.
8.4.3 Stabilit`a e convergenza dei BVM
Le condizioni che si richiedono per la stabilit`a di un BVM
k
1
k
2
sono alquanto
diverse da quelle gi`a viste per un IVM.
Si premettono alcune denizioni.
Denizione 8.4.1 Sia k = k
1
+ k
2
+ k
3
con k
1
, k
2
, k
3
interi non negativi.
Il polinomio a coecienti reali
p() =
k

j=0
a
j

j
si dice del tipo (k
1
,k
2
,k
3
) se ha k
1
zeri in modulo minori di 1, k
2
zeri in
modulo uguali a 1 e k
3
zeri in modulo maggiori di 1.
Sono polinomi di Schur quelli del tipo (k, 0, 0), sono polinomi di Von Neumann
quelli del tipo (k
1
, kk
1
, 0) con i kk
1
zeri di modulo 1 tutti semplici, mentre
si dicono polinomi conservativi quelli del tipo (0, k, 0).
Denizione 8.4.2 Sia k = k
1
+ k
2
con k
1
, k
2
interi non negativi. Il poli-
nomio a coecienti reali
p() =
k

j=0
a
j

j
si dice un S
k
1
k
2
-polinomio se per i suoi zeri risulta
|
1
| |
2
| . . . |
k
1
| < 1 < |
k
1
+1
| . . . |
k
|,
mentre si dice un N
k
1
k
2
-polinomio se
|
1
| |
2
| . . . |
k
1
| 1 < |
k
1
+1
| . . . |
k
|
e gli zeri di modulo unitario sono semplici.
8.4. PROBLEMI AI LIMITI E BV-METODI 229
Si osservi che un S
k
1
k
2
-polinomio `e del tipo (k
1
, 0, k k
1
) e quindi un S
k0
-
polinomio `e un polinomio di Schur, mentre un N
k0
-polinomio `e un polinomio
di Von Neumann.
Di conseguenza un metodo lineare a k passi usato come IVM `e zero-stabile
se il suo polinomio caratteristico () `e un polinomio di Von Neumann
(ovvero un N
k0
-polinomio) mentre `e assolutamente stabile se (q, ) `e un
polinomio del tipo (k, 0, 0) (ovvero un polinomio di Schur, ovvero ancora un
S
k0
-polinomio).
Per la zero-stabilit`a di un IVM si `e fatto riferimento al problema test
y

= 0, y(t
0
) = y
0
. Ma lo stesso risultato si ottiene assumendo in un metodo
a k passi h = 0. In questo senso la zero-stabilit`a `e una stabilit`a asintotica
per h che tende a 0. Un analogo concetto pu`o essere dato nel caso di un
BVM
k
1
k
2
. Precisamente vale il seguente risultato.
Teorema 8.4.1 Un metodo BVM
k
1
k
2
`e convergente nel senso che
y(t
n
) y
n
= O(h
p
)
se (1) = 0,

(1) = (1) (coerenza) e se () `e un N


k
1
k
2
-polinomio.
Ci`o conduce alla seguente denizione.
Denizione 8.4.3 Un BVM
k
1
k
2
si dice 0
k
1
k
2
-stabile se il corrispondente poli-
nomio (z) `e un N
k
1
k
2
-polinomio.
Quindi coerenza e 0
k
1
k
2
-stabilit`a sono condizioni sucienti, ma non anche
necessarie come nel caso di un IVM (cfr. Teorema 8.3.2), per la convergenza
di un BVM
k
1
k
2
.
Si esamina ora la assoluta stabilit`a di un BVM
k
1
k
2
, cio`e nel caso di h sso.
Si consideri il problema test
y

(t) = y(t), y(t


0
) = y
0
, C
/
, Re() < 0
gi`a utilizzato per studiare lassoluta stabilit`a di un metodo di Runge-Kutta
e di un IVM.
Il problema, quindi, `e quello di approssimare con un BVM
k
1
k
2
la soluzione
y(t
n
) = y
0
e
(nh)
= y
0
(e
q
)
n
.
Vale il seguente teorema.
230 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Teorema 8.4.2 Si supponga che per gli zeri del polinomio (q, ) si abbia
|
1
(q)| . . . |
k
1
1
(q)| < |
k
1
(q)| < |
k
1
+1
(q)| . . . |
k
(q)|
|
k
1
1
(q)| < 1 < |
k
1
+1
(q)|
con
k
1
(0) =
k
1
= 1, ovvero si ammetta che
k
1
(q) sia radice principale,
tale quindi da avere
k
1
(q) = e
q
+ O(h
p+1
), allora si ha
y
n
=
n
k
1
(q)(y
0
+ O(h
p
)) +O(h
p
)(O(|
k
1
1
(q)|
n
) +O(|
k
1
+1
(q)|
(Nn)
)).
Questo risultato conduce alla seguente denizione di Assoluta stabilit`a per
un BVM
k
1
k
2
Denizione 8.4.4 Un BVM
k
1
k
2
si dice (k
1
, k
2
)-Assolutamente stabile per un
dato q se il polinomio (q, ) `e del tipo (k
1
, 0, k
2
), cio`e un S
k
1
k
2
-polinomio.
Denizione 8.4.5 La regione del piano complesso
S
A
k
1
k
2
= {q C
/
|(q, )`e del tipo (k
1
, 0, k
2
)}
si dice regione di (k
1
, k
2
)-Assoluta stabilit`a.
Si noti che se k
2
= 0 queste denizioni coincidono con quelle ordinarie per
IVM.
Denizione 8.4.6 Un BVM
k
1
k
2
si dice A
k
1
k
2
-stabile se
S
A
k
1
k
2
{q C
/
|Re(q) < 0}.
Per illustrare come una medesima formula possa avere comportamenti di-
versi se usata come IVM o BVM
k
1
k
2
si consideri la formula del punto centrale
(8.46) per la quale risulta () =
2
1 e (q, ) =
2
(q) 2q(q) 1. Come
gi`a notato `e zero-stabile essendo () un polinomio di Von Neumann, ma S
A
`e vuoto avendosi in ogni caso |
1
(q)| > 1 oppure |
2
(q)| > 1: tale formula
non pu`o essere usata da sola come IVM. Inoltre essa non `e 0
11
-stabile perche
() non `e un N
11
-polinomio (dove `e richiesto |
1
| < |
2
|). Tuttavia per
Re(q) < 0 risulta |
1
(q)| < 1 < |
2
(q)| e quindi (q, ) `e un S
11
-polinomio:
per Re(q) < 0, quindi, usata con una equazione ausiliaria come BVM
11
for-
nisce un metodo A
11
-stabile (vedi paragrafo 8.5.5).
Come gi`a accennato, uno degli aspetti pi` u importanti dei BVM consiste
nellesistenza di metodi A
k
1
k
2
-stabili di ordine 2k, cio`e del massimo ordine
8.4. PROBLEMI AI LIMITI E BV-METODI 231
possibile per formule lineari a k passi: ci`o esclude di fatto ogni barriera
dordine per metodi BVM
k
1
k
2
stabili.
Di seguito si forniscono tre esempi di metodi A
k
1
k
2
-stabili: altri possono
essere trovati nel testo Brugnano-Trigiante [4].
Metodo ETR (Extended Trapezoidal Rule),
p=4, k
1
= 2, k
2
= 1:
_

_
y
1
y
0
=
h
24
(f
3
5f
2
+ 19f
1
+ 9f
0
),
y
n
y
n1
=
h
24
(f
n+1
+ 13f
n
+ 13f
n1
f
n2
), n = 2, . . . , N 1,
y
N
y
N1
=
h
24
(f
N3
5f
N2
+ 19f
N1
+ 9f
N
).
Metodo GAM (Generalized Adams Method),
p=5, k
1
= 2, k
2
= 2:
_

_
y
1
y
0
=
h
720
(19f
4
+ 106f
3
264f
2
+ 646f
1
+ 251f
0
),
y
n
y
n1
=
h
720
(19f
n2
+ 346f
n1
+ 456f
n
74f
n+1
+ 11f
n+2
),
n = 2, . . . , N 1,
y
N
y
N1
=
h
720
(19f
N+1
+ 346f
N
+ 456f
N1
74f
N2
+ 11f
N3
),
y
N+1
y
N
=
h
720
(19f
N3
+ 106f
N2
264f
N1
+ 646f
N
+ 251f
N+1
).
Metodo TOM (Top Order Method),
p=6, k
1
= 2, k
2
= 1:
_

_
y
1
y
0
=
h
1440
(27f
5
173f
4
+ 482f
3
798f
2
+ 1427f
1
+ 475f
0
),
1
60
(11y
n+1
+ 27y
n
27y
n1
11y
n2
) =
h
20
(f
n+1
+ 9f
n
+ 9f
n1
+ f
n2
), n = 2, . . . , N 1,
y
N
y
N1
=
h
1440
(27f
N5
173f
N4
+ 482f
N3
798f
N2
+ 1427f
N1
+ 475f
N
).
Si osservi che la formula trapezoidale
y
n+1
y
n
=
h
2
(f
n+1
+f
n
),
232 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
che `e A-stabile se usata come IVM, risulta essere A
10
-stabile come BVM, cio`e
`e un metodo BVM
10
.
Infatti il suo polinomio di stabilit`a ha un unico zero |
1
(q)| < 1 per Re(q) < 0.
Essa, pertanto, pu`o essere usata da sola, cio`e senza formule ausiliarie, con
n = 0, 1, . . . , N 1, avendosi k
1
1 = 0 e k
2
= 0.
8.5 Complementi ed esempi
8.5.1 I metodi di Runge-Kutta impliciti come metodi
di collocazione
Il metodo di collocazione per un problema di valori iniziali della forma (8.1)
consiste nel determinare un polinomio di grado s, con coecienti in IR
m
, che
approssimi la soluzione sullintervallo [t
n
, t
n
+ h].
Dati i numeri reali due a due distinti c
1
, c
2
, . . . , c
s
[0, 1], il corrispon-
dente polinomio di collocazione u(t), di grado s, `e denito univocamente dalle
condizioni
u(t
n
) = y
n
, (8.62)
u

(t
n
+ c
i
h) = f(t
n
+ c
i
h, u(t
n
+ c
i
h)), i = 1, 2, . . . , s . (8.63)
Si assume come soluzione numerica della equazione dierenziale nel punto
t
n+1
il valore
y
n+1
= u(t
n
+ h) . (8.64)
Il metodo di collocazione (8.62)-(8.63) `e equivalente ad un metodo di
Runge-Kutta implicito ad s stadi ove si ponga
a
ij
=
_
c
i
0
l
j
()d , b
j
=
_
1
0
l
j
()d , i, j = 1, 2, . . . , s, (8.65)
essendo
l
j
() =
( c
1
) ( c
j1
)( c
j+1
) ( c
s
)
(c
j
c
1
) (c
j
c
j1
)(c
j
c
j+1
) (c
j
c
s
)
, j = 1, 2, . . . , s,
i polinomi fondamentali della interpolazione di Lagrange relativi ai punti
c
1
, c
2
, . . . , c
s
. Infatti, poiche il polinomio u

(t
n
+ h) si pu`o scrivere come
polinomio di interpolazione relativo ai detti punti, posto
k
i
= u

(t
n
+ c
i
h) , (8.66)
8.5. COMPLEMENTI ED ESEMPI 233
si ha (cfr. 6.2)
u

(t
n
+ h) =
s

j=1
l
j
()k
j
;
integrando entrambi i membri, rispetto a t, sugli intervalli [t
n
, t
n
+ c
i
h], i =
1, 2, . . . , s e [t
n
, t
n+1
], si ottiene rispettivamente
u(t
n
+ c
i
h) = u(t
n
) +h
s

j=1
__
c
i
0
l
j
()d
_
k
j
, i = 1, 2, . . . , s, (8.67)
e
u(t
n
+ h) = u(t
n
) +h
s

j=1
__
1
0
l
j
()d
_
k
j
. (8.68)
La (8.68) si pu`o anche scrivere, tenendo conto delle (8.64), (8.62) e (8.65),
y
n+1
= y
n
+h
s

j=1
b
j
k
j
,
mentre lequazione (8.63), utilizzando nel primo membro la (8.66) e nel se-
condo la (8.67), diventa
k
i
= f(t
n
+ c
i
h, y
n
+ h
s

j=1
a
ij
k
j
) , i = 1, 2, . . . , s.
8.5.2 Sulla stabilit`a e lordine dei metodi di
Runge-Kutta
Esempio 8.5.1 Si vuole studiare la stabilit`a e calcolare lordine del seguente
metodo di Runge-Kutta semi-implicito
A =
_
_
_
_
_
1/s 0 0
1/s 1/s 0

1/s 1/s 1/s
_
_
_
_
_
, b =
_
_
_
_
_
_
1/s
1/s
.
.
.
1/s
_
_
_
_
_
_
, c IR
s
.
Si verica che
I qA =
_
_
_
_
_
1 q/s 0 0
q/s 1 q/s 0

q/s q/s 1 q/s
_
_
_
_
_
234 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
e
I qA + qub
T
=
_
_
_
_
_
1 q/s q/s
0 1 q/s

0 0 1
_
_
_
_
_
.
Segue, dalla (8.24),
R(q) =
1
(1 q/s)
s
. (8.69)
Il metodo, quindi, `e A-stabile.
Il calcolo dellordine pu`o essere fatto in base alla (8.25). Sviluppando in
serie di Taylor R(q) si ottiene
R(q) = 1 +q +
s + 1
2s
q
2
+ O(q
3
) .
Confrontando con la serie esponenziale si trova
e
q
R(q) =
1
2s
q
2
+ O(q
3
) ,
da cui, essendo q = h, si ha p = 1.
Si osservi che, dalla (8.69), risulta
lim
s
R(q) = e
q
.
Esempio 8.5.2 Si vuole determinare lordine del metodo semi-implicito
0 0 0 0
1/2 1/4 1/4 0
1 0 1 0
1/6 4/6 1/6
e calcolare un passo h idoneo ad approssimare, con tale metodo, la soluzione
del problema
y

= Ky
8.5. COMPLEMENTI ED ESEMPI 235
dove
K =
_
_
_
_
_
_
_
4 1
1
.
.
.
.
.
.
.
.
.
.
.
.
1
1 4
_
_
_
_
_
_
_
IR
mm
.
Dalla (8.24) si ottiene
R(q) =
1 +
3
4
q +
1
4
q
2
+
1
24
q
3
1
1
4
q
.
Pertanto risulta (cfr. Tavola 8.3) R(q) = R
3
1
(q): da ci`o e dalle (8.25) e (8.30)
si ricava che lordine del metodo `e p = 4.
Gli autovalori
1
,
2
, . . . ,
m
di K sono reali e, per il primo teorema di
Gershgorin, si ha

i
] 6, 2[ , i = 1, 2, . . . , m.
Daltro canto si verica che | R(q) |< 1 se q ] 5.42, 0[. Segue che la
condizione (8.28) `e soddisfatta se h <
5.42
6
0.9.
Si osservi inne che, nellapplicazione del metodo al problema dato, k
1
si
calcola direttamente e cos` k
3
, una volta noto k
2
. Il calcolo di k
2
richiede la
risoluzione del sistema lineare
(I
1
4
hK)k
2
= Ky
n
+
1
4
hKk
1
.
Poiche gli autovalori di I
1
4
hK sono dati da 1
1
4
h
i
, i = 1, 2, . . . , m,
(cfr. Teorema 2.7.6) ed essendo
i
< 0, i = 1, 2, . . . , m, risulta sicuramente
det(I
1
4
hK) = 0 per ogni h > 0 (cfr. Osservazione 2.7.1).
8.5.3 Costruzione dei metodi a pi` u passi ed esame della
stabilit`a
Un metodo a pi` u passi pu`o essere costruito, a partire dalla sua forma gen-
erale (8.35), calcolandone i coecienti mediante le condizioni di ordine (8.39)
e imponendo che lordine p risulti massimo, compatibilmente con la con-
dizione di zero-stabilit`a.
236 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
Esempio 8.5.3 Si vogliono determinare i coecienti della formula BDF a
due passi

0
y
n
+
1
y
n+1
+
2
y
n+2
= h
2
f
n+2
.
Per denizione
2
= 1. Per la coerenza deve aversi (1) = 0 e

(1)
(1) = 0 ovvero
0
+
1
+ 1 = 0 e 2 +
1

2
= 0, da cui, esprimendo
1
e

2
in funzione di
0
,
1
= 1
0
e
2
= 1
0
.
Risulta quindi () =
2
(1+
0
)+
0
= (1)(
0
): la zero-stabilit`a `e
garantita se |
0
|< 1 oppure
0
= 1. Lordine massimo si ottiene scegliendo

0
in modo che risulti c
2
= 0. Dalle (8.39) con r = 2 si ha c
2
=
1
2
+
3
2

0
da
cui
0
=
1
3
.
Allo stesso risultato si giunge, in virt` u della (8.40), osservando che per un
metodo di ordine p lerrore locale di troncamento `e nullo se y(t) = t
r
, r =
0, 1, . . . , p, e quindi, utilizzando la (8.37), scrivendo p + 1 relazioni lineari
nelle incognite
j
,
j
.
Il polinomio di stabilit`a del metodo `e (q, ) =
_
1
2
3
q
_

4
3
+
1
3
i cui
zeri sono

1
=
2 +

1 + 2q
3 2q
,
2
=
2

1 + 2q
3 2q
.
Limitandosi al caso q IR, con semplici calcoli, si trova che il metodo `e
assolutamente stabile su tutto lasse reale ad eccezione dellintervallo [0, 4] (il
metodo, quindi, `e A
0
-stabile e si pu`o, poi, dimostrare che `e anche A-stabile),
mentre `e relativamente stabile per q >
1
2
.
8.5.4 Sulla stabilit`a dei metodi di predizione e cor-
rezione
Come si `e visto in 8.3.4, le caratteristiche di stabilit`a di un metodo di
predizione e correzione sono, in genere, diverse da quelle dei metodi che lo
compongono. Per esempio, il metodo (8.55), pur essendo dotato di una re-
gione di assoluta stabilit`a, perde la A-stabilit`a posseduta dal solo correttore.
In altri casi, tuttavia, la stabilit`a `e migliore di quella del predittore e di quella
del correttore.
Esempio 8.5.4 Si consideri il metodo (8.59) senza la correzione di Milne.
Il polinomio di stabilit`a del predittore `e

(q, ) =
4

8
3
q
3
+
4
3
q
2

8
3
q 1 .
8.5. COMPLEMENTI ED ESEMPI 237
Poiche gli zeri di

(q, ) vericano la relazione


1

4
= 1 (cfr. la (4.50)
con i = m), ne segue che almeno uno di essi `e, in modulo, 1.
Il polinomio di stabilit`a del correttore `e
(q, ) =
_
1
1
3
q
_

4
3
q
_
1 +
1
3
q
_
e si constata facilmente che per esso risulta |
1
(q) | 1 se Re(q) 0 e
|
2
(q) |> 1 se Re(q) < 0. Se ne conclude che ne il predittore ne il correttore
sono assolutamente stabili.
Il polinomio di stabilit`a del metodo di predizione e correzione denito dai
due metodi `e (cfr. la procedura gi`a adottata per il metodo (8.55))
(q, ) =
4

_
8
9
q
2
+
4
3
q
_

3
+
_
4
9
q
2

1
3
q 1
_

8
9
q
2

1
3
q .
Limitandosi per semplicit`a al caso q IR, si verica che il metodo `e asso-
lutamente stabile per q =
1
2
. Posto P
0
() =
_

1
2
,
_
, se ne consideri la
successione di Sturm (cfr. Denizione e Teorema 4.7.1)
P
0
() =
4
+
4
9

13
18

2
9
+
1
6
,
P
1
() =
3
+
1
3

13
36

1
18
,
P
2
() =
2
+
41
129

56
129
,
P
3
() = +
1625
164
,
P
4
() = costante < 0.
Poiche risulta V () V (0) = 0 e V (0) V (+) = 2, il polinomio

_

1
2
,
_
ha due zeri reali e positivi e due complessi coniugati. Per gli
zeri reali si ha 0.6 <
1
< 0.7 e 0.4 <
2
< 0.5.
Indicato con il modulo comune dei due zeri complessi coniugati, vale la
relazione
1

2
=
1
6
(cfr. ancora la (4.50) con i = m) e quindi, poiche
0.24 <
1

2
< 0.35, risulta
2
< 1.
Uno studio pi` u completo di (q, ) mostra che il metodo in esame `e dotato
dellintervallo reale di assoluta stabilit`a ] 0.8, 0.3[.
Un altro caso di miglioramento della stabilit`a `e fornito dal metodo di
Hermite
y
n+2
= 4y
n+1
+ 5y
n
+ h(4f
n+1
+ 2f
n
) ,
238 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
addirittura non zero-stabile, e la regola di Simpson (8.47) che `e zero-stabile,
ma non assolutamente stabile. Usati insieme come predittore e correttore,
danno luogo ad un metodo dotato di una regione di assoluta stabilit`a i cui
estremi sono:
minimo di Re(q) = 1 e massimo di | Im(q) |= 0.5.
8.5.5 Esempi di applicazione dei BVM
Esempio 8.5.5 Si abbia il problema di valori iniziali, scalare e lineare,
y

(t) = p(t)y(t) +q(t), p(t) < 0, a t b , (8.70)


y(a) = y
0
. (8.71)
Volendo usare un BVM
k
1
k
2
, seguendo quanto detto in 8.4.2, si ponga t
0
= a,
t
N
= b ed h =
ba
N
. Lintero N pu`o essere ssato in base allaccuratezza che
si vuole ottenere, tenendo conto che, se il metodo base prescelto `e di ordine
p, il BVM
k
1
k
2
produce errori dellordine di grandezza di h
p
=
_
ba
N
_
p
.
Essendo p(t) < 0 conviene usare un metodo base A
k
1
k
2
-stabile. Scegliendo
la formula del punto centrale (8.46), che `e A
11
-stabile, si ha
y
n
+ y
n+2
= 2h[p(t
n+1
)y
n+1
+ q(t
n+1
)] , n = 0, 1, . . . N 2. (8.72)
Avendosi k
1
= k
2
= 1 occorre un solo metodo ausiliario nale, quale, ad
esempio, la formula di Eulero implicita (8.45) con n = N 1:
y
N1
+ y
N
= h[p(t
N
)y
N
+ q(t
N
)] . (8.73)
Si ottiene perci`o il sistema Gy = c dove
G =
_
_
_
_
_
_
_
_
_
2hp(t
1
) 1
1 2hp(t
2
) 1
.
.
.
.
.
.
.
.
.
1 2hp(t
N1
) 1
1 1 hp(t
N
)
_
_
_
_
_
_
_
_
_
,
y =
_
_
_
_
_
_
_
_
_
y
1
y
2
.
.
.
y
N1
y
N
_
_
_
_
_
_
_
_
_
, c =
_
_
_
_
_
_
_
_
_
2hq(t
1
) +y
0
2hq(t
2
)
.
.
.
2hq(t
N1
)
hq(t
N
)
_
_
_
_
_
_
_
_
_
.
8.5. COMPLEMENTI ED ESEMPI 239
Invece di un problema di valori iniziali, si consideri ora il problema ai
limiti continuo formato dalla (8.70) con la condizione ai limiti
y(a) + y(b) = 0 . (8.74)
Il problema ai limiti discreto cui si giunge, usando le stesse formule, `e costi-
tuito dalle (8.72) e (8.73). La corrispondente della (8.74)
y
0
+ y
N
= 0
viene utilizzata ponendo y
0
= (/)y
N
. Il sistema lineare che si ottiene in
questo caso `e

Gy = c dove

G =
_
_
_
_
_
_
_
_
_
2hp(t
1
) 1 /
1 2hp(t
2
) 1
.
.
.
.
.
.
.
.
.
1 2hp(t
N1
) 1
1 1 hp(t
N
)
_
_
_
_
_
_
_
_
_
,
y =
_
_
_
_
_
_
_
_
_
y
1
y
2
.
.
.
y
N1
y
N
_
_
_
_
_
_
_
_
_
, c =
_
_
_
_
_
_
_
_
_
2hq(t
1
)
2hq(t
2
)
.
.
.
2hq(t
N1
)
hq(t
N
)
_
_
_
_
_
_
_
_
_
.
Esempio 8.5.6 Si consideri la formula
y
n+1
y
n
= h(
5
12
f
n
+
8
12
f
n+1

1
12
f
n+2
).
Se ne studia la stabilit`a come BVM.
Si considera il problema test y

= y, per semplicit`a, solo nel caso reale, cio`e


0 > I R. Il polinomio di stabilit`a della formula `e
(q, ) =
1
12
q
2
+ (1
2
3
q) (1 +
5
12
q).
Gli zeri sono quindi

1
(q) = (1 +
2
3
q +

)/(
1
6
q),
2
(q) = (1 +
2
3
q

)/(
1
6
q),
240 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
avendo posto =
7
12
q
2
q + 1. Si verica facilmente che
|
1
(q)| < 1 < |
2
(q)|, lim
q0

1
(q) = 1,
per cui
1
(q) `e la radice principale, k
1
= k
2
= 1 e la formula usata come
metodo base in un BVM `e A
11
-stabile.
Si trova poi c
4
=
1
24
e quindi p = 3. Avendosi k
1
1 = 0 e k
2
= 1 occorre
un metodo ausiliario di coda. Allo scopo si pu`o usare la formula del terzo
ordine
y
n+2
y
n+1
= h(
1
12
f
n
+
8
12
f
n+1
+
5
12
f
n+2
),
per la quale si ha c
4
=
1
24
.
Il sistema, riferito al problema y

= f(t, y), y(t


0
) = y
0
, risulta quindi essere
_

_
y
1

8
12
hf
1
+
1
12
hf
2
y
0

5
12
hf
0
= 0
y
1

5
12
hf
1
+ y
2

8
12
hf
2
+
1
12
hf
3
= 0
y
2

5
12
hf
2
+ y
3

8
12
hf
3
+
1
12
hf
4
= 0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
y
N2

5
12
hf
N2
+ y
N1

8
12
hf
N1
+
1
12
hf
N
= 0
1
12
hf
N2
y
N1

8
12
hf
N1
+ y
N

5
12
hf
N
= 0
.
La sua risoluzione numerica pu`o essere eettuata con il metodo di Newton.
Alternativamente si osserva che tale sistema `e, in realt`a, semilineare in quanto
le incognite y
1
, y
2
, . . . , y
N
si presentano sia in forma lineare sia coinvolte non
linearmente come argomento della funzione f. Si verica subito che il sistema
si lascia scrivere nella forma
By = hF(y) +c,
dove:
B =
_
_
_
_
_
_
1
1 1
.
.
.
.
.
.
1 1
_
_
_
_
_
_
,
il vettore delle incognite `e
y = (y
T
1
, y
T
2
, . . . , y
T
N
)
T
,
8.5. COMPLEMENTI ED ESEMPI 241
le componenti del vettore F(y) sono
F
1
(y) =
8
12
f
1

1
12
f
2
,
F
i+1
(y) =
5
12
f
i
+
8
12
f
i+1

1
12
f
i+2
, i = 1, 2, . . . , N 2,
F
N
(y) =
1
12
f
N2
+
8
12
f
N1
+
5
12
f
N
,
e il vettore dei dei termini noti `e dato da
c = ((y
0
+ h
5
12
f
0
)
T
, 0
T
, . . . , 0
T
)
T
.
Resta quindi denito il procedimento iterativo
y
(s+1)
= hB
1
F(y
(s)
) +B
1
c, s = 0, 1, . . . ,
essendo, come si riscontra immediatamente, la matrice inversa di B triango-
lare inferiore data da
B
1
=
_
_
_
_
_
1 0 . . . 0
1 1 . . . . . .
. . . . . . . . . . . .
1 1 . . . 1
_
_
_
_
_
.
Per h sucientemente piccolo, in virt` u del Teorema 4.6.1, tale procedimento
risulta convergente e pertanto pu`o adottarsi il criterio di arrestare le iterazioni
allorche y
(s+1)
y
(s)
con opportunamente pressato.
Esempio 8.5.7 La formula trapezoidale, y
n+1
y
n
=
h
2
(f
n+1
+f
n
), come si
`e osservato alla ne del paragrafo 8.4.3, pu`o essere usata come BVM da sola.
Facendo riferimento al problema di valori iniziali lineare
y

= K(t)y, y(t
0
) = y
0
,
dove K(t) I R
mm
, ponendo K(t
n
) = K
n
, il metodo si pu`o scrivere
y
n
+
1
2
hK
n
y
n
y
n+1
+
1
2
hK
n+1
y
n+1
= 0, n = 0, 1, . . . , N 1.
Introducendo il vettore delle incognite y = (y
T
1
, y
T
2
, . . . , y
T
N
)
T
, il vettore dei
termini noti c = ((y
0

1
2
hK
0
y
0
)
T
, 0
T
, . . . , 0
T
)
T
e la matrice
G =
_
_
_
_
_
_
I +
1
2
hK
1
I +
1
2
hK
1
I +
1
2
hK
2
.
.
.
.
.
.
I +
1
2
hK
N1
I +
1
2
hK
N
_
_
_
_
_
_
,
242 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE
si `e condotti alla risoluzione del sistema lineare Gy = c.
Si osserva poi che
det(G) = det(I +
1
2
hK
1
) det(I +
1
2
hK
N
),
per cui lim
h0
|det(G)| = 1. Ne segue che per h sucientemente piccolo (e
K(t) sucientemente regolare) il sistema ha ununica soluzione.
Si supponga ora K(t) = K = costante. Risulta
det(G) = [det(I +
1
2
hK)]
N
= [(1 +
1
2
h
1
) (1 +
1
2
h
m
)]
N
,
essendo
1
, . . . ,
m
gli autovalori di K. Pertanto se gli autovalori sono reali
non positivi o complessi si ha det(G) = 0 per qualunque valore di h. Se vi
sono autovalori reali e positivi si potr`a assumere h < 2/(K).
Bibliograa: [4], [3], [6], [8], [16], [17], [18], [20], [21], [22], [24].
Bibliograa
[1] R.Bevilacqua, D.Bini, M.Capovani, O.Menchi, Metodi Numerici,
Zanichelli, Bologna, 1992.
[2] D.Bini, M.Capovani, O.Menchi, Metodi Numerici per lAlgebra Lineare,
Zanichelli, Bologna, 1988.
[3] J.C.Butcher, The Numerical Analysis of Ordinary Dierential Equa-
tions: Runge-Kutta and General Linear Methods, John Wiley & Sons,
Chichester, 1987.
[4] L.Brugnano, D.Trigiante, Solving Dierential Problems by Multistep Ini-
tial and Boundary Value Methods, Gordon and Breach Science Publish-
ers, 1998.
[5] V.Comincioli, Analisi Numerica, Metodi, Modelli, Applicazioni,
McGraw-Hill, Milano, 1990.
[6] G.Dahlquist, Convergence and Stability in the Numerical Integration of
Ordinary Dierential Equations, Math. Scand., 4 (1956), 33-53.
[7] P.J.Davis, P.Rabinovitz, Methods of Numerical Integration, Academic
Press, London, 1975.
[8] K.Dekker, J.G.Verwer, Stability of Runge-Kutta Methods for Sti Non-
linear Dierential Equations, North-Holland, New York, 1984.
[9] H.Engels, Numerical Quadrature and Cubature, Academic Press, New
York, 1953.
[10] F.Fontanella, A.Pasquali, Calcolo Numerico. Metodi e Algoritmi, vol. I
e II. Pitagora Editrice, Bologna, 1982.
244 BIBLIOGRAFIA
[11] I.Galligani, Elementi di Analisi Numerica, Calderini, Bologna, 1987.
[12] G.Gambolati, Lezioni di Metodi Numerici, Edizioni Libreria Cortina,
Padova, 1994.
[13] F.R.Gantmacher, The Theory of Matrices, vol. I e II. Chelsea, New York,
1959
[14] P.Ghelardoni, G.Lombardi, R.Rebaudo, Calcoli Numerici, Editrice Tec-
nico Scientica, Pisa, 1989.
[15] G.H.Golub, C.F.Van Loan, Matrix Computations, The Johns Hopkins
University Press, Baltimore, Maryland, 1983.
[16] E.Hairer, S.P.Nrsett, G.Wanner, Solving Ordinary Dierential Equa-
tions I. Nonsti Problems, Springer-Verlag, Berlin, 1993.
[17] E.Hairer, G.Wanner, Solving Ordinary Dierential Equations II. Sti
and Dierential-Algebraic Problems, Springer-Verlag, Berlin, 1996.
[18] P.Henrici, Discrete Variable Methods in Ordinary Dierential Equations,
John Wiley & Sons, New York, 1962.
[19] E.Isaacson, H.Keller, Analysis of Numerical Methods, John Wiley &
Sons, New York, 1966.
[20] V.Lakshmikantham, D.Trigiante, Dierence Equations with Application
to Numerical Analysis, Academic Press, New York, 1988.
[21] J.D.Lambert, Numerical Methods for Ordinary Dierential Systems.
The Initial Value Problem, John Wiley & Sons, Chichester, 1991.
[22] P.Marzulli, D.Trigiante, Stability and Convergence of Boundary Value
Methods for Solving ODE, Jour. of Dierence Eq. and Appl., 1 (1995),
45-55.
[23] G.Monegato, Fondamenti di Calcolo Numerico, Levrotto-Bella, Torino,
1990.
[24] F.W.Olver, Numerical Solution of Second Order Linear Dierential
Equations, Jour. of Reas. NBS 71B (1967), 111-129.
BIBLIOGRAFIA 245
[25] J.M.Ortega, W.C.Rheinboldt, Iterative Solution of Nonlinear Equations
in Several Variables, Academic Press, New York, 1970.
[26] L.Pasquini, D.Trigiante, A Globally Convergent Method for Simultane-
ously Finding Polynomial Roots, Math. Comp., 44 (1985), 135-149.
[27] H.R.Schwarz, Numerical Analysis: A Comprehensive Introduction, John
Wiley & Sons, Chichester UK, 1989.
[28] P.H.Sterbenz, Floating-Point Computation, Prentice Hall, Englewood
Clis, New York, 1974.
[29] J.Stoer, R.Bulirsch, Introduzione allAnalisi Numerica, vol. I e II.
Zanichelli, Bologna, 1975.
[30] A.H.Stroud, Don Secrest, Gaussian Quadrature Formulas, Prentice-
Hall, Englewood Clis, New Jersey, 1966.
[31] J.H.Wilkinson, The Algebraic Eigenvalue Problem, Clarendon Press, Ox-
ford, 1965.
[32] D.M.Young, Iterative Solution of Large Linear Systems, Academic Press,
New York, 1971.

Potrebbero piacerti anche