You are on page 1of 242

CALCOLO NUMERICO

DISPENSE DEL PROF.GHELARDONI

INDICE

0. Simbologia
1. Teoria degli errori
2. Richiami di algebra lineare
3. Sistemi di equazioni lineari
4. Equazioni e sistemi non lineari
5. Calcolo di autovalori e autovettori
6. Interpolazione e approssimazione
7. Integrazione numerica
8. Metodi numerici per equazioni differenziali ordinarie
Lista dei simboli

IN insieme dei numeri naturali

Z insieme dei numeri interi relativi


Z

IR insieme dei numeri reali


/ insieme dei numeri complessi
C

IRm spazio dei vettori con m componenti reali


/ m spazio dei vettori con m componenti complesse
C

IRmn spazio delle matrici con m righe e n colonne a elementi reali


/ mn spazio delle matrici con m righe e n colonne a elementi complessi
C
(
1 se x > 0
sign(x) =
1 se x < 0

sign(x) se x 6= 0
(
sign0 (x) =
0 se x = 0
(
1 se la permutazione e di classe pari
s() =
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

AT matrice trasposta della matrice A

AH matrice trasposta coniugata della matrice A

diag(a11 , a22 , . . . , ann ) 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

() molteplicita algebrica dellautovalore

() molteplicita geometrica dellautovalore


(
1 se r = s
rs = ( di Kronecker)
0 se r 6= s
k insieme dei polinomi algebrici di grado al piu k

O(hk ) 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
X
i i ,
i=1

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 6= 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
P
2 CAPITOLO 1. TEORIA DEGLI ERRORI

mantissa del numero x; e immediato vericare che



1 X
i 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 percio 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
m
b
X
y = tr(x) = sign(x) i i , (1.1)
i=1


tr(x) se 0 m+1 < 2
y = rd (x ) = . (1.2)
sign(x) b Pm i + m se
i=1 i 2 m+1 <
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
unita lesponente b. Per esempio, con = 10 e m = 3, se x = 0.9997 105
si ha rd(x) = 0.100 106 .
La (1.1) si chiama rappresentazione per troncamento del numero reale
x mentre la (1.2) fornisce la rappresentazione per arrotondamento. Si puo
dimostrare che | tr(x) x |< bm e | rd(x) x | 21 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 Z Z), la cardinalita 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 6= 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 1099 ; si ha rd(x) =
0.110100 che non rientra nellinsieme dei numeri di macchina considerato. In
questo caso si ha una situazione di overflow e cioe 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) maxyM | y |).
1.1. RAPPRESENTAZIONE DEI NUMERI 3

Per contro, si abbia il numero x = 0.011099 ; risulta rd(x) = 0.110100


che non e un numero di macchina. In questo caso si ha una situazione di
underflow, cioe 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
rd(x) x x
x = = .
x x
Dalle precedenti considerazioni si ricavano le limitazioni
1
| x | bm ,
2
1
| x |< 1m .
2
1 1m
Il numero u = 2 si dice precisione di macchina. In generale quando
lerrore relativo di una approssimazione non supera 21 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 = 2n (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 fara 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, 231 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 cioe 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 152 , il massimo numero rappresentabile (in precisione semplice) e
0.F F F F F F 1663 7.23 1075 , il minimo numero non negativo rappre-
sentabile risulta 0.1 1664 5.39 1079 e la precisione di macchina e
us = 12 165 4.75 107 .

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 ud = 12 1613 1.11 1016 .
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 proprieta delle quattro operazioni elementari
risultano vericate, in quanto il risultato di una operazione deve essere ricon-
dotto ad un numero di macchina: percio 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 proprieta associativa e


il seguente.
Sia F (10, 3, 99, 99) e sia x = 0.135 104 , y = 0.258 102 , z =
0.251 102 ; si ha

x (y z) = 0.135 104 0.258 102 0.251 102
= 0.135 104 0.700 104
= 0.835 104 ,

mentre

(x y) z = 0.135 104 0.258 102 0.251 102
= 0.259 102 0.251 102
= 0.800 104 .

In modo analogo si possono dare esempi in cui loperazione non gode


della proprieta 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 vedra piu 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 (x1 , x2 , . . . , xn ) in
(0) (0)
un punto assegnato P0 = (x1 , x2 , . . . , x(0)
n ), in generale, non si ottiene il
valore f (P0 ) 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 cio equivale in denitiva
alla sostituzione di f (P ) con unaltra funzione fa (P ) che la approssimi.
Un secondo tipo di errore si presenta quando non e possibile rappresentare
esattamente le coordinate del punto P0 e quindi si devono approssimare tali
coordinate
con numeri di macchina (basti pensare, per esempio, al punto
P0 = ( 2, )).

1.3.1 Errore assoluto


(0)
Assegnato il punto P0 IRn di coordinate xi , i = 1, 2, . . . , n, nel quale si
vuole calcolare la funzione f (P ), si consideri linsieme

D = {P IRn | ai xi bi , i = 1, 2, . . . , n}
(0)
dove ai , bi IR e si supponga che sia ai xi bi , i = 1, 2, . . . , n; D si dice
insieme di indeterminazione del punto P0 .
In eetti il valore cercato f (P0 ) viene sostituito dal valore calcolato fa (P1 )
(1)
dove P1 , di coordinate xi , i = 1, 2, . . . , n, appartiene a D e quindi lerrore
commesso risulta fa (P1 ) f (P0 ); di questo errore, detto errore totale, si puo
dare una stima.
Si pone

fa (P1 ) f (P0 ) = fa (P1 ) f (P1 ) + f (P1 ) f (P0 )

dove la dierenza fa (P1 ) f (P1 ) e detta errore algoritmico mentre la dif-


ferenza f (P1 ) f (P0 ) e detta errore trasmesso dai dati.
1.3. ERRORE NEL CALCOLO DI UNA FUNZIONE 7

Lerrore algoritmico, una volta ssato lalgoritmo che fornisce fa (P ),


risulta denito e stimabile.
Allerrore trasmesso, nellipotesi che f (P ) C 1 (D), si puo dare una
rappresentazione generale: dalla formula di Taylor arrestata al primo termine
e con punto iniziale P0 si ottiene
n
X f (1) (0)
f (P1 ) f (P0 ) = (xi xi ) (1.3)
i=1 xi

dove le derivate parziali della funzione f (P ) sono calcolate in un punto op-


portuno. Indicando con
f = fa (P1 ) f (P0 ) lerrore totale,
a = fa (P1 ) f (P1 ) lerrore algoritmico,
d = f (P1 ) f (P0 ) lerrore trasmesso dai dati,
risulta
f = a + d .
Ponendo poi
(1) (0) f
xi = xi xi , i = ,
xi
la (1.3) diventa
n
X
d = i xi .
i=1

I valori i sono detti coefficienti di amplificazione degli gli errori xi .


Una limitazione per il modulo dellerrore assoluto fa (P1 ) f (P0 ) e

| fa (P1 ) f (P0 ) | Ea + Ed

dove si e posto

Ea = massimo modulo dell errore assoluto dovuto


al particolare algoritmo usato,
n
X
Ed = Axi | xi |, (1.4)
i=1
con
f
Axi sup

,

i = 1, 2, . . . , n. (1.5)
xD xi
8 CAPITOLO 1. TEORIA DEGLI ERRORI

Se si conosce una stima dellerrore di troncamento e degli errori xi nonche


le Axi , si puo 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 fa (P1 )
sia tale che lerrore assoluto | fa (P1 ) f (P0 ) | risulti minore di un valore
pressato, per cui si deve cercare sia un algoritmo fa (P ) sia un opportuno
punto P1 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 P0 e denito da

fa (P1 ) f (P0 )
f = .
f (P0 )

Si verica facilmente che


!
f (P1 ) f (P0 ) fa (P1 ) f (P1 ) f (P1 ) f (P0 )
f = + 1+
f (P0 ) f (P1 ) f (P0 )

per cui, indicando con


fa (P1 ) f (P1 )
a =
f (P1 )
lerrore relativo algoritmico e con

f (P1 ) f (P0 )
d =
f (P0 )

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
n (1) (0)
f (P1 ) f (P0 ) X f (xi xi )
d = =
f (P0 ) i=1 xi f (P0 )
1.4. GLI ERRORI NELLE QUATTRO OPERAZIONI 9

(1) (0)
xi xi
ed ancora, denendo xi = (0) ,
xi

n (0)
X xi f
d = x i .
i=1 f (P0 ) xi
(0)
xi f
Inne, ponendo i = f (P0 ) xi
, si ha
n
X
d = i x i ,
i=1

dove i valori i sono detti coefficienti di amplificazione degli errori relativi.


Se i coecienti i sono tali che lerrore d risulta dello stesso ordine degli
errori xi il problema del calcolo della funzione si dice ben condizionato; si
dice invece mal condizionato se a piccoli errori relativi xi 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
xy x + y +
x+y x

x+y y
x y
xy x y
xy x

xy y
xy yx + xy x + y
1
xy yx2 y x y
y x

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 puo accadere che i denominatori che compaiono nei
coecienti di amplicazione dellerrore relativo siano molto piccoli in valore
assoluto (fenomeno della cancellazione gia 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 (x1 , x2 ) = x1 /x2 nel punto


assegnato P0 = ( 5, ).
Si assuma D = {(x1 , x2 ) IR2 |2.23 < x1 < 2.24, 3.14 < x2 < 3.15} come
insieme di indeterminazione del punto P0 (dalle (1.4) e (1.5) si ricava che piu
si riduce linsieme D e piu stringente e la maggiorazione dellerrore assoluto).
Problema diretto
Si calcola il rapporto x1 /x2 arrotondando il risultato alla seconda cifra
decimale, ottenendo quindi un errore Ea 12 102 .
Assumendo P1 = (2.235, 3.145) si ha sicuramente | x1 |, | x2 | 21 102 .
Dalla funzione e dallinsieme D si traggono le maggiorazioni

f
sup

Ax1 = 0.32,

xD x1


f
sup

Ax2 = 0.23;

xD x2

da cui si ha il massimo errore assoluto


1 1
Ea + Ed 102 + (0.32 + 0.23) 102 = 0.775 102 .
2 2
Problema inverso
Si vuole avere un valore che dierisca dal valore esatto f (P0 ) meno di un
pressato errore E = 102 .
Si puo imporre che Ea ed Ed siano, ciascuno, non superiore a meta del-
lerrore totale richiesto e quindi che sia Ea 12 102 e Ed 12 102 .
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
1
Ax1 | x1 | 102 ,
4
1 2
Ax2 | x2 | 10 ;
4
assumendo per Ax1 e Ax2 i valori calcolati in precedenza si ottiene
1 1
| x1 | 102 0.0078,
4 0.32
1 1
| x2 | 102 0.0109,
4 0.23
per cui si puo porre P1 = (2.24, 3.14).
Si ha quindi fa (P1 ) = 0.71 che dierisce da f (P0 ) 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 puo ricorrere alluso dei grafi; si calcola la funzione eseguendo una
operazione dopo laltra e stabilendo per ciascuna di esse lentita degli errori
relativi.
In questo esempio la sequenza delle operazioni e
y
r1 = , r2 = r1 w, r3 = xr2 .
z
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
ri va inteso come lerrore relativo per la funzione ri 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
y zw
= 3 + x + 2 + r 1 w
y zw y zw
y zw
= 3 + x + 2 + (1 + y z ) w
y zw y zw
y y zw
= 3 + 2 + 1 + x + (y z ) w .
y zw y zw y zw
12 CAPITOLO 1. TEORIA DEGLI ERRORI

y
y

1
z -1 r
1
z r1
y
yzw
zw
w yzw r
2
w r2

1
x 1 r
3
x r3

Figura 1.1: Esempio di grafo.

Se ne conclude che lerrore algoritmico e


y
a = 3 + 2 + 1
y zw
e lerrore trasmesso e
y zw
d = x + (y z ) w .
y zw y zw

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.

Bibliografia: [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 aij , i = 1, 2, . . . , m, j = 1, 2, . . . , n, detti elementi


di A. Ogni elemento aij e individuato dallindice di riga i e dallindice di
colonna j. Comunemente si scrive

a11 a12 a1n




a21 a22 a2n

A= .. .. ... .. .
. . .


am1 am2 amn

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
aii , i = 1, 2, . . . , n, si dicono elementi diagonali o appartenenti alla diagonale
principale di A.
Se m 6= n la matrice A dicesi rettangolare.
Con a C / m si intende un vettore con m componenti complesse indicate

come ai , 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 IRmn ; analogamente con a IRm si intende un vettore a componenti
reali.
Data la matrice A C / mn , la matrice B C / nm i cui elementi sono

bij = aji , 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 AT mentre si dice matrice trasposta coniugata di A


la matrice B C / nm i cui elementi sono b = a e si indica con AH .
ij ji
La matrice quadrata
1 0 0


0 1 0

I= .... . . ..

. . . .


0 0 1
dicesi matrice identica o matrice unita .
Si dice matrice diagonale una matrice quadrata D con gli elementi non
diagonali nulli, cioe della forma
d1 0 0


0 d2 0

D= .. .. ... .. ;
. . .


0 0 dn
si scrive anche D = diag(d1 , d2 , . . . , dn ).
Le matrici quadrate del tipo
l11 0 0 r11 r12 r1n


l21 l22 0


0 r22 r2n

L= .. .. ... .. , R= .. .. . . . .. ,
. . . . . .


ln1 ln2 lnn 0 0 rnn
si dicono matrici triangolari e precisamente L dicesi triangolare inferiore e
R triangolare superiore.

2.2 Operazioni tra matrici


/ mn , la matrice somma, C = A + B, e denita ponendo
Date A, B C
cij = aij + bij , i = 1, 2, . . . , m, j = 1, 2, . . . , n.
Valgono, per laddizione, le proprieta associativa e commutativa.
Se A C/ mk e B C / kn , la matrice prodotto C = AB, si denisce

ponendo
k
X
cij = ail blj , i = 1, 2, . . . , m, j = 1, 2, . . . , n,
l=1
2.3. DETERMINANTE E INVERSA 15

e risulta quindi C C / mn .

Per la moltiplicazione vale la proprieta associativa e la proprieta distribu-


tiva rispetto alla addizione.
E importante osservare che la moltiplicazione non gode della proprieta
commutativa, ne della legge di annullamento del prodotto; infatti in generale
e AB 6= BA, mentre il prodotto AB puo 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 AT e (AB)H = B H AH .

Il prodotto aH b = nl=1 al bl di due vettori a, b C


/ n e detto prodotto scalare
P
H
e se a 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).

Definizione 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


/ nn il numero
Definizione 2.3.1 Si dice determinante di una matrice A C
X
det(A) = s()a1j1 a2j2 anjn
P

dove e la permutazione (j1 , j2 , .., jn ) 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 puo fare uso del primo
teorema di Laplace

a11 se n = 1,




det(A) = nj=1 (1)i+j aij det(Aij ) (2.1)
P
Pn i+j
= i=1 (1) aij det(Aij ) se n > 1,

dove Aij e la sottomatrice ottenuta da A eliminando la riga i-esima e la


colonna j-esima.
Vale anche il secondo teorema di Laplace
n n
(1)i+j aij det(Arj ) = (1)i+j aij det(Ais ) = 0
X X

j=1 i=1

per r 6= i e s 6= j.
Nel caso di una matrice diagonale o triangolare si ha immediatamente
n
Y
det(A) = aii .
i=1

Il determinante della matrice A si indica anche con la notazione


a12 a1n

a11

a21

a22 a2n
.
. .. . . . .
. . . ..

an1 an2 ann

Dalla (2.1) segue anche, per induzione, det(A) = det(AT ).


/ nn si dice singolare (non singolare) se
Definizione 2.3.2 Una matrice A C
det(A) = 0 (det(A) 6= 0).

Definizione 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.

Definizione 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

Definizione 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.

Definizione 2.3.6 Data una matrice A C / mn si dice rango o caratteristica

della matrice A il numero r(A) pari allordine piu 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) .

Definizione 2.3.7 Data una matrice A C / nn non singolare si dice matrice


/ nn tale che
inversa di A la matrice B C
det(Aji )
bij = (1)i+j .
det(A)

Da questa denizione e dai teoremi di Laplace segue

AB = BA = I.

In seguito, indicheremo con il simbolo A1 la matrice inversa della matrice


A.
Dal Corollario 2.3.1 si ha

det(A) det(A1 ) = det(AA1 ) = 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 k1 , k2 , . . . , km comunque ssati; il corrispondente
minore di B e il determinante della matrice formata da m righe di B di indici k1 , k2 , . . . , km .
18 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

2.4 Matrici particolari


/ nn si dice
Una matrice A C
hermitiana se A = AH ;
antihermitiana se A = AH ;
unitaria se AH A = AAH = I;
normale se AH A = AAH ;
simmetrica se A = AT ;
antisimmetrica se A = AT .
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 xH Ax e

un numero reale in quanto

(xH Ax)H = xH AH x = xH Ax;

la matrice A si dice denita positiva (negativa) se xH Ax > 0 (< 0) per


ogni x C/ n con x 6= 0, mentre e detta semidenita positiva (negativa) se

xH 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.

Definizione 2.4.1 Una matrice P IRnn 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 =


P P 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 ;
P A 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.
/ nn si dice a predominanza diagonale
Definizione 2.4.2 Una matrice A C
forte se n X
| aii |> | aij |, i = 1, 2, . . . , n.
j=1
j6=i

/ nn si dice a predominanza diagonale


Definizione 2.4.3 Una matrice A C
debole se n X
| aii | | aij |, i = 1, 2, . . . , n,
j=1
j6=i

e per almeno un indice r, 1 r n, si ha


n
X
| arr |> | arj | .
j=1
j6=r

/ nn si dice convergente se
Definizione 2.4.4 Una matrice A C
lim Ak = O
k

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 puo rappresentare nella forma (cfr. 3.1)


Ax = b (2.2)
dove x C/ n e il vettore delle incognite.

Sulla risolubilita 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
/ n di dimensione n r(A).
linsieme delle soluzioni e un sottospazio di C
20 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Se det(A) 6= 0, il sistema (2.2) si dice normale. In tal caso la soluzione


e data formalmente da x = A1 b e puo essere espressa mediante la regola di
Cramer
det(Ai )
xi = , i = 1, 2, . . . , m,
det(A)
essendo Ai 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) 6= 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
cioe matrici i cui elementi sono sottomatrici di A.
Una qualunque matrice puo 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, cioe aventi una delle
seguenti forme
A11 O A11 A12 A1k

O

A21 A22 O


O A22 A2k

.. .. .. , .. .. .. ,

...
...
. . . . . .


Ak1 Ak2 Akk O O Akk
o diagonali a blocchi
A11 O

O

O A22 O

.. .. .. .

...
. . .


O O Akk
In questi casi particolari e facile vericare che
k
Y
det(A) = det(Aii ).
i=1
2
Cio comporta che la matrice A sia quadrata.
2.7. AUTOVALORI E AUTOVETTORI 21

Definizione 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



A11 O
B = P T AP =
A21 A22
con blocchi diagonali quadrati.
Nel caso in cui B contenga qualche blocco diagonale ancora riducibile si
puo 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, cioe se esiste o no una
matrice P che verichi la Denizione 2.6.1, servono le denizioni ed il teorema
seguenti.
Definizione 2.6.2 Data una matrice A C / nn , ssati n punti, detti nodi,

N1 , N2 , . . . , Nn , si dice grafo orientato associato ad A, il grafo che si ottiene


congiungendo Ni a Nj con un cammino orientato da Ni a Nj per ogni aij 6= 0.
Definizione 2.6.3 Un grafo orientato si dice fortemente connesso se da ogni
nodo Ni , i = 1, 2, . . . , n, e possibile raggiungere un qualunque altro nodo Nj ,
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


Definizione 2.7.1 Data una matrice A C / nn si dice autovalore di A ogni

numero C/ tale che il sistema lineare

Ax = x, / n,
xC (2.3)
22 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

abbia soluzioni x 6= 0; ogni tale vettore x e detto autovettore destro asso-


ciato allautovalore , intendendo che x ed ogni vettore kx (k C / , k 6= 0)

rappresentano lo stesso autovettore.


/ n tale che
In analogia e detto autovettore sinistro un vettore y C

y T A = y T .

Trasponendo entrambi i membri della (2.3) si ha

xT AT = xT

da cui risulta che gli autovettori destri di A sono gli autovettori sinistri di
AT 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 cioe 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(AT I) segue che A e AT
hanno gli stessi autovalori.
Dal calcolo di det(A I), si ottiene

det(A I) = (1)n n + (1)n1 1 n1 +


(2.5)
n2 n2
(1) 2 + 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 = nj=1 ajj , e n = det(A). 1 si dice traccia di
P

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, percio sono n e verranno indicati con 1 , 2 , . . . , n .


Osservazione 2.7.1 Dalle (2.4) e (2.5) si deducono le proprieta:
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
X
i = tr(A) ; (2.6)
i=1

il prodotto degli autovalori coincide con n (cfr. le (4.50)) e quindi


n
Y
i = det(A). (2.7)
i=1

Definizione 2.7.2 Si dice raggio spettrale della matrice A il numero reale


non negativo
(A) = max | i | .
1in

nn
Teorema 2.7.1 Una matrice A C / e convergente se e solo se il suo
raggio spettrale e minore di 1.

Definizione 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 (A I)S]
= det(S 1 ) det(A I) det(S)
= det(A I).

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 , Ak possiede lautovalore


k e gli autovettori di A sono anche autovettori di Ak .

Questo teorema, se A e non singolare, vale anche per k Z


Z.

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 xH , xH Ax = xH x ed ancora, dividendo per il
numero reale e positivo xH x (si ricordi che x 6= 0),

xH Ax
= . (2.8)
xH x
Nel secondo membro della (2.8) il numeratore e reale per quanto visto allinizio
di 2.4: ne segue la tesi.

Definizione 2.7.4 Dicesi molteplicita algebrica di un autovalore , la mol-


teplicita di come radice dellequazione caratteristica.

La molteplicita algebrica di sara indicata con ().

Definizione 2.7.5 Dicesi molteplicita geometrica di , e si indichera con


(), la dimensione dello spazio delle soluzioni del sistema lineare omogeneo
(A I)x = 0.

Si osservi che la molteplicita 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 molteplicita 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.

Definizione 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,
cioe 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
(i) (i) (i)
J (i) = diag(J1 , J2 , . . . , J(i ) ) ;
26 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

(i)
ciascun blocco Jl , detto anche blocco di Jordan, e della forma

i 1 0 0 0
0 i 1 0 0


...

0 0 i 0 0

(i)
Jl =
.. .. .. . . . . . . ..
,
l = 1, 2, . . . , (i ).

. . . .


0 0 0 i 1

0 0 0 0 i
(i) (i)
Si noti che, se pl e lordine di Jl , risulta
(i )
X (i)
pl = (i ) . (2.11)
l=1

La matrice (2.10) si dice forma canonica di Jordan della matrice A. Il


(i) (i) (i)
polinomio caratteristico del blocco di Jordan Jl e det(Jl I) = (i )pl ,
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, cioe 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


nn
Teorema 2.8.1 (primo teorema di Gershgorin) Sia A C
/ , si indichino
con Fi , i = 1, 2, . . . , n, gli insiemi
n
X
Fi = {z C
/ | | z a | },
ii i con i = | aij |; (2.12)
j=1
j6=i

allora se e autovalore di A si ha
n
[
F = Fi .
i=1
2.8. LOCALIZZAZIONE DEGLI AUTOVALORI 27

Dimostrazione. Indicando con x un autovettore destro associato allautovalore


, sia xk la sua componente di massimo modulo; dalla riga k-esima della (2.3) si
ha
n
X
akj xj = xk
j=1

da cui
n
X
( akk )xk = akj xj .
j=1
j6=k

Passando ai moduli dei due membri e maggiorando nel secondo membro ogni | xj |
con | xk |, si ottiene
n
X
| akk || xk | | akj || xk |
j=1
j6=k

ed essendo, per la denizione di autovettore, xk 6= 0, si ha


n
X
| akk | | akj |= k
j=1
j6=k

che prova la tesi.

Il Teorema 2.8.1 ha una evidente interpretazione graca: ciascun insieme


Fi di (2.12) e, nel piano complesso, un cerchio di centro il punto aii e raggio
i ; linsieme F a cui appartengono tutti gli autovalori di A e quindi lunione
dei cerchi Fi , detti anche cerchi di Gershgorin.

Teorema 2.8.2 (secondo teorema di Gershgorin) Se M1 e lunione di k cerchi


di Gershgorin e M2 e lunione dei rimanenti n k ed e M1 M2 = , allora
T

k autovalori appartengono a M1 e n k a M2 .

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


/ mm e V C
unitarie U C / nn tali che

A = U V H (2.13)
!
D
con = , O la matrice nulla, D = diag(1 , 2 , . . . , n ), i IR,
O
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
puo vericare che il numero dei valori singolari non nulli e uguale a r(A), le
colonne di U sono autovettori di AAH , mentre quelle di V sono autovettori
di AH A.

Teorema 2.9.2 Sia A C / mn ; i quadrati dei valori singolari di A sono

autovalori della matrice AH 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


Definizione 2.10.1 Si dice norma vettoriale, e si indica con kxk, una fun-
/ n , a valori reali non negativi, che
zione, denita nello spazio vettoriale C
verica le seguenti condizioni:

kxk = 0 x = 0 ;
kxk =| | kxk , / n , C
x C / ;
n
kx + yk kxk + kyk , x, y C/ .

/ n e possibile denire norme in modo arbitrario ma le piu usate sono


In C
le seguenti:
Pn
kxk1 = i=1 | xi |, norma 1;
qP
n 2
kxk2 = i=1 | xi | , norma 2 o norma euclidea;
kxk = max1in | xi |, norma .

In Fig. 2.1 e riportato linsieme

S = {x IR2 | kxk 1},

detto sfera unitaria di IR2 , per le tre norme denite.

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

/ n.
Teorema 2.10.1 Ogni norma vettoriale e uniformemente continua su C
30 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Teorema 2.10.2 (equivalenza tra norme) Date due norme vettoriali kxkp e
kxkq , esistono due costanti reali e positive e tali che

kxkp kxkq kxkp , / n.


x C (2.14)

Il senso dellequivalenza fra due norme appare evidente nello studio del
comportamento di una successione di vettori: in virtu della (2.14) il carattere
della successione e lo stesso in entrambe le norme.
Per le norme qui denite valgono le relazioni:

kxk2 kxk1 nkxk2 ;
kxk kxk1 nkxk ;

kxk kxk2 nkxk .

2.10.2 Norme matriciali


Definizione 2.10.2 Si dice norma matriciale, e si indica con kAk, una fun-
/ nn , a valori reali non negativi, che verica le seguenti
zione, denita in C
condizioni:

kAk = 0 A = O ;
kAk =| | kAk , A C/ nn , C/ ;

kA + Bk kAk + kBk , A, B C / nn ;

kABk kAkkBk , A, B C/ nn .

Si possono costruire norme matriciali facendo ricorso alle norme vettoriali


denendo
kAxk
kAk = sup ;
x6=0 kxk

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
kAxk kAkkxk.
Le norme naturali sono coerenti con le rispettive norme vettoriali.
2.10. NORME 31

Si puo dimostrare che le norme matriciali indotte dalle tre norme vettoriali
denite in 2.10.1 sono le seguenti:
Pn
kAk1 = maxj i=1 | aij |, norma 1;
q
kAk2 = (AH A), norma 2 o norma euclidea;
kAk = maxi nj=1 | aij |, norma .
P

Un esempio di norma matriciale non indotta e dato dalla norma matriciale


di Frobenius denita come
v
n
u n X
uX
kAkF = t | aij |2 ;
i=1 j=1


essa non e indotta da alcuna norma vettoriale in quanto risulta kIkF = n
mentre e kIk = supx6=0 kIxk
kxk
= 1 qualunque sia la norma vettoriale consider-
ata.
/ nn ; per ogni norma matriciale indotta vale la
Teorema 2.10.3 Sia A C
relazione
(A) kAk .

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
| | kxk = kAxk ,
da cui, se si usa la norma matriciale indotta da quella vettoriale,

| | kxk kAkkxk .

Essendo x 6= 0, dividendo per kxk, si ha

| | kAk .

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) = kAk e dato dalle matrici


hermitiane; infatti si ha
q q q
kAk2 = (AH A) = (A2 ) = 2 (A) = (A) .
/ nn , gli autovalori di A appartengono al cerchio
Corollario 2.10.2 Se A C

{z C
/ | | z | kAk} ,

dove k k 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 proprieta commutativa e che non vale la legge di annullamento
del prodotto.

Esempio 2.11.1 Sono date le matrici


! !
1 2 2 1
A= , B= .
2 4 1 21

Si ha ! !
0 0 4 8
AB = , BA = .
0 0 2 4

2.11.2 Matrici definite e semidefinite


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 = AH A risulta hermitiana

essendo
B H = (AH A)H = AH A = B .
Il numero xH Bx, con x C
/ n , x 6= 0, e dato da

xH Bx = xH AH Ax = (Ax)H (Ax)

per cui, ponendo y = Ax, si ha

xH Bx = y H y 0 .

La matrice B e quindi semidenita positiva. Se la matrice A ha rango


massimo, il vettore y non puo essere nullo per cui xH 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



2 0 1
2 1 1
A=

5 0 0

e riducibile infatti il suo grafo orientato non e fortemente connesso, non


essendo il punto N2 raggiungibile

dagli altri

due punti (Fig. 2.2).
1 0 0
Mediante la matrice P = 0 0 1 si ottiene

0 1 0

2 1 0
B = P T AP =
5 0 0 .

2 1 1
34 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

N3
r





r r


N1 N2

Figura 2.2: Grafo non fortemente connesso.

Esempio 2.11.4 La matrice



1 0 1
A = 1 2 5


1 1 0
e irriducibile in quanto il suo grafo orientato e fortemente connesso, come
mostrato in Fig. 2.3.

N3
r





r r


N1 N2

Figura 2.3: Grafo fortemente connesso.

Sia A C / nn una matrice riducibile e sia P la matrice di permutazione

che la riduce. Poniamo


B11 O

O

B21 B22 O
B = P T AP =

.. .. .. ,
...
. . .


Bk1 Bk2 Bkk
2.11. COMPLEMENTI ED ESEMPI 35

con i blocchi diagonali Bii , i = 1, 2, . . . , k, quadrati ed irriducibili; supponi-


amo che lordine dei blocchi Bii sia pi , i = 1, 2, . . . , k, per cui ki=1 pi = n.
P

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 AP P 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 Bii , i =
1, 2, . . . , k, il sistema (2.15), scritto in forma esplicita, diviene
B11 y1 = c1
B21 y1 + B22 y2 = c2
.. .. ... .. .. (2.16)
. . . .
Bk1 y1 + Bk2 y2 + + Bkk yk = ck .
La prima equazione e un sistema lineare, con matrice dei coecienti B11 ,
di ordine p1 , la cui incognita e il vettore y1 ; si risolve tale sistema e si so-
stituisce il vettore y1 nelle equazioni seguenti. La seconda equazione diviene
un sistema lineare, quadrato di ordine p2 , da cui si ricava il vettore y2 che
puo essere sostituito nelle equazioni seguenti. Procedendo in questo modo
si ricavano tutti i blocchi yi , i = 1, 2, . . . , k, che costituiscono il vettore y.
Una volta ottenuto lintero vettore y si risale al vettore x tramite la relazione
x = P y.
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 Bii , i = 1, 2, . . . , k. Questo
assicura lesistenza e lunicita 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 risultera 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 puo 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 puo 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



5 0 3 0 0
1 1 1 1 5



A=
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
N1 , N2 , N3 , N4 , N5 .
Da tale grafo si constata la seguente situazione

Nodo di Nodi Nodi non


partenza raggiungibili raggiungibili
N1 N1 , N3 N2 , N4 , N5 ;
N2 tutti ;
N3 N1 , N3 N2 , N4 , N5 ;
N4 tutti ;
N5 N1 , N3 , N5 N2 , N4 .

Essendo N1 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 N1 e di seguito gli altri. Si ha quindi un nuovo
ordinamento dei nodi che e Q1 = N1 , Q2 = N3 , Q3 = N2 , Q4 = N4 , Q5 = N5 .
A questo punto si opera sulla matrice A una trasformazione per similitudine
mediante la matrice di permutazione

1 0 0 0 0
0 0 1 0 0



P1 =
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 Ni per ottenere i nodi Qi .
Si ottiene la matrice

5 3 0 0 0
1 2 0 0 0


A1 = P1T AP1 =

1 1 1 1 5 .


1 1 2 3 0

0 1 0 0 6

La matrice A1 e triangolare a blocchi con blocchi diagonali



! 1 1 5
5 3
, 2 3 0 .

1 2
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; cio equivale
ad eettuare una nuova trasformazione per similitudine sulla matrice A1
mediante la matrice di permutazione

1 0 0 0 0
0 1 0 0 0



P2 =
0 0 0 1 0


0 0 0 0 1

0 0 1 0 0

ottenendo la matrice

5 3 0 0 0
1 2 0 0 0


A2 = P2T A1 P2 =

0 1 6 0 0 .


1 1 5 1 1

1 1 0 2 3

I blocchi diagonali della matrice A2 risultano irriducibili per cui essa e la


forma ridotta di A.
38 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Alla matrice A2 si puo giungere con ununica trasformazione per simili-


tudine mediante la matrice di permutazione

1 0 0 0 0
0 0 0 1 0



P = P1 P2 =
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



1

...


1




c s p

1


...

G= ,




1

q
s c




1


...


1

dove G IRnn e c2 + s2 = 1, si dicono matrici di rotazione.


Si vogliono calcolare gli autovalori e gli autovettori di G nel caso s 6= 0.
Essendo G ortogonale, si ha det(GGT ) = 1, per cui risulta anche det(G) =
1 2 n = 1. q
Dal Teorema 2.10.3 si ottiene | i | kGk2 = (GGT ) = 1; ne segue che
puo 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 s2 , n = c + s2 .

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

1

...


1



s2

12 s
1
2

p


1


X= ...
.

1



q

1 1 s2
2 2 s



1


...


1

Si noti che, essendo G normale, X e unitaria (cfr. Teorema 2.7.8).

Esempio 2.11.7 Si consideri la matrice H = I 2vv 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 + 2n1 = 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
v2 v3 vn


v 1


0


0

0 v 1 0


.. .. ..

x1 = . , x2 = . , . . . , xn1 = . ,




0


0


0

0 0 0


0 0 v 1
mentre lautovettore associato a 2 e xn = v.
Si osservi, inne, che la matrice H e una matrice hermitiana e unitaria.

Esempio 2.11.8 Si consideri la matrice J IR2n2n i cui elementi sono



1
se i + k = 2n + 1,
(J)ik =
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 molteplicita geometrica (1 ) = (2 ) = n. Gli
autovettori associati a 1 sono

0
1 0

.
.
0 1 .
0

0 0


1
.. ..

x1 = . , x2 = . , . . . , x n = ,

1

0

0

0
0 1

.
.

1 0 .
0
2.11. COMPLEMENTI ED ESEMPI 41

mentre gli autovettori associati a 2 sono



0
1 0

.
.
0 1 .
0

0 0


1
.. ..

xn+1 = . , xn+2 = . , . . . , x2n = .

1



0
0

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 cioe le matrici T i cui
elementi tij sono nulli se | i j |> 1, i, j = 1, 2, . . . , n.
Pertanto possono scriversi nella seguente forma generale

a1 c2

b ... ...

2
T =

... ... .

(2.17)
cn


b n an

Per le matrici tridiagonali (2.17) il calcolo del determinante puo eettuarsi


mediante la relazione ricorrente

D0 = 1,
D1 = a 1 ,
Di = ai Di1 bi ci Di2 , i = 2, 3, . . . , n,

il cui termine Dn e det(T ).


In modo del tutto analogo si puo calcolare det(T I), cioe il polinomio
caratteristico della matrice (2.17), mediante la successione di polinomi
42 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

P0 () = 1,
P1 () = a1 ,
Pi () = (ai )Pi1 () bi ci Pi2 (), i = 2, 3, . . . , n,

dove risulta Pn () = det(T I).

Esempio 2.11.9 Si calcola il determinante della matrice di ordine n



1
1

1 . .. ...

Tn = ,


... ...
1


1 1

caso particolare della (2.17).


Per det(Tn ) = Dn risulta

Dn = Dn1 + Dn2 . (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
n n 1+ 5 1 5
Dn = c1 1 + c2 2 , con 1 = 2 e 2 = 2 . Le costanti arbitrarie c1 e c2
possono essere determinate imponendo che per n = 0 ed n = 1, Dn assuma i
valori dati per D0 e D1 . Ponendo D0 = D1 = 1 e risolvendo quindi il sistema

c1 + c2 = 1
c1 1 + c 2 2 = 1 ,

si ricava c1 = 1 / 5 e c2 = 2 / 5, da cui
1 1
Dn = n+1
1 n+1
2 .
5 5
Quindi, ad esempio,
1
det(T100 ) (1.618)101 5.73 1020 .
5
La successione {Dn } 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 proprieta 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 | aii | dallo-
rigine degli assi ed il raggio i = nj=1 | aij |; dallipotesi segue che nessuno dei
P
j6=i
detti cerchi contiene lorigine. Lo zero non e quindi autovalore della matrice ed il
determinante, per la (2.7), non puo 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 percio det(A) 6= 0.

Esempio 2.11.10 Sia



2 2 0
A = i 2i

1
, dove i2 = 1;
1 0 2i

gli autovalori appartengono allinsieme rappresentato in Fig. 2.4 che e lunione


dei tre insiemi
F1 = {z C / | | z 2 | 2},

F2 = {z C
/ | | z 2i | 2},

F3 = {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

4
x x x x x
3 x x x x x x x
x x x x x x x
2 x x x x x x x
x x x x x x x x x x
1 x x x x x x x x x x x
x x x x x x x x x x
0 x x x x x x x
x x x x x x x
-1 x x x x x x x
x x x x x x x x
-2 x x x
x x x
-3

-4

-5
-4 -2 0 2 4

Figura 2.4: cerchi di Gershgorin.

Una interessante applicazione del Teorema 2.8.1 e la possibilita di local-


izzare le radici reali e complesse di una equazione algebrica.
Sia data lequazione

xk + ak1 xk1 + + a1 x + a0 = 0 (2.19)

con ai C
/ , i = 0, 1, . . . , k 1.

Si consideri la matrice quadrata di ordine k

0 1 0 0 0


0 0 1 0 0

0 0 0 0 0


F = ; (2.20)



0 0 0 0 1


a0 a1 a2 ak2 ak1

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

x3 5x2 + 3x 1 = 0.
2.11. COMPLEMENTI ED ESEMPI 45

Le radici dellequazione sono gli autovalori della matrice compagna



0 1 0
0
F = 0 1
.
1 3 5

Applicando il primo teorema di Gershgorin alla matrice F , le radici del-


lequazione appartengono allinsieme F unione dei cerchi

F1 = F2 = {z C
/ | | z | 1} , F3 = {z C
/ | | z 5 | 4} .

Se si considera la matrice F T e si applica ad essa il teorema di Gershgorin


(cio equivale ad operare sulle colonne di F ) si ottiene linsieme G unione dei
cerchi
G1 = {z C / | | z | 1} ,

G2 = {z C / | | z | 4} ,

G3 = {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 piu ristretto sia di F che di G, come mostra la
T

Fig. 2.5.

10

4
x
x x x
2 x
x
x
x
x
x
x x
x x x x x
xxx x x x x x xxx
0 xxx
xxx
x
x
x
x
x
x
x
x
x
x
xxx
xxx
x x x x x
x x x x x
-2 x
x
x
x
x
x
x
-4

-6

-8

-10
-10 -5 0 5 10

Figura 2.5: Intersezione F G.


T
46 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

2.11.7 Polinomio minimo


/ nn verica la sua
Teorema 2.11.3 (di Cayley-Hamilton) Una matrice A C
equazione caratteristica; si ha cioe

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 puo annullare anche polinomi di grado inferiore a n.

Definizione 2.11.1 Data una matrice A C / nn si dice polinomio minimo,

e si indichera con PM (), il polinomio di grado piu basso per il quale si ha

PM (A) = O.

Si puo dimostrare che PM () e un divisore di P () e che e della forma


(1) (2) (k)
PM () = ( 1 )p ( 2 )p ( k )p
(i)
dove p(i) e lordine massimo dei blocchi di Jordan Jl (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 6= 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

PM () = ( 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
PM () = 2 1
in quanto per nessun valore puo 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
PM () = 2 1 .

La conoscenza di un polinomio che sia annullato da una matrice non sin-


golare puo 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

n 1 1 1 1


1 n 1 1 1

1 1 n 1 1


A= .



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 nn1 = 0 da cui gli autovalori 1 = 2 = = n1 = 0 e n = n. Gli
autovalori di A sono percio

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 molteplicita 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

PM () = ( (n 1))( (2n 1)) = 2 + (2 3n) + 2n2 3n + 1.

Poiche risulta PM (A) =O, premoltiplicando entrambi i membri per la


matrice inversa A1 , si ottiene
1
A1 = ((3n 2)I A)
2n2 3n + 1
2n 2 1 1 1 1


1 2n 2 1 1 1

1 1 1 2n 2 1 1
= .

2n2 3n + 1



1 1 1 2n 2 1
1 1 1 1 2n 2

Bibliografia: [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 proprieta del sistema che si vuole risolvere.
Per semplicita si fa riferimento al caso di sistemi reali, notando che
lestensione degli algoritmi al campo complesso non presenta particolari dif-
colta.

3.1 Algoritmo base del metodo di Gauss


Dato il sistema di n equazioni lineari

a11 x1 + + a1n xn = b1
(3.1)
an1 x1 + + ann xn = bn

dove i coecienti aij e i termini noti bi sono numeri reali, si cerca un vet-
tore xT = (x1 , x2 , . . . , xn ) che verichi le (3.1). Introdotta la matrice dei
coecienti A e il vettore dei termini noti b, il sistema si puo scrivere nella
forma
Ax = b , (3.2)
50 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

dove si suppone A non singolare, per garantire lesistenza e lunicita 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 rii 6= 0, i = 1, 2, . . . , n.
Il sistema (3.3) e quindi della forma

r11 x1 + r12 x2 + + r1n xn = c1


r22 x2 + + r2n xn = c2
(3.4)

rnn xn = cn

e si risolve immediatamente con le formule

xn = cn /rnn
Pn
xi = (ci j=i+1 rij xj )/rii , 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. Cio si eettua utilizzando la proprieta che la soluzione non
cambia se si sostituisce allequazione i-esima una sua combinazione lineare
con unaltra equazione del sistema. Pertanto, se a11 6= 0, si elimina x1 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,
ai1
li1 = . (3.5)
a11
(1)
Ponendo per ragioni formali aij := aij , i, j = 1, 2, . . . , n, il sistema, dopo
la prima eliminazione, assume la forma:
(1) (1) (1) (1) (1)
a11 x1 + a12 x2 + a13 x3 + + a1n xn = b1
(2) (2) (2) (2)
a22 x2 + a23 x3 + + a2n xn = b2
(3.6)

(2) (2)
an2 x2 + an3 x3 + + ann xn = b(2)
(2)
n
3.1. ALGORITMO BASE DEL METODO DI GAUSS 51

dove
(2) (1) (1) (2) (1) (1)
aij = aij li1 a1j , bi = bi li1 b1 , i, j = 2, 3, . . . , n.
Questo sistema si puo sostituire al sistema (3.1) senza cambiarne la solu-
zione.
(2)
Se nel sistema (3.6) risulta a22 6= 0, si puo eliminare x2 da tutte le
(2)
ai2
equazioni che seguono la seconda, utilizzando ora i moltiplicatori li2 = (2) ,
a22
i = 3, 4, . . . , n, e cos via. Supposto che tale procedimento possa ripetersi
n 1 volte, si giunge al sistema
(1) (1) (1) (1)
a11 x1 + a12 x2 + + a1n xn = b1
(2) (2) (2)
a22 x2 + + a2n xn = b2 (3.7)

ann xn = b(n)
(n)
n

che e della forma (3.4) ed e equivalente a (3.1).


Le condizioni perche lalgoritmo possa giungere al termine come descritto,
sono
(1) (2)
a11 6= 0, a22 6= 0, . . . , a(n)
nn 6= 0 . (3.8)
In mancanza di una di queste condizioni lalgoritmo si interrompe.
Le (3.8) equivalgono, come facile vericare, alla proprieta che la matrice
A abbia i minori principali di testa diversi da zero, cioe

a a12
11
a11 6= 0, 6= 0, . . . , det(A) 6= 0 .

(3.9)
a12 a22

In realta poche matrici godono di questa proprieta; 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
3
equazioni in n incognite, si puo vericare che ammonta a n3 + n2 n3 .
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 A1 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


(1) (2) (3)
I coecienti a11 , a22 , a33 ,. . . 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
(1) (1)
max | ai1 |=| ar1 | ; (3.10)
1in

allora, se r 6= 1, si scambiano di posto la prima e lr-esima equazione e


(1)
quindi si considera un sistema in cui i coecienti a1j , j = 1, 2, . . . , n, sono i
(1)
coecienti arj , j = 1, 2, . . . , n, del sistema di partenza e viceversa. Eettuata
la prima eliminazione, si supponga che nel sistema (3.6) si abbia
(2) (2)
max | ai2 |=| as2 | ; (3.11)
2in

allora, se s 6= 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 puo essere necessario un riordinamento delle equazioni e
delle incognite.
Nel caso di sistemi con equazioni sbilanciate, cioe con coecienti di una
stessa equazione molto diversi nellordine di grandezza, il criterio del pivoting
3.3. FATTORIZZAZIONE LR 53

parziale puo 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
(1) (2)
pivotali gli elementi ar1 , as2 , . . ., tali che si abbia
(1) (1) (2) (2)
| ar1 | | ai1 | | as2 | | ai2 |
(1)
= max (1)
, (2)
= max (2)
,...... , (3.12)
mr 1in mi ms 2in mi
(1) (1)
dove i numeri mi = max1jn | aij |, i = 1, 2, . . . , n, vanno calcolati
(2) (2)
sulla matrice A del sistema di partenza, i numeri mi = max2jn | aij |,
i = 2, 3, . . . , n, si calcolano sulla matrice del sistema (3.6) etc..

3.3 Fattorizzazione LR
Lalgoritmo di eliminazione puo 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

1
l21 1



l31 l32 1
.. .. . . . .

L=

. . . .

.. .. ...

. . 1

ln1 ln2 ln,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 A1 , A2 , . . . , An1 = R le matrici dei successivi sistemi


equivalenti a (3.1) che si ottengono dopo ciascuna eliminazione.
Si constata che

A1 = H1 A, A2 = H2 A1 , . . . , An1 = Hn1 An2 = R (3.14)

con
1
..

.


1

Hi = .. .

li+1,i .

.. ..

. .


ln,i 1

Posto Li := Hi1 e tenuto conto che



1
..

.


1
Hi1

= ..

li+1,i .

.. ..

. .


ln,i 1

e che L1 L2 . . . Ln1 = L, dalle (3.14) segue

Hn1 Hn2 H1 A = R,

da cui
A = L1 L2 Ln1 R = LR.

Nel caso di una matrice A qualunque si puo dimostrare che lalgoritmo


di Gauss con leventuale uso del pivoting parziale conduce ancora ad una
fattorizzazione della forma
P A = Lp Rp (3.15)
dove P e una matrice di permutazione denita dagli scambi di righe richiesti
dallalgoritmo, Rp e triangolare superiore ed Lp 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(Rp )

dove s e il numero degli scambi di righe dovuti alluso del pivoting, mentre
i determinanti di R ed Rp 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 Rp con
leliminazione gaussiana e di circa n3 /3.

3.4 Metodi di fattorizzazione


La conoscenza di una fattorizzazione della matrice A puo 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 puo 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 lij 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 n2 equazioni
min(i,j)
X
aij = lih rhj , i, j = 1, 2, . . . , n. (3.17)
h=1

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) lii = 1, i = 1, 2, . . . , n, sicche


le n2 incognite sono gli n(n + 1)/2 elementi rij di R con j i e gli (n 1)n/2
elementi lij 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 r1j per la prima riga di R dalle n equazioni
a1j = l11 r1j , j = 1, 2, . . . , n;

2. si pone j = 1 e si ricavano le li1 per la prima colonna di L dalle n 1


equazioni
ai1 = li1 r11 , i = 2, 3, . . . n;
3. si pone i = 2 e si ricavano le r2j per la seconda riga di R da
2
X
a2j = l2h rhj , j = 2, 3, . . . n.
h=1

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.

7

2 4 6

Figura 3.1: Metodo di Doolittle.

Se nelle (3.17) si pone rii = 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 li1 da
ai1 = li1 r11 , i = 1, 2, . . . , n;
3.4. METODI DI FATTORIZZAZIONE 57


1 3 5 7

Figura 3.2: Metodo di Crout.

2. si pone i = 1 e si ricavano le r1j da


a1j = l11 r1j , j = 2, 3, . . . n;

3. si pone j = 2 e si ricavano le li2 da


2
X
ai2 = lih rh2 , i = 2, 3, . . . n.
h=1

E cos via.
Con la scelta lii = 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 piu compatta che non richiede la memorizzazione di stadi
intermedi.
Nel caso speciale dei sistemi lineari con matrice simmetrica denita positi-
va esiste la possibilita di ridurre anche il numero di operazioni essenziali, quasi
dimezzandole, rispetto al metodo di eliminazione. Cio si ottiene ricorrendo
alla fattorizzazione
A = LLT (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) rhj := ljh si ha
per i j,
aij = li1 lj1 + li2 lj2 + + lij ljj , 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 lij della
colonna j-esima di L. Si noti che per i = j la (3.19) diventa
2 2 2
ajj = lj1 + lj2 + + ljj

da cui v
u
u j1
X
2
ljj = tajj ljh
h=1

dove per j = 1 la sommatoria e nulla.


In generale, quando si conosce una fattorizzazione A = LR si ha formal-
mente A1 = R1 L1 , percio per avere linversa di A basta risolvere i due
sistemi matriciali triangolari

RX = I , LY = I ,

che forniscono rispettivamente R1 ed L1 e poi eseguire il prodotto R1 L1 .


In particolare se A e simmetrica e denita positiva basta risolvere soltanto il
secondo sistema, avendosi

A1 = (LT )1 L1 = (L1 )T L1 .

3.5 Errori, stabilita 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 puo 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, STABILITA E CONDIZIONAMENTO 59

Lentita dellerrore relativo kxk


kxk
dipende dalla sensibilita della soluzione
alle perturbazioni dei dati A e b o, come si dice, dal condizionamento del
sistema, termine col quale si designa, piu in generale, lattitudine che ha un
dato problema a trasmettere, piu 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 kAk < 1/kA1 k, vale la relazione:
!
kxk (A) kAk kbk
+ , (3.20)
kxk 1 (A) kAk
kAk
kAk kbk

dove
(A) = kAkkA1 k . (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 puo 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 allunita, avendosi, per ogni norma,

(A) = kAkkA1 k kAA1 k = kIk 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 kAk = 0, lerrore relativo puo
crescere al piu linearmente al crescere di kbk mentre al crescere di kAk
lerrore potrebbe subire aumenti assai piu forti in quanto nel membro destro
della (3.20) cresce anche il fattore (A)/ 1 (A) kAk kAk
.
Per questo motivo per misurare la stabilita o meno dellalgoritmo usato,
si cerca di risalire alla perturbazione kAk, 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 validita piu 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 Ax = r

dove r e il vettore residuo. In corrispondenza alla soluzione esatta, r risulta


nullo, cioe si ha b Ax = 0; ne segue

A(x x) = r, (x x) = A1 r

e, per una qualunque norma naturale:

kx xk kA1 kkrk

daltra parte da Ax = b si ha
kbk
kxk
kAk
e dalle ultime due relazioni segue la detta maggiorazione
kx xk krk
(A) . (3.22)
kxk kbk
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) puo 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, cioe 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, cioe con un elevato
numero di elementi non nulli.
Sorgono cos seri problemi di costo computazionale e di ingombro di
memoria. In questi casi puo 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 densita 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 IRnn , b IRn , det(A) 6= 0,

si trasforma il sistema dato in un altro equivalente della forma

x = Hx + c . (3.23)

Cio puo farsi in molti modi; per esempio, con G matrice non singolare
qualsiasi, si puo 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 deniscen il metodo. Un
o
metodo iterativo si dice convergente se la successione x(k) converge alla
soluzione del sistema dato. n o
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 lidentita

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)
percio, per un arbitrario e(0) , si avra limk e(k) = 0 se e solo se limk H k = O.

Da note proprieta 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

kHk < 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
q
k
lim kH k k = (H) ;
k

quindi asintoticamente, cioe per k abbastanza grande, si ha


q
k
kH k k (H) ; (3.27)

da questa e dalla (3.25) segue, se ke(0) k =


6 0,

ke(k) k
kH k k k (H) . (3.28)
ke(0) k

Percio, in un metodo convergente, ke(k) k si riduce almeno a ke(0) k 10m


dopo un numero k di iterazioni tale che k (H) 10m ossia se
k 1
(3.29)
m Log (H)
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 piu rapida quanto piu grande e il numero Log (H).
Poiche la (3.29) e stata dedotta dalle relazioni asintotiche (3.27) e (3.28),
al numero
m
V = = Log (H) (3.30)
k
si da il nome di velocita 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 piu 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

ke(k) k k(H I)1 kkx(k+1) x(k) 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
kx(k+1) x(k) k (3.32)
che si basa sulla maggiorazione (3.31). Tale criterio e chiaramente ineciente
se il numero k(H I)1 k e molto grande.
Un altro criterio si fonda sulla (3.22) che, ponendo r(k) = b Ax(k) , puo
scriversi
ke(k) k kr(k) k
(A)
kak kbk
e suggerisce il criterio di arresto:

kr(k) k
. (3.33)
kbk

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

kN.
64 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

Si osservi che il teorema di convergenza 3.6.1 non tiene conto degli errori di
arrotondamento, cioe vale nellipotesi ideale che le iterate siano esattamente
quelle denite dalla (3.24). In realta, 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 puo 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 puo dire che in un metodo
convergente leetto degli errori di arrotondamento sia abbastanza contenuto.
Questo giustica luso del criterio di arresto kx(k+1) x(k) 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=DEF (3.34)

dove D = diag(a11 , a22 , . . . , ann ) mentre E e F sono matrici triangolari,


rispettivamente inferiore e superiore, con la diagonale nulla.
Il sistema Ax b = 0 si puo quindi scrivere

Dx = (E + F )x + b ,

da cui, se aii 6= 0, i = 1, 2, . . . , n, si ottiene il metodo di Jacobi

x(k+1) = D1 (E + F )x(k) + D1 b, k = 0, 1, . . . , (3.35)

la cui matrice di iterazione e HJ = D1 (E + F ).


Le equazioni del sistema (3.35) sono date da

n
(k+1) 1 X (k)
xi = bi aij xj , i = 1, 2, . . . , n, k = 0, 1 . . . . (3.36)
aii j=1
j6=i
3.7. METODI DI JACOBI E DI GAUSS-SEIDEL 65

Il vettore x(k+1) ottenuto con lalgoritmo (3.36) viene prima memorizzato


(k+1)
in una posizione distinta da quella occupata da x(k) poi le n componenti xi
(k)
vengono trasferite simultaneamente nelle posizioni prima occupate dalle xi .
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 = F x + b
e si suppone ancora che sia aii 6= 0, i = 1, 2, . . . , n, si ottiene il metodo di
Gauss-Seidel
x(k+1) = (D E)1 F x(k) + (D E)1 b , k = 0, 1, . . . , (3.37)
dove la matrice di iterazione e data da
HG = (D E)1 F .
Nel calcolo pratico si fa uso di una formulazione equivalente alla (3.37) e
cioe
x(k+1) = D1 Ex(k+1) + D1 F x(k) + D1 b , k = 0, 1, . . . , (3.38)
dove le singole equazioni sono
(k+1) (k+1) (k)

1 Pi1 Pn
xi = bi j=1 aij xj j=i+1 aij xj ,
aii (3.39)
i = 1, 2, . . . , n, k = 0, 1, . . . .
Lalgoritmo (3.39) consente una maggiore economia di memoria rispetto
(k+1)
a quello di Jacobi, in quanto ogni singola componente xi appena calcolata
puo essere subito memorizzata nella posizione prima occupata dalla vecchia
(k)
componente xi . Cio 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 aii 6= 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 aii 6= 0, corrispondono diverse matrici
di iterazione.
Ammesso che sia vericata la condizione ora detta, un esame della ma-
trice A del sistema puo 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
Aij , i, j = 1, 2, . . . , m, m < n, con le Aii 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:

A11 A1m x1 b1

. ..
.. = ,
.


Am1 Amm xm bm

dove ora xi e bi sono vettori con un numero di componenti pari allordine di


Aii .
Alle equazioni a elementi (3.36) e (3.39) corrispondono rispettivamente le
seguenti equazioni a blocchi:

m
(k+1) (k)
= A1
X
xi ii bi

Aij xj , i = 1, 2, . . . , m, (3.40)
j=1
j6=i


i1 n
(k+1) (k+1) (k)
= A1
X X
xi ii
bi Aij xj Aij xj , i = 1, 2, . . . , m. (3.41)
j=1 j=i+1

La convergenza dei metodi (3.40) e (3.41) e ora legata ai raggi spettrali


delle corrispondenti matrici di iterazione che sono rispettivamente

HJ = D1 (E + F ) ,

HG = (D E)1 F ,
3.8. METODI DI RILASSAMENTO 67

dove D = diag(A11 , A22 , . . . , Amm ), 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, cioe con Aij = O
per | i j |> 1, e se si ha det(Aii ) 6= 0, i = 1, 2, . . . , m, i metodi a blocchi di
Jacobi e di Gauss-Seidel convergono o divergono insieme, avendosi

(HG ) = 2 (HJ ) .

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) = D1 (Ex(k+1) + F x(k) + b) ;

scrivendo

x(k+1) = x(k) + D1 (Ex(k+1) + F x(k) + b) x(k) ;

e ponendo
c(k) := D1 (Ex(k+1) + F x(k) + b) x(k) (3.42)
si ha
x(k+1) = x(k) + c(k) ;
quindi ogni iterazione del metodo di Gauss-Seidel puo 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
(k)
c dove e un parametro reale, che, opportunamente scelto, puo 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) + D1 (Ex(k+1) + F x(k) + b) , k = 0, 1, . . . , (3.43)


68 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

dove le equazioni a elementi sono


(k+1) (k) (k+1) (k)
Pi1 Pn

xi = (1 )xi + aii
bi j=1aij xj aij xj
j=i+1 ,
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 puo 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 puo 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 IRnn simmetrica e denita positiva ed a la soluzione del sistema
lineare
Ax = b ; (3.45)
se si considera il funzionale
1
(x) = (b Ax)T A1 (b Ax) (3.46)
2
si ha evidentemente (a) = 0 mentre, essendo A1 simmetrica e denita
positiva, risulta (x) > 0 per ogni vettore reale x 6= a.
La risoluzione del sistema (3.45) e quindi un problema equivalente a quello
della ricerca del punto di minimo in IRn per il funzionale (x).
3.9. METODO DEL GRADIENTE CONIUGATO 69

Dalla (3.46) si ricava


1 1
(x) = xT Ax xT b + bT A1 b ;
2 2
quindi minimizzare (x) equivale a minimizzare
1
F (x) = xT Ax xT b ,
2
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
n o numerici per il calcolo di a consistono
n nel costruire
o una suc-
cessione x(k) a cui corrisponda una successione F (x(k) ) che sia decre-
scente. Il piu semplice di questi metodi, ideato da Cauchy, e quello della
discesa piu 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


xk 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) ) 6= 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 puo
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 piu 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 cioe sia
T
d(k) Ad(k1) = 0 ;
questa condizione permette di ricavare per k la seguente espressione
T
r(k) r(k)
k = T , k 1. (3.50)
(r(k1) ) r(k1)
Calcolato d(k) in base alle (3.49), (3.50), F (x(k) + d(k) ) risulta minima
per = k , dove
T
r(k) r(k)
k = T . (3.51)
(d(k) ) Ad(k)
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 realta la presenza degli errori di arrotondamento consente solo di
approssimare a, cioe il metodo del gradiente coniugato nisce per assumere
un comportamento simile a quello di un metodo iterativo.
Il metodo puo essere usato anche per un sistema con matrice dei coef-
cienti non simmetrica applicandolo al sistema equivalente AT Ax = AT b la cui
matrice dei coecienti AT A risulta simmetrica e denita positiva. Va detto
che il sistema cos trasformato ha in genere un condizionamento peggiore di
quello iniziale. E possibile pero 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 cio, 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 xi 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 piu elementi
pivotali risultino nulli. Non si presenta questo caso se e solo se valgono le
condizioni (3.9) che assicurano lapplicabilita 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-
3
porta un costo computazionale di n2 + n2 n2 operazioni, cioe 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 A1 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 P AX = P I, da cui segue X = A1 . Se invece si eettua
uno scambio di colonne sulla matrice di (3.52), cio equivale a risolvere un
sistema della forma AP X = I, da cui si ha X = P 1 A1 e inne A1 = P X.
Osservazione 3.10.1 Le considerazioni fatte nel caso della risoluzione del
sistema (3.52) permettono la risoluzione simultanea di piu 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
Li1 = Ai1 A1
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 IRnn non singolare e partizionata a blocchi nel


seguente modo:

B u
A= T
, B IR(n1)(n1) , u IRn1 , c IR.
u c
Nellipotesi che B sia invertibile, si puo 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:

B u In1 0
(A | I) = .
uT c 0 1
Premoltiplicando la prima riga per B 1 si ottiene la matrice

In1 B 1 u B 1 0
.
uT c 0 1
Premoltiplicando la prima riga per uT e sottraendola dalla seconda si ha

In1 B 1 u B 1 0
.
0 c uT B 1 u uT B 1 1
3.10. COMPLEMENTI ED ESEMPI 73

Posto = (c uT B 1 u)1 , si ottiene



In1 B 1 u B 1 0
,
0 1 uT B 1

da cui, inne, sottraendo dalla prima riga la seconda premoltiplicata per


B 1 u, si ha

In1 0 B 1 + B 1 uuT B 1 B 1 u
.
0 1 uT B 1

Il sistema AX = I e cos diventato della forma



B 1 + B 1 uuT B 1 B 1 u
IX = S, dove S = .
uT B 1

Si deduce quindi S = A1 .

3.10.3 Fattorizzazione LLT


Una matrice A reale e denita positiva e fattorizzabile nella forma LLT
con L matrice triangolare inferiore (cfr. 3.4).

Esempio 3.10.2 Sia



1 t 0
A= t 1 t

, t IR.
0 t 1

Gli autovalori della matrice A sono



1 = 1 , 2 = 1 + t 2 , 3 = 1 t 2 .

I tre autovalori risultano positivi se | t |< 22 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:

a11 = 1 , a22 = 1 , a33 = 1 ,


74 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

da cui
2
l11 = a11 = 1 ,
2 2
l22 = a22 l21 = 1 t2 ,
2 2 2 12t2
l33 = a33 l31 l32 = 1t2
.
Risulta inne
1 0 0

t 2
1t q 0

L=

.

t 12t 2
0 1t2 1t2

3.10.4 Sistemi malcondizionati

Esempio 3.10.3 Si consideri il sistema Ax = b con



1 1 2
A= , b= .
0.999 1 1.999

La soluzione e xT = (1, 1) e risulta, in norma innito, (A) = 4 103 .


Si supponga di perturbare la matrice A con la matrice

1 1
A = 0.00024 .
1 1

Ne risulta evidentemente kAk/kAk = 24 105 . In questo caso il fattore di


amplicazione nella (3.20) vale

(A)
= 105 ,
1 (A) kAk
kAk

da cui la limitazione
kxk
24
kxk
per lerrore relativo della soluzione perturbata. In eetti, risolvendo il sistema

(A + A)(x + x) = b
3.10. COMPLEMENTI ED ESEMPI 75

si trova
0.04023 . . .
x + x =
1.9593 . . .
a cui corrisponde kxk/kxk 0.96.
Si noti, quindi, che ad una variazione kAk pari al 0.024% di kAk cor-
risponde una variazione della soluzione pari a circa il 96%.

Esempio 3.10.4 Si consideri la matrice di Hilbert del quarto ordine


1 1/2 1/3 1/4

1/2 1/3 1/4 1/5
A=

1/3 1/4 1/5 1/6


1/4 1/5 1/6 1/7

e il vettore bT = (1, 1, 1, 1).


Il sistema Ax = b ha soluzione xT = (4, 60, 180, 140). Si puo vericare
che il numero di condizione di A, in norma euclidea, risulta

(A) 1.55 104 .

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 kxk/kxk 73.


Pertanto, se = 0.01, si puo 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

4 1 1 1 6

1 4 1 1 6
A= ,

b= .

0 1 4 1 8


0 0 1 4 2

La predominanza diagonale forte di A garantisce la convergenza dei metodi


iterativi di Jacobi e di Gauss-Seidel. Infatti, si ottengono, rispettivamente,
le matrici di iterazione

0 1 1 1

1 1 0 1 1
HJ = ,

4 0 1 0 1


0 0 1 0

0 64 64 64

1 0 16 48 48
HG =
.

256 0 4 12 52


0 1 3 13
Si verica immediatamente che kHJ k = 0.75 e kHG k = 0.75, per cui,
per il Corollario 3.6.2, i metodi risultano convergenti.

In generale si puo dimostrare che per ogni matrice con predominanza


diagonale forte le corrispondenti matrici di iterazione HJ e HG sono tali che
kHJ k < 1 e kHG k < 1. In cio consiste la dimostrazione del Teorema 3.7.1.

Esempio 3.10.6 E dato il sistema lineare Ax = b con



3 2 1 3
A= 1 1 0

, b = 2

.
1 1 3 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

0 2 1
1
HJ = 3 0 0 ,
3
1 1 0

0 6 3
1
HG = 0 6 3
.
9
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 HJ e HG
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



1 1 2
A= 2 1 2
.

2 1 1
Le matrici di iterazione di Jacobi e di Gauss-Seidel sono

0 1 2 0 1 2
HJ = 2

0 2
, HG = 0

2 6
.
2 1 0 0 0 2
Si verica che (HJ ) = 0 per cui il metodo di Jacobi e convergente, mentre
(HG ) = 2 per cui il metodo di Gauss-Seidel risulta divergente.
Per contro, dato il sistema lineare Ax = b con

1 0 1
1 1 0 ,
A=

1 1 1
per le matrici di iterazione di Jacobi e di Gauss-Seidel

0 0 1 0 0 1
HJ = 1 0 0
, HG = 0 0 1
,

1 1 0 0 0 0
78 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

si verica che (HJ ) > 1 e (HG ) = 0.

Esempio 3.10.8 Come esempio illustrativo del Teorema 3.7.3, si consideri


la matrice !
I B
A=
B I
dove B IRnn e I e la matrice identica di ordine n.
Le matrici di iterazione di Jacobi e di Gauss-Seidel sono
! !
O B O B
HJ = , HG = .
B O O B2
!
y1
Sia un autovalore di HJ e y = un autovettore ad esso associato.
y2
Dallequazione HJ y = y si ha
(
By2 = y1
(3.53)
By1 = y2
che puo scriversi anche
(
By2 = (y1 )
B(y1 ) = y2 .
!
y1
Si deduce che e autovalore della matrice HJ con autovettore y = .
y2
!
z1
Sia un autovalore non nullo della matrice HG e z = un autovet-
z2
tore associato a . Dalla relazione HG z = z si ha
( (
Bz2 = z1 Bz2 = z1
ovvero
B 2 z2 = z2 B(z1 ) = z2
da cui (
Bz2 = ( z1 )

B( z1 ) = z2 .

Dal confronto con (3.53)

si evidenzia
!
come sia autovalore della matrice
z1
HJ con autovettore . Segue quindi = 2 conforme alla tesi del
z2
teorema citato.
3.10. COMPLEMENTI ED ESEMPI 79

Nei metodi iterativi, la scelta del vettore iniziale x(0) non e soggetta a
particolari condizioni. Cio 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
(0)
buona scelta e xi = bi /aii , i = 1, 2, . . . , n.

3.10.6 Scelta ottimale del parametro


Dalla scelta del parametro dipendono la convergenza e la velocita 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



2 2 0
A=
2 3 1 .

(3.54)
0 1 4

Nella Fig. 3.3 e riportata la variazione del raggio spettrale della matrice
di iterazione H = (D E)1 [(1 )D + F ] in funzione del parametro
nellintervallo ]0, 2[.

0.9

0.8

0.7

0.6

0.5

0.4

0.3
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 velocita 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 puo 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
(k)
r 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
kr(k) k2 < kbk2 . (3.55)

Esempio 3.10.10 Si consideri il sistema lineare Ax = b dove


4 1 1 0 0 0 19/6


1 4 1 1 0 0


5/12

1 1 4 1 1 0 37/60


A= , b= ,

0 1 1 4 1 1


1/5

0 0 1 1 4 1 1/20


0 0 0 1 1 4 13/60
3.10. COMPLEMENTI ED ESEMPI 81

la cui soluzione e aT = (1, 1/2, 1/3, 1/4, 1/5, 1/6).


Applicando il metodo del gradiente coniugato con vettore iniziale x(0) di
(0)
componenti xi = bi /aii e usando il criterio di arresto (3.55) con = 108 ,
il processo iterativo si arresta alla quinta iterazione e si ha

1.0000046 . . .


0.4999859 . . .

0.3333464 . . .

x(5)

= .

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) = a1 x + a0 con a1 e a0 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 puo essere risolto con un
metodo diretto, cioe 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, cioe il caso in cui la (4.1) sia della forma

am xm + am1 xm1 + + a1 x + a0 = 0, (am 6= 0) (4.2)

con m intero 2.
La (4.2), che prende il nome di equazione algebrica di grado m, come
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, cioe allapplicazione ripetuta
di una formula del tipo

xn+1 = n (xn , xn1 , . . . , xnk+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 xn , xn1 , . . . , xnk+1 , ma anche dalla funzione f (x)
e la sua forma puo variare al variare di n. Una opportuna scelta della fun-
zione di iterazione e delle approssimazioni iniziali x0 , x1 , . . . , xk+1 puo far
s che la successione {xn } converga alla radice . Il calcolo viene arrestato al
vericarsi di qualche criterio di accettabilita prestabilito. Ad eccezione dei
k valori iniziali, ogni altro termine di {xn } viene calcolato in funzione di k
termini gia 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.

Definizione 4.1.1 Data una successione {xn } convergente ad un limite ,


si ponga en = xn ; se esistono due numeri reali p 1 e C 6= 0 tali che sia
| en+1 |
lim = C, (4.4)
n | en |p
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

| en+1 |
C. (4.5)
| en |p

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
puo denire una velocita asintotica di convergenza, nel caso p = 1 (e C < 1),
ponendo V = LogC; per p > 1 la velocita di convergenza ha una espressione
piu 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 piu 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 x0 = a, x1 = b. Supposto
che si abbia f (x0 )f (x1 ) < 0, per la continuita di f (x) si avra almeno uno
zero in ]x0 , x1 [. Per semplicita supporremo che ]x0 , x1 [ contenga un solo zero
di f (x). Il numero
x1 + x0
x2 = ,
2
cioe lascissa del punto medio di ]x0 , x1 [, sara certamente una approssimazione
di migliore di almeno una delle precedenti x0 e x1 . Se non si verica
f (x2 ) = 0, si confronta il segno di f (x2 ) con quello di f (x1 ); se risulta
f (x2 )f (x1 ) < 0 allora ]x2 , x1 [, nel caso contrario sara ]x0 , x2 [. Quindi
la nuova approssimazione x3 sara data da
a) x3 = (x2 + x1 )/2, se f (x2 )f (x1 ) < 0,
b) x3 = (x2 + x0 )/2, se f (x2 )f (x1 ) > 0.
Indicando con x2 una variabile che puo assumere i valori x1 o x0 , possiamo
unicare i due casi nella sola formula:

x2 + x2 x1 se f (x2 )f (x1 ) < 0 ,
x3 = dove x2 =
2 x
0 altrimenti .
Per esempio, nel caso della Fig. 4.1 si verica il caso b).
Ripetendo il procedimento, si determinano x4 , x5 , x6 , . . . secondo la for-
mula generale
xn + xn
xn+1 = , n = 1, 2, . . . ; (4.6)
2
dove per n = 1 e x1 = x0 mentre per n > 1 si pone

xn1 se f (xn )f (xn1 ) < 0 ,
xn =
xn1 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 xn+1 , tale che
1
| xn+1 | (b a), (4.7)
2n
86 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

0.8

0.6

0.4

0.2
X X
0 x
0 x
3 x x
X X
2 1
-0.2

-0.4

-0.6

-0.8

-1
-1 -0.5 0 0.5 1 1.5 2

Figura 4.1: Metodo di bisezione.

da cui segue limn | xn |= 0, che prova la convergenza del metodo (4.6)


alla radice e fornisce anche una maggiorazione a priori dellerrore assoluto
presente nelliterata xn+1 . La (4.7) suggerisce come un possibile criterio di
arresto la condizione 21n (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 | xn xn1 |
come stima di | xn |=| en |, si ha, per n abbastanza grande, luguaglianza
approssimata della forma (4.5)

| en+1 | | xn+1 xn | 1
= ;
| en | | xn xn1 | 2
poiche la convergenza e lenta, di solito questo metodo e usato per ottenere
una prima approssimazione che consenta luso di altri metodi piu ecienti.

4.3 Regula Falsi e metodo delle Secanti


Si abbiano le stesse condizioni iniziali del metodo di bisezione, ossia risulti
x0 < < x1 e f (x0 )f (x1 ) < 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 ]x0 , x1 [, ad ogni passo si costruisce un


nuovo intervallo di estremi xn e xn contenente uno zero di f (x) e si assume
come approssimazione xn+1 lo zero di una funzione lineare il cui graco e la
retta per i punti An [xn , f (xn )] e An [xn , f (xn )]. Si ha quindi lo schema
xn xn
xn+1 = xn f (xn ) , n = 1, 2, . . . , (4.8)
f (xn ) f (xn )
dove per n = 1 e x1 = x0 mentre per n > 1 si pone, come nel metodo di
bisezione,
xn1 se f (xn )f (xn1 ) < 0 ,
xn =
x
n1 altrimenti .

Si noti che anche nel metodo di bisezione il numero xn+1 fornito dalla (4.6)
puo interpretarsi come lo zero di una funzione lineare il cui graco e la retta
passante per i punti An [xn , sign0 (f (xn ))] e An [xn , sign0 (f (xn ))], dove
si e posto ( z
|z|
per z 6= 0 ,
sign0 (z) :=
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 piu 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 () 6= 0, f () 6= 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 necessita di controllare il segno di f (x) ad ogni passo.
In questo metodo il calcolo dellapprossimazione xn+1 utilizza le infor-
mazioni precedenti, xn e xn1 , secondo la formula
xn xn1
xn+1 = xn f (xn ) , n = 1, 2 . . . ; (4.9)
f (xn ) f (xn1 )
il numero xn+1 e individuato geometricamente (cfr. Fig. 4.3) dal punto in
cui la secante passante per i punti An [xn , f (xn )] e An1 [xn1 , f (xn1 )]
incontra lasse delle ascisse.
88 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

0.8 A
1
0.6 A
3
0.4

0.2
X X
0 x
0 3x x x
X X
2 1
-0.2

-0.4

-0.6

-0.8
A
0
-1
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1

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 xn+1 richiede la sola valutazione di f (xn ).
La convergenza del metodo e garantita se le approssimazioni x0 e x1 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


e tale che f () 6= 0, f () =
uno zero di f (x) con I 6 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 proprieta generali dei metodi
iterativi stazionari a un punto.
Data lequazione f (x) = 0, si puo 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
A
0
0.8
A
1
0.6

0.4

0.2
X X
0 2x 3x x x x
X X
1 0
-0.2 A
3

-0.4

-0.6

-0.8
A
2
-1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

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 puo considerare un metodo iterativo
stazionario ad un punto della forma

xn+1 = (xn ), 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), cioe una convergenza assicurata dalla scelta di x0
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 continuita 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 x0 ] , + [ allora e anche xn ] , + [ per n = 1, 2, . . . ;


2. per la successione {xn }, con x0 ] , + [, si ha limn xn = ;
3. e lunico punto sso di (x) in [ , + ].
Dimostrazione. La proposizione 1 si dimostra per induzione, cioe, scelto un
x0 ] , + [, si ammette per ipotesi che sia, per un certo n, xn ] , + [,
ossia | xn |< e si deduce che deve essere xn+1 ] , + [, ovvero
| xn+1 |< . Infatti, facendo uso della (4.11) e del teorema del valor medio, si
ha
xn+1 = (xn ) () = ()(xn ),
dove e compreso tra xn e ; dallipotesi fatta su xn e da quelle del teorema segue
poi
| xn+1 |=| () || xn | K | xn |< . (4.13)
La proposizione 2 segue dallipotesi 0 < K < 1 e dalla disuguaglianza
| xn+1 | K n+1 | x0 |
che si ottiene dalla (4.13).
Inne la proposizione 3 risulta per assurdo, infatti se in ] , + [ esistesse
un altro punto sso 6= , si avrebbe
| |=| () ( ) |=| () || | K | |<| | .

Il Teorema 4.4.1 trova applicazione in molti casi concreti in cui qualche


zero di f (x) sia stato gia 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 pero 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) () 6= 0. (4.14)
4.4. METODI ITERATIVI A UN PUNTO 91

1.8

1.6

1.4

1.2

1 P
0.8

0.6

0.4

0.2
X X X X
0 2 3 1
0 x x x x x
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Figura 4.4: 1 < (x) < 0.

Dimostrazione. Usando la (4.11) e la formula di Taylor si ha in generale


(xn )2
xn+1 = (xn ) () = ()(xn ) + () +
2!
(xn )p1 (xn )p
+ . . . + (p1) () + (p) ()
(p 1)! p!
dove e compreso tra xn e ; quindi, se valgono le (4.14), si ha
| xn+1 | | (p) () |
lim = 6= 0, (4.15)
n | xn |p p!
(p)
cioe lordine di convergenza e p ed il fattore di convergenza e C = | p!()| .
Viceversa se lordine e p, sia (i) () la prima derivata non nulla nel precedente
sviluppo di Taylor intorno al punto ; se fosse i 6= p, per il ragionamento diretto
anche lordine sarebbe i 6= p contro lipotesi. Quindi deve essere i = p cioe 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 {xn } denita dal processo iterativo in assenza di
errori di arrotondamento. Nella pratica pero 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 realta
xn+1 = (xn ) + n , n = 0, 1, . . . ; (4.16)
92 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

1.8

1.6
P
1.4

1.2

0.8

0.6

0.4

0.2
X X X X
0 1 2 3
0 x x x x x
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Figura 4.5: 0 < (x) < 1.

per tale successione {xn }, anche quando fossero vericate le ipotesi del Teo-
rema 4.4.1, non e piu garantita la convergenza ad .
Tuttavia si puo 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
| xn+1 | e dellordine di | xn+1 xn |. Quindi come criterio di arresto
dellalgoritmo iterativo si puo assumere la condizione | xn+1 xn | oppure
xn+1 xn
min(|x |,|x |) a seconda che si voglia limitare lerrore assoluto o quello
n n+1
relativo.
Si abbia una successione {xn } convergente linearmente; in base alla (4.5)
si ha quindi, per p = 1 e per n sucientemente grande,

xn+1 C(xn ) ,

xn+2 C(xn+1 ) ,
da cui
xn xn+2 x2n+1
. (4.17)
xn+2 2xn+1 + xn
Si ha percio una approssimazione di costruita con tre termini successivi
xn , xn+1 , xn+2 . Il secondo membro della (4.17) si puo considerare come il
4.4. METODI ITERATIVI A UN PUNTO 93

termine zn di una nuova successione, che, per evitare errori di cancellazione,


si pone, di solito, nella forma
(xn+1 xn )2
zn = xn . (4.18)
xn+2 2xn+1 + xn
Introducendo i simboli
n := xn+1 xn , 2n := xn+2 2xn+1 + xn (2n = n+1 n )
la successione {zn } puo scriversi
(n )2
zn = xn , n = 0, 1, . . . . (4.19)
2n
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 {xn } converge ad linearmente, allora
la successione {zn } converge allo stesso limite piu rapidamente di {xn },
ossia si ha
zn
lim = 0.
n x
n
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 xn+1 = (xn ): zn e lascissa della intersezione della retta per i punti
Pn [xn , (xn )] e Pn+1 [xn+1 , (xn+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 xn+1 = (xn ) di un dato ordine, costruirne un altro di ordine piu
elevato. Infatti, esprimendo il membro destro della (4.18) in funzione della
sola xn , si ha
((xn ) xn )2
F (xn ) = xn .
((xn )) 2(xn ) + xn
In generale F (x) ha gli stessi punti ssi di (x).
Il metodo iterativo
xn+1 = F (xn ), n = 0, 1, . . . , (4.20)
e noto come metodo di Steensen e per esso si puo dimostrare il teorema
seguente.
94 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

Pn
2

1.5

1
P n+1

0.5

Xn Xn+2 Zn Xn+1
0 x x x x
0 0.5 1 1.5 2

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 () 6= 1, il metodo (4.20) ha ordine almeno 2.

4.5 Metodo di Newton


Il piu importante fra i metodi ad un punto e il metodo di Newton. Tale
metodo si puo 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
f (x)
(x) = x (4.21)
f (x)

si ha il metodo
f (xn )
xn+1 = xn , n = 0, 1, 2, . . . . (4.22)
f (xn )
Literata xn+1 e individuata dal punto dincontro dellasse delle ascisse con
la tangente alla curva y = f (x) nel punto An [xn , f (xn )] (cfr. Fig. 4.7);
per questo si usa anche la denominazione di metodo delle tangenti.
4.5. METODO DI NEWTON 95

1.5 y=f(x)

1
An

0.5

0 x x x
Xn Xn+1

-0.5

-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

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 () 6= 0,


allora valgono le proposizioni:

1. esiste un numero > 0 tale che per ogni x0 [ , + ] il


metodo (4.22) converge;

2. la convergenza e di ordine p 2;

()
3. se p = 2 il fattore di convergenza e C = 21 ff () .

Dimostrazione. Dalla (4.21) segue


f (x)f (x)
(x) = (4.23)
f 2 (x)

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 percio 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 () 6= 0 e anche () 6= 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 () 6= 0.

Notiamo che la convergenza di cui si parla nella proposizione 1 del teorema


precedente e di tipo locale, cioe si verica se si sceglie x0 in un intorno di di
raggio abbastanza piccolo. A un tale intorno si puo pervenire, ad esempio,
col metodo di bisezione.
Vi sono pero casi speciali in cui si puo avere una convergenza globale, cioe
che si verica per qualunque scelta di x0 in un dato intervallo limitato [a, b].
Cio 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) 6= 0, x [a, b],

2. f (x) 0, oppure f (x) 0, x [a, b],



3. ff(a)
(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 x0 [a, b].

Osservazione 4.5.1 Si noti che ponendo nella (4.22) xn = a oppure xn = b


si ottiene rispettivamente

f (a) f (b)
| xn+1 a |= e

| xn+1 b |= ,

f (a) f (b)

per cui le condizioni dellipotesi 3 equivalgono a

| xn+1 a |< b a, | xn+1 b |< b a,

cioe 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) = xm 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) am c
f (a) < 0, si avra a < . Ogni numero b > a + f (a) = a + mam1 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) bm m



=
f (b) mbm1

bm1 + bm2 + + m1
= (b )
mbm1
< b < b a.

Pertanto un tale numero b verica anche la seconda condizione 3. Ne segue


che ogni numero positivo puo considerarsi interno a un intervallo [a, b] che
verichi le condizioni 3 e percio il metodo di Newton applicato alla (4.25)
converge ad , comunque si scelga una approssimazione iniziale x0 > 0. Il
metodo fornisce la formula
1
xn+1 = [(m 1)xn + cx1m
n ] n = 0, 1, . . . .
m

Per m = 2 si ha lalgoritmo xn+1 = 21 xn + xcn per estrarre la radice
quadrata di c, notevole per il suo basso costo computazionale.

Il Teorema 4.5.1 vale nellipotesi f () 6= 0, cioe se e uno zero semplice


di f (x). Supponiamo ora che sia per f (x) uno zero di molteplicita s 1;
in tal caso si puo scrivere

f (x)
f (x) = g(x)(x )s , con g(x) = e g() = x
lim g(x) 6= 0.
(x )s
98 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

Quindi per il metodo di Newton si ha


f (x) g(x)(x )
(x) = x
=x
f (x) sg(x) + g (x)(x )
da cui segue, con facili calcoli,
1
() = 1 . (4.26)
s
Percio, per s > 1, il metodo convergere linearmente con fattore di conver-
genza C = 1 1s .
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 () 6= 0. Il costo computazionale e pero maggiore di quello
richiesto dallequazione f (x) = 0, poiche, in eetti, si usa la formula iterativa

f (xn )f (xn )
xn+1 = xn 2 , n = 0, 1, . . . . (4.27)
f (xn ) f (xn )f (xn )
Quando si conosce la molteplicita della radice si puo 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 molteplicita
s > 1. Scrivendo infatti
f (xn )
xn+1 = xn s , n = 0, 1, . . . , (4.28)
f (xn )
si denisce un metodo per il quale si ha
f (x)
(x) = x s ,
f (x)

da cui segue, tenuto conto della (4.26),

() = 0 .

Nelluso del metodo (4.22) puo accadere che i valori di f (xn ) varino
molto lentamente al variare di n. In tal caso puo essere utile una variante
del metodo di Newton in cui lo stesso valore di f (xn ) viene utilizzato per un
certo numero di passi successivi, dopo i quali viene ricalcolato; in altri termini
IN
4.6. METODI ITERATIVI IN R 99

f (xn ) 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 (xn )
uguale allultimo valore calcolato se n non appartiene a tale sottoinsieme.
Si noti che se il valore di f (xn ) 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 puo considerarsi ottenuto dal metodo
di Newton approssimando f (xn ) con il rapporto incrementale f (xxnn)f (xn1 )
xn1
.

4.6 Metodi iterativi in IRn


La teoria dei metodi iterativi precedentemente esposta puo essere estesa
al caso in cui, nella (4.1), sia f (x) :IRn IRn , cioe al caso di un sistema di n
equazioni (non lineari) in altrettante incognite
f1 (x1 , . . . , xn ) = 0
f2 (x1 , . . . , xn ) = 0
..
. (4.29)
fn (x1 , . . . , xn ) = 0 .
In analogia con quanto esposto in 4.4, il sistema (4.29) si puo 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) :IRn IRn data da
(x) = x G(x)f (x), (4.30)
dove = (1 , 2 , . . . , n )T , x = (x1 , x2 , . . . , xn )T , f = (f1 , f2 , . . . , fn )T e G(x)
e una matrice n n non singolare in un dominio DIRn 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 1 1
x1
x n
. . . . ..
(x) = .
. . ,
(4.32)
n n
x1
xn
100 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

si puo 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

k (x) k K, x D = {x | k x k } ; (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 puo essere direttamente esteso in IRn ; tuttavia se


esistono continue le derivate seconde delle i , si puo dimostrare che, se il
metodo (4.31) converge ad un punto sso , condizione suciente perche
converga linearmente e che sia

() 6= O .

Mentre, se () = O, la convergenza e almeno quadratica ed e esatta-


mente quadratica se risulta non nulla almeno una delle matrici hessiane
2 i 2 i 2 i

x21 x1 x2
x1 xn
.. .. ..

Hi () =
. . .

, i = 1, . . . , n.

2 i 2 i 2 i
xn x1 xn x2
x2n x=

Per estendere il metodo di Newton al sistema non lineare (4.29), sup-


poniamo che le funzioni fi siano derivabili con continuita rispetto a ciascuna
variabile e che la matrice jacobiana
f1 f1
x1
xn
. ... ..
..
J(x) = .

fn fn
x1
xn

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),


IN
4.6. METODI ITERATIVI IN R 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 fi 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 h 1 i
= J (x)f (x)
xj xj xj
x f (x) J 1 (x)
= J 1 (x) f (x)
xj xj xj
J 1 (x)
= f (x) ;
xj

x
infatti i vettori xj
e J 1 (x) fx(x)
j
coincidono con la j-esima colonna della matrice
identica. Ne segue che per x = si ha
! !
J 1 (x)
= f () = 0, j = 1, 2, . . . , n,
xj x=
xj x=

quindi e
() = O, (4.35)
cioe lordine di convergenza del metodo e almeno p = 2.
Dalla continuita di (x) e dalla (4.35) segue inne, per un assegnato K < 1,
lesistenza di un dominio D = {x | k x k } 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 puo
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 xi 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
fi (x1 , . . . , xn )
6= 0, i = 1, 2, . . . , n,
xi
si ottiene
(k)
(k+1) (k) fi (x1 , . . . , x(k)
n )
xi = xi (k) (k) , i = 1, . . . , n; k = 0, 1, . . . . (4.37)
fi (x1 ,...,xn )
xi

Questo metodo, detto metodo non lineare di Jacobi-Newton, e un metodo


iterativo ad un punto e puo esprimersi nella forma matriciale

x(k+1) = x(k) D1 (x(k) )f (x(k) ), k = 0, 1, . . . ,


f1 f2 fn
dove D = diag( x ,
1 x2
, . . . , xn
); la convergenza, lineare, e garantita se
vale la condizione (4.33), tenendo conto che nel metodo in esame si ha
(x) = x D1 (x)f (x).
Una variante del metodo (4.37) si ottiene introducendo la tecnica iterativa
di Gauss-Seidel, della forma
(k+1) (k+1) (k)
(k+1) (k) fi (x1 , . . . , xi1 , xi , . . . , x(k)
n )
xi = xi (k+1) (k+1) (k) (k) ,
fi (x1 ,...,xi1 ,xi ,...,xn )
xi
(4.38)
i = 1, 2, . . . , n, k = 0, 1, . . . ,
(k+1)
dove si sono utilizzate, per il calcolo di xi , le prime i 1 componenti gia
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
(k+1) (k) (k+1,k)
xi = xi Fi , i = 1, 2, . . . , n, k = 0, 1, . . . , (4.39)
(k+1,k)
dove Fi indica la frazione che compare in (4.38). Alla (4.39), con > 1
si da 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 IRn ,
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 n2 derivate
parziali costituenti J(x).
Per approssimare J(x(k) ) si puo introdurre la matrice (x(k) ), reale di
ordine n, i cui elementi sono dati da
(k)
fi (x(k) +hj e(j) )fi (x(k) )

(x(k) ) = (k) ,
ij hj

i, j = 1, 2, . . . , n, k = 0, 1, . . . ,
(k)
essendo hj opportuni scalari, innitesimi al crescere di k; ad esempio si puo
(k) (k) (k1) (k)
assumere hj = fj (x(k) ) oppure, piu semplicemente, hj = xj xj .
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, cioe della forma
P (x) = am xm + am1 xm1 + + a1 x + a0 = 0 (am 6= 0) (4.40)
con i coecienti ai reali. Allequazione (4.40) sono applicabili tutti i metodi
visti nei paragra precedenti, ma le particolari proprieta 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.
Definizione 4.7.1 Si dice successione di Sturm per il polinomio P (x) con
ai IR, una successione di polinomi reali
P0 (x) := P (x), P1 (x), . . . , Pk (x), (k m) (4.41)
per cui valgono le seguenti proprieta:
104 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

1. Pk (x) non ha zeri reali,

2. IR, Pr () = 0 per 1 r k 1 implica Pr1 ()Pr+1 () < 0,

3. IR, P0 () = 0 implica P0 ()P1 () > 0.


Dalla proprieta 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) puo cambiare di valore


soltanto se qualche polinomio Pi (x) della successione (4.41) cambia di segno e
pertanto si annulla in un punto x = . Per la proprieta 2 non possono annullarsi
in x = due polinomi consecutivi, inoltre, se Pi () = 0, non puo essere i = k per
la proprieta 1. Quindi deve essere 0 i k 1.
Distinguiamo i due casi i > 0 e i = 0.
Nel primo caso, tenuto conto della proprieta 2 e della continuita , i polinomi
Pi1 (x), Pi (x) e Pi+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:

+ +
Pi1 + + +
.
Pi 0 0
Pi+1 + + +

Quindi si ha comunque V ( ) = V () = V ( +) e il valore di V (x) non cambia


quando x attraversa uno zero di Pi (x).
Nel secondo caso, tenendo conto della proprieta 3, si hanno le due possibilita:

+ +
P0 + 0 0 + .
P1 + + +

Percio 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 P0 e P1 , 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 unita 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
P0 (x) := P (x) , P1 (x) := P (x) ,
Pr1 (x) = Pr (x)Qr (x) Pr+1 (x) , r = 1, 2, . . . , (4.42)
dove Qr (x) e Pr+1 (x) sono rispettivamente quoziente e resto della divisione
Pr1 (x)/Pr (x), r = 1, 2, . . ..
Il processo (4.42) ha termine, poiche il grado dei polinomi decresce al
crescere dellindice e percio per un certo k m risulta

Pk1 (x) = Pk (x)Qk (x).

Si riconosce nel processo (4.42) il noto algoritmo di Euclide che fornisce il


massimo comune divisore di P0 (x) e P1 (x), cioe si ha

Pk (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 P0 (x), P1 (x), . . . , Pk (x) formano una succes-
sione di Sturm per P (x). Infatti, nellipotesi fatta e per la (4.43), Pk (x) non
ha zeri reali (proprieta 1).
Se Pr () = 0 con 1 r k 1, allora si ha Pr1 () = Pr+1 () 6= 0
come segue dalla (4.42) e quindi Pr1 ()Pr+1 () < 0 (proprieta 2).
Dalla denizione di P0 (x) e di P1 (x), se P0 () = 0, segue P0 ()P1 () =
(P ())2 > 0 (proprieta 3).
Se P (x) e P (x) hanno zeri reali in comune, questi, per la (4.43), sono
tutti zeri di Pk (x) con la stessa molteplicita 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 puo vericare che la successione


P0 (x) P1 (x) Pk (x)
, ,..., , (4.44)
Pk (x) Pk (x) Pk (x)
e una successione di Sturm per il polinomio P (x)/Pk (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
molteplicita ) dellequazione P (x) = 0 sullintervallo a < x b.
Una successione di Sturm puo 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
puo 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, puo essere fatta usando uno qualunque dei
metodi esposti precedentemente. In particolare, si puo utilizzare il metodo
di Newton
P (xn )
xn+1 = xn ,
P (xn )
che richiede ad ogni passo il calcolo di P (xn ) e P (xn ). Il calcolo di un
polinomio in un punto x = c puo 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 ai di P (x) usando lal-
goritmo di Runi-Horner, cioe ponendo
Q(x) = bm1 xm1 + bm2 xm2 + + b0 , R = b1 ,
e calcolando successivamente (in base al principio di identita applicato alla (4.45))
bm1 = am ,
bm2 = bm1 c + am1 ,

bi = bi+1 c + ai+1 , (4.46)

b1 = b0 c + a0 = 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

((. . . ((am x + am1 )x + am2 )x + am3 )x + + a1 )x + a0 .

Con lo stesso algoritmo si puo 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 , gia trovata, per abbassare
il grado dellequazione, in base al fatto che le rimanenti radici di P (x) = 0
sono quelle dellequazione di grado m 1

P (x)
S1 (x) = =0.
x
Di questa equazione si puo 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 pero sconsigliabile in pratica, infatti quandanche
si conoscesse esattamente, il calcolo dei coecienti di S1 (x) introduce
inevitabilmente degli errori che possono privare di attendibilita i risultati
successivi.
Per evitare queste dicolta si puo ricorrere alla cosddetta deazione im-
plicita in cui ogni radice gia 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) = am (x 1 )(x 2 ) (x m ) ,

e supposto di conoscere le radici 1 , 2 , . . . , r (1 r < m), sia Sr (x) il


polinomio di grado m r che si otterrebbe operando senza errori r deazioni;
sara allora
P (x)
Sr (x) = .
(x 1 )(x 2 ) (x r )
108 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

Da questa segue che si puo applicare il metodo di Newton allequazione


Sr (x) = 0, senza conoscere esplicitamente il polinomio Sr (x), ottenendo
1
xn+1 = xn P (x n)

1 1
. (4.47)
P (xn )
xn 1
+ + xn r

La (4.47) prende il nome di metodo di Newton con deazione implicita.


Il metodo di Newton puo 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 piu 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 capacita di ridurre
lerrore ad ogni iterazione) ed al numero v di valutazioni di funzione per ogni
iterazione (e quindi alla sua complessita computazionale). Molto semplice-
mente, ad esempio, lecienza E puo essere denita da
p
E= .
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
(f (xn ))2
xn+1 = xn (4.48)
f (xn ) f (xn f (xn ))
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, puo risultare decisivo nel caso di funzioni
complicate e di non immediata derivabilita.

Esempio 4.8.1 Lequazione


sin(log(2x+1))
1 1

f (x) = x arccos =0
1+x
ha una radice in ]0, 1[.
Assumendo x0 = 0.6 e x1 = 0.4, il metodo delle secanti produce con 6
valutazioni di f (x), x5 = 0.30212622627176 . . . dove le 14 cifre riportate sono
esatte.
Il metodo di Newton, applicato con x0 = 0.4, fornisce lo stesso risul-
tato con literazione x4 : sono pero necessarie otto valutazioni di funzione di
cui quattro di f (x), funzione, questa, dotata di una maggiore complessita
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 molteplicita 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


2f (s1) (x)
(x) = x
2f (s) (x) + h(x)f (s+1) (x)
dove si intende f (0) (x) = f (x) e dove, per denizione di molteplicita di una
radice, si ha f (r) () = 0, r = 0, 1, . . . , s 1, f (s) () 6= 0. La funzione h(x)
puo essere determinata in modo che il metodo xn+1 = (xn ), n = 0, 1, . . .,
abbia un ordine di convergenza superiore al primo.
Poiche risulta
2f (s) ()
() = 1 ,
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
h i
f (s) () 2f (s+1) () + h ()f (s+1) () f (s+1) ()f (s) ()
() = 2 .
[f (s) ()]
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, () 6= 0, il
metodo ha ordine di convergenza esattamente p = 3.
Per esempio, applicando il metodo alla funzione f (x) = (x3 + x 1)2 che
ha uno zero di molteplicita due in ]0, 1[, ponendo s = 2 e x0 = 1 si ottiene:
x1 = 0.73170731 . . . ,
x2 = 0.68269610 . . . ,
x3 = 0.68232780 . . .
(in x3 le otto cifre decimali sono esatte). Lalgoritmo di Newton (4.22), che
in questo caso perde la convergenza quadratica, con x0 = 1 fornisce otto cifre
decimali esatte in x27 .
Applicando il metodo alla funzione f (x) = x3 + x 1 con s = 1 e x0 = 1,
si ottiene:
x1 = 0.69230769 . . . ,
x2 = 0.68232811 . . . ,
x3 = 0.68232780 . . . .
In questo caso, per il Teorema 4.4.2, il fattore di convergenza e
1 62 1
C= | () |= 0.3122 ,
6 32 + 1
dove si e approssimato con 0.68232780 x3 .
Alternativamente C puo essere stimato dalle iterazioni fatte, in base
alla (4.5),
| x 3 x2 |
C 0.3119.
| x3 x1 |3
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,
puo 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
X
si = k1 k2 ki , i = 1, 2, . . . , m,
1k1 <k2 <<ki m

dove in particolare e s1 = 1 + 2 + + m e sm = 1 2 m ,
m
ik ,
X
Sk = k = 1, 2, . . . ,
i=1

si possono dimostrare le seguenti relazioni:


ami
si = (1)i , i = 1, 2, . . . , m; (4.49)
am

k
X
ami+1 Ski+1 = kamk , k = 1, 2, . . . , m. (4.50)
i=1

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 6= 0, p e q
interi e primi fra loro, sono da ricercarsi nellinsieme
( )
divisori interi di a0
.
divisori interi di am

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
bi xki = mk ,
X
k = 0, 1, 2, 3, 4, 5,
i=0
112 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

nelle incognite b0 , b1 , b2 , x0 , x1 , x2 . Tale sistema e formalmente analogo al


sistema (7.4) con n = 2. Dalle prime tre equazioni si ricavano b0 , b1 , b2 ,
(implicate linearmente) in funzione di x0 , x1 , x2 , m0 , m1 , m2 , ottenendo
m0 x1 x2 m1 (x1 + x2 ) + m2
b0 = ,
(x1 x0 )(x2 x0 )
m0 x0 x2 m1 (x0 + x2 ) + m2
b1 = ,
(x0 x1 )(x2 x1 )
m0 x0 x1 m1 (x0 + x1 ) + m2
b2 = .
(x0 x2 )(x1 x2 )
Sostituendo nelle ultime tre equazioni e ponendo s1 = x0 + x1 + x2 ,
s2 = x0 x1 + x0 x2 + x1 x2 , s3 = x0 x1 x2 , si ottiene il sistema lineare in s1 , s2 , s3 ,

m2 m1 m0 s1 m3
m3 m2 m1 s2 = m4 .

m4 m3 m2 s3 m5
k+1
a k+1
Ponendo mk = b k+1 , si puo vericare che la matrice dei coecienti e
non singolare, percio, risolvendo, si trova
! !2 !2
b+a b+a 3 ba
s1 = 3 , s2 = 3 ,
2 2 5 2
!2 !2
b + a 3 b a b+a
s3 = .
2 5 2 2
Evidentemente, per le (4.49), i numeri x0 , x1 , x2 , sono le radici dellequazione
algebrica
x3 s1 x2 + s 2 x s 3 = 0 .
Cercando le soluzioni di questa equazione fra i divisori di s3 , si trova che
(b + a)/2 e radice; ne segue quindi
s s
b+a ba 3 b+a b+a ba 3
x0 = , x1 = , x2 = + .
2 2 5 2 2 2 5
Con tali valori si ricava, poi, facilmente
5 4
b0 = b2 = (b a), b1 = (b a).
18 9
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 b0 , b1 , b2 , sono arbi-
trariamente pressati uguali. Dalla prima equazione del sistema si ottiene
b0 = b1 = b2 = m0 /3, mentre per il calcolo di x0 , x1 , x2 , possono usarsi le
successive tre equazioni. Con a = 1 e b = 1 si ha:
x0 + x1 + x2 = 0
x20 + x21 + x22 = 1
x30 + x31 + x32 = 0 .
Questo sistema ha per soluzioni tutte le permutazioni dei tre numeri che
sono radici del polinomio algebrico a3 x3 + a2 x2 + a1 x + a0 , i cui coecienti
possono ricavarsi con le formule di Girard-Newton. Ponendo nelle (4.50)
k = 3, e, come suggerito dal sistema, S1 = 0, S2 = 1, S3 = 0, si ottiene
a0 = 0
a3 + 2a1 = 0
a2 + 3a0 = 0 .
Fissando arbitrariamente uno dei coecienti ai , ad esempio a3 = 1, si ha
lequazione
1
x3 x = 0
2

2
e quindi x0 = x2 = 2
, x1 = 0.

4.8.3 Una particolare successione di Sturm


Si consideri la matrice tridiagonale hermitiana

a1 b2

b ... ...

2
T =

... ...


bn


b n an
con bi 6= 0, i = 2, 3, . . . , n. Il suo polinomio caratteristico P () = det(AI)
puo essere calcolato per ricorrenza come visto in 2.11.5 e si ha
P () := Pn () = (an )Pn1 () | bn |2 Pn2 ()
114 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

con P0 () = 1 e P1 () = a1 .
Al riguardo vale il seguente teorema.
Teorema 4.8.1 Nelle ipotesi fatte su T , la successione

(1)n Pn (), (1)n1 Pn1 (), . . . , P1 (), P0 (), (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



1/20
1/2 . . . ...


T =

... ... .

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 puo poi dimostrare che gli autovalori di T sono
i

i = cos , i = 1, 2, . . . , n.
n+1

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
n 4.8.2 (di Newton-Kantorovich)
o Sia x(0) IRn e f (x) C 2 (D) dove
D = x | kx x(0) k 2b IRn . Se risulta:

kJ 1 (x(0) )k a;
kJ 1 (x(0) )f (x(0) )k b;
2
Pn fi c
r=1 x x
j r n
, x D, 1 i, j n;
abc 12 ;
allora si ha:
x(k) D, k = 1, 2, . . .;
limk x(k) = , essendo radice di f (x) = 0;
e unica in D;
k 1
b(2abc)2
k x(k) k 2k1
.
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 unicita 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 IR3 il sistema



2x1 + cos x2 + cos x3 1.9

cos x1 + 2x2 + cos x3 1.8 = 0.
f (x) =

cos x1 + cos x2 + 2x3 1.7

La matrice jacobiana e

2 sin x2 sin x3

sin x1
J(x) = 2 sin x3
.
sin x1 sin x2 2

Si assume come stima iniziale x(0) = 0. Segue, con semplici calcoli,


1 3
kJ 1 (0)k = = a, kJ 1 (0)f (0)k = =b,
2 20
dove si e usata la norma .
116 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

Inoltre, per ogni x, si ha nr=1 | 2 fi /xj xr | 1, 1 i, j 3, da cui


P

c = 3.
Poiche abc = 9/40 < 12 il metodo
n
di Newtono
e convergente.
3
Si noti che risulta D = x | kxk 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) puo essere
approssimata, per ogni k, con il metodo iterativo di Jacobi o di Gauss-Seidel.
Il risultato
0.04236905027717 . . .

x4 = 0.09413400044134 . . .

0.14733761588854 . . .
e stato ottenuto con x(0) = 0, usando il metodo di Jacobi.

Bibliografia: [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 piu 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)
(5.4)
y (k) = Ay (k1) , k = 1, 2, . . . ,

e tale che H
y (k) y (k) Ay (k)
lim (k)
= v, lim (k)H (k) = 1 , (5.5)
k yj k y y
(k)
dove j e un indice per cui yj 6= 0 e v e lautovettore associato a 1 .

Dimostrazione. La diagonalizzabilita 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) = ni=1 ci x(i) , dove e lecito supporre che sia c1 6= 0.
P

Dalla (5.4) segue quindi

y (k) = Ak y (0) = Ak (c1 x(1) + + cn x(n) )


= c1 Ak x(1) + + cn Ak x(n) = c1 k1 x(1) + + cn kn x(n) (5.6)
n
k !
i

= k1 c1 x(1) + x(i)
X
ci
i=2
1

e anche, per ogni indice j,


n
k !
i

(k) (1) X (i)
yj = k1 c1 xj + ci xj . (5.7)
i=2
1
5.1. METODO DELLE POTENZE 119

(k)
In particolare, scegliendo yj 6= 0, tenendo conto dellipotesi (5.3) e dividendo
membro a membro la (5.6) per la (5.7), si ottiene

y (k)
lim (k)
= b1 x(1) = v , (5.8)
k yj

(1)
dove b1 = 1/xj ; percio 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
= 1 ;
vH v
inne, tenendo conto della (5.8), si ha

(k) H

(k)
H
y (k) Ay (k) y (k) /yj A y (k) /yj v H Av
lim (k)H (k) = lim = = 1
k y y (k) H vH v

k (k)
y (k) /yj y (k) /yj

per cui risulta dimostrata anche la seconda delle (5.5).

Il rapporto
H
y (k) Ay (k)
R(y (k) ) =
y (k)H y (k)
dicesi quoziente di Rayleigh.
y (k)
Dalle relazioni (5.6) e (5.7) si deduce che gli errori (k) v ed R(y (k) ) 1
yj
k
tendono a zero come 12 .
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-
prieta AH A = AAH (cfr. Capitolo 2). La convergenza del metodo delle
potenze allautovalore di modulo massimo e allautovettore associato si puo
dimostrare anche se A non e diagonalizzabile, purche valga la condizione (5.3).
Un algoritmo basato sulla (5.4) puo dar luogo a fenomeni di overow o
di underow in quanto puo 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
n o dei vettori. Un algoritmo che genera una successione di
(k)
vettori z normalizzati e il seguente,

y (k) = Az (k1)

y (k)
k = 1, 2, . . . , (5.9)
z (k) = k

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 kz (k) k = 1.1
Nelle ipotesi del Teorema 5.1.1, si dimostra che
lim z (k) = w e lim R(z (k) ) = 1 (5.10)
k k

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 puo estendere al caso piu generale in cui 1 abbia
molteplicita 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 x1 . Per semplicita, ci si limita qui al caso leggermente
piu restrittivo delle matrici normali, le quali hanno autovettori due a due
ortogonali; supponendoli normalizzati a lunghezza unitaria, per essi risulta
H
x(i) x(j) = ij , 1 i, j n.
Applicando il metodo nella forma (5.9) con k = ky (k) k2 , e ottenuti i
valori (approssimati) di x(1) e 1 , si considera la matrice
H
A1 = A 1 x(1) x(1) .
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

A1 x(1) = 0 e A1 x(i) = i x(i) , i = 2, 3, . . . , n;

la matrice A1 , quindi, ha autovalori 0, 2 , 3 , . . . , n , e gli stessi autovettori di


A. Il metodo, applicato ora a A1 , converge allautovettore x(2) e allautovalore
2 . Questo procedimento, detto deazione, puo essere ripetuto, nellipotesi
| 1 |>| 2 |> >| n |, per calcolare tutti gli autovalori e tutti gli
autovettori, considerando successivamente le matrici
i
H
r x(r) x(r) ,
X
Ai = A i = 1, 2, . . . , n 1.
r=1

5.2 Metodo delle potenze inverse


La matrice A di ordine n sia diagonalizzabile ed abbia un solo autovalore
di modulo minimo, cioe sia

| 1 || 2 | | n1 |>| n |> 0;

la matrice inversa A1 avra quindi autovalori vericanti la condizione



1 1 1

>
.

n
n1 1

Ne segue che il metodo delle potenze, applicato alla matrice inversa A1 ,


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)
y (k) = A1 z (k1) , z (k) = , k = 1, 2 . . . .
k
In pratica si usa il seguente algoritmo, detto metodo delle potenze inverse,

y (k)
Ay (k) = z (k1) , z (k) = , k = 1, 2 . . . , (5.11)
k
nel quale ad ogni passo occorre risolvere un sistema lineare di matrice A
per ottenere y (k) . Questo metodo puo essere vantaggiosamente usato per
approssimare un qualunque autovalore j di A quando se ne conosca gia una
122 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI

approssimazione iniziale j . Partendo dallosservazione che gli autovalori


della matrice A j I sono

1 j , . . . , j j , . . . , n j ,

mentre quelli della matrice (A j I)1 sono

1 1 1
,..., ,..., ,
1 j j j n j

1
se j e abbastanza vicino a j si puo supporre che j j
sia lautovalore di
massimo modulo per (A j I)1 e quindi si puo applicare a questa matrice
lalgoritmo (5.11) che ora assume la forma:

y (k)
(A j I)y (k) = z (k1) , z (k) = , k = 1, 2 . . . . (5.12)
k

Arrestando, per esempio, le iterazioni per k = m, si ha

1
R(z (m) )
j j

da cui si ottiene
1 + j R(z (m) )
j .
R(z (m) )

Si noti che il vettore z (m) ottenuto da (5.12) approssima lautovettore


associato allautovalore 1 per la matrice (A j I)1 , ma z (m) e anche un
j j
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 semplicita 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 Grs della forma (cfr. Esempio 2.11.6)

1

...


1




cos sin r

1


...

Grs = .




1

s
sin cos




1


...


1

Tali matrici sono determinate dagli interi r ed s, con 1 r < s n, e dal


parametro ; inoltre sono ortogonali, cioe si ha

Grs GTrs = GTrs Grs = I e quindi G1 T


rs = Grs .

Il metodo di Jacobi e un metodo iterativo in cui al passo k-esimo si


(k)
trasforma una matrice Ak mediante una matrice ortogonale Grs secondo
lalgoritmo seguente:

A1 := A
(5.13)
(k)T
Ak+1 = Grs Ak 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 Ak+1 risulti
a(k+1)
rs = 0. (5.14)
E facile constatare che la trasformazione (5.13) lascia inalterati tutti gli
elementi di Ak non appartenenti alle righe e alle colonne di indici r ed s, cioe
si ha
(k+1) (k)
aij = aij per i, j 6= 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) (k) (k) 2 2
rr ass sin cos + ars cos sin , (5.15)

(k+1) (k+1) (k) (k)


arj = ajr = arj cos + asj sin , j 6= r, s,
(k+1) (k+1) (k) (k)
asj = ajs = arj sin + asj cos , j 6= r, s, (5.16)

a(k+1)
rr = a(k) 2 (k) (k) 2
rr cos + 2ars sin cos + ass sin ,

a(k+1)
ss = a(k) 2 (k) (k) 2
rr sin 2ars sin cos + ass cos .

Dalla (5.15) segue che la (5.14) e vericata per ogni soluzione dellequazione

a(k) (k) (k) 2 2
rr ass sin cos + ars cos sin = 0.

In pratica si ricavano direttamente due valori, sin e cos , per costruire la


matrice G(k)
rs , scrivendo la precedente equazione nella forma

t2 + 2mt 1 = 0, (5.17)

dove si e posto t := tan , m := (a(k) (k) (k)


rr ass )/2ars .
Scegliendo fra le due radici della (5.17) quella di modulo minore, cor-
rispondente a | | /4, si ha

m + 1 + m2 se m > 0 ,
t=
m 1 + m2 se m < 0 ;

per m = 0 si sceglie t = 1. In ogni caso si ottiene


1
cos = , sin = t cos ,
1 + t2

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); cio 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 {Ak } 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
(k+1)
max | aij | , (5.18)
i>j

dove > 0 e un numero pressato.


Se il criterio (5.18) e vericato, allora la matrice Ak+1 approssima la
matrice diagonale D e quindi, indicando con G(i) la matrice di rotazione
della i-esima iterazione, si ha
T T T
G(k) G(k1) G(1) AG(1) G(k1) G(k) = Ak+1 ,

o anche, posto Hk := G(1) G(k) ,

AHk = Hk Ak+1 .
(k+1)
Quindi gli elementi aii di Ak+1 sono approssimazioni degli autovalori di
A mentre i corrispondenti autovettori sono approssimati dalle colonne della
matrice Hk che si puo ottenere mediante lalgoritmo

H0 = I, Hj = Hj1 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. Cio si ottiene annullando
sistematicamente tutti gli elementi non nulli che si incontrano percorrendo
per righe gli elementi al disopra della diagonale principale, cioe 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 puo 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 piu 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 semplicita, 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 piu modicato
nelle successive trasformazioni. Cio si ottiene annullando ordinatamente i
termini non nulli fra gli elementi aij con i j 2, considerati per colonne,
nel seguente ordine
a31 , a41 , . . . , an1 ; a42 , a52 , . . . , an2 ; . . . ; an,n2 ,
usando, rispettivamente, le matrici di rotazione
G23 , G24 , . . . , G2n ; G34 , G35 , . . . , G3n ; . . . ; Gn1,n . (5.19)
Poiche ad ogni passo viene annullato un elemento e il suo simmetrico,
bastano al piu (n2)(n1)
2
rotazioni per trasformare A in una matrice simile
A1 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

(k+1) (n 2)(n 1)
as,r1 = 0, k = 1, 2, . . . , ; (5.20)
2
(k)
se fosse gia as,r1 = 0 si pone G(k)
rs = I (cioe = 0).
Utilizzando la (5.16) ove si ponga j = r 1, la (5.20) fornisce
(k+1) (k) (k)
as,r1 = as,r1 cos ar,r1 sin = 0 ,
che e soddisfatta per
(k) (k)
ar,r1 as,r1
cos = r 2 2 , sin = r 2 2 .
(k) (k) (k) (k)

as,r1 + ar,r1 as,r1 + ar,r1
5.5. SCHEMA DEL METODO QR 127

Formule numericamente piu stabili si ottengono calcolando


(k) (k)
as,r1 ar,r1
t = tan = (k)
, c = cot = (k)
,
ar,r1 as,r1
e ponendo
1
cos = , sin = t cos se | t |< 1 ,
1 + t2
1
sin = , cos = c sin se | t |> 1 .
1 + c2
La conoscenza delle matrici (5.19) consente di risalire dagli autovettori
della matrice tridiagonale A1 a quelli della matrice data. Infatti, sia y un au-
tovettore di A1 associato a e G la matrice prodotto di tutte le matrici (5.19)
nellordine ivi considerato; G e ancora ortogonale e si ha A1 = GT AG da cui,
essendo A1 y = y, segue A1 y = GT AGy = y percio 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
h11 h12 h1n

h21 h22 h2n




H= ... ... .. .
.


hn1,n hnn
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 IRnn 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 Grs 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 gia
nullo (in tal caso si pone Grs = I). La strategia che si segue e quella di
premoltiplicare A ordinatamente per le n(n 1)/2 matrici
G12 , G13 , . . . , G1n ; G23 , . . . , G2n ; . . . ; Gn1,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
Gn1,n G13 G12 A = R,
inne, essendo le Grs ortogonali, si ha
A = GT12 GT13 GTn1,n R = QR
che fornisce la cosiddetta fattorizzazione QR della matrice A, con la matrice
Q = GT12 GT13 GTn1,n ortogonale.
In particolare, se la matrice A e della forma di Hessenberg superiore
oppure tridiagonale, la fattorizzazione QR richiede al piu n 1 premoltipli-
cazioni per matrici di rotazione, essendo al piu n 1 gli elementi non nulli
di A al disotto della diagonale principale.
Il Teorema 5.5.1 puo 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 IRnn utilizza la


fattorizzazione QR secondo lo schema

A1 := A ,
Ak = Qk Rk , (5.21)
Ak+1 = Rk Qk , k = 1, 2, . . . .

Tutte le matrici della successione {Ak } generata dallalgoritmo (5.21) sono


simili ad A; infatti, per qualunque k, si ha QTk Qk = I e anche

Ak+1 = QTk Qk Rk Qk = QTk Ak Qk .

Ogni matrice della successione {Ak } ha quindi gli stessi autovalori di A;


inoltre, se A e nella forma di Hessenberg, si puo dimostrare che ogni matrice
della successione {Ak } si mantiene della stessa forma di A. In tal caso ad
ogni passo la fattorizzazione richiede al piu (n 1) prodotti di matrici e il
costo computazionale di una iterazione2 e di circa 2n2 moltiplicazioni. Tale
costo sale a n3 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 IRnn 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

S11 S12 S1r




S22 S2r

S= . . . .. . (5.22)
.


Srr

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 Ak e il calcolo di Ak+1 in base alle
(5.21).
130 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI

Teorema 5.5.3 Se gli autovalori di A IRnn 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 Ak per k tendono ad una matrice triangolare
(k)
superiore e gli elementi diagonali aii di Ak 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
Ak 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 fattorizzabilita LR di X 1 , si


ha ancora la convergenza del metodo ma puo 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 Am che possiede
qualche elemento della codiagonale principale talmente piccolo in valore as-
soluto da potersi considerare nullo. Si supponga che sia
!
A11 A12
Am =
O A22

con A11 , A22 , entrambe in forma di Hessenberg superiore.


Gli autovalori di Am sono quindi approssimati dagli autovalori di A11 e
A22 . Se per una o entrambe le matrici A11 e A22 non si e ancora raggiunta
la forma triangolare o (5.22) si dovra 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 Am (della forma (5.22) o triangolare superiore) e
sia uno degli autovalori di A fornito da Am ; posto

Q = Q1 Q2 Qm1 ,

Q e ancora una matrice ortogonale.


5.6. COMPLEMENTI ED ESEMPI 131

Ripetendo per Q, Am ed A, il ragionamento fatto in 5.4 per le matrici


G, A1 ed A, segue che, se y e un autovettore di Am 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 piu semplici, viene
adoperato anche in forme modicate piu ecienti; esso presenta comunque
una notevole stabilita numerica e la proprieta di convergere sotto ipotesi
anche piu 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 diagonalizzabilita di A, e quindi lesistenza di n
autovettori x(i) linearmente indipendenti, implica che, in ogni caso, risulti
z (0) = ni=1 ci x(i) .
P

Se per una data scelta di z (0) risulta c1 = 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 . Cio 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) = d1 x(1) + + dn x(n) , il vettore
y (1) , fornito dalla (5.24) per k = 1, si puo esprimere nella forma

y (1) = (c1 1 + d1 )x(1) + + (cn n + dn )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

2 1 0 0

1 2 1 0
A=

0 1 2 1


0 0 1 2

e si assuma z (0) = (1, 1, 1, 1)T : con questa scelta, nelluguaglianza z (0) =


P4 (i)
i=1 ci x risulta c1 = 0.
Si e applicato il metodo delle potenze in forma normalizzata con tre pre-
cisioni di macchina: us 4.75107 (precisione semplice), ud 1.111016
(precisione doppia) e uq 2.58 1026 (precisione quadrupla). Si e adottato
il criterio di arresto | R(z (k) ) R(z (k1) ) |< 21 105 . I risultati ottenuti sono
nella tavola che segue.

k R(z (k) )
us 6 2.6180295 . . .
ud 6 2.6180339 . . .
uq 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
us 79 3.6180315 . . .
ud 144 3.6180339 . . .
uq 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 puo dimostrare che per gli elementi della matrice Ak del metodo QR (5.21),
nelle ipotesi del Teorema 5.5.3, risulta
!k
(k) i
aij = O , i>j.
j

Ne segue che per questo metodo la convergenza puo essere molto lenta se
i
1; ad analoga conclusione si giunge, a causa della (5.6), per il metodo
j
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,
cioe, 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


2 2
< .
1 1

In tal caso il metodo delle potenze ed il metodo QR, applicati a B, con-


vergono piu rapidamente.

Esempio 5.6.2 Si consideri la matrice



21 1 1
A = 1 21 1

.
1 1 21
Dal teorema di Gershgorin si ricava 19 | 3 || 2 || 1 | 23, per
cui la convergenza sara, 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) ) |< 109 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

(k)
Il metodo QR, applicato con i criteri di arresto maxi>j | aij |< 106 e
(k)
maxi>j | bij |< 106 , ha fornito i seguenti risultati:
(286) (33)
a11 = 22.00000166 . . . , b11 = 3.00000154 . . . ,
(286) (33)
a22 = 19.99999944 . . . , b22 = 1.00000058 . . . ,
(286) (33)
a33 = 20.99999888 . . . , b33 = 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: cio 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

1 1 0
X 1 1 1
= 1
.
0 1 1

Bibliografia: [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, puo 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. Ce quindi connessione fra il problema dellinterpolazione e quello piu
generale della approssimazione di una funzione f (x), cioe della sostituzione di
f (x) con una funzione piu 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 x0 , x1 , . . . , xk1 I con xi 6= xj se i 6= j; la
funzione
f [x0 , x1 , . . . , xk2 , x] f [x0 , x1 , . . . , xk1 ]
f [x0 , x1 , . . . , xk1 , x] = , (6.1)
x xk1
136 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

ove, per k = 1, f [x0 , x] = f (x)f (x0 )


xx0
, e denita x I, x 6= xi , i =
0, 1, . . . , k 1, e si chiama differenza divisa di ordine k.

Se f (x) e derivabile su I, la (6.1) si estende a tutto I (cfr. Proprieta


6.8.2).
Vale il seguente teorema di espansione, dimostrabile per induzione.

Teorema 6.1.1 Sia f (x) : I IRIR e siano x0 , x1 , . . . , xk I con xi 6= xj


se i 6= j; vale lidentita

f (x) = f (x0 ) + (x x0 )f [x0 , x1 ] + (x x0 )(x x1 )f [x0 , x1 , x2 ]


+ + (x x0 )(x x1 ) (x xk1 )f [x0 , x1 , . . . , xk ] (6.2)
+(x x0 )(x x1 ) (x xk )f [x0 , x1 , . . . , xk , x].

6.2 Interpolazione parabolica


Siano dati k + 1 punti reali x0 , x1 , . . . , xk I, due a due distinti, in cor-
rispondenza dei quali siano noti i k + 1 valori reali f (x0 ), f (x1 ), . . . . . . , f (xk ).
Linterpolazione parabolica consiste nel determinare un polinomio di grado al
piu k
Pk (x) = ak xk + ak1 xk1 + + a1 x + a0 (6.3)

tale che
Pk (xi ) = f (xi ), i = 0, 1, . . . , k; (6.4)

il polinomio Pk (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 ai , i = 0, 1, . . . , k,

a0 + a1 x0 + + ak1 xk1
0 + ak xk0 = f (x0 )
(6.5)
a0 + a1 xk + + ak1 xk1
k + a x
k k
k
= f (x k) .
6.2. INTERPOLAZIONE PARABOLICA 137

Il sistema (6.5) ha la seguente matrice dei coecienti



1 x0 xk1
0 xk0
1 x1 xk1 xk1

1





1 xk xk1
k xkk

il cui determinante e 0j<ik (xi xj ) e risulta diverso da zero, essendo i


Q

punti xi due a due distinti. Tale matrice e detta matrice di Vandermonde.


Il sistema (6.5) ha quindi ununica soluzione e percio 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 ak = 0.

Per la costruzione di Pk (x) esistono procedimenti piu pratici che non la


risoluzione del sistema (6.5). Si possono, per esempio, utilizzare le dierenze
divise, in base al seguente teorema che si puo dimostrare per induzione.
Teorema 6.2.1 Il polinomio
Pk (x) = f (x0 ) + (x x0 )f [x0 , x1 ] + (x x0 )(x x1 )f [x0 , x1 , x2 ]
(6.6)
+ + (x x0 )(x x1 ) (x xk1 )f [x0 , x1 , . . . , xk ]

verifica le condizioni (6.4).

Il polinomio (6.6) e detto polinomio di interpolazione di Newton.


Una seconda forma del polinomio di interpolazione si puo ottenere per
mezzo delle funzioni polinomiali di grado k
(x x0 ) (x xr1 )(x xr+1 ) (x xk )
lr (x) = , (6.7)
(xr x0 ) (xr xr1 )(xr xr+1 ) (xr xk )
r = 0, 1, . . . , k. I polinomi (6.7) godono della proprieta

lr (xs ) = r,s , r, s = 0, 1, . . . , k;

di conseguenza il polinomio
k
X
Lk (x) = lr (x)f (xr )
r=0
138 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

verica le condizioni (6.4). Lk (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 Pk (x) o Lk (x) si ricava dalla (6.2) che puo scriversi

f (x) = Pk (x) + (x x0 ) (x xk )f [x0 , x1 , . . . , xk , x];

si ha quindi

Ek (x) = f (x) Pk (x) = (x)f [x0 , x1 , . . . , xk , x] , (6.8)

dove si e posto (x) = (x x0 )(x x1 ) (x xk ).

Teorema 6.2.2 Se f (x) C k+1 (I) si ha

f (k+1) ()
f (x) Pk (x) = (x)
(k + 1)!

dove
min{x0 , x1 , . . . , xk , x} < < max{x0 , x1 , . . . , xk , x} .

6.3 Interpolazione osculatoria di Hermite


Siano assegnati k + 1 punti reali x0 , x1 , . . . , xk I, due a due distinti, in
corrispondenza dei quali siano noti 2k + 2 valori reali f (x0 ), f (x1 ), . . . , f (xk ),
f (x0 ), f (x1 ), . . . , f (xk ); linterpolazione osculatoria di Hermite consiste nel
determinare un polinomio H(x) di grado al piu 2k + 1 tale che

H(xr ) = f (xr ), H (xr ) = f (xr ), r = 0, 1, . . . , k. (6.9)

Introdotti i polinomi di grado 2k + 1

h0r (x) = [1 2lr (xr )(x xr )]lr2 (x), r = 0, 1, . . . , k,


(6.10)
h1r (x) = (x xr )lr2 (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 piu 2k + 1,


k
X k
X
H(x) = h0r (x)f (xr ) + h1r (x)f (xr ) (6.11)
r=0 r=0

soddisfa le condizioni (6.9).


Il polinomio (6.11) e detto polinomio di interpolazione di Hermite.
I polinomi h0r (x) e h1r (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 piu 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 x0 , x1 , . . . , xk , per cui R(x) risulta divisibile almeno per il polinomio
Q(x) = (x x0 )2 (x xk )2 ; cio 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 (2k+2) ()
f (x) H(x) = (x x0 )2 (x xk )2
(2k + 2)!
dove
min{x0 , x1 , . . . , xk , x} < < max{x0 , x1 , . . . , xk , 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
puo discostarsi anche sensibilmente dalla funzione f (x) (cfr. Esempio 6.8.2).
Per ovviare a questo inconveniente si puo 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 regolarita.
Siano dati k + 1 punti reali x0 < x1 < < xk in corrispondenza dei
quali siano noti k + 1 valori reali yi = f (xi ), i = 0, 1, . . . , k. Si ha la seguente
denizione.

Denizione 6.4.1 Dicesi funzione spline di grado m, relativa ai punti x0 , x1 , ..


.., xk , una funzione Sm (x) : [x0 , xk ] IR tale che:

1. Sm (x) e un polinomio di grado non superiore a m in ogni intervallo


[xi1 , xi ], i = 1, 2, . . . , k;

2. Sm (xi ) = yi , i = 0, 1, . . . , k;

3. Sm (x) C m1 ([x0 , xk ]).

Nel seguito ci si limita ad analizzare il caso m = 3 che da luogo alle


cosiddette spline cubiche.
Una funzione spline cubica S3 (x) e composta da k polinomi pi (x), i =
1, 2, . . . , k, di grado al piu 3; ciascun polinomio pi (x) : [xi1 , xi ] IR e
denito da quattro coecienti. S3 (x) risultera quindi determinata dai 4k
coecienti dei polinomi che la compongono. Imponendo che siano vericate
le proprieta 2 e 3, si ottengono le 4k 2 condizioni

pi (xi1 ) = yi1 , i = 1, 2, . . . , k,
pi (xi ) = yi , i = 1, 2, . . . , k,
(6.12)
pi (xi ) = pi+1 (xi ), i = 1, 2, . . . , k 1,
pi (xi ) = pi+1 (xi ), i = 1, 2, . . . , k 1.

Le due ulteriori condizioni si scelgono di solito fra le seguenti:

p1 (x0 ) = pk (xk ) = 0 , Spline naturale;



p1 (x0 ) = pk (xk ) , p1 (x0 ) = pk (xk ) , Spline periodica;
p1 (x0 ) = y0 , pk (xk ) = yk , Spline vincolata,

se i valori y0 = f (x0 ) e yk = f (xk ) sono noti.

Teorema 6.4.1 Se i punti x0 , . . . , xk sono tali che xi xi1 = h, i =


1, 2, . . . , k, esiste una unica funzione spline cubica naturale S3 (x).
6.4. INTERPOLAZIONE CON FUNZIONI SPLINE 141

Dimostrazione. Introdotti k + 1 valori arbitrari mi , si costruiscono i polinomi


pi (x) nella forma di Hermite (6.11) a due punti con f (xr ) = yr , f (xr ) = mr ,
r = i 1, i,
2 x xi 2

pi (x) = 1+ (x xi1 ) yi1
h h
2 x xi1 2

+ 1 (x xi ) yi
h h
x xi 2 x xi1 2

+(x xi1 ) mi1 + (x xi ) mi ,
h h
i = 1, 2, . . . k.

I polinomi pi (x) vericano, per costruzione, i primi tre gruppi di condizioni (6.12)
qualunque siano i valori m0 , m1 , . . . , mk . Per determinare tali k + 1 valori si uti-
lizzano le ultime delle (6.12) e le due condizioni di spline naturale.
Essendo
2
pi (xi1 ) = 2 [3(yi yi1 ) h(mi + 2mi1 )] ,
h
2
pi (xi ) = 2 [3(yi1 yi ) + h(2mi + mi1 )] ,
h
si perviene al sistema lineare
3
2m0 + m1 = h (y1 y0 )
3
m0 + 4m1 + m2 = h (y2 y0 )
3
m1 + 4m2 + m3 = h (y3 y1 )
.. .. .. .. (6.13)
. . . .
3
mk2 + 4mk1 + mk = h (yk yk2 )
3
mk1 + 2mk = h (yk yk1 ) .

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 p1 (x), p2 (x), ..., pk (x).

Con considerazioni analoghe alle precedenti, lesistenza e lunicita si puo


dimostrare anche nel caso di partizione non uniforme, cioe con punti xi 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 puo
dimostrare il seguente teorema di convergenza.
142 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

Teorema 6.4.2 Se f (x) C 4 ([x0 , xk ]), allora esistono delle Kp > 0, p =


0, 1, 2, 3, tali che

(p)
max f (p) (x) S3 (x) Kp M4 h4p , 0 p 2,
x0 xxk

(3) (3)
max f (x) pi (x) K3 M4 h ,

i = 1, 2 . . . k,
xi1 xxi

dove M4 = maxx0 xxk f (4) (x).
7 7
Nelle precedenti maggiorazioni si puo assumere K0 = 8
, K1 = K2 = 4
,
K3 = 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 x0 , x1 , . . . , xn+m , due a due distinti, in cor-
rispondenza dei quali siano noti i valori reali f (x0 ), f (x1 ), . . . , f (xn+m ).
Si consideri la funzione razionale a valori reali
n Pn (x) an xn + an1 xn1 + + a1 x + a0
Rm (x) = = .
Qm (x) bm xm + bm1 xm1 + + b1 x + b0
Linterpolazione con funzioni razionali consiste nella determinazione degli
n + m + 2 coecienti ai , i = 0, 1, . . . , n, e bi , i = 0, 1, . . . , m, in modo che sia
n
Rm (xi ) = f (xi ), i = 0, 1, . . . , n + m. (6.14)

Per questo e necessario che sia

Pn (xi ) f (xi )Qm (xi ) = 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 ai , bi . 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 bi tutti uguali a zero, cioe
non possono essere tali da rendere Qm (x) identicamente nullo; infatti, se cos
fosse, Pn (x) avrebbe n + m + 1 zeri quando il suo grado e al piu n.
6.6. APPROSSIMAZIONE POLINOMIALE 143

Se in corrispondenza alle soluzioni non nulle del sistema (6.15) si verica

Qm (xr ) = 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 proprieta che la successione dei polinomi interpolanti
P1 (x), P2 (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 piu 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 proprieta (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
n
n! i

xi (1 x)ni f
X
Bn (f ; x) = , (6.18)
i=0 i!(n i)! n

allora la successione di polinomi {Bn } converge uniformemente a f (x) su


[0, 1].
ta
Si noti che, eettuando nella (6.18) la sostituzione x = ba , il polinomio
trasformato Bn (f ; t) risulta denito su [a, b] e quindi puo sostituirsi al poli-
nomio p(x) della (6.17).
144 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

Lapprossimazione, polinomiale o no, di una funzione f (x) puo anche


ottenersi richiedendo che siano vericate proprieta diverse dalla (6.17); per
esempio, spesso nelle applicazioni si impone la proprieta 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 [xi , f (xi )], 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 xj , j = 0, 1, . . . , k, e si abbiano i
valori f (xj ) per ogni xj . Si consideri la funzione combinazione lineare delle
i (x)
(x) = c0 0 (x) + c1 1 (x) + + cm m (x)
dove ci IR, i = 0, 1, . . . , m. Si vuole approssimare f (x) con (x).
E evidente che la funzione (x) dipende dalla scelta dei coecienti ci . Il
metodo dei minimi quadrati consiste nello scegliere i coecienti ci per i quali
la funzione " k m
# 2
X X
(c0 , c1 , . . . , cm ) = ci i (xj ) f (xj ) (6.19)
j=0 i=0

assume valore minimo. La funzione (6.19) rappresenta la somma degli scarti


quadratici tra la funzione (x) e la funzione f (x) nei punti xj e coincide con
il quadrato della norma euclidea del vettore di componenti (xj ) f (xj ).
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 IRm+1 per i quali
sono nulle tutte le derivate parziali della rispetto a c0 , c1 , . . . , cm .
Si hanno quindi le relazioni
k m
" #
X X
=2 ci i (xj ) f (xj ) s (xj ) = 0, s = 0, 1, . . . , m, (6.20)
cs j=0 i=0

che costituiscono un sistema lineare di m + 1 equazioni nelle m + 1 incognite


c0 , c1 , . . . , c m .
6.7. METODO DEI MINIMI QUADRATI NEL DISCRETO 145

Ponendo c = (c0 , c1 , . . . , cm )T , b = (f (x0 ), f (x1 ), . . . , f (xk ))T ,

0 (x0 ) 1 (x0 ) m (x0 )



0 (x1 ) 1 (x1 ) m (x1 )
A= ,




0 (xk ) 1 (xk ) m (xk )

la (6.19) puo scriversi

(c) = (Ac b)T (Ac b) = kAc bk22 , (6.21)

mentre il sistema (6.20), detto sistema delle equazioni normali, puo essere
scritto nella forma
AT Ac AT b = 0. (6.22)
Questo sistema ha soluzione, in quanto si puo dimostrare che r(AT A) =
r(AT A | AT 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 AT 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 AT A che, nel
caso in esame, risulta denita positiva.
La scelta delle funzioni i (x) puo, in pratica, dipendere dalla distribuzione
sul piano cartesiano dei punti di coordinate [xj , f (xj )], j = 0, 1, . . . , k. Le
scelte piu comuni sono:

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


0 (x) = 21 , 1 (x) = cos x, 2 (x) = sin x,
3 (x) = cos(2x), 4 (x) = sin(2x), . . . ;
0 (x) = e0 x , 1 (x) = e1 x , 2 (x) = e2 x , . . .,
(0 , 1 , 2 . . . IR, r 6= s , con r 6= 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 Proprieta ed applicazioni delle dierenze divise
Proprieta 6.8.1 (di simmetria) Se i0 , i1 , . . . , ik , e una qualunque permu-
tazione dei numeri 0, 1, . . . , k, si ha

f [xi0 , xi1 , . . . , xik ] = f [x0 , x1 , . . . , xk ].

Dimostrazione. La dierenza divisa f [x0 , x1 , . . . , xk ] e il coeciente della


potenza xk del polinomio di interpolazione espresso dalla (6.6). Costruendo il
polinomio di interpolazione relativo ai punti xi0 , xi1 , . . . , xik , ne viene che il coef-
ciente del termine in xk e dato da f [xi0 , xi1 , . . . , xik ]. Per lunicita del polinomio
di interpolazione si ha la tesi.

Proprieta 6.8.2 Se f (x) C 1 (I), la funzione f [x0 , x1 , . . . , xk1 , x] e pro-


lungabile per continuita su tutto I.

Dimostrazione. Si procede per induzione.


Dalla Denizione 6.1.1 e dalla derivabilita di f (x) segue

f (x) f (xi )
lim f [xi , x] = lim = f (xi )
xxi xxi x xi
per cui le dierenze divise del primo ordine risultano prolungabili per continuita
ponendo f [xi , xi ] = f (xi ), 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 Proprieta 6.8.1, si ha

f [x0 , x1 , . . . , xs , x] = f [x, x0 , x1 , . . . , xs ]
f [x, x0 , x1 , . . . , xs2 , xs ] f [x, x0 , x1 , . . . , xs1 ]
= ;
xs xs1

dalla continuita del numeratore di questultima frazione segue la continuita su I


delle dierenze divise di ordine s + 1 se si pone

f [xi , x0 , x1 , . . . , xs2 , xs ] f [xi , x0 , x1 , . . . , xs1 ]


f [x0 , x1 , . . . , xs , xi ] = ,
xs xs1
i = 0, 1, . . . , s .
6.8. COMPLEMENTI ED ESEMPI 147

La tesi risulta cos provata.

Osservazione 6.8.1 Come conseguenza della Proprieta 6.8.2 si ha che,


nellipotesi f (x) C 1 (I), la (6.1) e la (6.2) restano valide anche quando
x0 , x1 , . . . , xk non sono tutti distinti.

Proprieta 6.8.3 Se f (x) C k (I) esiste almeno un valore , con la pro-


prieta mini xi < < maxi xi , tale che

f (k) ()
f [x0 , x1 , . . . , xk ] = .
k!

Dimostrazione. La funzione Q(x) = f (x) Pk (x) ammette come zeri i valori


x0 , x1 , . . . , xk , 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
] mini xi , maxi xi [. 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 mini xi < < maxi xi .
Calcolando la funzione Q(k) (x) nel punto si ha
(k)
Q(k) () = f (k) () Pk () = f (k) () k!f [x0 , x1 , . . . , xk ] = 0

da cui la tesi.

Come applicazione di questa proprieta si ottiene lespressione data nel


Teorema 6.2.2 per lerrore Ek (x) = f (x) Pk (x).
Per calcolare le dierenze divise che intervengono nel polinomio di in-
terpolazione di Newton (6.6) si puo 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


x0 f (x0 )
x1 f (x1 ) f [x0 , x1 ]
x2 f (x2 ) f [x0 , x2 ] f [x0 , x1 , x2 ]
x3 f (x3 ) f [x0 , x3 ] f [x0 , x1 , x3 ] f [x0 , x1 , x2 , x3 ]
Figura 6.1: Quadro delle dierenze divise.
148 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

Il quadro puo 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 xi .
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, percio il grado del polinomio di interpolazione e r.
Osservazione 6.8.3 Il valore della dierenza divisa di ordine k si puo anche
ottenere direttamente dalla formula
f (x0 )
f [x0 , x1 , . . . , xk ] =
(x0 x1 )(x0 x2 ) (x0 xk )
f (x1 )
+ +
(x1 x0 )(x1 x2 ) (x1 xk )
f (xk )
+
(xk x0 )(xk x1 ) (xk xk1 )
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 P4 (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
P4 (x) = 5 + 2x x(x + 1) + x(x + 1)(x 2)
= x3 2x2 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],

1
f (x) = ,
100x2 100x + 26

per la quale risulta f (x) C ([0, 1]), e si scelgano i punti equidistanti xi =


i/k, i = 0, 1, . . . , k.

2.5

1.5

0.5

-0.5

-1

-1.5
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 P15 (x) (linea tratteggiata) a con-


fronto con la funzione di Runge (linea continua).

Si vede dalla Fig. 6.2 che lerrore Ek (x) corrispondente al polinomio di


interpolazione Pk (x), in prossimita degli estremi dellintervallo, assume valori
elevati.
Si puo anche dimostrare che

lim max | Ek (x) |= +.


k 0x1
150 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

In generale, il comportamento dellerrore dipende dalla particolare scelta


dei punti xi , 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]), Pk (x) converge uniformemente
ad f (x) su [1, 1] per
1
k e si ha kf (x) Pk (x)k = O 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) = xm + am1 xm1 + + a0 = 0 (ai IR) (6.23)

abbia m radici reali. Dalla (6.2) relativa ai punti x1 , . . . , xm , non necessaria-


mente tutti distinti (cfr. Osservazione 6.8.1) si ha

f (x) = f [x1 ] + (x x1 )f [x1 , x2 ] +


+(x x1 ) (x xm1 )f [x1 , . . . , xm ]
+(x x1 ) (x xm )f [x1 , . . . , xm , x]

(dove si e posto f [x1 ] = f (x1 )). Ne segue che se i numeri x1 , . . . , xm , veri-


cano il sistema
f [x1 ] = 0
f [x1 , x2 ] = 0
f [x1 , x2 , x3 ] = 0 (6.24)

f [x1 , x2 , . . . , xm ] = 0,
allora coincidono con le radici dellequazione (6.23) e viceversa.
Si puo dimostrare che il metodo di Newton-Raphson applicato al si-
stema (6.24) e convergente, comunque si scelga il vettore iniziale x(0) =
(0)
(x1 , . . . , x(0) T m m
m ) IR , con lesclusione al piu di un insieme di punti di IR di
misura nulla.
Utilizzando note proprieta 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
(n+1) (n)
xk = xk k , k = 1, 2, . . . , m 1,
Pm1 (n)
x(n+1)
m = am1 k=1 xk .
Gli incrementi k si costruiscono col seguente algoritmo:
per k = 1, 2, . . . , m 1
p0,k := 1;
per i = 1, 2, . . . , m k + 1
pi,0 := 0,
(n)
pi,k = pi,k1 + pi1,k xk ;
Pmk+1
Pk = r=0 ar+k1 pr,k ;
per j = 1, 2, . . . , k
[j]
q0,k := 1,
per h = 1, 2, . . . , m k
[j] [j] (n)
qh,k = ph,k + qh1,k xj ;
Pmk [j]
Qj,k = r=0 ar+k qr,k ;
Pk1
k = (Pk r=1 Qr,k )/Qk,k .

Nellalgoritmo si e assunto am = 1 e 0r=1 = 0.


P

Per esempio, si consideri lequazione algebrica


x6 4x5 2x4 + 32x3 59x2 + 44x 12 = 0
le cui soluzioni sono x1 = x2 = x3 = 1, x4 = x5 = 2, x6 = 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) (n) (n) (n) (n) (n)


n x1 x2 x3 x4 x5 x6

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 Pk (x) relativo ai punti dati e nel risolvere lequazione
algebrica
Pk (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 xi , e quindi risulti invertibile su tale inter-
vallo, si puo evitare la risoluzione della (6.25).
Infatti, posto yi = f (xi ), i = 0, 1, . . . , k, si costruisce il polinomio di
interpolazione Qk (y) tale che Qk (yi ) = xi , i = 0, 1, . . . , k, e si approssima il
valore richiesto calcolando Qk (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 Q3 (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
1 1
Q3 (y) = 1 (y 4) y(y 4)(y 2)
2 48
1 3
= (y + 6y 2 32y + 48) .
48
6.8. COMPLEMENTI ED ESEMPI 153

Una stima di e data da


801
Q3 (0.5) = = 0.6953125.
1152
1
Usando invece linterpolazione diretta, si ha il polinomio P3 (x) = 12 (x3
3
25x+24); si risolve quindi lequazione P3 (x)0.5 = 0, ossia x 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


a2 x 2 + a1 x + a 0
R22 (x) = .
b2 x2 + b1 x + b0
I coecienti reali a0 , a1 , a2 , b0 , b1 , b2 , sono determinati dalle condizioni R22 (xi ) =
yi , i = 0, 1, 2, 3, 4, che forniscono il sistema lineare omogeneo di 5 equazioni
in 6 incognite
1 1 1
a2 a1 + a 0 b
3 2
+ b
3 1
b
3 0
= 0
1
a0 b
2 0
= 0
3 3 3
a2 + a1 + a0 b
5 2
b
5 1
b
5 0
= 0
8 4 2
4a2 + 2a1 + a0 b
3 2
b
3 1
b
3 0
= 0
45 15 5
9a2 + 3a1 + a0 b
7 2
b
7 1
b
7 0
= 0.

Ovviamente esistono innite soluzioni. Ponendo, per esempio, b2 = 1, si


ha
a0 = 2, a1 = 1, a2 = 1, b0 = 4, b1 = 3,
154 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

per cui
x2 + x 2
R22 (x) = .
x2 + 3x 4
Si noti che, in questo caso particolare, R22 (x) si semplica nella forma x+2
x+4
.

Esempio 6.8.6 Si vuole determinare la spline cubica naturale S3 (x) che


interpola i valori
x 0 1 2
y a a 2a
dove a IR.
La spline S3 (x) e composta da due polinomi p1 (x), p2 (x) (cfr. Teorema 6.4.1),
di grado al piu tre, relativi agli intervalli [0, 1] e [1, 2].
Il sistema (6.13), in questo caso, diventa

2m0 + m1 + = 6a
m0 + 4m1 + m2 = 3a
m1 + 2m2 = 9a

ed ha la soluzione
13 1 17
m0 = a, m1 = a, m2 = a.
4 2 4

Si ha quindi la spline S3 (x) formata dai polinomi


5
p1 (x) = 4
ax3 134
ax + a , x [0, 1] ,
p2 (x) = 54 ax3 + 15
2
ax2 43
4
ax + 72 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

L4 (x) = l1 (x) l3 (x)


128
= x(x 1/2)(x 3/4)(x 1)
3
128
+ x(x 1/4)(x 1/2)(x 1)
3
32
= (2x3 3x2 + x) .
3

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) = h10 (x)2 + h11 (x)2


= x(x 1)2 2 + (x 1)x2 2
= 2(2x3 3x2 + x) .

3. La spline cubica naturale S3 (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,

2m0 + m1 = 12
m0 + 4m1 + m2 = 0
m1 + 4m2 + m3 = 24
m2 + 4m3 + m4 = 0
m3 + 2m4 = 12

la cui soluzione e

m0 = 6, m1 = 0, m2 = 6, m3 = 0, m4 = 6.
156 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

Si ha, quindi, la spline S3 (x)

p1 (x) = 32x3 + 6x , x [0, 1/4] ,


p2 (x) = 32x3 48x2 + 18x 1 , x [1/4, 1/2] ,
p3 (x) = 32x3 48x2 + 18x 1 , x [1/2, 3/4] ,
p4 (x) = 32x3 + 96x2 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 yi = f (xi ), i = 0, 1, . . . , k, con x0 < x1 < < xk , i valori dati.
Il problema puo essere risolto approssimando f (x), f (x), . . ., in un punto
x ]x0 , xk [, 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
proprieta f (xi ) = Pk (xi ), i = 1, 2, . . . , k 1, non implica che siano piccoli gli
errori

| Pk (xi ) f (xi ) |, | Pk (xi ) f (xi ) |, . . . , 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 piu comuni per la derivata prima
e seconda.
Allo scopo si considerano i polinomi di secondo grado

qi (x) = li1 (x)yi1 + li (x)yi + li+1 (x)yi+1 , i = 1, 2, . . . , k 1,

dove
(x xi )(x xi+1 )
li1 (x) = ,
(xi1 xi )(xi1 xi+1 )
6.8. COMPLEMENTI ED ESEMPI 157

(x xi1 )(x xi+1 )


li (x) = ,
(xi xi1 )(xi xi+1 )
(x xi1 )(x xi )
li+1 (x) = .
(xi+1 xi1 )(xi+1 xi )
Si assume quindi f (x) qi (x) e f (x) qi (x), x ]xi1 , xi+1 [. Se xi =
x0 + ih, i = 0, 1, . . . , k, h > 0, si hanno le cosiddette formule centrali
yi+1 yi1
f (xi ) qi (xi ) = , i = 1, 2, . . . , k 1, (6.26)
2h
yi1 2yi + yi+1
f (xi ) qi (xi ) = , i = 1, 2, . . . , k 1. (6.27)
h2
Lerrore di troncamento della (6.26) e E1 (xi ) = f (xi ) qi (xi ) e puo essere
determinato, nel caso che f (x) C 3 (]x0 , xk [), considerando, per esempio, gli
sviluppi di Taylor
1 1
yi+1 = yi + f (xi )h + f (xi )h2 + f (3) (i+1 )h3 , i+1 ]xi , xi+1 [,
2 6
1 1
yi1 = yi f (xi )h + f (xi )h2 f (3) (i1 )h3 , i1 ]xi1 , xi [.
2 6
Sottraendo membro a membro queste due relazioni si ottiene,
yi+1 yi1
f (xi ) = + E1 (xi ) ,
2h
dove
1 h (3) i
E1 (xi ) = f (i+1 ) + f (3) (i1 ) h2 = 61 f (3) (i )h2 ,
12
i [i1 , i+1 ].

Analogamente, supposto f (x) C 4 (]x0 , xk [), 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
yi1 2yi + yi+1
f (xi ) = + E2 (xi ) ,
h2
dove
1 h (4) i 1
E2 (xi ) = f (i+1 ) + f (4) (i1 ) h2 = f (4) (i )h2 ,
24 12
158 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

con i+1 ]xi , xi+1 [, i1 ]xi1 , xi [ e i [i1 , i+1 ] .

Esempio 6.8.8 Si consideri il problema dierenziale

y (x) = ey(x) ,
y(0) = 0 ,
y(1) = 0 ,

la cui soluzione esatta e


2
1

c


y(x) = log ,
2 cos cx c

2 4

essendo la costante c, soluzione dellequazione c2 2 cos2 (c/4) = 0, approssi-


mata da 1.3360556949061.
Fatta una partizione dellintervallo [0, 1] mediante i punti xi = ih, i =
1, 2, . . . , k 1, h = 1/k, si vogliono calcolare i valori yi che approssimano, in
tali punti, la soluzione y(x) del problema dato.
Posto y0 = y(0) = 0, yk = y(1) = 0 e tenuto conto che per la (6.27) puo
scriversi
yi1 2yi + yi+1
y (xi ) , i = 1, 2, . . . , k 1,
h2
i valori cercati sono la soluzione del sistema non lineare
yi1 2yi + yi+1
2
= eyi , i = 1, 2, . . . , k 1.
h

Posto y T = (y1 , . . . , yk1 ), tale sistema e della forma g(y) = 0 con g T (y) =
(g1 (y), g2 (y), . . . , gk1 (y)),

g1 (y) = 2y1 h2 ey1 + y2 ,


gi (y) = yi1 2yi h2 eyi + yi+1 , i = 2, . . . , k 2 ,
gk1 (y) = yk2 2yk1 h2 eyk1 .

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

ky (r+1) y (r) k < 106 , si e ottenuto

0.041404


0.073214

0.095730




0.109159

y (3)
0.113622 ,

0.109159




0.095730

0.073214


0.041404
(3)
dove lerrore max1ik1 | yi y(xi ) | e dellordine di 104 .

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 S3 (x) che interpola i valori yi = f (xi ),
xi = x0 + ih, i = 0, 1, . . . , k, si assume, per ogni x [x0 , xk ], f (x) S3 (x) e
f (x) S3 (x). In particolare, dalla dimostrazione del Teorema 6.4.1, risulta

f (xi ) mi , i = 0, 1, . . . , k,
f (x0 ) h22 [3(y1 y0 ) h(m1 + 2m0 )] ,
f (xi ) h22 [3(yi1 yi ) + h(2mi + mi1 )] , 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 y0 = f (0) = 0 e y3 = 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 m0 e mk sono noti, nel sistema (6.13) la prima e lultima equazione
vengono soppresse mentre nella seconda e nella penultima si portano m0 e
mk 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
3
4m1 + m2 = (y
h 2
y0 ) y0
3
m1 + 4m2 = (y
h 3
y1 ) y3 .
Posto h = 0.1, inserendo i dati e arrotondando i calcoli alla sesta cifra dopo
la virgola, si ricava
m1 = 0.196024 , m2 = 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)
2
p2 (x1 ) = h2
[3(y2 y1 ) h(m2 + 2m1 )] ,
2
p2 (x2 ) = h2
[3(y1 y2 ) + h(2m2 + m1 )] .
Sostituendo i valori trovati per m1 ed m2 ed arrotondando i calcoli come
sopra si ottiene
p2 (0.1) = 1.900369, p2 (0.2) = 1.574151,
che si assumono come stime di f (0.1) e f (0.2).
Al ne di evidenziare la bonta delle approssimazioni ottenute, si eettua
il confronto con i valori esatti essendo i dati della tavola quelli della funzione
1
f (x) = 1+x 2 . Si ha:

| m1 f (0.1) | 3.5 105 , | m2 f (0.2) | 7.2 105 ,


| p2 (0.1) f (0.1) | 1.7 102 , | p2 (0.2) f (0.2) | 1.3 101 .
Se, in luogo della spline vincolata, si usano le formule (6.26) e (6.27) si
ottiene:
f (0.1) q1 (0.1) = 0.192307,
f (0.2) q2 (0.2) = 0.363339,
f (0.1) q2 (0.1) = 1.865956,
f (0.2) q2 (0.2) = 1.554672,
da cui gli errori
| q1 (0.1) f (0.1) | 3.8 103 , | q2 (0.2) f (0.2) | 6.5 103 ,
| q1 (0.1) f (0.1) | 1.7 102 , | q2 (0.2) f (0.2) | 1.5 101 .
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 IRkm
e b IRk . 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 IRm si ha
b Ax = r
dove r IRk , 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 IRm che renda minimo il prodotto scalare
k
T T
ri2 = krk22 .
X
(x) = (b Ax) (b Ax) = r r = (6.29)
i=1

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

(b Ax)T (b Ax) = 0, i = 1, 2, . . . , m,
xi
che si puo scrivere nella forma

AT Ax = AT b , (6.30)

la cui risolubilita 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 = U V T con IRkm , mentre U IRkk e V IRmm sono matrici
unitarie.
Si puo dimostrare che, indicando con ui e vi 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
s
X uTi b
c= vi . (6.31)
i=1 i
162 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

Si puo vericare che a tale vettore corrisponde lo scarto quadratico


k
T 2

(b Ac)T (b Ac) =
X
ui b .
i=s+1

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



2x1
x2 = 1
x1 + x2 = 0
x1 + 2x2 = 1 .

La matrice del sistema e quindi



2 1
1
A= 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 = U V T
con
3 5 7 3 2 7 0

70
U= 2 5
0 52 , = 0

5 ,
70
5 3 7 2 0 0
!
2 1 1
V = .
2 1 1
La (6.31) fornisce la soluzione del sistema nel senso dei minimi quadrati
T
19 9

c= , .
35 35

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 IRn2 e


b IRn dati da
1 1 1
1 1 2


.. .. ..

A= . . , b = . .


1 1 n1

1 1 n

La matrice A ha un unico valore singolare positivo 1 = 2n e gli au-
tovettori delle matrici AAT e AT A associati a 12 sono, rispettivamente,
1

!
n 1
2 1
u= .. , v= .
n
.

2 1
1
Un vettore che minimizza la (x) e, per la (6.31),
uT bv
!
n+1 1
c= = .
1 4 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 c1 n+1 1
=n
n n c2 2 1
e le cui soluzioni sono
c1
c= n+1
.
2
c1
La norma euclidea
s
2
n+1

kck2 = c21 + c1
2
e minima se c1 = (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) = ecos x ,
f (x) = xx );
in molti casi, funzioni semplici hanno funzioni primitive tanto
complicate che spesso le formule approssimate sono piu facilmente
calcolabili di quelle esatte e con maggiore precisione
h
(per esem-
x2 2 1 x2 2x+1
pio, una primitiva di f (x) = 1+x4 e F (x) = 4 2 log x2 + 2x+1
i
2x
+ arctan 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 Z b
mk = I(xk ) = xk (x)dx, k = 0, 1, . . . . (7.1)
a
166 CAPITOLO 7. INTEGRAZIONE NUMERICA

Si pone il problema di approssimare


Z b
I(f ) = (x)f (x)dx
a

con una formula di quadratura della forma


n
X
Jn (f ) = ai f (xi ) , (7.2)
i=0

dove i numeri ai , i = 0, 1, . . . , n, detti pesi o coecienti, sono reali. I punti


xi , i = 0, 1, . . . , n, con x0 < x1 < < xn sono detti nodi e di solito
appartengono allintervallo [a, b]. Lerrore e percio formalmente dato da

En (f ) = I(f ) Jn (f ) .

Considerata la base 1, x, x2 , . . . , xm , xm+1 , dello spazio vettoriale dei polinomi


algebrici di grado al piu m + 1, si puo dare la seguente denizione.

Denizione 7.1.1 La formula (7.2) ha grado di precisone (algebrico) m IN se


si verica

En (1) = En (x) = = En (xm ) = 0, En (xm+1 ) 6= 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

En (1) = En (x) = = En (x2n+1 ) = 0, (7.4)

ovvero
a0 + a1 + + an = m0
a0 x 0 + a1 x 1 + + an xn = m1
(7.5)

a0 x2n+1
0 + a1 x2n+1
1 + + an x2n+1
n = m2n+1 ,

dove i termini noti mk , k = 0, 1, . . . , 2n + 1, sono dati dalla (7.1).


Si puo dimostrare che la soluzione (a0 , . . . , an , x0 , . . . , xn )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


En (x2n+2 ) 6= 0, il grado di precisione e esattamente 2n + 1.
Si noti che se f (x) 2n+1 allora dalle (7.4) segue En (f (x)) = 0.
Lerrore (7.4) e suscettibile di una rappresentazione generale: sussiste
infatti il seguente teorema, enunciato, per semplicita, nel caso di una for-
mula (7.2) con (x) = 1 e a = x0 < x1 < < xn = b.

Teorema 7.1.1 (di Peano) Sia f (x) C m+1 ([a, b]) e Jn (f ) di grado di pre-
cisione m, allora risulta

1 Z b (m+1)
En (f ) = f (t)G(t)dt (7.6)
m! a

essendo G(t) = En (sm (x t)) e



(x t)m , t < x,
sm (x t) =
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

1 (m+1) Z b
En (f ) = f () G(t)dt , ]a, b[ ,
m! a

da cui si puo ricavare ab G(t)dt (che non dipende da f ) ponendo, per esempio,
R

f (x) = xm+1 ; ne segue

f (m+1) ()
En (f ) = En (xm+1 ) , ]a, b[ . (7.7)
(m + 1)!

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
1 1 1


x x1 x n
0
V = ,



xn0 xn1 xnn
T = (a0 , a1 , . . . , an ), T = (m0 , m1 , . . . , mn ). Poiche V T e una matrice di
Vandermonde, nelle ipotesi attuali e det(V ) 6= 0 e quindi esiste ed e unico.
Il grado di precisione e almeno n poiche En (1) = En (x) = = En (xn ) = 0.
Se (x) = 1 e i nodi sono ssati in progressione aritmetica di ragione
h = (ba)/n, cioe xi = x0 +ih, i = 0, 1, . . . , n, e quindi con x0 = a e xn = 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 xi . Cioe si pone
n
1
f (n+1) ()(x) ,
X
f (x) = li (x)f (xi ) +
i=0 (n + 1)!

essendo li (x), i = 0, 1, . . . , n, i polinomi fondamentali di Lagrange di grado


n, ]a, b[ e (x) = (x x0 )(x x1 ) (x xn ). Ne viene:
n
1
I f (n+1) ()(x) .
X
I(f ) = I(li (x))f (xi ) +
i=0 (n + 1)!
Pn
Si assume quindi Jn (f ) = i=0 ai f (xi ) con

ai = I(li (x)) (7.9)

e si ha
1
En (f ) = I(f (n+1) ()(x)) . (7.10)
(n + 1)!
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, cioe la loro capacita 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, puo utilizzarsi la (7.7): m si determina in base alla denizione,
mentre il termine En (xm+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

cp hp+1 f (p) (), p pari,
En (f ) =
cp hp+2 f (p+1) (), p dispari,

con cp costante dipendente da p.


Si osservi come la (7.10), invece, non possa mettersi in una forma piu
semplice, tranne che nel caso n = 1, in cui (x) ha segno costante e quindi,
applicando il teorema della media, la funzione f (2) () puo 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 < x0 < x1 < < xn < b.
Di seguito si riportano le prime sette formule chiuse con i relativi errori.
Formula trapezoidale:

ba 1
I(f ) = [f (x0 ) + f (x1 )] h3 f (2) ().
2 12
Formula di Simpson:

ba 1
I(f ) = [f (x0 ) + 4f (x1 ) + f (x2 )] h5 f (4) ().
6 90
Formula dei 3/8 o pulcherrima:

ba 3
I(f ) = [f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )] h5 f (4) ().
8 80
Formula di Milne-Boole:
ba
I(f ) = [7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 7f (x4 )]
90
8 7 (6)
h f ().
945
170 CAPITOLO 7. INTEGRAZIONE NUMERICA

Formula dei sei punti:


ba
I(f ) = [19f (x0 ) + 75f (x1 ) + 50f (x2 ) + 50f (x3 ) + 75f (x4 )
288
275 7 (6)
+19f (x5 )] h f ().
12096
Formula di Weddle:
ba
I(f ) = [41f (x0 ) + 216f (x1 ) + 27f (x2 ) + 272f (x3 ) + 27f (x4 )
840
9 9 (8)
+ 216f (x5 ) + 41f (x6 )] h f ().
1400
Formula degli otto punti:
ba
I(f ) = [751f (x0 ) + 3577f (x1 ) + 1323f (x2 ) + 2989f (x3 )
17280
+ 2989f (x4 ) + 1323f (x5 ) + 3577f (x6 ) + 751f (x7 )]
8183 9 (8)
h f ().
518400
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
x0 = a < x1 < < xm = b, e si utilizza la proprieta
m Z
X xi
I(f ) = f (x)dx .
i=1 xi1

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 piu usate sono la formula trapezoidale (n = 1) e quella di
Simpson (n = 2) le quali danno luogo alle corrispondenti formule generaliz-
zate:
m1
(b a)3 (2)
" #
ba X
I(f ) = f (x0 ) + 2 f (xi ) + f (xm ) f ( ) ; (7.11)
2m i=1 12m2

m1 m1
" #
ba xi + xi+1
X X
I(f ) = f (x0 ) + 4 f +2 f (xi ) + f (xm )
6m i=0 2 i=1

(b a)5 (4)
f ( ).
2880m4
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 h2 e di h4 .

7.3 Applicazione della estrapolazione


allintegrazione
Si puo 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. Piu precisamente, scrivendo per semplicita I invece di I(f ) e
ponendo
m1
" #
(1) h X
J0 = f (x0 ) + 2 f (xi ) + f (xm ) , (7.12)
2 i=1

si puo dimostrare il seguente teorema.

Teorema 7.3.1 Se f (x) C 2r+2 ([a, b]), la (7.11) puo scriversi


(1) (1) (1)
I = J0 + 1 h2 + 2 h4 + + r(1) h2r + O(h2r+2 ) (7.13)
(1) (1)
dove 1 , 2 , . . . , r(1) , non dipendono da h.
(1)
La (7.13) oltre a mostrare, come gia osservato, che lerrore di J0 e
dellordine di h2 , 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,

mq1
(1) h X
J1 = f (x0 ) + 2 f (xi ) + f (xmq ) ,
2q i=1

dove ora i nodi sono xi = a + i hq , i = 0, 1, . . . , mq. Daltra parte, per il


Teorema 7.3.1, si puo scrivere
!2 !4 !2r
(1) (1) h (1) h h
I= J1 + 1 + 2 + + r(1) + O(h2r+2 ). (7.14)
q q q
172 CAPITOLO 7. INTEGRAZIONE NUMERICA

(1)
Eliminando il termine 1 h2 fra la (7.13) e la (7.14) si ottiene
(2) (2)
I = J0 + 2 h4 + + r(2) h2r + O(h2r+2 ) , (7.15)

dove si e posto
(1) (1)
(2) q 2 J 1 J0
J0 = (7.16)
q2 1
(2)
e dove i nuovi coecienti, 2 , . . . , r(2) , non dipendono da h.
(2)
La (7.15) mostra che lerrore di J0 e dellordine di h4 , cioe e una stima
(1) (1)
di I migliore di J0 e J1 , mentre la (7.16) implica un costo computazionale
di solo 3 operazioni essenziali; per contro, una stima di I piu accurata di
(1)
J1 , mediante la formula trapezoidale, implica necessariamente luso di un
passo minore di h/q e quindi un costo computazionale piu elevato di quello
richiesto dalla (7.16).
Il procedimento di estrapolazione puo essere ripetuto: ad ogni appli-
cazione, lordine dellerrore della nuova stima di I aumenta di due. Infatti,
(1)
con il passo h/q 2 , dalla formula trapezoidale generalizzata, si ricava J2 men-
tre il Teorema 7.3.1 fornisce
!2 !4 !2r
(1) (1) h (1) h h
I= J2 + 1 + 2 + + r(1) + O(h2r+2 );
q2 q2 q2
(1)
eliminando 1 (h/q)2 fra questa relazione e la (7.14) si ha
!4 !2r
(2) (2) h h
I= J1 + 2 + + r(2) + O(h2r+2 ) (7.17)
q q

dove
(1) (1)
(2) q 2 J 2 J1
J1 = ;
q2 1
(2)
eliminando ora 2 h4 fra la (7.15) e la (7.17) si puo scrivere
(3) (3)
I = J0 + 3 h6 + + r(3) h2r + O(h2r+2 )

dove
(2) (2)
(3) q 4 J 1 J0
J0 = ,
q4 1
7.3. APPLICAZIONE DELLA ESTRAPOLAZIONE ALLINTEGRAZIONE 173

(3)
con 3 , . . . , r(3) indipendenti da h.
Nella sua formulazione piu generale, la tecnica di estrapolazione consiste,
ssato lintero N < r, nel calcolare, mediante la formula trapezoidale gener-
alizzata, i valori
(1) (1) (1)
J0 , J1 , . . . , J N , (7.18)
corrispondenti ai passi h, h/q, . . . , h/qN (questa e la parte piu costosa del
metodo), quindi, a partire dai valori (7.18), si costruiscono nuove approssi-
mazioni di I in base allo schema
(k) (k)
(k+1) q 2k Ji+1 Ji
Ji = , k = 1, 2, . . . , N, (7.19)
q 2k 1
dove, per ciascun valore di k, lindice i assume i valori 0, 1, . . . , N k.
(k+1)
Dalle considerazioni precedenti si deduce che Ji presenta un errore
i 2(k+1)
dellordine di (h/q ) .
E importante rilevare inoltre che la conoscenza di due delle approssi-
mazioni (7.18), consente di stimare lerrore di entrambe, senza la necessita
di conoscere le derivate di f (x).
(1) (1)
Per esempio, supposto di aver calcolato J0 e J1 , dalle (7.13) e (7.14)
si ha
(1) (1)
I J0 + 1 h2 ,
(1) (1)
I J1 + 1 (h/q)2 .
(1) (1)
Evidentemente 1 h2 e 1 (h/q)2 forniscono stime dellerrore rispettiva-
(1) (1)
mente di J0 e di J1 , non appena si calcoli il valore di 1 . A tale scopo,
eliminando I fra le due relazioni, si ottiene
(1) (1)
(1) J J
1 0 2 1 .
h
q
h2

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 puo
essere impiegato in tutti quei casi in cui una grandezza T si possa approssi-
(1) (1)
mare con un valore 0 dipendente da un parametro h, e lerrore T 0 sia
sviluppabile in serie di potenze di h, cioe si abbia
(1) (1) (1)
T = 0 + 1 hr1 + 2 hr2 +
174 CAPITOLO 7. INTEGRAZIONE NUMERICA

(1) (1)
con 1 , 2 , . . ., non dipendenti da h e 0 < r1 < r2 < interi. La
(1)
costruzione di approssimazioni di T piu accurate di 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 proprieta 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
Z b
< r, s >=< s, r >= I(rs) = (x)r(x)s(x)dx. (7.20)
a

Si denisce quindi la classe dei polinomi ortogonali come linsieme


dei polinomi algebrici, a coecienti reali, ortogonali rispetto al prodotto
scalare (7.20), cioe

= {qi (x) | grado(qi ) = i; < qi , qj >= hi ij ; i, j = 0, 1, 2, ..} .

I numeri positivi hi 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
proprieta:

< p, qn >= 0 p n1 ; (7.21)


qn (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
Z b n
X
I(f ) = (x)f (x)dx ai f (xi ) = Jn (f ) ,
a i=0

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 Jn (f ) una for-
mula di quadratura gaussiana; allora i nodi x0 , x1 , . . . , xn sono gli zeri di
qn+1 (x) , i pesi sono positivi e dati da

ai = I(li2 ), i = 0, 1, . . . , n,

dove li (x) sono i polinomi fondamentali di Lagrange relativi ai detti nodi e il


grado di precisione e esattamente 2n + 1, essendo
f (2n+2) ()
En (f ) = Kn , Kn > 0 , ]a, b[ , (7.23)
(2n + 2)!
lerrore della formula.

Dimostrazione. Siano x0 , x1 , . . . , xn , gli zeri di qn+1 (x); relativamente a questi


punti si considerano i polinomi fondamentali di Lagrange (cfr. 6.2) di grado n

li (x) = (x x0 ) (x xi1 )(x xi+1 ) (x xn )/i

con i = (xi x0 ) (xi xi1 )(xi xi+1 ) (xi xn ), i = 0, 1, . . . , n, e le funzioni


fondamentali dellinterpolazione di Hermite (cfr. 6.3) di grado 2n + 1 di prima e
di seconda specie

h0i (x) = [1 2li (xi )(x xi )]li2 (x), i = 0, 1, . . . , n,

h1i (x) = (x xi )li2 (x), i = 0, 1, . . . , n.


Evidentemente qn+1 (x) e (x) = (x x0 ) (x xn ) dieriscono per una costante
moltiplicativa cn+1 , per cui si puo scrivere

qn+1 (x) = cn+1 (x) = cn+1 i (x xi )li (x) .

Pertanto, per quanto riguarda le funzioni fondamentali di Hermite di prima specie,


risulta
2l (xi )
I(h0i ) = I(li2 ) i I(qn+1 li ), i = 0, 1, . . . , n,
cn+1 i
avendosi i 6= 0 per la proprieta (7.22).
Daltra parte si ha I(qn+1 li ) =< qn+1 , li >= 0 per la (7.21), in quanto li (x) n ,
per cui
I(h0i ) = I(li2 ) , i = 0, 1, . . . , n. (7.24)
Per le funzioni di seconda specie risulta
1
I(h1i ) = I(qn+1 li ) = 0 , i = 0, 1, . . . , n. (7.25)
cn+1 i
176 CAPITOLO 7. INTEGRAZIONE NUMERICA

Ricordando che (cfr. Teorema 6.3.3)

n n
X X f (2n+2) () 2
f (x) = h0i (x)f (xi ) + h1i (x)f (xi ) + (x),
i=0 i=0
(2n + 2)!

con ]a, b[, e tenendo conto dei risultati (7.24) e (7.25) nonche della proprieta
additiva degli integrali, si ha

n
!
f (2n+2) () 2
I(li2 )f (xi )
X
I(f ) = +I .
i=0
(2n + 2)!

Poiche (x) 2 (x) non cambia segno nellintervallo di integrazione, nel secondo
termine a secondo membro puo applicarsi il teorema della media e scrivere
!
f (2n+2) () 2 f (2n+2) ()
I = I( 2 ), ]a, b[.
(2n + 2)! (2n + 2)!

Ponendo quindi
ai = I(li2 ), i = 0, 1, . . . , n,

Kn = I( 2 ), n = 0, 1, . . . ,

f (2n+2) ()
En (f ) = Kn ,
(2n + 2)!
si ha inne
n
X
I(f ) = ai f (xi ) + En (f )
i=0

dove ai > 0, i = 0, 1, . . . , n, Kn > 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 derivabilita,
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 piu 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 Kn



[1, 1] 1/ 1 x2 Chebyshev 1a specie /22n+1

[1, 1] 1 x2 Chebyshev 2a specie /22n+3
22n+3 [(n+1)!]4
[1, 1] 1 Legendre (2n+3)[(2n+2)!]2
2
[0, +[ ex Laguerre [(n + 1)!]
2
] , +[ ex Hermite (n + 1)! /2n+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 dicolta.
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 puo ricondursi allintervallo
1 x 1 con la trasformazione t = ba 2
x + b+a
2
e la funzione (x) puo
essere comunque introdotta. Risulta infatti
Z b Z 1
g(t)dt = (x)f (x)dx
a 1

ba
ove si assuma f (x) = 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 positivita dei pesi consente di dimostrare, sotto


ipotesi molto generali, la convergenza di Jn (f ).
Piu precisamente, nel caso di intervalli limitati [a, b] e per formule di grado
2n + 1, la semplice continuita di f (x) e condizione suciente anche

lim Jn (f ) = I(f ) .
n
178 CAPITOLO 7. INTEGRAZIONE NUMERICA

Pertanto lerrore En (f ) tende a zero per n anche nel caso che f (x) non
sia derivabile e quindi En (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) |
ex /x per x > x e se f (x) C 0 ([0, +[), allora per la formula di quadratura
di Gauss-Laguerre risulta

lim Jn (f ) = I(ex f ) .
n

7.5 Integrazione in piu dimensioni


Lapprossimazione di integrali multipli, della forma cioe
Z b1 Z b2 Z br
I(f ) = (x1 , . . . , xr )f (x1 , . . . , xr )dx1 . . . dxr
a1 a2 ar

con (x1 , . . . , xr ) 0 per xi [ai , bi ], i = 1, . . . , r, presenta dicolta e costi


computazionali assai piu elevati rispetto al caso monodimensionale.
Ci si limita qui, per semplicita, 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 Jk una formula di quadratura monodimensionale con k + 1 nodi xi
[a, b] e pesi ai , i = 0, 1, . . . , k, e Jn una con n + 1 nodi yj [c, d] e pesi bj ,
j = 0, 1, . . . , n.
In base al teorema di riduzione degli integrali doppi, risulta evidentemente
"Z #
Z b Z d Z b d
I(f ) = f (x, y)dxdy = f (x, y)dy dx
a c a c

Z n
bX X n
k X
bj f (x, yj )dx ai bj f (xi , yj ) (7.26)
a j=0 i=0 j=0

= Jk Jn (f ).

Jk Jn (f ) dicesi formula di cubatura e lerrore e

Ek,n (f ) = I(f ) Jk Jn (f ) .
7.5. INTEGRAZIONE IN PIU DIMENSIONI 179

Quindi, ad esempio, se J2 e la formula di quadratura di Simpson si ha

(b a)(d c)
J2 J2 (f ) = [f (x0 , y0 ) + 4f (x0 , y1 ) + f (x0 , y2 )
36
+4f (x1 , y0 ) + 16f (x1 , y1 ) + 4f (x1 , y2 ) + f (x2 , y0 )
+4f (x2 , y1 ) + f (x2 , y2 )] .

Se inoltre f (x, y) e sucientemente regolare si puo dimostrare che lerrore


e dato da
hk 4 4 f (x, y) 4
" #
4 f (x, y )
E2,2 (f ) = h +k
45 x4 y 4
]a, b[, y, y ]c, d[, e h = (b a)/2, k = (d c)/2.
con x, x
Formule di cubatura possono essere costruite anche direttamente. Per
esempio, considerati i punti Pr [a, b] [c, d], r = 0, 1, . . . , N , si cercano
formule del tipo
N
X
I(f ) JN (f ) = cr f (Pr ). (7.27)
r=0

I nodi Pr ed i pesi cr 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, cioe
in modo che sia
EN (x y ) = 0, 0 + g ,
dove EN (f ) = I(f ) JN (f ).
Si osservi tuttavia che se Jn e una formula di quadratura con grado di
precisione m, ossia se risulta
n
ai xi = I(x ),
X
Jn (f ) = = 0, 1, . . . , m,
i=0

allora, facendo riferimento, per semplicita, ad un dominio di integrazione


quadrato, si verica facilmente che
n
n X

ai aj xi xj = I(x y ),
X
Jn Jn (x y ) = 0 , m. (7.28)
i=0 j=0

La Jn Jn (f ), detta formula del prodotto cartesiano, e della forma (7.27) ove si


usino gli N + 1 = (n + 1)2 nodi Pij = (xi , xj ) con i pesi ai aj 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 J1 ha nodi e pesi

3
x0 = x1 = , a0 = a1 = 1
3
e grado di precisione m = 3.
Con [c, d] = [1, 1] la formula di cubatura J1 J1 ha N + 1 = 22 = 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 y con 0 , 3 ed e esplicitamente data da
Z 1 Z 1
I(f ) = f (x, y)dxdy
1 1
! ! !
3 3 3 3 3 3
f , +f , +f ,
3 3 3 3 3 3
!
3 3
+f , .
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 piu generali di quelle viste -
nora, potendosi utilizzare anche i valori di una o piu derivate come nellesempio
seguente.

Esempio 7.6.1 Si vogliono calcolare i pesi e i nodi della formula


Z 1 1 1
I(f ) = f (x)dx a0 f (0) + f (x1 ) + f (x2 ) + a1 f (1) = J(f )
0 6 6
in modo che sia massimo il grado di precisione.
7.6. COMPLEMENTI ED ESEMPI 181

Imponendo E(xr ) = I(xr ) J(xr ) = 0, r = 0, 1, 2, 3, si trova subito


a0 = 5/6, a1 = 1/6, ed inoltre si ha

x1 + x2 = 1/2
x21 + x22 = 1/6

da cui x1 = (3 3)/12 e x2 = (3 + 3)/12.
Poiche risulta E(x4 ) = 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 E2 (f ) = I(f )J2 (f ) della formula


di Simpson
Z 1 1 4 1
I(f ) = f (x)dx f (1) + f (0) + f (1) = J2 (f ) .
1 3 3 3
Ponendo f (x) = xr , si trova E2 (xr ) = 0, r = 0, 1, 2, 3, ed E2 (x4 ) = 4/15,
per cui il grado di precisione e m = 3.
Il nucleo di Peano e dato da
Z 1 4 1
G(t) = (x t)3 dx (0 t)3 (1 t)3
t 3 3
1 4 2 3 1 2 1
= t + t + t per 1 t < 0;
4 3 2 12

Z 1 1
G(t) = (x t)3 dx (1 t)3
t 3
1 4 2 3 1 2 1
= t t + t per 0 t 1.
4 3 2 12
Poiche G(t) ha segno costante in ] 1, 1[, dalla (7.7) si ricava
1 (4)
E2 (f ) = f (), ] 1, 1[.
90
182 CAPITOLO 7. INTEGRAZIONE NUMERICA

Esempio 7.6.3 Si consideri


Z 1 dx
I(f ) = ,
0 1+x
il cui valore esatto e I(f ) = log 2 = 0.69314718 . . ..
(1) (1) (1)
Posto, nella (7.18), N = 2, si calcolano, J0 , J1 e J2 con h = 1/2
e q = 2. Applicando la (7.19), per k = 1, 2, si ottengono i seguenti valori
estrapolati:
(1)
J0 = 0.70833333 . . .
(1) (2)
J1 = 0.69702380 . . . J0 = 0.69325396 . . .
(1) (2) (3)
J2 = 0.69412185 . . . J1 = 0.69315453 . . . J0 = 0.69314790 . . . .
(2) (3)
Si noti che i valori J0 e J0 sono piu accurati di quelli aventi lindice
(2)
superiore piu piccolo (in particolare J0 e una approssimazione migliore di
(1)
J2 che ha un costo computazionale maggiore).
(1) (1)
Come osservato in 7.3, una stima dellerrore di J1 basata sui valori J0
(1)
e J1 puo ottenersi calcolando
(1) (1)
(1) J J0
1 12 0.0603175
h h2 /4

da cui
2
(1) (1) h
E(f ) = I J1 1 0.00377.
4
(1)
In modo analogo si puo ottenere una stima dellerrore di J2 utilizzando
(1) (1) (1) (1)
la coppia J2 , J0 oppure J2 , J1 .

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
Z 1 log(x + 1)
I(f ) = q dx
0 x(x + 1)

in modo che risulti | En | 105 .


7.6. COMPLEMENTI ED ESEMPI 183

Si trasforma lintervallo ]0, 1[ nellintervallo ] 1, 1[ con la sostituzione


t = 2x 1. Si ha quindi
Z 1 log(x + 1)
I(f ) = q dx
0 x(x + 1)
s
1 t+3 1t 1
Z
= log dt
1 2 3 + t 1 t2
s
1 Z 1 t+3 1

= log dt , ] 1, 1[ ,
3 + 1 2 1 t2
dove si e potuto applicare il teorema della media in quanto le funzioni g(t)
q =
t+3
log 2 e (t) = 1t2 non cambiano segno in ] 1, 1[. Posto h( ) = 1
1
3+
,
si puo considerare una formula di quadratura di Gauss-Chebyshev di prima
specie e scrivere

g (2n+2) ()
" #
I(f ) = h( )I(g) = h( ) Jn (g) + Kn
(2n + 2)!

con Kn = /22n+1 .
Pertanto I(f ) h( )Jn (g) e inoltre, avendosi 0 h( ) 1 e | g (k) (t) |
(k1)!
2k
, k = 0, 1, . . ., si puo vericare che, per lerrore, risulta

g (2n+2) ()
| En |= Kn h( ) 6 106

(2n + 2)!

con n = 3, ossia con 4 nodi.

Nellintegrazione gaussiana la scelta del peso, e quindi della formula, puo


risultare determinante ai ni dellerrore. Si consideri, ad esempio, lintegrale
Z 1
I(f ) = x2 1 x2 dx
1

il cui valore esatto e /8 = 0.39269908 . . ..


Con una formula a due nodi di Gauss-Chebyshev di seconda specie ((x) =
1 x2 ), si ottiene

I(f ) = I 1 x2 x2 = J1 (x2 ) .
184 CAPITOLO 7. INTEGRAZIONE NUMERICA

Utilizzando una formula a tre nodi di Gauss-Chebyshev di prima specie


((x) = 1/ 1 x2 ), risulta
!
1
2 2

2 2

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

I(f ) J3 x2 1 x2 = 0.40405278 . . . ,

con un errore E3 (f ) 1.1 102 .

Esempio 7.6.5 Si vogliono calcolare i pesi della formula


Z b Z b Z b
f (x, y, z)dxdydz c0 f (a, a, a) + c1 f (b, 0, 0)
a a a
+c2 f (0, b, 0) + c3 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
c0 + c1 + c2 + c3 = (b a)3
c0 a + c1 b = 21 (b a)3 (b + a)
c0 a + c2 b = 21 (b a)3 (b + a)
c0 a + c3 b = 21 (b a)3 (b + a)

che ha soluzione solo se b 6= 3a; in tal caso si ottiene


(ba)3 (b3a)
c0 = 2(b3a)
,
(ba)4
ci = 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 singolarita della funzione integranda, la presenza di


punti singolari crea dicolta nella scelta dei nodi e puo compromettere la
convergenza della formula.
Talvolta la singolarita e facilmente rimuovibile con una semplice sosti-
tuzione come nellintegrale
Z 1 dx
I(f ) = , 2,
0 x1/
che, con la posizione x = t , diviene
Z 1
I(f ) = t2 dt .
0

In altri casi si puo ricorrere ad una formula gaussiana opportunamente


pesata: lintegrale Z 1
ex
I(f ) = dx
1 1x
puo scriversi !
1
I(f ) = I g(x)
1 x2

con g(x) = ex 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


Z 1 ex
I(f ) = dx .
0 1x
Con una integrazione per parti, scegliendo ex come fattore nito, si
ottiene
I(f ) = 2 2I(g) (7.29)

dove si e posto g(x) = ex 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), puo essere di-
coltosa. Per ovviare a questo inconveniente si puo procedere a due ulteriori
integrazioni per parti, applicate a I(g), portando la (7.29) nella forma
18 8
I(f ) = I(s) ,
15 15
186 CAPITOLO 7. INTEGRAZIONE NUMERICA

q
dove s(x) = ex (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 104 .

Gli integrali della forma,


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

Esempio 7.6.7 Lintegrale


Z 1 ex
I(f ) = dx
0 x
con 0 < < 1 puo scriversi
I(f ) = I(r) + I(s)
con r(x) = (ex 1)/x e s(x) = 1/x .
Ponendo r(0) = 0, risulta, per prolungamento, r(x) C 0 ([0, 1]) in quanto
limx0 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 regolarita conviene porre
ex 1 x 1 1
r(x) = , s(x) = + 1 ,
x x x
dove al numeratore di r(x) si e sottratto un ulteriore termine dello sviluppo
in serie di ex .
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 Z


I(f ) = sin(x2 )dx
0
q
il cui valore esatto e 12 2 = 0.626657 . . ..
Con evidenti passaggi puo scriversi
1 Z + x2 1
I(f ) = e g(x)dx
= Jn (g)
2 2
2
dove g(x) = ex sin(x2 ) e Jn e una formula di quadratura di Gauss-Hermite.
Eseguendo i calcoli, con n = 4, si trova
1
J4 (g) = 0.626868 . . . .
2

Alternativamente si puo eettuare un troncamento dellintervallo non


limitato, avendo cura di stimare opportunamente la parte tralasciata, come
nellesempio che segue.

Esempio 7.6.9 Si consideri


Z cos x
I(f ) = dx
0 cosh x
il cui valore esatto e 2 sech 2 = 0.6260201 . . ..
Puo scriversi
I(f ) = I (1) (f ) + I (2) (f )
con
(1)
Z b cos x (2)
Z cos x
I (f ) = dx, I (f ) = dx,
0 cosh x b cosh x
e si ha
Z dx Z
ex Z
| I (2) (f ) | =2 dx 2 ex dx = 2eb .
b cosh x b e2x + 1 b

Quindi, ad esempio, con b = 10, lintegrale proprio I (1) (f ) approssima I(f )


con un errore assoluto non superiore a 2e10 104 .
188 CAPITOLO 7. INTEGRAZIONE NUMERICA

Si osservi, come si constata facilmente, che per x > 3, risulta


x cos x ex


e < ;

cosh x
x2

quindi, per il Teorema 7.4.2 con = 2 e x = 3, la formula di Gauss-Laguerre


cos x
Jn (f ) con f (x) = ex cosh x
e convergente allintegrale dellesempio precedente.
Avendosi limn (Jn+1 (f ) Jn (f )) = 0, il numero | Jn+1 (f ) Jn (f ) | puo
assumersi come una stima del modulo dellerrore assoluto che si commette
approssimando I(ex f ) con Jn+1 (f ).
Applicando la formula con n = 4 e n = 5, si trova:
J5 (f ) = 0.6202592 . . . ,
| J5 (f ) J4 (f ) | 102 .
Lerrore eettivo risulta
| I(ex f ) J6 (f ) | 5.8 103 .

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 hi , i 0, sono quelle date nella
denizione di classe di polinomi ortogonali e riferite al prodotto scalare
(7.20).
Polinomi di Chebyshev di 1a specie (h0 = , hi = /2, i > 0).
Ti+1 (x) = 2xTi (x) Ti1 (x), i = 1, 2, . . . ; T0 (x) = 1, T1 (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.
(2i + 1)
xi = cos , ai = , i = 0, 1, . . . , n.
2(n + 1) n+1
7.6. COMPLEMENTI ED ESEMPI 189

Polinomi di Chebyshev di 2a specie (hi = /2).

Ui+1 (x) = 2xUi (x) Ui1 (x), i = 1, 2, . . . ; U0 (x) = 1, U1 (x) = 2x.

n xi ai
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 (hi = 2/(2i + 1)).

(i + 1)Pi+1 (x) = (2i + 1)xPi (x) iPi1 (x), i = 1, 2, . . . ;


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

n xi ai
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 (hi = 1).

(i + 1)Li+1 (x) = (2i + 1 x)Li (x) iLi1 (x), i = 1, 2, . . . ;


L0 (x) = 1, L1 (x) = x + 1.

n xi ai
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 (hi = 2i (i!) ).

Hi+1 (x) = 2xHi (x) 2iHi1 (x), i = 1, 2, . . . ; H0 (x) = 1, H1 (x) = 2x.


7.6. COMPLEMENTI ED ESEMPI 191

n xi ai
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] IRIRm , 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(t0 ) = y0 ,

dove f (t, y) : [a, b]IRm IRm , t0 [a, b] e y0 IRm .


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 < +, kyk < +}

ed esista una costante L tale che

kf (t, y) f (t, y )k Lky y k (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 y0 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, piu restrittiva, che esista e sia
continua la matrice jacobiana J(t, y) : D IRmm di f , denita da

f
J(t, y) = :
y

in tal caso nella (8.2) puo assumersi L = sup(t,y)D kf /yk.


Talvolta il problema di Cauchy e dato nella forma autonoma

y (t) = f (y),
(8.3)
y(t0 ) = y0 .

Cio non lede la generalita in quanto ogni problema (8.1) puo ricondursi
alla forma (8.3) con la sostituzione z1 (t) = y(t), z2 (t) = t, aggiungendo
lequazione z2 (t) = 1 e completando le condizioni iniziali con z2 (t0 ) = t0 ;
ponendo z T = (z1T , z2 ), g T = (f (z)T , 1), z0T = (y0T , t0 ) risulta infatti

z (t) = g(z) ,
z(t0 ) = z0 ,

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(t0 ) = 1 ,
y (t0 ) = 2 ,
..
.
y (r1) (t0 ) = r ;
8.1. INTRODUZIONE 195

se si introduce il vettore ausiliario z IRmr , z T = (z1T , z2T , . . . , zrT ), denito da

z1 = y ,
z2 = z1 = y ,
z3 = z2 = y ,
..
.

zr = zr1 = y (r1) ,

e si pone zr = y (r) = f (t, z1 , z2 , . . . , zr ) e z(t0 )T = (1T , 2T , . . . , rT ) = z0T , il


precedente problema puo scriversi come

z (t) = g(t, z) ,
z(t0 ) = z0 ,

con g T = (z2T , z3T , . . . , zrT , 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] IRmm e (t) : [a, b] IRm ; si dice lineare a coecienti costanti
se K non dipende da t: con cio il problema assume la forma

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


(8.4)
y(t0 ) = y0 .

Nel caso importante che K sia diagonalizzabile, la soluzione generale


di (8.4) e
m
di x(i) ei t + (t)
X
y(t) = (8.5)
i=1

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 di ,
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 fara riferimento ad un
sottoinsieme discreto dellintervallo [a, b], t0 = a < t1 < < tN = b,
ottenuto con una progressione aritmetica di ragione h > 0, denita da tn =
t0 + 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 yn una ap-


prossimazione di y(tn ) 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(tn ) e indicata
con yn .

8.2 Metodi a un passo


8.2.1 Generalita
I metodi a un passo sono della forma generale
yn+1 = yn + h(h, tn , yn ), n = 0, 1, . . . , (8.6)
in cui la funzione dipende dalla funzione f del problema (8.1).
Posto y0 = y(t0 ), la (8.6) serve a calcolare yn+1 conoscendo yn .
Se dipende anche da yn+1 il metodo si dice implicito e, se non e lineare,
yn+1 si calcola con una tecnica iterativa (cfr. (8.36)). Se non dipende da
yn+1 il metodo e detto esplicito e la sua applicazione e immediata.
Due semplici metodi sono i seguenti:
la formula trapezoidale
h
yn+1 = yn + [f (tn , yn ) + f (tn+1 , yn+1 )] (implicito);
2
il metodo di Eulero
yn+1 = yn + hf (tn , yn ) (esplicito).

Si introducono ora alcune denizioni.

Denizione 8.2.1 Si dice errore globale di discretizzazione nel punto tn+1 , la


dierenza en+1 = y(tn+1 ) yn+1 .

Denizione 8.2.2 Dicesi errore locale di troncamento la quantita n+1 denita


da
n+1 = y(tn+1 ) un+1 (8.7)
dove
un+1 = y(tn ) + h(h, tn , y(tn )) .
8.2. METODI A UN PASSO 197

Lerrore n+1 e quindi lerrore introdotto dal metodo al passo da tn a tn+1


ed e uguale alla dierenza fra il valore esatto y(tn+1 ) e quello teorico un+1
che si ottiene usando il metodo (8.6) col valore esatto y(tn ) al posto di yn .
Si consideri un passaggio al limite facendo tendere h a zero e n allinnito
in modo che t0 + nh resti sso e si indichi tale operazione con lim h0 .
t=tn

Denizione 8.2.3 Un metodo (8.6) si dice coerente se vale la condizione


n+1
lim =0.
h0
t=tn+1
h

Dalla (8.7) segue che la coerenza implica


(0, t, y(t)) = f (t, y(t)) . (8.8)
Si denisce ordine del metodo il piu grande intero positivo p per cui risulta

n+1 = O hp+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
yn+1 = y(tn+1 ) ,
t=tn+1

e quindi
lim en+1 = 0 .
h0
t=tn+1

Occorre considerare, inne, gli errori che nascono dagli arrotondamenti.


La dierenza en+1 = yn+1 yn+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 en+1 = y(tn+1 ) yn+1 lerrore che si accumula al
passo tn+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 h0 , < a t b < + , kyk < +}

e inoltre soddis la seguente condizione di Lipschitz

k(h, t, y ) (h, t, y)k M ky yk

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
s
X
yn+1 = yn + h bi ki (8.9)
i=1

dove s
X
ki = f (tn + ci h, yn + h aij kj ), i = 1, 2, . . . , s. (8.10)
j=1

I parametri reali bi , ci , aij 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
s
X
(h, tn , yn ) = bi ki . (8.11)
i=1

Si osservi che, dalla convergenza del metodo, segue

lim ki = f (t, y(t)),


h0
i = 1, 2, . . . , s,
t=tn+1

per cui, tenuto conto della (8.11), la condizione di coerenza (8.8) equivale a
s
X
bi = 1 .
i=1
8.2. METODI A UN PASSO 199

Per convenzione, comunemente adottata, si pone


s
X
ci = aij , i = 1, 2, . . . , s . (8.12)
j=1

Si ottiene una utile rappresentazione compatta di un metodo di Runge-


Kutta per mezzo della seguente tavola di Butcher
c1 a11 a1s
c A
= .
bT cs as1 ass
b1 b s
Si distinguono due classi di metodi, riconoscibili dalla forma della matrice A:
metodi espliciti se aij = 0, per ogni coppia i, j con 1 i j s;
metodi impliciti se aij 6= 0 per qualche coppia i, j con i j.

Nel primo caso le (8.10) hanno la forma


i1
X
ki = f (tn + ci h, yn + h aij kj ), i = 1, 2, . . . , s,
j=1

e quindi ciascun vettore ki si puo calcolare esplicitamente in funzione dei


precedenti kj , j = 1, 2, . . . , i 1.
Nel secondo caso, introducendo il vettore k T = (k1T , . . . , ksT ) IRms , le (8.10)
si possono scrivere in forma implicita

k = (k) (8.13)

con i (k) = f (tn + ci h, yn + h sj=1 aij kj ), i = 1, 2, . . . , s.


P

Il sistema (8.13) e lineare o non lineare a seconda che lo sia f (t, y) rispetto
a y e puo essere risolto con un algoritmo specico.
Una sottoclasse dei metodi impliciti e costituita dai metodi semi-impliciti
nei quali e aij = 0, 1 i < j s, e aii 6= 0 per almeno un i. In tal caso si ha
i1
X
ki = f (tn + ci h, yn + h aij kj + haii ki ), i = 1, 2, . . . s,
j=1

e quindi le (8.10) possono essere risolte singolarmente con un costo com-


putazionale piu 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 = hp+1

dove e una funzione dipendente in modo non semplice da yn , c, b e dagli


elementi di A.
Di seguito si riportano alcuni metodi espliciti, con s 4, scelti fra i piu
noti.
Metodo di Eulero, p = 1:
0 0
. (8.14)
1

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 . (8.15)
1 0 0 1 0
1/6 1/3 1/3 1/6

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
s
X
yn+1 yn = h bi f (tn + ci h) .
i=1

Il secondo membro puo intendersi come una formula di quadratura, con pesi
bi e nodi ci , che approssima lintegrale
Z tn+1
f (t)dt ;
tn

infatti si ha
Z tn+1 Z 1
yn+1 yn y(tn+1 ) y(tn ) = f (t)dt = h f (tn + ch)dc .
tn 0

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
, (8.16)
1
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 , (8.17)
1/2 1/2

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 , (8.18)
1/2 1/2

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), gia riportato in 8.2.1
come formula trapezoidale, e il metodo (8.18).
E da rilevare che i metodi impliciti hanno, in genere, a parita 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 Stabilita 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) = det , con d costante arbitraria.
Poiche limt y(t) = 0, e naturale richiedere che la soluzione numerica
abbia un comportamento analogo a quello della soluzione continua, cioe che
sia, per ogni n,
| yn+1 | c | yn | (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 proprieta riguarda la sensibilita agli errori di uno schema discreto,


ovvero la sua stabilita numerica.
Per giungere ad una condizione che garantisca la (8.20) si faccia riferi-
mento, ad esempio, al piu elementare dei metodi di Runge-Kutta, il metodo
di Eulero (8.14), il quale puo scriversi

yn+1 = yn + hf (tn , yn ) . (8.21)

Questo metodo, applicato al problema (8.19), fornisce

yn+1 = (q + 1)yn

dove si e posto
q = h .
Pertanto la (8.20) sara 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, cioe applicando un metodo (8.9)-
(8.10) al problema (8.19), si ottiene unequazione della forma

yn+1 = R(q)yn . (8.22)

R(q) e detta funzione di stabilita 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 stabilita soddisfa la condizione (8.23).

Denizione 8.2.6 Linsieme del piano complesso

SA = {q C
/ | | R(q) |< 1}

si chiama regione di assoluta stabilita del metodo.


8.2. METODI A UN PASSO 205

Si puo dimostrare che, introdotto il vettore u = (1, 1, . . . , 1)T IRs , la


funzione di stabilita di un metodo di Runge-Kutta e data da
det(I qA + qubT )
R(q) = . (8.24)
det(I qA)
A titolo di verica qui si ricavano la (8.22) e (8.24) per la formula trape-
zoidale
h
yn+1 = yn + [f (yn ) + f (yn+1 )] :
2
applicandola al problema test (8.19) si ha
1 + q/2
yn+1 = yn .
1 q/2
Facendo riferimento alla formula espressa nella forma (8.17), la stessa
1+q/2
funzione di stabilita R(q) = 1q/2 si puo ottenere direttamente dalla (8.24)
ponendo
! ! ! !
1 0 0 0 1 1/2
I= , A= , u= , b= .
0 1 1/2 1/2 1 1/2

Nella (8.24) det(I qA + qubT ) 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 SA e simmetrica rispetto allasse
reale.
Si vede subito che per la formula trapezoidale la regione SA e lintero
semipiano Re(q) < 0.
Si noti che per la soluzione esatta del problema test si ha
y(tn+1 ) = detn+1 = y(tn )eq ,
mentre dalla (8.22), per denizione di errore locale di troncamento, si ottiene
y(tn+1 ) = R(q)y(tn ) + n+1 ,
da cui, confrontando con la precedente e supponendo n+1 = O(hp+1 ), si ha
eq R(q) = O(hp+1 ) . (8.25)
Dalla (8.25) segue che, per Re(q) > 0 ed h sucientemente piccolo, si ha
| R(q) |> 1, cioe q 6 SA e quindi lintersezione di SA 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 A0 -stabile se

SA {q | Re(q) < 0, Im(q) = 0} ,

cioe se SA contiene lintero semiasse reale negativo.

Denizione 8.2.8 Un metodo si dice A-stabile se

SA {q | Re(q) < 0} .

In un metodo A-stabile, quindi, la condizione di stabilita | R(q) |< 1 e


garantita indipendentemente dal passo h purche sia Re(q) < 0. Inoltre la
A-stabilita implica la A0 -stabilita.
Denizione 8.2.9 Un metodo si dice L-stabile se e A-stabile e se

lim | R(q) |= 0 .
Re(q)

Si noti, per esempio, che la formula trapezoidale e A-stabile, ma, essendo


limRe(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 limRe(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 stabilita 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
qi = hi , i = 1, 2, . . . , m,
lequivalenza del sistema (8.26) ad un sistema di m equazioni indipendenti
zi = i zi , 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 qi C
/ , i = 1, 2, . . . , m,

se
qi SA , i = 1, 2, . . . , m, (8.28)
dove SA e la regione di assoluta stabilita denita nel caso scalare (cfr. De-
nizione 8.2.6).

Si puo dimostare che nei metodi espliciti con p = s, cioe (cfr. Tavola 8.1)
per s = 1, 2, 3, 4, si ha
1 2 1
R(q) = 1 + q + q + + qs . (8.29)
2! s!
Nella Tavola 8.2 si riportano il valore minimo di Re(q) e il valore massimo
di | Im(q) | per le regioni di assoluta stabilita 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 SA per i metodi espliciti con p = s.

Le regioni SA di assoluta stabilita 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 eq R(q), e quindi R(q) e una funzione
razionale che approssima lesponenziale eq . Si comprende quindi come possa
essere interessante confrontare le funzioni di stabilita R(q) dei vari metodi
di Runge-Kutta con le cosiddette approssimazioni razionali di Pade della
funzione esponenziale. Esse sono date da
Pk (q)
Rjk (q) = ,
Qj (q)

dove
k
X k!(j + k i)! i
Pk (q) = q ,
i=0 (k i)!(j + k)!i!
208 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

3
S=4

S=3

2
S=2

S=1
1

3
4 3 2 1 0 1 2

Figura 8.1: Regioni SA dei metodi di Runge Kutta espliciti con s = 1, 2, 3, 4.

j
j!(j + k i)!
(q)i .
X
Qj (q) =
i=0 (j i)!(j + k)!i!

Rjk (q) e lunica funzione razionale con numeratore di grado k e denomi-


natore di grado j tale che

eq = Rjk (q) + O(q k+j+1 ) (8.30)

quando q 0. Si riportano nella Tavola 8.3 le espressioni di Rjk (q) con


0 k, j 3.

k=0 k=1 k=2 k=3


j=0 1 1+q 1 + q + 12 q 2 1 + q + 12 q 2 + 16 q 3

1 1+ 21 q 1+ 23 q+ 61 q 2 1+ 34 q+ 14 q 2 + 24
1 3
q
j=1 1q 1 12 q 1 31 q 1
1 4 q

1 1+ 13 q 1+ 21 q+ 12
1 2
q 1+ 35 q+ 20
3 2
q + 601 3
q
j=2 1q+ 21 q 2 1 32 q+ 16 q 2 1 2
1 12 q+ 12 q 1 2
1 25 q+ 20 q

1 1+ 14 q 1+ 25 q+ 20
1 2
q 1+ 12 q+ 10
1 2 1 3
q + 120 q
j=3 1q+ 12 q 2 61 q 3 1 4 q+ 41 q 2 24
3 1 3
q 3 3 2
1 5 q+ 20 q 601 3
q 1 1 2 1 3
1 2 q+ 10 q 120 q

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 stabilta. Per esempio, dalla Tavola 8.3 si vede che le approssi-
mazioni R0k (q), k = 1, 2, 3, coincidono con le funzioni di stabilita 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 Rjk (q) di Pade si dice:


A0 -accettabile se | Rjk (q) |< 1 quando Re(q) < 0 e Im(q) = 0;
A-accettabile se | Rjk (q) |< 1 quando Re(q) < 0;
L-accettabile se e A-accettabile e limRe(q) | Rjk (q) |= 0.

Evidentemente Rjk (q) non puo 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 Rjk (q) sono A-accettabili se e


solo se j 2 k j.

Ne segue che se j 2 k < j, Rjk (q) sono anche L-accettabili.


Vale poi il seguente teorema.

Teorema 8.2.4 Rjk (q) e A0 -accettabile se e solo se k j.

Se per un metodo risulta R(q) = Rjk (q), con k j, allora esso sara A0 -
stabile, A-stabile oppure L-stabile a seconda che Rjk (q) sia A0 -accettabile,
A-accettabile o L-accettabile.
Inne si possono dimostrare le proposizioni che seguono, le quali, per
semplicita, si sono riunite in un unico teorema:

Teorema 8.2.5 Risulta:

R(q) = Rss (q) per i metodi di Gauss-Legendre a s stadi;


R(q) = Rss1 (q) per i metodi di Radau IA e Radau IIA a s stadi;
s1
R(q) = Rs1 (q) per i metodi di Lobatto IIIA e Lobatto IIIB a s
stadi;
R(q) = Rss2 (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
semplicita, al caso di un problema lineare, siano e 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) i t


i=1 di x e , che prende il nome
P

di soluzione transitoria, contiene la componente e t che tende a zero per


t , variando rapidamente in T [t0 , t0 + | |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 [t0 , t0 + | |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 SA limitata, il rispetto della condizione
di stabilita (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), cioe 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 104 ; 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 stabilita 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 t0 = 0, il termine della soluzione relativo a
8.3. METODI A PIU PASSI 211

tende rapidamente a zero, mentre quello relativo a sara prossimo a


zero per un valore t nettamente maggiore; sia esso t | |1 = 10. Oc-
corrono percio = 10/h 3600 passi per approssimare la soluzione y(t)
sullintrevallo [t0 , t ]. Poiche ad ogni passo si eettuano s = 4 valutazioni
della funzione Ky, il costo computazionale risulta elevato e puo 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 parita di ordine, con 100 passi si ottiene
il risultato voluto.

8.3 Metodi a piu passi


8.3.1 Equazioni alle dierenze
Si consideri lequazione
k
X
j yn+j = bn , n = 0, 1, . . . , (8.31)
j=0

dove j sono costanti scalari e bn un vettore di IRm 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 yn di IRm . Sia yn una
sua soluzione particolare e zn la soluzione generale dellequazione omogenea
associata
k
X
j yn+j = 0 , n = 0, 1, . . . , (8.32)
j=0

allora la soluzione generale della (8.31) e data da

yn = zn + yn .

Per sostituzione si trova che zn = dn , d IRm , e una soluzione della (8.32)


se e radice del polinomio caratteristico
k
j j .
X
() =
j=0
212 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Se () ha k radici distinte 1 , 2 , . . . , k , linsieme {n1 , n2 , . . . , nk } forma


un sistema fondamentale di soluzioni e la soluzione generale della (8.32) e
k
di ni
X
zn = (8.33)
i=1

essendo di vettori arbitrari di IRm . Se una radice, ad esempio j , ha molteplicita


e le rimanenti sono tutte distinte, linsieme

{n1 , . . . , nj1 , nj , nnj , n2 nj , . . . , n1 nj , nj+1 , . . . , nk+1 }

forma ancora un sistema fondamentale di soluzioni e si ha


j1 j+1 k
di ni + di nij nj + di ni+1 .
X X X
zn = (8.34)
i=1 i=j i=j+

E immediata lestensione al caso generale che () abbia r radici distinte i ,


i = 1, 2, . . . , r, ciascuna con molteplicita i con ri=1 i = k.
P

Si indichi con E loperatore di avanzamento denito da

Eyn = yn+1 ;

ammettendo che loperatore E sia lineare, cioe risulti E(yn + yn+1 ) =


Eyn + Eyn+1 , e convenendo di porre E 2 yn = E(Eyn ), la (8.31) puo for-
malmente scriversi
(E)yn = bn .

8.3.2 Metodi lineari


Un metodo lineare a piu passi, o a k passi, con k 1, per approssimare
la soluzione del problema (8.1) ha la struttura seguente
k
X k
X
j yn+j = h j f (tn+j , yn+j ) , n = 0, 1, . . . , (8.35)
j=0 j=0

cioe ha la forma di una equazione alle dierenze, lineare rispetto a yn+j e


f (tn+j , yn+j ), j = 0, 1, . . . , k.
I coecienti j e j sono costanti reali e si ammette che sia

| 0 | + | 0 |6= 0 , k = 1 .
8.3. METODI A PIU PASSI 213

Per ogni n, la (8.35) fornisce il vettore yn+k in funzione dei k vettori precedenti
yn+k1 , yn+k2 , . . . , yn .
Si suppongono noti (dati o calcolati) i k vettori iniziali y0 , y1 , . . . , yk1 .
Se k 6= 0 il metodo si dice implicito: posto
k1
X k1
X
w= j yn+j + h j f (tn+j , yn+j ) ,
j=0 j=0

si calcola, per n = 0, 1, . . ., una approssimazione z della soluzione dellequa-


zione
z = hk f (tn+k , z) + w (8.36)
e si assume quindi yn+k = z . Se f (t, y) e lineare rispetto a y la (8.36) si
riduce ad un sistema lineare; in caso contrario si puo utilizzare, ad esempio,
il seguente procedimento iterativo

z (r+1) = hk f (tn+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 puo porre L = sup(t,z)D kf /zk.
Se k = 0 il metodo si dice esplicito e il calcolo di yn+k e diretto.
Al metodo (8.35) sono associati i seguenti due polinomi, detti primo e
secondo polinomio caratteristico,
k k
j
j j .
X X
() = j , () =
j=0 j=0

Convenendo di porre

fn+j = f (tn+j , yn+j ) ,

la (8.35) puo formalmente scriversi

(E)yn = h(E)fn .
214 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Denizione 8.3.1 Dicesi errore locale di troncamento di un metodo a piu


passi la quantita n+k denita da
k
X k
X
n+k = j y(tn+j ) h j f (tn+j , y(tn+j )) . (8.37)
j=0 j=0

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 piu passi la condizione di coerenza e data da
n+k
lim =0, (8.38)
h0
t=tn+k
h

e lordine e il piu grande intero p per cui risulta

n+k = O(hp+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 yn+k nel punto tn+k ).
In generale i vettori y1 , . . . , yk1 dipendono da h e si dice che formano un
insieme compatibile di vettori iniziali se vale la proprieta

lim yi = y0 , i = 1, 2, . . . , k 1.
h0

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 yn+k = y(tn+k ) ,


h0
t=tn+k

per ogni insieme compatibile di vettori iniziali.

Come gia osservato per i metodi ad un passo, anche per questi metodi, la
riduzione di h su un dato intervallo puo 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 PIU PASSI 215

Nellipotesi che y(t) C (]a, b[), sviluppando il secondo membro della (8.37)
si puo scrivere formalmente

n+k = c0 y(tn ) + c1 y (tn )h + c2 y (tn )h2 + + cr y (r) (tn )hr + ,

dove le ci , i = 0, 1, . . ., sono costanti date da


k
X
c0 = j = (1) ,
j=0

k
(jj j ) = (1) (1) ,
X
c1 = (8.39)
j=0

k
!
1 r 1
j r1 j
X
cr = j j , r = 2, 3, . . . .
j=0 r! (r 1)!

Ne segue che per un metodo di ordine p deve essere c0 = c1 = = cp = 0,


cp+1 6= 0; quindi risulta

n+k = cp+1 y (p+1) (tn )hp+1 + O(hp+2 ) , (8.40)

dove cp+1 y (p+1) (tn )hp+1 si dice parte principale di n+k mentre cp+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 piu passi e coerente se e solo se

(1) = 0, (1) = (1) . (8.41)

Lapplicazione della (8.35) al problema test

y = 0 , y(t0 ) = y0 , (8.42)

la cui soluzione e y(t) = y0 , da luogo allequazione lineare omogenea alle


dierenze
k
X
j yn+j = 0 (8.43)
j=0

il cui polinomio caratteristico coincide con il primo polinomio caratteris-


tico () del metodo stesso. La soluzione generale yn 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 puo 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 puo dimostrare il seguente teorema.
Teorema 8.3.2 Un metodo lineare a piu 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 c0 = c1 = = c2k = 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 piu 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 c2 = 1/2), mentre per k = 2 risulta
h 5
yn+2 yn+1 = (3fn+1 fn ) , c3 = .
2 12
Se k 6= 0 si ha la sottoclasse dei metodi impliciti di Adams-Moulton; per
k = 1 si ha la formula trapezoidale (costante di errore c3 = 1/12), per
k = 2 si ottiene
h 1
yn+2 yn+1 = (5fn+2 + 8fn+1 fn ) , c4 = .
12 24
8.3. METODI A PIU 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
1
c2 = ,
yn+1 yn = hfn+1 , (8.45)
2
4 1 2 2
yn+2 yn+1 + yn = h fn+2 , c3 = ,
3 3 3 3
18 9 2 6 3
yn+3 yn+2 + yn+1 yn = h fn+3 , c4 = .
11 11 11 11 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
1
yn+2 yn = 2hfn+1 , c3 = . (8.46)
3
Se invece k 6= 0 si hanno i metodi generalizzati di Milne-Simpson; in parti-
colare per k = 2 si ha la regola di Simpson
h 1
yn+2 yn = (fn+2 + 4fn+1 + fn ) , c5 = . (8.47)
3 90
I metodi di Newton-Cotes hanno () = k 1; con k = 4 e k = 0 si ha,
per esempio,
4 28
yn+4 yn = h(2fn+3 fn+2 + 2fn+1 ) , c5 = . (8.48)
3 90

8.3.3 Metodi a piu passi: assoluta stabilita


Si e visto che la coerenza e la zero-stabilita garantiscono la convergenza di
un metodo lineare (cfr. Teorema 8.3.2), ma, essendo la convergenza una pro-
prieta limite per h 0, puo accadere che un metodo convergente, usato con
un ssato passo h > 0, anche se piccolo, produca errori globali relativamente
grandi.
Cio 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 stabilita 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
X
(j qj )yn+j = 0 . (8.49)
j=0

Alla (8.49) e associato il polinomio caratteristico, detto polinomio di stabilita


,
(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
k
di ni (q) ,
X
yn = n = 0, 1, . . . , (8.51)
i=1

dove di , i = 1, 2, . . . , k, sono costanti arbitrarie.


Daltra parte, ponendo nella (8.49) il valore esatto y(tn+j ) al posto di
yn+j , per denizione di errore di troncamento locale (vedi la (8.37)) si ha
k
X
(j qj )y(tn+j ) = n+k ;
j=0

sottraendo membro a membro da questa equazione la (8.49) si ottiene


k
X
(j qj )en+j = n+k
j=0

che puo ritenersi un caso perturbato della (8.49). Ne segue che lerrore globale
di discretizzazione en = y(tn ) yn ha un andamento analogo a quello di yn
e si puo quindi aermare che en 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 stabilita (q, ) verif-

icano la condizione (8.52).


Denizione 8.3.5 Linsieme del piano complesso
SA = {q C
/ | | (q) |< 1, i = 1, 2, . . . , k}
i

si chiama regione di assoluta stabilita del metodo lineare a piu passi.


8.3. METODI A PIU PASSI 219

SA 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 limh0 (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 indichera con 1 (q), tende a
1 per h 0 e, a causa della condizione (8.44), essa e unica. A 1 (q) si da
il nome di radice principale di (q, ) = 0, perche e quella che nella (8.51)
approssima la soluzione y(t) = det 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) = et ed f (t, y) = et , si ottiene

n+k = etn (q, eq ) = O(hp+1 ) .

Daltra parte vale lidentita

(q, ) = (1 qk )( 1 (q))( 2 (q)) ( k (q));

ne segue quindi

(q, eq ) = (1 qk )(eq 1 (q))(eq 2 (q)) (eq k (q)) = O(hp+1 ) .

Quando q 0 lunico fattore di (q, eq ) che tende a zero, per quanto detto
sopra, e eq 1 (q): si ha pertanto

1 (q) = eq + O(hp+1 ) . (8.53)

Dalla (8.53) segue che se Re(q) > 0, ed h e sucientemente piccolo, risulta


| 1 (q) |> 1 e quindi q 6 SA , cioe lintersezione di SA con lasse reale e del
tipo ], 0[ con < 0.
In Fig. 8.2 sono riportate le regioni SA 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 piu signicativi della teoria
della stabilita per i metodi a piu passi, avvertendo che anche per questi
metodi le denizioni di A0 -stabilita e di A-stabilita 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

K=3

K=2
2

K=1
1

4
1 0 1 2 3 4 5 6 7

Figura 8.2: Regioni SA delle prime tre fomule BDF.

Teorema 8.3.4 (di Dahlquist)


Non esistono metodi lineari a piu passi espliciti A-stabili;
lordine massimo di un metodo lineare a piu passi A-stabile non puo su-
perare due (seconda barriera di Dahlquist);
la formula trapezoidale e il metodo lineare A-stabile del secondo ordine
con la costante di errore piu 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 piu passi espliciti A0 -stabili.

La denizione di assoluta stabilita 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 piu passi applicato al problema (8.26) e assolutamente
stabile per un dato insieme di valori qi , i = 1, 2, . . . , m, se e solo se

q i SA , i = 1, 2, . . . , m,

dove SA e la regione di assoluta stabilita introdotta con la Denizione 8.3.5.


8.3. METODI A PIU 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 puo essere non lineare.
In tal caso lincognita yn+k viene approssimata con il processo iterativo

z (r+1) = hk f (tn+k , z (r) ) + w , r = 0, 1, . . . .

E chiaro che, ammesso che vi sia convergenza, quanto piu vicina alla soluzione
si sceglie lapprossimazione iniziale z (0) , tanto piu 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) = yn+k

dove yn+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 semplicita, 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
k1 k1

j yn+j + h j fn+j ,
X X
yn+k =
j=0 j=0
(8.54)
k1 k1

X X
yn+k = j yn+j + h j fn+j + hk fn+k ,
j=0 j=0


dove si e posto fn+k = f (tn+k , yn+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 P EC per indicare le varie
fasi che costituiscono un passo, cioe

P (Prediction): calcolo di yn+k mediante il predittore,

E (Evaluation): valutazione del termine f (tn+k , yn+k ),
C (Correction): calcolo di yn+k mediante il correttore.
222 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE


Al passo successivo si utilizza f (tn+k , yn+k ) nel predittore per dare corso alla
nuova fase P .
Una variante e costituita dallalgoritmo P ECE in cui compare lulteriore
fase

E: valutazione del termine f (tn+k , yn+k );

in tal caso, nella fase P del passo successivo, il predittore utilizza la valu-

tazione f (tn+k , yn+k ) che, di solito, e piu corretta della f (tn+k , yn+k ).
Anche la stabilita 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

yn+2 = yn + 2hfn+1 ,
(8.55)
h
yn+2 = yn+1 + (fn+1 + fn+2 ).
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

yn+2 = yn + 2qyn+1 ,
1 1
yn+2 = yn+1 + qyn+1 + qyn+2 ,
2 2

da cui, eliminando yn+2 , si ottiene

1 1

yn+2 1 + q + q 2 yn+1 qyn = 0 .
2 2
Il metodo (8.55) e dotato di una regione non vuota di assoluta stabilita come
si verica dalla sua regione SA 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 puo avere ad ogni passo una
buona stima della parte principale dellerrore locale di troncamento sia del
8.3. METODI A PIU PASSI 223

1.5

0.5

0.5

1.5

1.5 1 0.5 0 0.5

Figura 8.3: Regione SA del metodo (8.55).

predittore che del correttore. Basandosi sullassunto che nei membri destri
delle (8.54) sia
yn+j = y(tn+j ) , j = 0, 1, . . . , k 1,
tenuto conto della denizione (8.37) di errore locale di troncamento e della (8.40),
puo scriversi, per un predittore e un correttore entrambi di ordine p,

y(tn+k ) = yn+k + cp+1 y (p+1) (tn )hp+1 + O(hp+2 ) ,

y(tn+k ) = yn+k + cp+1 y (p+1) (tn )hp+1 + O(hp+2 ) . (8.56)

Dalle precedenti uguaglianze si ricava la relazione


cp+1
cp+1 y (p+1) (tn )hp+1 =
(yn+k yn+k ) + O(hp+2 ) (8.57)
cp+1 cp+1

che fornisce la detta stima per il correttore e richiede soltanto la conoscenza


del valore predetto e del valore corretto.
Eliminando y (p+1) (tn ) tra la (8.57) e la (8.56) si ottiene una ulteriore
approssimazione di y(tn+k ) data da
cp+1
yn+k = yn+k + (yn+k yn+k ), (8.58)
cp+1 cp+1
224 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

e si ha y(tn+k ) yn+k = O(hp+2 ).


La (8.58), detta correzione di Milne o estrapolazione locale, puo essere una
ulteriore relazione in un metodo di predizione e correzione P EC o P ECE:
ad esempio, usando come predittore la (8.48) e come correttore la (8.47), si
ottiene il seguente metodo
4
yn+4 = yn + h(2fn+1 fn+2 + 2fn+3 ) ,
3
h
yn+4 = yn+2 + (fn+2 + 4fn+3 + fn+4 ), (8.59)
3
1
yn+4 = yn+4 (yn+4 yn+4 ).
29
La stima che si ottiene dalla (8.57) puo servire anche per controllare ad
ogni passo lentita 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 piu passi: stabilita relativa


Per tutti i metodi esposti in questo capitolo, lassoluta stabilita viene
denita per problemi con soluzioni y(t) tali che limt+ 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 limt+ ky(t)k = +, 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 limn kyn k = +
e a tale scopo si introduce il concetto di stabilita relativa, per signicare che
lerrore relativo kyky(t
n y(tn )k
n )k
si mantiene accettabile (cioe 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


/ , se, applicato al problema test y = y, Re() > 0, gli zeri del
un dato q C
suo polinomio di stabilita (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
SR = {q C
/ | | (q) |<| (q) |, i = 2, 3, . . . , k}
i 1

si dice regione di relativa stabilita del metodo (8.35).


Si consideri, ad esempio, la formula del punto centrale (8.46): il suo
polinomio di stabilita 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 stabilita. Tuttavia, limitandosi
per semplicita al caso q IR, risulta 2 (q) < 1 (q) se q > 0: essa, quindi, e
dotata di un intervallo reale di relativa stabilita coincidente con il semiasse
positivo.
Si conclude questa rassegna di metodi per problemi di valori iniziali osser-
vando che le proprieta di stabilita qui riportate fanno parte della cosiddetta
teoria della stabilita lineare, in cui si fa riferimento a problemi test lineari a
coecienti costanti, ma se ne estendono i risultati a problemi piu generali.
Anche se la stabilita lineare e un requisito necessario, tuttavia essa puo
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 piu appropriata una forma di stabilita 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 puo sempre ricondursi
ad un sistema del primo ordine (cfr. 8.1), i problemi continui con condizioni
che coinvolgono i valori della soluzione in piu punti si dicono problemi ai
limiti.
La discretizzazione di questi problemi si puo fare mediante un problema
ai limiti discreto, cioe costituito da una equazione alle dierenze di ordine k
a cui sono associate condizioni su valori iniziali e valori nali della soluzione.
Piu in generale, un problema ai limiti discreto si puo 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
X k
X
j yn+j h j fn+j = 0 . (8.60)
j=0 j=0

In tal caso la formula prende il nome di BV-metodo o, piu brevemente, BVM


(Boundary Value Method). Per contro quando la (8.60) e usata come nei
paragra precedenti (cioe 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 facilita 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


IVM
Valori iniziali Valori iniziali
BVM
BVM
Valori ai limiti 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 considerera 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 t0 = a, tN = b e tn = t0 + nh, n = 0, 1, . . . , N , si assume h = (tN t0 )/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 y1 , . . . , yN . Vi sono quindi ancora k 1 incognite del problema
discreto che devono essere determinate e cio si puo 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 puo
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: k1 1 metodi ausiliari di testa da porre come equazioni
iniziali del sistema e k2 metodi ausiliari di coda da porre come equazioni
nali, con k = k1 + k2 . Pertanto il sistema di N equazioni nelle N incognite
y1 , . . . , yN assume la forma seguente:
Pr Pr


j=0 j yj h j=0 j fj = 0, = 1, . . . , k1 1,



P
k
j y+jk1 h kj=0 j f+jk1 = 0, = k 1 , . . . , N k2 ,
P
j=0




Ps Ps
j yN +js h j fN +js = 0, = N k2 + 1, . . . , N.

j=0 j=0
(8.61)
228 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Si noti che nelle prime k1 1 equazioni ausiliarie del sistema sono implicate le
incognite y1 , . . . , yr , nelle equazioni del metodo di base le incognite y1 , . . . , yN ,
mentre nelle ultime k2 equazioni ausiliarie le incognite yN s , . . . , yN . Tale sis-
tema costituisce un metodo BV M con (k1 , k2 )-condizioni al contorno o, piu
semplicemente BVMk1 k2 .
Poiche, in generale, e N k, si puo provare che le caratteristiche di con-
vergenza e di stabilita del metodo (8.61) sono essenzialmente regolate dal
metodo base il cui ordine p, per ovvi motivi di omogeneita, e il medesimo
delle formule ausiliarie. Pertanto, in quello che segue, (), (), (q, )
sono i polinomi del metodo base.

8.4.3 Stabilita e convergenza dei BVM


Le condizioni che si richiedono per la stabilita di un BVMk1 k2 sono alquanto
diverse da quelle gia viste per un IVM.
Si premettono alcune denizioni.
Denizione 8.4.1 Sia k = k1 + k2 + k3 con k1 , k2 , k3 interi non negativi.
Il polinomio a coecienti reali
k
aj j
X
p() =
j=0

si dice del tipo (k1 ,k2 ,k3 ) se ha k1 zeri in modulo minori di 1, k2 zeri in
modulo uguali a 1 e k3 zeri in modulo maggiori di 1.
Sono polinomi di Schur quelli del tipo (k, 0, 0), sono polinomi di Von Neumann
quelli del tipo (k1 , kk1 , 0) con i kk1 zeri di modulo 1 tutti semplici, mentre
si dicono polinomi conservativi quelli del tipo (0, k, 0).
Denizione 8.4.2 Sia k = k1 + k2 con k1 , k2 interi non negativi. Il poli-
nomio a coecienti reali
k
aj j
X
p() =
j=0
si dice un Sk1 k2 -polinomio se per i suoi zeri risulta
|1 | |2 | . . . |k1 | < 1 < |k1 +1 | . . . |k |,
mentre si dice un Nk1 k2 -polinomio se
|1 | |2 | . . . |k1 | 1 < |k1 +1 | . . . |k |
e gli zeri di modulo unitario sono semplici.
8.4. PROBLEMI AI LIMITI E BV-METODI 229

Si osservi che un Sk1 k2 -polinomio e del tipo (k1 , 0, k k1 ) e quindi un Sk0 -


polinomio e un polinomio di Schur, mentre un Nk0 -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 Nk0 -polinomio) mentre e assolutamente stabile se (q, ) e un
polinomio del tipo (k, 0, 0) (ovvero un polinomio di Schur, ovvero ancora un
Sk0 -polinomio).
Per la zero-stabilita di un IVM si e fatto riferimento al problema test
y = 0, y(t0 ) = y0 . Ma lo stesso risultato si ottiene assumendo in un metodo
a k passi h = 0. In questo senso la zero-stabilita e una stabilita asintotica
per h che tende a 0. Un analogo concetto puo essere dato nel caso di un
BVMk1 k2 . Precisamente vale il seguente risultato.

Teorema 8.4.1 Un metodo BVMk1 k2 e convergente nel senso che

k y(tn ) yn k= O(hp )

se (1) = 0, (1) = (1) (coerenza) e se () e un Nk1 k2 -polinomio.

Cio conduce alla seguente denizione.

Denizione 8.4.3 Un BVMk1 k2 si dice 0k1 k2 -stabile se il corrispondente poli-


nomio (z) e un Nk1 k2 -polinomio.

Quindi coerenza e 0k1 k2 -stabilita sono condizioni sucienti, ma non anche


necessarie come nel caso di un IVM (cfr. Teorema 8.3.2), per la convergenza
di un BVMk1 k2 .
Si esamina ora la assoluta stabilita di un BVMk1 k2 , cioe nel caso di h sso.
Si consideri il problema test

y (t) = y(t), y(t0 ) = y0 , C


/ , Re() < 0

gia utilizzato per studiare lassoluta stabilita di un metodo di Runge-Kutta


e di un IVM.
Il problema, quindi, e quello di approssimare con un BVMk1 k2 la soluzione
y(tn ) = y0 e(nh) = y0 (eq )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)| . . . |k1 1 (q)| < |k1 (q)| < |k1 +1 (q)| . . . |k (q)|
|k1 1 (q)| < 1 < |k1 +1 (q)|

con k1 (0) = k1 = 1, ovvero si ammetta che k1 (q) sia radice principale,


tale quindi da avere k1 (q) = eq + O(hp+1 ), allora si ha

yn = nk1 (q)(y0 + O(hp )) + O(hp )(O(|k1 1 (q)|n ) + O(|k1 +1 (q)|(N n) )).

Questo risultato conduce alla seguente denizione di Assoluta stabilita per


un BVMk1 k2
Denizione 8.4.4 Un BVMk1 k2 si dice (k1 , k2 )-Assolutamente stabile per un
dato q se il polinomio (q, ) e del tipo (k1 , 0, k2 ), cioe un Sk1 k2 -polinomio.

Denizione 8.4.5 La regione del piano complesso

SAk1 k2 = {q C
/ |(q, )e del tipo (k , 0, k )}
1 2

si dice regione di (k1 , k2 )-Assoluta stabilita.

Si noti che se k2 = 0 queste denizioni coincidono con quelle ordinarie per


IVM.
Denizione 8.4.6 Un BVMk1 k2 si dice Ak1 k2 -stabile se

SAk1 k2 {q C
/ |Re(q) < 0}.

Per illustrare come una medesima formula possa avere comportamenti di-
versi se usata come IVM o BVMk1 k2 si consideri la formula del punto centrale
(8.46) per la quale risulta () = 2 1 e (q, ) = 2 (q) 2q(q) 1. Come
gia notato e zero-stabile essendo () un polinomio di Von Neumann, ma SA
e vuoto avendosi in ogni caso |1 (q)| > 1 oppure |2 (q)| > 1: tale formula
non puo essere usata da sola come IVM. Inoltre essa non e 011 -stabile perche
() non e un N11 -polinomio (dove e richiesto |1 | < |2 |). Tuttavia per
Re(q) < 0 risulta |1 (q)| < 1 < |2 (q)| e quindi (q, ) e un S11 -polinomio:
per Re(q) < 0, quindi, usata con una equazione ausiliaria come BVM11 for-
nisce un metodo A11 -stabile (vedi paragrafo 8.5.5).
Come gia accennato, uno degli aspetti piu importanti dei BVM consiste
nellesistenza di metodi Ak1 k2 -stabili di ordine 2k, cioe del massimo ordine
8.4. PROBLEMI AI LIMITI E BV-METODI 231

possibile per formule lineari a k passi: cio esclude di fatto ogni barriera
dordine per metodi BVMk1 k2 stabili.
Di seguito si forniscono tre esempi di metodi Ak1 k2 -stabili: altri possono
essere trovati nel testo Brugnano-Trigiante [4].
Metodo ETR (Extended Trapezoidal Rule),
p=4, k1 = 2, k2 = 1:
h




y 1 y0 = (f
24 3
5f2 + 19f1 + 9f0 ),




h
yn yn1 = 24
(fn+1 + 13fn + 13fn1 fn2 ), n = 2, . . . , N 1,





h
yN yN 1 = (f 5fN 2 + 19fN 1 + 9fN ).


24 N 3

Metodo GAM (Generalized Adams Method),


p=5, k1 = 2, k2 = 2:

h


y1 y0 = 720 (19f4 + 106f3 264f2 + 646f1 + 251f0 ),




h

yn yn1 = 720 (19fn2 + 346fn1 + 456fn 74fn+1 + 11fn+2 ),






n = 2, . . . , N 1,




h
yN yN 1 = (19fN +1 + 346fN + 456fN 1 74fN 2 + 11fN 3 ),





720




y h
N +1 yN = (19fN 3 + 106fN 2 264fN 1 + 646fN + 251fN +1 ).

720

Metodo TOM (Top Order Method),


p=6, k1 = 2, k2 = 1:

h


y1 y0 = 1440 (27f5 173f4 + 482f3 798f2 + 1427f1 + 475f0 ),




1

(11yn+1 + 27yn 27yn1 11yn2 ) =


60


h
20 n+1
(f n + 9f + 9f
n1 n2 +f ), n = 2, . . . , N 1,





yN yN 1 =






h
(27fN 5 173fN 4 + 482fN 3 798fN 2 + 1427fN 1 + 475fN ).


1440

Si osservi che la formula trapezoidale


h
yn+1 yn = (fn+1 + fn ),
2
232 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

che e A-stabile se usata come IVM, risulta essere A10 -stabile come BVM, cioe
e un metodo BVM10 .
Infatti il suo polinomio di stabilita ha un unico zero |1 (q)| < 1 per Re(q) < 0.
Essa, pertanto, puo essere usata da sola, cioe senza formule ausiliarie, con
n = 0, 1, . . . , N 1, avendosi k1 1 = 0 e k2 = 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 IRm , che
approssimi la soluzione sullintervallo [tn , tn + h].
Dati i numeri reali due a due distinti c1 , c2 , . . . , cs [0, 1], il corrispon-
dente polinomio di collocazione u(t), di grado s, e denito univocamente dalle
condizioni
u(tn ) = yn , (8.62)
u (tn + ci h) = f (tn + ci h, u(tn + ci h)), i = 1, 2, . . . , s . (8.63)
Si assume come soluzione numerica della equazione dierenziale nel punto
tn+1 il valore
yn+1 = u(tn + 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
Z ci Z 1
aij = lj ( )d , bj = lj ( )d , i, j = 1, 2, . . . , s, (8.65)
0 0

essendo
( c1 ) ( cj1 )( cj+1 ) ( cs )
lj ( ) = , j = 1, 2, . . . , s,
(cj c1 ) (cj cj1 )(cj cj+1 ) (cj cs )
i polinomi fondamentali della interpolazione di Lagrange relativi ai punti
c1 , c2 , . . . , cs . Infatti, poiche il polinomio u (tn + h) si puo scrivere come
polinomio di interpolazione relativo ai detti punti, posto
ki = u (tn + ci h) , (8.66)
8.5. COMPLEMENTI ED ESEMPI 233

si ha (cfr. 6.2)
s
u (tn + h) =
X
lj ( )kj ;
j=1

integrando entrambi i membri, rispetto a t, sugli intervalli [tn , tn + ci h], i =


1, 2, . . . , s e [tn , tn+1 ], si ottiene rispettivamente
s Z
X ci
u(tn + ci h) = u(tn ) + h lj ( )d kj , i = 1, 2, . . . , s, (8.67)
j=1 0

e s Z
X 1
u(tn + h) = u(tn ) + h lj ( )d kj . (8.68)
j=1 0

La (8.68) si puo anche scrivere, tenendo conto delle (8.64), (8.62) e (8.65),
s
X
yn+1 = yn + h bj kj ,
j=1

mentre lequazione (8.63), utilizzando nel primo membro la (8.66) e nel se-
condo la (8.67), diventa
s
X
ki = f (tn + ci h, yn + h aij kj ) , i = 1, 2, . . . , s.
j=1

8.5.2 Sulla stabilita e lordine dei metodi di


Runge-Kutta
Esempio 8.5.1 Si vuole studiare la stabilita e calcolare lordine del seguente
metodo di Runge-Kutta semi-implicito
1/s

1/s 0 0

1/s 1/s 0
1/s
, c IRs .

A= , b =

..


.


1/s 1/s 1/s 1/s
Si verica che
1 q/s 0 0

q/s 1 q/s 0
I qA =



q/s q/s 1 q/s
234 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

e
1 q/s q/s

0 1 q/s
I qA + qubT = .




0 0 1
Segue, dalla (8.24),
1
R(q) = . (8.69)
(1 q/s)s
Il metodo, quindi, e A-stabile.
Il calcolo dellordine puo essere fatto in base alla (8.25). Sviluppando in
serie di Taylor R(q) si ottiene

s+1 2
R(q) = 1 + q + q + O(q 3 ) .
2s
Confrontando con la serie esponenziale si trova

1 2
eq R(q) = q + O(q 3 ) ,
2s
da cui, essendo q = h, si ha p = 1.
Si osservi che, dalla (8.69), risulta

lim R(q) = eq .
s

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
4 1
. .
1 .. ..


mm
K= IR .

... ...
1


1 4
Dalla (8.24) si ottiene

1 + 34 q + 14 q 2 + 1 3
24
q
R(q) = .
1 14 q

Pertanto risulta (cfr. Tavola 8.3) R(q) = R13 (q): da cio 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, k1 si
calcola direttamente e cos k3 , una volta noto k2 . Il calcolo di k2 richiede la
risoluzione del sistema lineare
1 1
(I hK)k2 = Kyn + hKk1 .
4 4
Poiche gli autovalori di I 41 hK sono dati da 1 41 hi , i = 1, 2, . . . , m,
(cfr. Teorema 2.7.6) ed essendo i < 0, i = 1, 2, . . . , m, risulta sicuramente
det(I 14 hK) 6= 0 per ogni h > 0 (cfr. Osservazione 2.7.1).

8.5.3 Costruzione dei metodi a piu passi ed esame della


stabilita
Un metodo a piu passi puo 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-stabilita.
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 yn + 1 yn+1 + 2 yn+2 = h2 fn+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-stabilita e
garantita se | 0 |< 1 oppure 0 = 1. Lordine massimo si ottiene scegliendo
0 in modo che risulti c2 = 0. Dalle (8.39) con r = 2 si ha c2 = 12 + 23 0 da
cui 0 = 31 .
Allo stesso risultato si giunge, in virtu della (8.40), osservando che per un
metodo di ordine p lerrore locale di troncamento e nullo se y(t) = tr , r =
0, 1, . . . , p, e quindi, utilizzando la (8.37), scrivendo p + 1 relazioni lineari
nelle incognite j , j .
Il polinomio di stabilita del metodo e (q, ) = 1 32 q 2 43 + 13 i cui
zeri sono
2 + 1 + 2q 2 1 + 2q
1 = , 2 = .
3 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 A0 -stabile e si puo, poi, dimostrare che e anche A-stabile),
mentre e relativamente stabile per q > 21 .

8.5.4 Sulla stabilita dei metodi di predizione e cor-


rezione
Come si e visto in 8.3.4, le caratteristiche di stabilita 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 stabilita, perde la A-stabilita posseduta dal solo correttore.
In altri casi, tuttavia, la stabilita 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 stabilita del predittore e
8 4 8
(q, ) = 4 q3 + q2 q 1 .
3 3 3
8.5. COMPLEMENTI ED ESEMPI 237

Poiche gli zeri di (q, ) vericano la relazione 1 2 3 4 = 1 (cfr. la (4.50)


con i = m), ne segue che almeno uno di essi e, in modulo, 1.
Il polinomio di stabilita del correttore e
1 4 1

(q, ) = 1 q 2 q 1 + q
3 3 3
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 stabilita del metodo di predizione e correzione denito dai
due metodi e (cfr. la procedura gia adottata per il metodo (8.55))

8 2 4 4 2 1 8 1

4
(q, ) = q + q 3 + q q 1 2 q 2 q .
9 3 9 3 9 3
Limitandosi per semplicita al caso q IR, si verica
che
il metodo e asso-
lutamente stabile per q = 12 . Posto P0 () = 21 , , se ne consideri la
successione di Sturm (cfr. Denizione e Teorema 4.7.1)

P0 () = 4 + 94 3 13 2
18
29 + 61 ,
P1 () = 13
3 + 13 2 36 1
18 ,
41 56
P2 () = 2 + 129 129 ,
P3 () = + 1625
164
,
P4 () = 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 2 = 61 (cfr. ancora la (4.50) con i = m) e quindi, poiche
0.24 < 1 2 < 0.35, risulta 2 < 1.
Uno studio piu completo di (q, ) mostra che il metodo in esame e dotato
dellintervallo reale di assoluta stabilita ] 0.8, 0.3[.

Un altro caso di miglioramento della stabilita e fornito dal metodo di


Hermite
yn+2 = 4yn+1 + 5yn + h(4fn+1 + 2fn ) ,
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 stabilita 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) = y0 . (8.71)
Volendo usare un BVMk1 k2 , seguendo quanto detto in 8.4.2, si ponga t0 = a,
tN = b ed h = ba
N
. Lintero N puo essere ssato in base allaccuratezza che
si vuole ottenere, tenendo conto che, se il metodo base prescelto edi ordine
p
p, il BVMk1 k2 produce errori dellordine di grandezza di hp = baN
.
Essendo p(t) < 0 conviene usare un metodo base Ak1 k2 -stabile. Scegliendo
la formula del punto centrale (8.46), che e A11 -stabile, si ha
yn + yn+2 = 2h [p(tn+1 )yn+1 + q(tn+1 )] , n = 0, 1, . . . N 2. (8.72)
Avendosi k1 = k2 = 1 occorre un solo metodo ausiliario nale, quale, ad
esempio, la formula di Eulero implicita (8.45) con n = N 1:
yN 1 + yN = h [p(tN )yN + q(tN )] . (8.73)
Si ottiene percio il sistema Gy = c dove

2hp(t1 ) 1
1 2hp(t 2) 1


. . ...

G=
.. .. ,



1 2hp(tN 1 ) 1

1 1 hp(tN )

y1 2hq(t1 ) + y0
y2 2hq(t2 )


.. ..

y=

. ,


c=
. .


y 2hq(tN 1 )
N 1
yN hq(tN )
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)

y0 + yN = 0

viene utilizzata ponendo y0 = (/)yN . Il sistema lineare che si ottiene in


questo caso e Gy = c dove

2hp(t1 ) 1 /
1 2hp(t2 ) 1


... ... ...

G =

,



1 2hp(tN 1 ) 1

1 1 hp(tN )

y1 2hq(t1 )
y2 2hq(t2 )


.. ..

y= . , c = . .


y 2hq(t
N 1 )

N 1
yN hq(tN )

Esempio 8.5.6 Si consideri la formula


5 8 1
yn+1 yn = h( fn + fn+1 fn+2 ).
12 12 12
Se ne studia la stabilita come BVM.
Si considera il problema test y = y, per semplicita, solo nel caso reale, cioe
0 > IR. Il polinomio di stabilita della formula e
1 2 2 5
(q, ) = q + (1 q) (1 + q).
12 3 12
Gli zeri sono quindi
2 1 2 1
1 (q) = (1 + q + )/( q), 2 (q) = (1 + q )/( q),
3 6 3 6
240 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

7 2
avendo posto = 12
q q + 1. Si verica facilmente che

|1 (q)| < 1 < |2 (q)|, lim 1 (q) = 1,


q0

per cui 1 (q) e la radice principale, k1 = k2 = 1 e la formula usata come


metodo base in un BVM e A11 -stabile.
1
Si trova poi c4 = 24 e quindi p = 3. Avendosi k1 1 = 0 e k2 = 1 occorre
un metodo ausiliario di coda. Allo scopo si puo usare la formula del terzo
ordine
1 8 5
yn+2 yn+1 = h( fn + fn+1 + fn+2 ),
12 12 12
1
per la quale si ha c4 = 24 .
Il sistema, riferito al problema y = f (t, y), y(t0 ) = y0 , risulta quindi essere
8 1 5

y1 12 hf1 + 12 hf2 y0 12 hf0 =0
5 8 1
y hf + y hf + hf3 =0




1 12 1 2 12 2 12
y 5 hf + y 8 hf + 1 hf

=0
2 12 2 3 12 3 12 4
.

................................. ...
5 8 1

yN 2 12 hfN 2 + yN 1 12 hfN 1 + hfN =0


12


1
8 5
12
hfN 2 yN 1 12
hfN 1 + yN 12
hfN =0

La sua risoluzione numerica puo essere eettuata con il metodo di Newton.


Alternativamente si osserva che tale sistema e, in realta, semilineare in quanto
le incognite y1 , y2 , . . . , yN 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:
1

1 1


B=
... ,
...

1 1
il vettore delle incognite e

y = (y1T , y2T , . . . , yN
T T
) ,
8.5. COMPLEMENTI ED ESEMPI 241

le componenti del vettore F (y) sono


8 1
F1 (y) = 12 f1 12 f2 ,
5 8 1
Fi+1 (y) = 12 fi + 12 fi+1 12 fi+2 , i = 1, 2, . . . , N 2,
1 8 5
FN (y) = 12 fN 2 + 12 fN 1 + 12 fN ,
e il vettore dei dei termini noti e dato da
5
c = ((y0 + h f0 )T , 0T , . . . , 0T )T .
12
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
1 0 ... 0

1 1 ... ...
B 1 = .

... ... ... ...


1 1 ... 1
Per h sucientemente piccolo, in virtu del Teorema 4.6.1, tale procedimento
risulta convergente e pertanto puo adottarsi il criterio di arrestare le iterazioni
allorche ky (s+1) y (s) k con opportunamente pressato.

Esempio 8.5.7 La formula trapezoidale, yn+1 yn = h2 (fn+1 + fn ), come si


e osservato alla ne del paragrafo 8.4.3, puo essere usata come BVM da sola.
Facendo riferimento al problema di valori iniziali lineare
y = K(t)y, y(t0 ) = y0 ,
dove K(t) IRmm , ponendo K(tn ) = Kn , il metodo si puo scrivere
1 1
yn + hKn yn yn+1 + hKn+1 yn+1 = 0, n = 0, 1, . . . , N 1.
2 2
Introducendo il vettore delle incognite y = (y1T , y2T , . . . , yN
T T
) , il vettore dei
1 T T T T
termini noti c = ((y0 2 hK0 y0 ) , 0 , . . . , 0 ) e la matrice
I + 12 hK1

1
I + 2 hK1

I + 12 hK2

G=
... ... ,


I + 12 hKN 1 I + 21 hKN
242 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

si e condotti alla risoluzione del sistema lineare Gy = c.


Si osserva poi che
1 1
det(G) = det(I + hK1 ) det(I + hKN ),
2 2
per cui limh0 |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
1 1 1
det(G) = [det(I + hK)]N = [(1 + h1 ) (1 + hm )]N ,
2 2 2
essendo 1 , . . . , m gli autovalori di K. Pertanto se gli autovalori sono reali
non positivi o complessi si ha det(G) 6= 0 per qualunque valore di h. Se vi
sono autovalori reali e positivi si potra assumere h < 2/(K).

Bibliograa: [4], [3], [6], [8], [16], [17], [18], [20], [21], [22], [24].

You might also like