Calcolo Numerico Completo

244
Lista dei simboli IN insieme dei numeri naturali ZZ insieme dei numeri interi relativi IR insieme dei numeri reali C / insieme dei numeri complessi IR m spazio dei vettori con m componenti reali C / m spazio dei vettori con m componenti complesse IR m×n spazio delle matrici con m righe e n colonne a elementi reali C / m×n spazio delle matrici con m righe e n colonne a elementi complessi sign(x)= 1 se x> 0 -1 se x< 0 sign 0 (x)= sign(x) se x =0 0 se x =0 s(π)= 1 se la permutazione π ` e di classe pari -1 se la permutazione π ` e di classe dispari tr(x) troncamento del numero reale x rd(x) arrotondamento del numero reale x insieme vuoto O matrice nulla

description

ghelardoni unipi calcolo numerico dispensaingegneria informatica

Transcript of Calcolo Numerico Completo

Page 1: Calcolo Numerico Completo

Lista dei simboli

IN insieme dei numeri naturali

ZZ insieme dei numeri interi relativi

IR insieme dei numeri reali

C/ insieme dei numeri complessi

IRm spazio dei vettori con m componenti reali

C/ m spazio dei vettori con m componenti complesse

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

C/ m!n spazio delle matrici con m righe e n colonne a elementi complessi

sign(x) =

!

1 se x > 0

!1 se x < 0

sign0(x) =

!

sign(x) se x "= 0

0 se x = 0

s(!) =

!

1 se la permutazione ! e di classe pari

!1 se la permutazione ! e di classe dispari

tr(x) troncamento del numero reale x

rd(x) arrotondamento del numero reale x

# insieme vuoto

O matrice nulla

Page 2: Calcolo Numerico Completo

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 dell’autovalore $

%($) molteplicita geometrica dell’autovalore $

&rs =

!

1 se r = s

0 se r "= s(& di Kronecker)

!k insieme dei polinomi algebrici di grado al piu k

O(hk) infinitesimo di ordine k rispetto ad h

A $ B da A segue B e viceversa

A % B A implica B

f(x) & Cn(I) funzione con derivate continue fino all’ordine n sull’insieme I

Page 3: Calcolo Numerico Completo

Capitolo 1

Teoria degli errori

1.1 Rappresentazione dei numeri

Scelto un qualunque numero intero ! > 1, ogni numero non nullo x ! IRammette una rappresentazione in base !

x = sign(x) !b!!

i=1

"i!"i ,

dove b !ZZ e ogni "i e un intero tale che 0 " "i " !#1, i = 1, 2, . . ., (sign(x)e definita come una funzione che assume valore 1 se x > 0 e valore #1 sex < 0). Il numero ! dicesi appunto la base, b l’esponente e i numeri "i sidicono 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 un’unica rappresentazione inbase ! tale che:

1. sia "1 $= 0,

2. non vi sia un intero k per cui si abbia "j = ! # 1, %j > k.

La rappresentazione definita 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

Page 4: Calcolo Numerico Completo

2 CAPITOLO 1. TEORIA DEGLI ERRORI

mantissa del numero x; e immediato verificare che

1

!"

!!

i=1

"i!"i < 1.

All’interno di un calcolatore si possono rappresentare solo un certo nu-mero m di cifre della mantissa di x. La rappresentazione sul calcolatorecorrisponde percio al numero y = tr(x) oppure a y = rd(x) dove tr(x) edrd(x) sono approssimazioni di x, definite dai seguenti due criteri

y = tr(x) = sign(x) !bm

!

i=1

"i!"i, (1.1)

y = rd(x ) =

#

$

%

tr(x) se 0 " !m+1 < !2

sign(x) "b&"m

i=1 !i""i + ""m

'

se !2 " !m+1 < "

. (1.2)

Nel caso particolare in cui risulti "1 = "2 = · · · = "m = ! # 1 e "m+1 &!/2, nella seconda delle (1.2) la normalizzazione porta ad aumentare di unaunita l’esponente 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 puodimostrare che | tr(x) # x |< !b"m e | rd(x) # x |" 1

2!b"m, per cui, tra

le due, la rappresentazione per arrotondamento e, in generale, una miglioreapprossimazione del numero reale x.

Si indichi con M l’insieme dei numeri z rappresentabili all’interno di uncalcolatore, comunemente chiamati numeri di macchina.

M e un insieme finito; infatti, fissati ! ed m e supposto L " b " U(L,U !ZZ), la cardinalita di M risulta 2(!m # !m"1)(U #L + 1) + 1. Spessol’insieme M viene indicato con il simbolo F (!,m, L, U) per meglio eviden-ziare le caratteristiche della macchina.

Dato un qualunque numero reale x $= 0, non e assicurata l’esistenza dird(x) fra i numeri di macchina.

Sia, per esempio, F (10, 3,#99, 99) e x = 0.9998 ' 1099; si ha rd(x) =0.1'10100 che non rientra nell’insieme dei numeri di macchina considerato. Inquesto caso si ha una situazione di overflow e cioe il numero da rappresentaree ”troppo grande” e non appartiene a M (tutti i calcolatori segnalano ilpresentarsi di un overflow, alcuni arrestano l’esecuzione del programma, altriproseguono con rd(x) = sign(x) maxy#M | y |).

Page 5: Calcolo Numerico Completo

1.1. RAPPRESENTAZIONE DEI NUMERI 3

Per contro, si abbia il numero x = 0.01'10"99; risulta rd(x) = 0.1'10"100

che non e un numero di macchina. In questo caso si ha una situazione diunderflow, cioe il numero da rappresentare e ”troppo piccolo” e non appar-tiene a M (non tutti i calcolatori segnalano questa situazione e nel caso incui proseguano l’esecuzione 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, di!erisce da x meno diqualunque altro numero di macchina.

Si definisce errore assoluto della rappresentazione del numero reale x ilvalore

#x = rd(x) # x

ed errore relativo il valore

$x =rd(x) # x

x=

#x

x.

Dalle precedenti considerazioni si ricavano le limitazioni

| #x |"1

2!b"m,

| $x |<1

2!1"m.

Il numero u = 12!

1"m si dice precisione di macchina. In generale quandol’errore relativo di una approssimazione non supera 1

2!1"k si dice che l’appros-

simazione e corretta almeno fino alla k-esima cifra significativa. Da quantosopra segue quindi che rd(x) approssima x almeno fino alla m-esima cifrasignificativa.

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 dilunghezza t l’insieme dei t bit rappresentanti un numero. Per ragioni tec-niche si usa spesso una base ! = 2n (n > 1) in cui ciascuna cifra, tradotta inrappresentazione binaria, richiede n bit.

Si distinguono la rappresentazione dei numeri interi da quella dei reali el’aritmetica che opera solo con numeri interi da quella che opera indi!erente-mente con numeri interi e reali.

In 1.1.1, 1.1.2, 1.1.3, si fara riferimento al caso t = 32.

1Il termine bit e usato nel seguito in forma invariata anche al plurale.

Page 6: Calcolo Numerico Completo

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 epositivo e 1 se e negativo), i restanti 31 bit servono a rappresentare in base2 le cifre del numero dato. E’ evidente che il massimo intero rappresentabilee, in valore assoluto, 231 # 1 = 2147483647.

1.1.2 Numeri reali (precisione semplice)

Nella rappresentazione dei numeri reali una situazione caratteristica e laseguente: la base e 16 (sistema esadecimale), un bit e riservato al segnodel numero, sette bit sono riservati alla rappresentazione dell’esponente b,i restanti 24 bit sono utilizzati per le cifre "i della mantissa che, in base16, sono 6 in quanto occorrono 4 bit per rappresentare in binario una cifraesadecimale compresa tra 0 e 15. L’esponente b non e rappresentato in segnoma 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 alnumero 152, il massimo numero rappresentabile (in precisione semplice) e0.FFFFFF ' 1663 ( 7.23 ' 1075, il minimo numero non negativo rappre-sentabile risulta 0.1 ' 16"64 ( 5.39 ' 10"79 e la precisione di macchina eus = 1

216"5 ( 4.75 ' 10"7.

1.1.3 Numeri reali (doppia precisione)

I numeri reali si dicono in doppia precisione quando sono rappresentaticon una doppia parola e quindi con 64 bit. Rispetto alla precisione sem-plice cambia solo il numero delle cifre esadecimali della mantissa che da 6divengono 14 in quanto essa viene ad includere i 32 bit aggiunti. L’insiemedei numeri rappresentabili non cambia molto mentre cambia la precisione dimacchina che diviene ud = 1

216"13 ( 1.11 ' 10"16.

E possibile anche l’uso di precisioni multiple in cui si incrementa ulteri-ormente il numero delle cifre della mantissa, migliorando di conseguenza laprecisione di macchina.

2Le cifre della rappresentazione in base 16 sono: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,B,C, D,E, F .

Page 7: Calcolo Numerico Completo

1.2. LE OPERAZIONI DI MACCHINA 5

1.2 Le operazioni di macchina

Nell’insieme M non tutte le proprieta delle quattro operazioni elementaririsultano verificate, in quanto il risultato di una operazione deve essere ricon-dotto ad un numero di macchina: percio le operazioni elementari all’internodi una macchina sono diverse dalle corrispondenti operazioni ordinarie. Siindicano nel seguente modo le quattro operazioni di macchina:

) addizione* sottrazione+ moltiplicazione, divisione.

Un esempio in cui l’addizione ()) non gode della proprieta associativa eil seguente.

Sia F (10, 3,#99, 99) e sia x = 0.135 ' 10"4, y = 0.258 ' 10"2, z =#0.251 ' 10"2; si ha

x ) (y ) z) = 0.135 ' 10"4 )(

0.258 ' 10"2 )#0.251 ' 10"2)

= 0.135 ' 10"4 ) 0.700 ' 10"4

= 0.835 ' 10"4,

mentre

(x ) y) ) z =(

0.135 ' 10"4 ) 0.258 ' 10"2)

)#0.251 ' 10"2

= 0.259 ' 10"2 )#0.251 ' 10"2

= 0.800 ' 10"4.

In modo analogo si possono dare esempi in cui l’operazione + non godedella proprieta distributiva rispetto alla addizione.

Quando si sottraggono due numeri di macchina dello stesso segno chehanno lo stesso esponente b e con le mantisse che di!eriscono di poco, siincorre in una perdita di cifre significative nel risultato. Tale fenomeno, dettocancellazione, produce, come si vedra piu avanti, una notevole amplificazionedegli errori relativi.

Page 8: Calcolo Numerico Completo

6 CAPITOLO 1. TEORIA DEGLI ERRORI

1.3 Errore nel calcolo di una funzione

Una funzione non razionale % viene sempre sostituita, all’interno di uncalcolatore, da una funzione razionale f , il cui uso comporta un errore f #%che si dice errore di troncamento. Tale errore, all’occorrenza e facilmentemaggiorabile.

Tuttavia anche nel calcolo di una funzione razionale f(x1, x2, . . . , xn) in

un punto assegnato P0 = (x(0)1 , x(0)

2 , . . . , 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 operazionidi macchina e organizzate in un certo algoritmo e cio equivale in definitivaalla sostituzione di f(P ) con un’altra funzione fa(P ) che la approssimi.

Un secondo tipo di errore si presenta quando non e possibile rappresentareesattamente le coordinate del punto P0 e quindi si devono approssimare talicoordinate con numeri di macchina (basti pensare, per esempio, al puntoP0 = (

-2,&)).

1.3.1 Errore assoluto

Assegnato il punto P0 !IRn di coordinate x(0)i , i = 1, 2, . . . , n, nel quale si

vuole calcolare la funzione f(P ), si consideri l’insieme

D = {P ! IRn | ai " xi " bi, i = 1, 2, . . . , n}

dove ai, bi !IR e si supponga che sia ai " x(0)i " bi, i = 1, 2, . . . , n; D si dice

insieme di indeterminazione del punto P0.In e!etti il valore cercato f(P0) viene sostituito dal valore calcolato fa(P1)

dove P1, di coordinate x(1)i , i = 1, 2, . . . , n, appartiene a D e quindi l’errore

commesso risulta fa(P1)# f(P0); di questo errore, detto errore totale, si puodare una stima.

Si pone

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

dove la di!erenza fa(P1) # f(P1) e detta errore algoritmico mentre la dif-ferenza f(P1) # f(P0) e detta errore trasmesso dai dati.

Page 9: Calcolo Numerico Completo

1.3. ERRORE NEL CALCOLO DI UNA FUNZIONE 7

L’errore algoritmico, una volta fissato l’algoritmo che fornisce fa(P ),risulta definito e stimabile.

All’errore trasmesso, nell’ipotesi che f(P ) ! C1(D), si puo dare unarappresentazione generale: dalla formula di Taylor arrestata al primo terminee con punto iniziale P0 si ottiene

f(P1) # f(P0) =n

!

i=1

'f

'xi

(x(1)i # x(0)

i ) (1.3)

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

#f = fa(P1) # f(P0) l’errore totale,

#a = fa(P1) # f(P1) l’errore algoritmico,

#d = f(P1) # f(P0) l’errore trasmesso dai dati,

risulta#f = #a + #d.

Ponendo poi

#xi= x(1)

i # x(0)i , (i =

'f

'xi

,

la (1.3) diventa

#d =n

!

i=1

(i#xi.

I valori (i sono detti coe!cienti di amplificazione degli gli errori #xi.

Una limitazione per il modulo dell’errore 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,

Ed =n

!

i=1

Axi| #xi

|, (1.4)

con

Axi& sup

x#D

*

*

*

*

*

'f

'xi

*

*

*

*

*

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

Page 10: Calcolo Numerico Completo

8 CAPITOLO 1. TEORIA DEGLI ERRORI

Se si conosce una stima dell’errore di troncamento e degli errori #xinonche

le Axi, si puo stabilire a posteriori un confine superiore per l’errore assoluto

con cui si e calcolata la funzione nel punto desiderato; questo problema edetto problema diretto.

Il problema inverso consiste nel richiedere a priori che il valore fa(P1)sia tale che l’errore assoluto | fa(P1) # f(P0) | risulti minore di un valoreprefissato, per cui si deve cercare sia un algoritmo fa(P ) sia un opportunopunto P1 che soddisfino la richiesta.

1.3.2 Errore relativo

L’errore relativo che si commette nel calcolo di una funzione f(P ) in unassegnato punto P0 e definito da

$f =fa(P1) # f(P0)

f(P0).

Si verifica facilmente che

$f =f(P1) # f(P0)

f(P0)+

fa(P1) # f(P1)

f(P1)

+

1 +f(P1) # f(P0)

f(P0)

,

per cui, indicando con

$a =fa(P1) # f(P1)

f(P1)

l’errore relativo algoritmico e con

$d =f(P1) # f(P0)

f(P0)

l’errore 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 all’errore relativo trasmesso dai dati, dalla relazione (1.3) si ricava

$d =f(P1) # f(P0)

f(P0)=

n!

i=1

'f

'xi

(x(1)i # x(0)

i )

f(P0)

Page 11: Calcolo Numerico Completo

1.4. GLI ERRORI NELLE QUATTRO OPERAZIONI 9

ed ancora, definendo $xi=

x(1)i

"x(0)i

x(0)i

,

$d =n

!

i=1

x(0)i

f(P0)

'f

'xi

$xi.

Infine, ponendo )i =x(0)i

f(P0)"f"xi

, si ha

$d =n

!

i=1

)i$xi,

dove i valori )i sono detti coe!cienti di amplificazione degli errori relativi.Se i coe"cienti )i sono tali che l’errore $d risulta dello stesso ordine degli

errori $xiil problema del calcolo della funzione si dice ben condizionato; si

dice invece mal condizionato se a piccoli errori relativi $xicorrisponde un

errore $d rilevante.Dalla (1.6) si vede che all’errore $f concorre anche l’errore algoritmico

$a: se l’algoritmo e tale da produrre errori accettabilmente limitati nella suaapplicazione, 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 glierrori trasmessi dai dati si ottiene la seguente tabella:

operazione #d $d

x ) y #x + #yx

x+y$x + y

x+y$y

x * y #x # #yx

x"y$x # y

x"y$y

x + y y#x + x#y $x + $y

x , y 1y#x # x

y2 #y $x # $y

Si deduce che le operazioni di addizione e sottrazione non danno problemiper quanto riguarda l’errore assoluto, mentre possono rendere grande l’errorerelativo nel caso in cui i due termini dell’operazione siano molto vicini in va-lore assoluto, in quanto puo accadere che i denominatori che compaiono neicoe"cienti di amplificazione dell’errore relativo siano molto piccoli in valoreassoluto (fenomeno della cancellazione gia accennato in 1.2). La moltipli-cazione non amplifica l’errore relativo e comporta un errore assoluto che

Page 12: Calcolo Numerico Completo

10 CAPITOLO 1. TEORIA DEGLI ERRORI

dipende dall’ordine di grandezza dei fattori; anche la divisione non produceamplificazione per quanto riguarda l’errore relativo, mentre l’errore assolutodiminuisce 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 puntoassegnato P0 = (

-5,&).

Si assuma D = {(x1, x2) !IR2|2.23 < x1 < 2.24, 3.14 < x2 < 3.15} comeinsieme di indeterminazione del punto P0 (dalle (1.4) e (1.5) si ricava che piusi riduce l’insieme D e piu stringente e la maggiorazione dell’errore assoluto).

Problema diretto

Si calcola il rapporto x1/x2 arrotondando il risultato alla seconda cifradecimale, ottenendo quindi un errore Ea " 1

210"2.Assumendo P1 = (2.235, 3.145) si ha sicuramente | #x1 |, | #x2 |" 1

210"2.Dalla funzione e dall’insieme D si traggono le maggiorazioni

supx#D

*

*

*

*

*

'f

'x1

*

*

*

*

*

" Ax1 = 0.32,

supx#D

*

*

*

*

*

'f

'x2

*

*

*

*

*

" Ax2 = 0.23;

da cui si ha il massimo errore assoluto

Ea + Ed "1

210"2 + (0.32 + 0.23)

1

210"2 = 0.775 ' 10"2.

Problema inverso

Si vuole avere un valore che di!erisca dal valore esatto f(P0) meno di unprefissato errore E = 10"2.

Si puo imporre che Ea ed Ed siano, ciascuno, non superiore a meta del-l’errore totale richiesto e quindi che sia Ea " 1

210"2 e Ed " 1210"2.

Per l’errore di troncamento e su"ciente arrotondare il risultato della di-visione alla seconda cifra decimale.

Page 13: Calcolo Numerico Completo

1.5. COMPLEMENTI ED ESEMPI 11

Poiche l’errore trasmesso dai dati e formato dalla somma di due addendi,si suddivide ancora il contributo a tale errore in due parti uguali per cui siha

Ax1 | #x1 |"1

410"2,

Ax2 | #x2 |"1

410"2;

assumendo per Ax1 e Ax2 i valori calcolati in precedenza si ottiene

| #x1 |"1

410"2 1

0.32( 0.0078,

| #x2 |"1

410"2 1

0.23( 0.0109,

per cui si puo porre P1 = (2.24, 3.14).Si ha quindi fa(P1) = 0.71 che di!erisce da f(P0) meno di E.

Esempio 1.5.2 Si vuole stimare l’errore relativo commesso nel calcolo dellafunzione f(x, y, z, w) = x(y/z # w).

Si puo ricorrere all’uso dei grafi; si calcola la funzione eseguendo unaoperazione dopo l’altra e stabilendo per ciascuna di esse l’entita degli errorirelativi.

In questo esempio la sequenza delle operazioni e

r1 =y

z, r2 = r1 # w, r3 = xr2 .

Il grafo in Fig. 1.1 evidenzia per ogni operazione i coe"cienti di amplificazionelungo i cammini orientati. Gli errori relativi dei dati sono $x, $y, $z, $w, mentre$ri

va inteso come l’errore relativo per la funzione ri e si calcola dalla (1.6)senza l’ultimo termine.

Per stimare l’errore relativo totale si procede a ritroso seguendo il grafo.Indicando con $i l’errore algoritmico della i-esima operazione si ha

$f = $r3

= $3 + $x + $r2

= $3 + $x + $2 +y

y # zw$r1 #

zw

y # zw$w

= $3 + $x + $2 +y

y # zw($1 + $y # $z) #

zw

y # zw$w

= $3 + $2 +y

y # zw$1 + $x +

y

y # zw($y # $z) #

zw

y # zw$w .

Page 14: Calcolo Numerico Completo

12 CAPITOLO 1. TEORIA DEGLI ERRORI

!"#$

!"#$

!"#$

!"#$

x

w

z

y

!"#$

!"#$

!"#$

r3

r2

r1

!

!

!

"

"

"

1

-1

1

1

# zwy"zw

yy"zw

$r3

$r2

$r1

$x

$y

$z

$w

Figura 1.1: Esempio di grafo.

Se ne conclude che l’errore algoritmico e

$a = $3 + $2 +y

y # zw$1

e l’errore trasmesso e

$d = $x +y

y # zw($y # $z) #

zw

y # zw$w .

Osservazione 1.5.1 L’errore relativo calcolato nell’Esempio 1.5.2 dipendedall’algoritmo seguito per il calcolo della funzione f(x, y, z, w); seguendo unaltro algoritmo si trova, in generale, un errore relativo diverso.

Bibliografia: [1], [5], [28], [29].

Page 15: Calcolo Numerico Completo

Capitolo 2

Richiami di algebra lineare

2.1 Matrici e vettori

Con A !C/ m!n si intende una matrice di m righe e n colonne formate dam " n numeri complessi aij, i = 1, 2, . . . ,m, j = 1, 2, . . . , n, detti elementidi A. Ogni elemento aij e individuato dall’indice di riga i e dall’indice dicolonna j. Comunemente si scrive

A =

!

"

"

"

"

#

a11 a12 · · · a1n

a21 a22 · · · a2n...

.... . .

...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 diagonaleprincipale di A.

Se m #= 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 solacolonna, potendosi identificare C/ m!1 con C/ m.

Se A ha tutti gli elementi reali e detta matrice reale e si suole scrivereA !IRm!n; analogamente con a !IRm si intende un vettore a componentireali.

Data la matrice A !C/ m!n, la matrice B !C/ n!m i cui elementi sonobij = aji, i = 1, 2, . . . , n, j = 1, 2, . . . ,m, si dice matrice trasposta della

Page 16: Calcolo Numerico Completo

14 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

matrice A e si indica con AT mentre si dice matrice trasposta coniugata di Ala matrice B !C/ n!m i cui elementi sono bij = aji e si indica con AH .

La matrice quadrata

I =

!

"

"

"

"

#

1 0 · · · 00 1 · · · 0...

.... . .

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

D =

!

"

"

"

"

#

d1 0 · · · 00 d2 · · · 0...

.... . .

...0 0 · · · dn

$

%

%

%

%

&

;

si scrive anche D = diag(d1, d2, . . . , dn).Le matrici quadrate del tipo

L =

!

"

"

"

"

#

l11 0 · · · 0l21 l22 · · · 0...

.... . .

...ln1 ln2 · · · lnn

$

%

%

%

%

&

, R =

!

"

"

"

"

#

r11 r12 · · · r1n

0 r22 · · · r2n...

.... . .

...0 0 · · · rnn

$

%

%

%

%

&

,

si dicono matrici triangolari e precisamente L dicesi triangolare inferiore eR triangolare superiore.

2.2 Operazioni tra matrici

Date A,B !C/ m!n, la matrice somma, C = A + B, e definita ponendo

cij = aij + bij, i = 1, 2, . . . ,m, j = 1, 2, . . . , n.

Valgono, per l’addizione, le proprieta associativa e commutativa.Se A !C/ m!k e B !C/ k!n, la matrice prodotto C = AB, si definisce

ponendo

cij =k

'

l=1

ailblj, i = 1, 2, . . . ,m, j = 1, 2, . . . , n,

Page 17: Calcolo Numerico Completo

2.3. DETERMINANTE E INVERSA 15

e risulta quindi C !C/ m!n.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 generalee AB #= BA, mentre il prodotto AB puo essere uguale alla matrice nullasenza che ne A ne B siano nulle (cfr. Esempio 2.11.1).

Per questo motivo, quando si moltiplica una matrice A per una matrice Boccorre 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 siha

(AB)T = BT AT e (AB)H = BHAH .

Il prodotto aHb =(n

l=1 albl di due vettori a, b !C/ n e detto prodotto scalaree se aHb = 0 i due vettori si dicono ortogonali.

Infine 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 linearmenteindipendenti se

!1v(1) + !2v

(2) + · · · + !kv(k) = 0 ,

con !i !C/ , i = 1, 2, . . . , k, implica

!1 = !2 = · · · = !k = 0 .

2.3 Determinante e inversa

Definizione 2.3.1 Si dice determinante di una matrice A !C/ n!n il numero

det(A) ='

P

s(")a1j1a2j2 · · · anjn

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 diclasse dispari e P e l’insieme delle n! permutazioni " possibili.

Page 18: Calcolo Numerico Completo

16 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Per il calcolo del determinante di una matrice A si puo fare uso del primoteorema di Laplace

det(A) =

)

*

*

+

*

*

,

a11 se n = 1,(n

j=1($1)i+jaij det(Aij)

=(n

i=1($1)i+jaij det(Aij) se n > 1,

(2.1)

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

Vale anche il secondo teorema di Laplace

n'

j=1

($1)i+jaij det(Arj) =n

'

i=1

($1)i+jaij det(Ais) = 0

per r #= i e s #= j.Nel caso di una matrice diagonale o triangolare si ha immediatamente

det(A) =n

-

i=1

aii.

Il determinante della matrice A si indica anche con la notazione.

.

.

.

.

.

.

.

.

.

a11 a12 · · · a1n

a21 a22 · · · a2n...

.... . .

...an1 an2 · · · ann

.

.

.

.

.

.

.

.

.

.

.

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

Definizione 2.3.2 Una matrice A !C/ n!n si dice singolare (non singolare) sedet(A) = 0 (det(A) #= 0).

Definizione 2.3.3 Data una matrice A !C/ m!n 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 comunquefissate.

Definizione 2.3.4 Data una matrice A !C/ n!n si dicono minori principali diordine k i determinanti delle sottomatrici di ordine k estratte da A e aventidiagonale principale composta da elementi della diagonale principale di A.

Page 19: Calcolo Numerico Completo

2.3. DETERMINANTE E INVERSA 17

Definizione 2.3.5 Data una matrice A !C/ n!n si dice minore principale ditesta di ordine k il determinante della sottomatrice di ordine k formata dalleprime k righe e k colonne di A.

Definizione 2.3.6 Data una matrice A !C/ m!n si dice rango o caratteristicadella matrice A il numero r(A) pari all’ordine piu alto dei suoi minori diversida zero.

Teorema 2.3.1 (di Binet-Cauchy) Date A !C/ m!n, B !C/ n!m, il determi-nante della matrice prodotto C = AB !C/ m!m e nullo se m > n; altrimentie dato dalla somma dei prodotti di tutti i possibili minori di ordine massimodi 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/ n!n non singolare si dice matriceinversa di A la matrice B !C/ n!n tale che

bij = ($1)i+j det(Aji)

det(A).

Da questa definizione e dai teoremi di Laplace segue

AB = BA = I.

In seguito, indicheremo con il simbolo A"1 la matrice inversa della matriceA.

Dal Corollario 2.3.1 si ha

det(A) det(A"1) = det(AA"1) = det(I) = 1 ,

per cui il determinante di una matrice A e il reciproco del determinante dellasua inversa.

Dalla Definizione 2.3.7 segue che una matrice A singolare non ammettematrice inversa.

1Un minore di ordine massimo di A, nel caso m % n, e il determinante della matriceformata da m colonne di A di indici k1, k2, . . . , km comunque fissati; il corrispondenteminore di B e il determinante della matrice formata da m righe di B di indici k1, k2, . . . , km.

Page 20: Calcolo Numerico Completo

18 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

2.4 Matrici particolari

Una matrice A !C/ n!n si dice

hermitiana se A = AH ;antihermitiana se A = $AH ;unitaria se AHA = AAH = I;normale se AHA = 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 lematrici ortogonali hanno come inversa la loro trasposta.

Data una matrice hermitiana A ed un vettore x !C/ n, lo scalare xHAx eun numero reale in quanto

(xHAx)H = xHAHx = xHAx;

la matrice A si dice definita positiva (negativa) se xHAx > 0 (< 0) perogni x !C/ n con x #= 0, mentre e detta semidefinita positiva (negativa) sexHAx & 0 (%0).

Teorema 2.4.1 Una matrice hermitiana e definita positiva se e solo se isuoi minori principali di testa sono tutti positivi.

Definizione 2.4.1 Una matrice P !IRn!n e detta matrice di permutazionese e ottenuta dalla matrice identica operando su di essa una permutazionedelle colonne (delle righe).

Una matrice di permutazione e una matrice ortogonale, avendosi P T P =PP T = I.

Il prodotto di una matrice A per una matrice di permutazione P producesu A una permutazione delle colonne o delle righe; precisamente:

AP presenta, rispetto ad A, la stessa permutazione di colonne che si e ope-rata su I per ottenere P ;

PA presenta, rispetto ad A, la stessa permutazione di righe che si e operatasu I per ottenere P .

Page 21: Calcolo Numerico Completo

2.5. SISTEMI LINEARI 19

Si noti che se P si ottiene permutando le colonne di I, allora P T si ottienecon la stessa permutazione delle righe di I.

Definizione 2.4.2 Una matrice A !C/ n!n si dice a predominanza diagonaleforte se

| aii |>n

'

j=1j !=i

| aij |, i = 1, 2, . . . , n.

Definizione 2.4.3 Una matrice A !C/ n!n si dice a predominanza diagonaledebole se

| aii |&n

'

j=1j !=i

| aij |, i = 1, 2, . . . , n,

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

| arr |>n

'

j=1j !=r

| arj | .

Definizione 2.4.4 Una matrice A !C/ n!n si dice convergente se

limk#$

Ak = O

dove O e la matrice nulla.

2.5 Sistemi lineari

Dati una matrice A !C/ n!n ed un vettore b !C/ n, un sistema di n equazionilineari 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 soluzionese e solo se

r(A) = r(A | b),

dove con (A | b) e indicata la matrice completa del sistema costituita da nrighe ed n+1 colonne. Se r(A) = n la soluzione e unica mentre se r(A) < nl’insieme delle soluzioni e un sottospazio di C/ n di dimensione n $ r(A).

Page 22: Calcolo Numerico Completo

20 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Se det(A) #= 0, il sistema (2.2) si dice normale. In tal caso la soluzionee data formalmente da x = A"1b e puo essere espressa mediante la regola diCramer

xi =det(Ai)

det(A), i = 1, 2, . . . ,m,

essendo Ai la matrice ottenuta da A sostituendo la i-esima colonna con ilvettore b.

Nel caso particolare b = 0 il sistema (2.2) si dice omogeneo ed ha sicu-ramente soluzioni, avendosi r(A) = r(A | b); se e anche det(A) #= 0 l’unicasoluzione e x = 0. Ne segue che un sistema omogeneo ha soluzioni non nulleallora e solo che sia det(A) = 0.

2.6 Matrici partizionate, matrici riducibili

Nelle applicazioni si incontrano spesso matrici A partizionate a blocchi ecioe 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 partizionatea blocchi si possono avere matrici triangolari a blocchi, cioe aventi una delleseguenti forme

!

"

"

"

"

#

A11 O · · · O

A21 A22 · · · O...

.... . .

...Ak1 Ak2 · · · Akk

$

%

%

%

%

&

,

!

"

"

"

"

#

A11 A12 · · · A1k

O A22 · · · A2k...

.... . .

...O O · · · Akk

$

%

%

%

%

&

,

o diagonali a blocchi!

"

"

"

"

#

A11 O · · · O

O A22 · · · O...

.... . .

...O O · · · Akk

$

%

%

%

%

&

.

In questi casi particolari e facile verificare che

det(A) =k

-

i=1

det(Aii).

2Cio comporta che la matrice A sia quadrata.

Page 23: Calcolo Numerico Completo

2.7. AUTOVALORI E AUTOVETTORI 21

Definizione 2.6.1 Una matrice A !C/ n!n si dice riducibile se esiste unamatrice di permutazione P tale che la matrice P T AP sia della forma

B = P T AP =

!

#

A11 O

A21 A22

$

&

con blocchi diagonali quadrati.

Nel caso in cui B contenga qualche blocco diagonale ancora riducibile sipuo operare una nuova trasformazione con un’altra matrice di permutazionee cosı via fino ad arrivare alla forma ridotta della matrice A in cui tutti iblocchi 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 Iper ottenere P .

Per stabilire se una matrice e riducibile o meno, cioe se esiste o no unamatrice P che verifichi la Definizione 2.6.1, servono le definizioni ed il teoremaseguenti.

Definizione 2.6.2 Data una matrice A !C/ n!n, fissati n punti, detti nodi,N1, N2, . . . , Nn, si dice grafo orientato associato ad A, il grafo che si ottienecongiungendo Ni a Nj con un cammino orientato da Ni a Nj per ogni aij #= 0.

Definizione 2.6.3 Un grafo orientato si dice fortemente connesso se da ogninodo Ni, i = 1, 2, . . . , n, e possibile raggiungere un qualunque altro nodo Nj,j = 1, 2, . . . , n, seguendo un cammino orientato eventualmente passante peraltri nodi.

Teorema 2.6.1 Una matrice A !C/ n!n e irriducibile se e solo se il grafoorientato 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 nell’Esempio 2.11.5.

2.7 Autovalori e autovettori

Definizione 2.7.1 Data una matrice A !C/ n!n si dice autovalore di A ogninumero # !C/ tale che il sistema lineare

Ax = #x, x ! C/ n, (2.3)

Page 24: Calcolo Numerico Completo

22 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

abbia soluzioni x #= 0; ogni tale vettore x e detto autovettore destro asso-ciato all’autovalore #, intendendo che x ed ogni vettore kx (k !C/ , k #= 0)rappresentano lo stesso autovettore.

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

yT A = #yT .

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 diAT 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 coe!cienti del sistemae singolare e cioe ha determinante nullo; poiche il sistema (2.3) e equivalenteal sistema omogeneo

(A $ #I)x = 0 ,

ne segue che gli autovalori di A sono tutti e soli i numeri # che soddisfanol’equazione

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)n"1$1#n"1 +

(2.5)

($1)n"2$2#n"2 + · · ·$ $n"1# + $n,

dove i coe!cienti $i, i = 1, 2, . . . , n, sono, ciascuno, la somma dei minoriprincipali di ordine i estratti dalla matrice A.

In particolare risulta $1 =(n

j=1 ajj, e $n = det(A). $1 si dice traccia diA e si indica col simbolo tr(A).

Il polinomio (2.5) e detto polinomio caratteristico della matrice A mentrel’equazione (2.4) prende il nome di equazione caratteristica.

Gli autovalori di una matrice A !C/ n!n coincidono con le radici dell’e-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:

Page 25: Calcolo Numerico Completo

2.7. AUTOVALORI E AUTOVETTORI 23

# = 0 e autovalore di A '( det(A) = 0;

la somma degli autovalori coincide con $1 (cfr. le (4.50)) e quindi

n'

i=1

#i = tr(A) ; (2.6)

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

n-

i=1

#i = det(A). (2.7)

Definizione 2.7.2 Si dice raggio spettrale della matrice A il numero realenon negativo

%(A) = max1%i%n

| #i | .

Teorema 2.7.1 Una matrice A !C/ n!n e convergente se e solo se il suoraggio spettrale e minore di 1.

Definizione 2.7.3 Data una matrice A ed una matrice S non singolare, sidice trasformata per similitudine della matrice A, la matrice B tale che

B = S"1AS;

le matrici A e B si dicono simili.

Si verifica subito che la relazione di similitudine e riflessiva, simmetrica etransitiva.

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"1x e auto-vettore di B.

Dimostrazione. Per ottenere la prima parte della tesi basta verificare che duematrici simili A e B hanno lo stesso polinomio caratteristico.

Page 26: Calcolo Numerico Completo

24 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Si ha infatti

det(B $ !I) = det(S"1AS $ !I) = det(S"1AS $ !S"1S)

= 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"1AS)S"1x =!S"1x.

Teorema 2.7.3 Se A possiede l’autovalore # e k !IN , Ak possiede l’autovalore#k e gli autovettori di A sono anche autovettori di Ak.

Questo teorema, se A e non singolare, vale anche per k !ZZ.

Teorema 2.7.4 Gli autovalori di una matrice hermitiana sono tutti reali.

Dimostrazione. Sia ! un autovalore di A. Dalla uguaglianza Ax = !x, siottiene, premoltiplicando per xH , xHAx = !xHx ed ancora, dividendo per ilnumero reale e positivo xHx (si ricordi che x #= 0),

! =xHAx

xHx. (2.8)

Nel secondo membro della (2.8) il numeratore e reale per quanto visto all’iniziodi 2.4: ne segue la tesi.

Definizione 2.7.4 Dicesi molteplicita algebrica di un autovalore #, la mol-teplicita di # come radice dell’equazione 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ı definita corrisponde al nu-mero di autovettori, tra loro linearmente indipendenti, associati all’autova-lore # e si ha (cfr. Teorema 2.5.1) &(#) = n $ r(A $ #I).

Page 27: Calcolo Numerico Completo

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/ ; alloraB = A+ qI ha come autovalore #+ q con molteplicita algebrica e geometricapari 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 essiassociati sono linearmente indipendenti.

Ne segue che se A !C/ n!n possiede n autovalori distinti, A ammette nautovettori linearmente indipendenti.

Definizione 2.7.6 Una matrice A si dice diagonalizzabile se esiste una ma-trice X non singolare tale che

X"1AX = D (2.9)

con D = diag(#1,#2, . . . ,#n).

Una matrice X che verifica 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) = #ix(i), i = 1, 2, . . . , n.

Teorema 2.7.8 Una matrice A e normale se e solo se esiste una matrice Xunitaria 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"1AH = 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 anch’essodi forma diagonale a blocchi, avendosi

J (i) = diag(J (i)1 , J (i)

2 , . . . , J (i)!("i)

) ;

Page 28: Calcolo Numerico Completo

26 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

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

J (i)l =

!

"

"

"

"

"

"

"

"

"

"

#

#i 1 0 · · · 0 00 #i 1 · · · 0 0

0 0 #i. . . 0 0

......

.... . . . . .

...0 0 0 · · · #i 10 0 0 · · · 0 #i

$

%

%

%

%

%

%

%

%

%

%

&

, l = 1, 2, . . . , &(#i).

Si noti che, se p(i)l e l’ordine di J (i)

l , risulta

!("i)'

l=1

p(i)l = !(#i) . (2.11)

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

polinomio caratteristico del blocco di Jordan J (i)l e det(J (i)

l $#I) = (#i$#)p(i)l ,

e si dice un divisore elementare di A.Si osservi che il numero dei blocchi di Jordan di una matrice A corrisponde

al numero di autovettori linearmente indipendenti di A.Le matrici diagonalizzabili costituiscono un caso particolare in cui i bloc-

chi di Jordan sono tutti di ordine 1, cioe i divisori elementari sono tuttilineari: in tal caso le colonne di H sono gli autovettori di A.

Dal teorema di Jordan, e in particolare dalla (2.11), discende il seguenteteorema.

Teorema 2.7.10 Una matrice e diagonalizzabile se e solo se per ogni suoautovalore # si ha !(#) = &(#).

2.8 Localizzazione degli autovalori

Teorema 2.8.1 (primo teorema di Gershgorin) Sia A !C/ n!n, si indichinocon Fi, i = 1, 2, . . . , n, gli insiemi

Fi = {z ! C/ | | z $ aii |% %i}, con %i =n

'

j=1j !=i

| aij |; (2.12)

allora se # e autovalore di A si ha

# ! F =n/

i=1

Fi .

Page 29: Calcolo Numerico Completo

2.8. LOCALIZZAZIONE DEGLI AUTOVALORI 27

Dimostrazione. Indicando con x un autovettore destro associato all’autovalore!, sia xk la sua componente di massimo modulo; dalla riga k-esima della (2.3) siha

n'

j=1

akjxj = !xk

da cui

(! $ akk)xk =n

'

j=1j !=k

akjxj .

Passando ai moduli dei due membri e maggiorando nel secondo membro ogni | xj |con | xk |, si ottiene

| ! $ akk || xk |%n

'

j=1j !=k

| akj || xk |

ed essendo, per la definizione di autovettore, xk #= 0, si ha

| ! $ akk |%n

'

j=1j !=k

| akj |= "k

che prova la tesi.

Il Teorema 2.8.1 ha una evidente interpretazione grafica: ciascun insiemeFi di (2.12) e, nel piano complesso, un cerchio di centro il punto aii e raggio%i; l’insieme F a cui appartengono tutti gli autovalori di A e quindi l’unionedei cerchi Fi, detti anche cerchi di Gershgorin.

Teorema 2.8.2 (secondo teorema di Gershgorin) Se M1 e l’unione di k cerchidi Gershgorin e M2 e l’unione dei rimanenti n$ k ed e M1

0

M2 = ), allorak 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 dell’unione dei cerchi di Gershgorin essoappartiene alla frontiera di tutti i cerchi costituenti l’insieme F .

Per la localizzazione degli autovalori di una matrice e utile anche il Corol-lario 2.10.2.

Page 30: Calcolo Numerico Completo

28 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

2.9 Valori singolari

Particolare importanza in alcune applicazioni (cfr. 6.8.5) ha il seguenteteorema.

Teorema 2.9.1 Qualunque sia A !C/ m!n, con m & n, esistono due matriciunitarie U !C/ m!m e V !C/ n!n tali che

A = U"V H (2.13)

con " =

1

DO

2

, O la matrice nulla, D = diag($1,$2, . . . ,$n), $i !IR,

i = 1, 2, . . . , n, e

$1 & $2 & · · · & $n & 0.

La (2.13) e detta decomposizione ai valori singolari della matrice A, lamatrice " e univocamente determinata (non cosı le matrici U e V ) ed inumeri $i, i = 1, 2, . . . , n, si dicono i valori singolari della matrice A. Sipuo verificare che il numero dei valori singolari non nulli e uguale a r(A), lecolonne di U sono autovettori di AAH , mentre quelle di V sono autovettoridi AHA.

Teorema 2.9.2 Sia A !C/ m!n; i quadrati dei valori singolari di A sonoautovalori della matrice AHA !C/ n!n.

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 talescopo e utile il concetto di norma.

Page 31: Calcolo Numerico Completo

2.10. NORME 29

2.10.1 Norme vettoriali

Definizione 2.10.1 Si dice norma vettoriale, e si indica con *x*, una fun-zione, definita nello spazio vettoriale C/ n, a valori reali non negativi, cheverifica le seguenti condizioni:

*x* = 0 '( x = 0 ;

*!x* =| ! | *x* , +x !C/ n, +! ! C/ ;

*x + y* % *x* + *y* , +x, y ! C/ n .

In C/ n e possibile definire norme in modo arbitrario ma le piu usate sonole seguenti:

*x*1 =(n

i=1 | xi |, norma 1;

*x*2 =3

(ni=1 | xi |2, norma 2 o norma euclidea;

*x*$ = max1%i%n | xi |, norma ,.

In Fig. 2.1 e riportato l’insieme

S = {x ! IR2 | *x* % 1},

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

! ! !

" " "

##

$$

$$#

# !"#$

##

##

##

##

##

##

##

###

####

##

##

#####

##

###

##

#

###

##

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

Teorema 2.10.1 Ogni norma vettoriale e uniformemente continua su C/ n.

Page 32: Calcolo Numerico Completo

30 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Teorema 2.10.2 (equivalenza tra norme) Date due norme vettoriali *x*p e*x*q, esistono due costanti reali e positive ! e ' tali che

!*x*p % *x*q % '*x*p, +x ! C/ n. (2.14)

Il senso dell’equivalenza fra due norme appare evidente nello studio delcomportamento di una successione di vettori: in virtu della (2.14) il caratteredella successione e lo stesso in entrambe le norme.

Per le norme qui definite valgono le relazioni:

*x*2 % *x*1 %-

n*x*2 ;

*x*$ % *x*1 % n*x*$ ;

*x*$ % *x*2 %-

n*x*$ .

2.10.2 Norme matriciali

Definizione 2.10.2 Si dice norma matriciale, e si indica con *A*, una fun-zione, definita in C/ n!n, a valori reali non negativi, che verifica le seguenticondizioni:

*A* = 0 '( A = O ;

*!A* =| ! | *A* , +A ! C/ n!n, +! ! C/ ;

*A + B* % *A* + *B* , +A,B ! C/ n!n ;

*AB* % *A**B* , +A,B ! C/ n!n .

Si possono costruire norme matriciali facendo ricorso alle norme vettorialidefinendo

*A* = supx &=0

*Ax**x*

;

in questo caso la norma matriciale si dice naturale o indotta dalla normavettoriale considerata.

Una norma matriciale si dice coerente o compatibile con una norma vet-toriale se si ha

*Ax* % *A**x*.

Le norme naturali sono coerenti con le rispettive norme vettoriali.

Page 33: Calcolo Numerico Completo

2.10. NORME 31

Si puo dimostrare che le norme matriciali indotte dalle tre norme vettorialidefinite in 2.10.1 sono le seguenti:

*A*1 = maxj

(ni=1 | aij |, norma 1;

*A*2 =3

%(AHA), norma 2 o norma euclidea;

*A*$ = maxi

(nj=1 | aij |, norma ,.

Un esempio di norma matriciale non indotta e dato dalla norma matricialedi Frobenius definita come

*A*F =

4

5

5

6

n'

i=1

n'

j=1

| aij |2 ;

essa non e indotta da alcuna norma vettoriale in quanto risulta *I*F =-

nmentre e *I* = supx &=0

'Ix''x' = 1 qualunque sia la norma vettoriale consider-

ata.

Teorema 2.10.3 Sia A !C/ n!n; per ogni norma matriciale indotta vale larelazione

%(A) % *A* .

Dimostrazione. Sia ! un autovalore di A; quindi si ha Ax = !x con x au-tovettore destro associato a !. Prendendo una qualunque norma dei due membrisi ottiene

| ! | *x* = *Ax* ,

da cui, se si usa la norma matriciale indotta da quella vettoriale,

| ! | *x* % *A**x* .

Essendo x #= 0, dividendo per *x*, si ha

| ! |% *A* .

Poiche ! e un qualunque autovalore di A, la relazione precedente e valida ancheper l’autovalore il cui modulo coincide con "(A), da cui la tesi.

Corollario 2.10.1 A!nche una matrice sia convergente e su!ciente cheuna sua norma indotta risulti minore di 1.

Page 34: Calcolo Numerico Completo

32 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Un esempio in cui vale la relazione %(A) = *A* e dato dalle matricihermitiane; infatti si ha

*A*2 =3

%(AHA) =3

%(A2) =3

%2(A) = %(A) .

Corollario 2.10.2 Se A !C/ n!n, gli autovalori di A appartengono al cerchio

{z ! C/ | | z |% *A*} ,

dove * · * e una qualunque norma indotta.

2.11 Complementi ed esempi

2.11.1 Prodotto di due matrici

Il seguente esempio mostra che l’operazione di moltiplicazione tra matricinon gode della proprieta commutativa e che non vale la legge di annullamentodel prodotto.

Esempio 2.11.1 Sono date le matrici

A =

1

1 22 4

2

, B =

1

2 1$1 $1

2

2

.

Si ha

AB =

1

0 00 0

2

, BA =

1

4 8$2 $4

2

.

2.11.2 Matrici definite e semidefinite

Teorema 2.11.1 Le matrici hermitiane e definite positive (negative) hannoautovalori 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 semidefinite positive (negative)hanno autovalori non negativi (non positivi) e viceversa.

Page 35: Calcolo Numerico Completo

2.11. COMPLEMENTI ED ESEMPI 33

Esempio 2.11.2 Sia A !C/ m!n. La matrice B = AHA risulta hermitianaessendo

BH = (AHA)H = AHA = B .

Il numero xHBx, con x !C/ n, x #= 0, e dato da

xHBx = xHAHAx = (Ax)H(Ax)

per cui, ponendo y = Ax, si ha

xHBx = yHy & 0 .

La matrice B e quindi semidefinita positiva. Se la matrice A ha rangomassimo, il vettore y non puo essere nullo per cui xHBx > 0 e la matrice Be definita positiva.

2.11.3 Matrici riducibili

Riportiamo due esempi ad illustrazione del Teorema 2.6.1.

Esempio 2.11.3 La matrice

A =

!

"

#

2 0 1$2 1 1

5 0 0

$

%

&

e riducibile infatti il suo grafo orientato non e fortemente connesso, nonessendo il punto N2 raggiungibile dagli altri due punti (Fig. 2.2).

Mediante la matrice P =

!

"

#

1 0 00 0 10 1 0

$

%

& si ottiene

B = P T AP =

!

"

#

2 1 05 0 0

$2 1 1

$

%

& .

Page 36: Calcolo Numerico Completo

34 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

N1 N2

N3

% %

%

##

##

##

$$

$$

$$

##% $$&

'

(

&

Figura 2.2: Grafo non fortemente connesso.

Esempio 2.11.4 La matrice

A =

!

"

#

1 0 1$1 2 5

1 1 0

$

%

&

e irriducibile in quanto il suo grafo orientato e fortemente connesso, comemostrato in Fig. 2.3.

N1 N2

N3

% %

%

##

##

##

$$

$$

$$

##% $$&

'

(

& '(

Figura 2.3: Grafo fortemente connesso.

Sia A !C/ n!n una matrice riducibile e sia P la matrice di permutazioneche la riduce. Poniamo

B = P T AP =

!

"

"

"

"

#

B11 O · · · O

B21 B22 · · · O...

.... . .

...Bk1 Bk2 · · · Bkk

$

%

%

%

%

&

,

Page 37: Calcolo Numerico Completo

2.11. COMPLEMENTI ED ESEMPI 35

con i blocchi diagonali Bii, i = 1, 2, . . . , k, quadrati ed irriducibili; supponi-amo che l’ordine dei blocchi Bii sia pi, i = 1, 2, . . . , k, per cui

(ki=1 pi = n.

La matrice A sia la matrice dei coe!cienti di un sistema lineare Ax = b.Premoltiplicando per la matrice P T si ha P T Ax = P T b e P T APP T x = P T b.Indicando con y il vettore P T x e con c il vettore P T b, il sistema Ax = b sitrasforma 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

B11y1 = c1

B21y1 + B22y2 = c2...

.... . .

......

Bk1y1 + Bk2y2 + · · · + Bkkyk = ck .

(2.16)

La prima equazione e un sistema lineare, con matrice dei coe!cienti 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 divieneun sistema lineare, quadrato di ordine p2, da cui si ricava il vettore y2 chepuo essere sostituito nelle equazioni seguenti. Procedendo in questo modosi ricavano tutti i blocchi yi, i = 1, 2, . . . , k, che costituiscono il vettore y.Una volta ottenuto l’intero vettore y si risale al vettore x tramite la relazionex = Py.

Si osservi che se la matrice A e non singolare tale e anche la matrice B inquanto ottenuta da A con una trasformazione per similitudine. La matrice Bha il determinante uguale al prodotto dei determinanti dei blocchi diagonaliper cui se B e non singolare tali sono i blocchi Bii, i = 1, 2, . . . , k. Questoassicura l’esistenza e l’unicita della soluzione di tutti i sistemi lineari che viavia 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 alposto di un unico sistema lineare di ordine n. Il vantaggio dell’uso di questatrasformazione risultera evidente nel Capitolo 3 quando saranno esposti imetodi 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 diagonalea blocchi, con blocchi diagonali quadrati, sono tutti e soli gli autovalori dei

Page 38: Calcolo Numerico Completo

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

A =

!

"

"

"

"

"

"

#

5 0 3 0 01 1 1 1 51 0 2 0 01 2 1 3 00 0 1 0 6

$

%

%

%

%

%

%

&

.

Per trovare la matrice di permutazione che trasforma A nella sua formaridotta, si costruisce il grafo orientato associato alla matrice A, avente i nodiN1, N2, N3, N4, N5.

Da tale grafo si constata la seguente situazione

Nodo di Nodi Nodi nonpartenza 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 raggiungeretutti gli altri nodi, si riordinano i nodi ponendo ai primi posti quei nodi chesono raggiungibili partendo da N1 e di seguito gli altri. Si ha quindi un nuovoordinamento 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 similitudinemediante la matrice di permutazione

P1 =

!

"

"

"

"

"

"

#

1 0 0 0 00 0 1 0 00 1 0 0 00 0 0 1 00 0 0 0 1

$

%

%

%

%

%

%

&

Page 39: Calcolo Numerico Completo

2.11. COMPLEMENTI ED ESEMPI 37

ottenuta e#ettuando sulle colonne della matrice identica la stessa permu-tazione operata sui nodi Ni per ottenere i nodi Qi.

Si ottiene la matrice

A1 = P T1 AP1 =

!

"

"

"

"

"

"

#

5 3 0 0 01 2 0 0 01 1 1 1 51 1 2 3 00 1 0 0 6

$

%

%

%

%

%

%

&

.

La matrice A1 e triangolare a blocchi con blocchi diagonali

1

5 31 2

2

,

!

"

#

1 1 52 3 00 0 6

$

%

& .

Il secondo blocco diagonale risulta ancora riducibile in quanto nel suografo orientato esiste un nodo (quello di indice massimo) da cui non si possonoraggiungere gli altri due.

Su questo blocco si opera analogamente a quanto fatto su A; cio equivalead e#ettuare una nuova trasformazione per similitudine sulla matrice A1

mediante la matrice di permutazione

P2 =

!

"

"

"

"

"

"

#

1 0 0 0 00 1 0 0 00 0 0 1 00 0 0 0 10 0 1 0 0

$

%

%

%

%

%

%

&

ottenendo la matrice

A2 = P T2 A1P2 =

!

"

"

"

"

"

"

#

5 3 0 0 01 2 0 0 00 1 6 0 01 1 5 1 11 1 0 2 3

$

%

%

%

%

%

%

&

.

I blocchi diagonali della matrice A2 risultano irriducibili per cui essa e laforma ridotta di A.

Page 40: Calcolo Numerico Completo

38 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Alla matrice A2 si puo giungere con un’unica trasformazione per simili-tudine mediante la matrice di permutazione

P = P1P2 =

!

"

"

"

"

"

"

#

1 0 0 0 00 0 0 1 00 1 0 0 00 0 0 0 10 0 1 0 0

$

%

%

%

%

%

%

&

.

2.11.4 Autovalori e autovettori di matrici particolari

Esempio 2.11.6 Le matrici della forma

G =

!

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

#

1. . .

1c $s

1. . .

1s c

1. . .

1

$

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

&

. p

. q

,

dove G !IRn!n e c2 + s2 = 1, si dicono matrici di rotazione.Si vogliono calcolare gli autovalori e gli autovettori di G nel caso s #= 0.Essendo G ortogonale, si ha det(GGT ) = 1, per cui risulta anche det(G) =

#1#2 · · ·#n = ±1.Dal Teorema 2.10.3 si ottiene | #i |% *G*2 =

3

%(GGT ) = 1; ne segue chepuo essere solo | #i |= 1, i = 1, 2, . . . , n.

L’equazione caratteristica della matrice G e

(1 $ #)n"2(#2 $ 2c# + 1) = 0 ;

Page 41: Calcolo Numerico Completo

2.11. COMPLEMENTI ED ESEMPI 39

pertanto gli autovalori di G sono

#1 = · · · = #n"2 = 1, #n"1 = c $-$s2, #n = c +

-$s2 .

Poiche in corrispondenza all’autovalore 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 $ #iI)x = 0,i = 1, 2, . . . , n.

Con semplici calcoli si ottiene la matrice degli autovettori

X =

!

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

#

1. . .

1

$ 1(2

("s2

s1(2

1. . .

11(2

1(2

("s2

s

1. . .

1

$

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

&

. p

. q

.

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

Esempio 2.11.7 Si consideri la matrice H = I$2vvH con v !C/ n e vHv = 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 = $2vvH . L’equazione caratteristica diB, tenuto conto che vHv = 1, e

µn + 2µn"1 = 0 .

Si ricavano quindi gli autovalori di B che sono

µ1 = 0, µ2 = $2, con !(µ1) = n $ 1, !(µ2) = 1 .

Page 42: Calcolo Numerico Completo

40 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Gli autovalori di H sono quindi

#1 = 1, #2 = $1, con !(#1) = n $ 1, !(#2) = 1 .

Si verifica facilmente che &(#1) = !(#1) e &(#2) = !(#2), quindi gliautovettori linearmente indipendenti di H sono n. Gli autovettori associatia #1 sono

x1 =

!

"

"

"

"

"

"

"

"

"

"

"

#

v2

$v1

0...000

$

%

%

%

%

%

%

%

%

%

%

%

&

, x2 =

!

"

"

"

"

"

"

"

"

"

"

"

#

v3

0$v1

...000

$

%

%

%

%

%

%

%

%

%

%

%

&

, . . . , xn"1 =

!

"

"

"

"

"

"

"

"

"

"

"

#

vn

00...00

$v1

$

%

%

%

%

%

%

%

%

%

%

%

&

,

mentre l’autovettore associato a #2 e xn = v.Si osservi, infine, che la matrice H e una matrice hermitiana e unitaria.

Esempio 2.11.8 Si consideri la matrice J !IR2n!2n i cui elementi sono

(J)ik =

)

+

,

1 se i + k = 2n + 1,

0 altrimenti.

Essendo J2 = I, indicato con # un autovalore di J , si ha #2 = 1; per cuigli 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. Gliautovettori associati a #1 sono

x1 =

!

"

"

"

"

"

"

"

"

"

"

"

#

100...001

$

%

%

%

%

%

%

%

%

%

%

%

&

, x2 =

!

"

"

"

"

"

"

"

"

"

"

"

#

010...010

$

%

%

%

%

%

%

%

%

%

%

%

&

, . . . , xn =

!

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

#

0...0110...0

$

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

&

,

Page 43: Calcolo Numerico Completo

2.11. COMPLEMENTI ED ESEMPI 41

mentre gli autovettori associati a #2 sono

xn+1 =

!

"

"

"

"

"

"

"

"

"

"

"

#

100...00$1

$

%

%

%

%

%

%

%

%

%

%

%

&

, xn+2 =

!

"

"

"

"

"

"

"

"

"

"

"

#

010...0$10

$

%

%

%

%

%

%

%

%

%

%

%

&

, . . . , x2n =

!

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

#

0...01$10...0

$

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

&

.

Si osservi che gli autovettori di J sono anche autovettori di J2 mentrenon e vero, in generale, il viceversa. Infatti, la matrice J2 ammette comeautovettore un qualunque vettore di C/ n.

2.11.5 Matrici tridiagonali

Particolare interesse hanno le matrici tridiagonali cioe le matrici T i cuielementi tij sono nulli se | i $ j |> 1, i, j = 1, 2, . . . , n.

Pertanto possono scriversi nella seguente forma generale

T =

!

"

"

"

"

"

#

a1 c2

b2. . . . . .. . . . . . cn

bn an

$

%

%

%

%

%

&

. (2.17)

Per le matrici tridiagonali (2.17) il calcolo del determinante puo e#ettuarsimediante la relazione ricorrente

D0 = 1,

D1 = a1,

Di = aiDi"1 $ biciDi"2, 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

Page 44: Calcolo Numerico Completo

42 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

P0(#) = 1,

P1(#) = a1 $ #,

Pi(#) = (ai $ #)Pi"1(#) $ biciPi"2(#), i = 2, 3, . . . , n,

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

Esempio 2.11.9 Si calcola il determinante della matrice di ordine n

Tn =

!

"

"

"

"

"

#

1 1

$1. . . . . .. . . . . . 1

$1 1

$

%

%

%

%

%

&

,

caso particolare della (2.17).Per det(Tn) = Dn risulta

Dn = Dn"1 + Dn"2 . (2.18)

La (2.18), per n = 2, 3, . . ., e una equazione lineare alle di#erenze (cfr. 8.3.1)la cui equazione caratteristica e µ2 $ µ $ 1 = 0. La soluzione generale eDn = c1µn

1 + c2µn2 , con µ1 = 1+

(5

2 e µ2 = 1"(

52 . Le costanti arbitrarie c1 e c2

possono essere determinate imponendo che per n = 0 ed n = 1, Dn assuma ivalori dati per D0 e D1. Ponendo D0 = D1 = 1 e risolvendo quindi il sistema

c1 + c2 = 1

c1µ1 + c2µ2 = 1 ,

si ricava c1 = µ1/-

5 e c2 = $µ2/-

5, da cui

Dn =1-5µn+1

1 $ 1-5µn+1

2 .

Quindi, ad esempio,

det(T100) /1-5(1.618)101 / 5.73 " 1020 .

La successione {Dn} e nota con il nome di successione di Fibonacci.

Page 45: Calcolo Numerico Completo

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

Dimostrazione. Segue immediatamente dal primo teorema di Gershgorin te-nendo presente che ogni cerchio di Gershgorin ha il centro a distanza | aii | dall’o-rigine degli assi ed il raggio "i =

(nj=1j !=i

| aij |; dall’ipotesi segue che nessuno dei

detti cerchi contiene l’origine. Lo zero non e quindi autovalore della matrice ed ildeterminante, 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 lapredominanza diagonale debole consente ai cerchi di Gershgorin di avere la circon-ferenza passante per l’origine, eccettuato uno almeno di tali cerchi. D’altra partese lo zero fosse autovalore della matrice irriducibile A, per il terzo teorema di Ger-shgorin esso dovrebbe appartenere alla frontiera di tutti i cerchi, contrariamentea quanto osservato. Dunque lo zero non e autovalore e percio det(A) #= 0.

Esempio 2.11.10 Sia

A =

!

"

#

2 2 0i 2i 1

$1 0 $2i

$

%

& , dove i2 = $1;

gli autovalori appartengono all’insieme rappresentato in Fig. 2.4 che e l’unionedei 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 suoiautovalori sono non nulli essendo det(A) = 2.

Page 46: Calcolo Numerico Completo

44 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

-5

-4

-3

-2

-1

0

1

2

3

4

5

-4 -2 0 2 4

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

xx

xx

x

x

x

x

x

x

x

x

x

xx

xx

xx

x

x

x

x

x

x

x

x

x

xx

xx

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

Figura 2.4: cerchi di Gershgorin.

Una interessante applicazione del Teorema 2.8.1 e la possibilita di local-izzare le radici reali e complesse di una equazione algebrica.

Sia data l’equazione

xk + ak"1xk"1 + · · · + a1x + a0 = 0 (2.19)

con ai !C/ , i = 0, 1, . . . , k $ 1.Si consideri la matrice quadrata di ordine k

F =

!

"

"

"

"

"

"

"

"

#

0 1 0 · · · 0 00 0 1 · · · 0 00 0 0 · · · 0 0· · · · · · · · · · · · · · · · · ·0 0 0 · · · 0 1

$a0 $a1 $a2 · · · $ak"2 $ak"1

$

%

%

%

%

%

%

%

%

&

; (2.20)

si verifica che la (2.19) e l’equazione caratteristica della matrice F : pertantoi suoi autovalori sono le radici dell’equazione assegnata. Quindi e possibilelocalizzare le radici dell’equazione (2.19) facendo uso del Teorema 2.8.1.

La matrice (2.20) e detta matrice di Frobenius o matrice compagna dell’e-quazione (2.19).

Esempio 2.11.11 Si consideri l’equazione algebrica

x3 $ 5x2 + 3x $ 1 = 0.

Page 47: Calcolo Numerico Completo

2.11. COMPLEMENTI ED ESEMPI 45

Le radici dell’equazione sono gli autovalori della matrice compagna

F =

!

"

#

0 1 00 0 11 $3 5

$

%

& .

Applicando il primo teorema di Gershgorin alla matrice F , le radici del-l’equazione appartengono all’insieme 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 l’insieme G unione deicerchi

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 deduceche gli autovalori, quindi le radici dell’equazione proposta, appartengonoall’insieme F 0G, che e piu ristretto sia di F che di G, come mostra laFig. 2.5.

-10

-8

-6

-4

-2

0

2

4

6

8

10

-10 -5 0 5 10

xxx

xxx

xxx

xxxxxxx

xxxxxxxxxxx

xxxxxxxxxxxxx

xxxxxxxxxxx

xxxxxxx

xxx

xxx

xxx

Figura 2.5: Intersezione F 0G.

Page 48: Calcolo Numerico Completo

46 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

2.11.7 Polinomio minimo

Teorema 2.11.3 (di Cayley-Hamilton) Una matrice A !C/ n!n verifica la suaequazione caratteristica; si ha cioe

P (A) = O

essendo il secondo membro la matrice nulla e P (#) il polinomio caratteristicodi 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 (#) edivisore; inoltre A puo annullare anche polinomi di grado inferiore a n.

Definizione 2.11.1 Data una matrice A !C/ n!n 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

PM(#) = (# $ #1)p(1)

(# $ #2)p(2) · · · (# $ #k)

p(k)

dove p(i) e l’ordine massimo dei blocchi di Jordan J (i)l (cfr. Teorema 2.7.9),

mentre #1,#2, . . . ,#k, sono gli autovalori distinti di A.

Esempio 2.11.12 Si calcolano i polinomi minimi di alcune matrici parti-colari.

1. Sia G una matrice di rotazione di ordine n con s #= 0 (cfr. Esempio2.11.6). Essa ha equazione caratteristica

(# $ 1)n"2(#2 $ 2c# + 1) = 0 ;

si ha &(1) = n $ 2, quindi i blocchi di Jordan sono tutti di ordine 1 eil polinomio minimo di G risulta

PM(#) = (# $ 1)(#2 $ 2c# + 1) .

Page 49: Calcolo Numerico Completo

2.11. COMPLEMENTI ED ESEMPI 47

2. Sia H una matrice di Householder (cfr. Esempio 2.11.7). Essendo Hunitaria ed hermitiana, si ha H2 = I per cui H2$I =O ed il polinomiominimo e

PM(#) = #2 $ 1

in quanto per nessun valore ! puo risultare H + !I =O.

3. Sia J la matrice definita nell’Esempio 2.11.8. Anche per J si ha J2 = Iper cui il suo polinomio minimo, come per tutte le matrici ortogonalie 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 mostratonel seguente esempio.

Esempio 2.11.13 Sia A la matrice reale di ordine n definita da

A =

!

"

"

"

"

"

"

"

"

#

n 1 1 · · · 1 11 n 1 · · · 1 11 1 n · · · 1 1· · · · · · · · · · · · · · · · · ·1 1 1 · · · n 11 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 l’equazione caratteristica (2.4) eµn $nµn"1 = 0 da cui gli autovalori µ1 = µ2 = · · · = µn"1 = 0 e µn = n. Gliautovalori di A sono percio

#1 = #2 = · · · = #n"1 = n $ 1, #n = 2n $ 1.

Poiche A e hermitiana, e quindi normale, per il Teorema 2.7.8, e diago-nalizzabile, come e confermato dall’uguaglianza delle molteplicita algebricae geometrica.

La forma canonica di Jordan della matrice A coincide con la matricediagonale i cui elementi diagonali sono gli autovalori di A e quindi i blocchi

Page 50: Calcolo Numerico Completo

48 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

di Jordan sono tutti di ordine 1. Da quanto a#ermato sopra, il polinomiominimo 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 lamatrice inversa A"1, si ottiene

A"1 =1

2n2 $ 3n + 1((3n $ 2)I $ A)

=1

2n2 $ 3n + 1

!

"

"

"

"

"

"

"

#

2n $ 2 $1 $1 · · · $1 $1$1 2n $ 2 $1 · · · $1 $1$1 $1 2n $ 2 · · · $1 $1· · · · · · · · · · · · · · · · · ·$1 $1 $1 · · · 2n $ 2 $1$1 $1 $1 · · · $1 2n $ 2

$

%

%

%

%

%

%

%

&

.

Bibliografia: [2], [5], [13], [15], [31].

Page 51: Calcolo Numerico Completo

Capitolo 3

Sistemi di equazioni lineari

In questo capitolo si studiano due tipi di metodi risolutivi per sistemidi equazioni lineari, solitamente detti metodi diretti e metodi iterativi. Neimetodi diretti si giunge alla soluzione esatta (a meno degli errori di arroton-damento) con un numero finito di operazioni sui dati; nei metodi iterativila soluzione viene invece approssimata dai termini di una successione di cuila soluzione cercata e il limite. La convenienza dell’uno o dell’altro tipo dimetodo dipende da particolari proprieta del sistema che si vuole risolvere.

Per semplicita si fa riferimento al caso di sistemi reali, notando chel’estensione degli algoritmi al campo complesso non presenta particolari dif-ficolta.

3.1 Algoritmo base del metodo di Gauss

Dato il sistema di n equazioni lineari

a11x1 + · · · · · · + a1nxn = b1

· · · · · · · · · · · ·an1x1 + · · · · · · + annxn = bn

(3.1)

dove i coe!cienti aij e i termini noti bi sono numeri reali, si cerca un vet-tore xT = (x1, x2, . . . , xn) che verifichi le (3.1). Introdotta la matrice deicoe!cienti A e il vettore dei termini noti b, il sistema si puo scrivere nellaforma

Ax = b , (3.2)

Page 52: Calcolo Numerico Completo

50 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

dove si suppone A non singolare, per garantire l’esistenza e l’unicita dellasoluzione.

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 != 0, i = 1, 2, . . . , n.Il sistema (3.3) e quindi della forma

r11x1 + r12x2 + · · · · · · + r1nxn = c1

r22x2 + · · · · · · + r2nxn = c2

· · · · · · · · ·rnnxn = cn

(3.4)

e si risolve immediatamente con le formule

xn = cn/rnn

xi = (ci "!n

j=i+1 rijxj)/rii, i = n " 1, . . . , 1.

Per passare dal sistema (3.1) ad uno equivalente della forma (3.4) occorreeliminare dalla i-esima equazione le incognite con indice minore di i, peri = 2, 3, . . . , n. Cio si e"ettua utilizzando la proprieta che la soluzione noncambia se si sostituisce all’equazione i-esima una sua combinazione linearecon un’altra equazione del sistema. Pertanto, se a11 != 0, si elimina x1 datutte le equazioni che seguono la prima, sottraendo membro a membro dallai-esima equazione, i = 2, 3, . . . , n, la prima equazione i cui membri siano statimoltiplicati per il coe!ciente, detto appunto moltiplicatore,

li1 =ai1

a11. (3.5)

Ponendo per ragioni formali a(1)ij := aij, i, j = 1, 2, . . . , n, il sistema, dopo

la prima eliminazione, assume la forma:

a(1)11 x1 + a(1)

12 x2 + a(1)13 x3 + · · · + a(1)

1n xn = b(1)1

a(2)22 x2 + a(2)

23 x3 + · · · + a(2)2n xn = b(2)

2

· · · · · · · · · · · ·a(2)

n2 x2 + a(2)n3 x3 + · · · + a(2)

nnxn = b(2)n

(3.6)

Page 53: Calcolo Numerico Completo

3.1. ALGORITMO BASE DEL METODO DI GAUSS 51

dove

a(2)ij = a(1)

ij " li1a(1)1j , b(2)

i = b(1)i " li1b

(1)1 , i, j = 2, 3, . . . , n.

Questo sistema si puo sostituire al sistema (3.1) senza cambiarne la solu-zione.

Se nel sistema (3.6) risulta a(2)22 != 0, si puo eliminare x2 da tutte le

equazioni che seguono la seconda, utilizzando ora i moltiplicatori li2 =a(2)i2

a(2)22

,

i = 3, 4, . . . , n, e cosı via. Supposto che tale procedimento possa ripetersin " 1 volte, si giunge al sistema

a(1)11 x1 + a(1)

12 x2 + · · · · · · + a(1)1n xn = b(1)

1

a(2)22 x2 + · · · · · · + a(2)

2n xn = b(2)2

· · · · · · · · ·a(n)

nn xn = b(n)n

(3.7)

che e della forma (3.4) ed e equivalente a (3.1).Le condizioni perche l’algoritmo possa giungere al termine come descritto,

sonoa(1)

11 != 0, a(2)22 != 0, . . . , a(n)

nn != 0 . (3.8)

In mancanza di una di queste condizioni l’algoritmo si interrompe.Le (3.8) equivalgono, com’e facile verificare, alla proprieta che la matrice

A abbia i minori principali di testa diversi da zero, cioe

a11 != 0,

"

"

"

"

"

a11 a12

a12 a22

"

"

"

"

"

!= 0, . . . , det(A) != 0 . (3.9)

In realta poche matrici godono di questa proprieta; fra queste si trovanole matrici simmetriche e definite, che ricorrono spesso nelle applicazioni.

Nella pratica del calcolo l’algoritmo di base viene modificato sia per garan-tirne la completa esecuzione, sia per ridurre la propagazione degli errori diarrotondamento, anche quando le condizioni (3.9) fossero verificate.

Le modifiche apportate in questo senso non alterano comunque il numerodi operazioni essenziali (moltiplicazioni e divisioni) che, per un sistema di nequazioni in n incognite, si puo verificare che ammonta a n3

3 + n2 " n3 .

Si noti che lo stesso sistema, risolto con la regola di Cramer, che e pureun metodo diretto, richiede circa (n " 1)(n + 1)! operazioni.

L’uso della tecnica di eliminazione, evitando il calcolo dei determinanti,riduce notevolmente anche il numero delle operazioni necessarie per il calcolo

Page 54: Calcolo Numerico Completo

52 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

della matrice inversa di A. La matrice A!1 e infatti la soluzione del sistemamatriciale

AX = I,

che equivale ad n sistemi lineari della forma

Ax(i) = e(i), i = 1, 2, . . . n,

dove si e posto X = [x(1) | x(2) | . . . | x(n)] e I = [e(1) | e(2) | . . . | e(n)].

3.2 Tecniche di pivoting

I coe!cienti a(1)11 , a(2)

22 , a(3)33 ,. . . del sistema (3.7) si dicono elementi pivotali

(dal francese pivot=perno). Le modifiche dell’algoritmo che si introduconoper i motivi detti nel paragrafo precedente, consistono nello stabilire a prioriun criterio di scelta dell’elemento pivotale per ciascuna eliminazione.

Un primo criterio, detto del pivoting parziale, e il seguente: si suppongache nel sistema (3.1) sia

max1"i"n

| a(1)i1 |=| a(1)

r1 | ; (3.10)

allora, se r != 1, si scambiano di posto la prima e l’r-esima equazione equindi si considera un sistema in cui i coe!cienti a(1)

1j , j = 1, 2, . . . , n, sono i

coe!cienti a(1)rj , j = 1, 2, . . . , n, del sistema di partenza e viceversa. E"ettuata

la prima eliminazione, si supponga che nel sistema (3.6) si abbia

max2"i"n

| a(2)i2 |=| a(2)

s2 | ; (3.11)

allora, se s != 2, si scambiano di posto l’equazione di indice s con quella diindice 2, quindi si procede alla seconda eliminazione e cosı via.

Un’altra strategia e quella del pivoting totale in cui il pivot e ancoral’elemento di massimo modulo, ma scelto ogni volta sull’intera matrice delsistema 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 nellaposizione di testa puo essere necessario un riordinamento delle equazioni edelle incognite.

Nel caso di sistemi con equazioni sbilanciate, cioe con coe!cienti di unastessa equazione molto diversi nell’ordine di grandezza, il criterio del pivoting

Page 55: Calcolo Numerico Completo

3.3. FATTORIZZAZIONE LR 53

parziale puo risultare ine!cace ai fini 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 elementipivotali gli elementi a(1)

r1 , a(2)s2 , . . ., tali che si abbia

| a(1)r1 |

m(1)r

= max1"i"n

| a(1)i1 |

m(1)i

,| a(2)

s2 |m(2)

s

= max2"i"n

| a(2)i2 |

m(2)i

, . . . . . . , (3.12)

dove i numeri m(1)i = max1"j"n | a(1)

ij |, i = 1, 2, . . . , n, vanno calcolati

sulla matrice A del sistema di partenza, i numeri m(2)i = max2"j"n | a(2)

ij |,i = 2, 3, . . . , n, si calcolano sulla matrice del sistema (3.6) etc..

3.3 Fattorizzazione LR

L’algoritmo di eliminazione puo essere considerato come un procedimentoche 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 verifichi le condizioni (3.9) e quindi che si possa applicare l’algoritmodi eliminazione senza e"ettuare scambi tra le righe.

Teorema 3.3.1 Nell’ipotesi che valgano le condizioni (3.9) l’algoritmo dieliminazione produce la fattorizzazione

A = LR , (3.13)

dove R e la matrice triangolare superiore data dai coe!cienti del sistema (3.7)ed L ha la forma

L =

#

$

$

$

$

$

$

$

$

$

$

%

1l21 1l31 l32 1...

.... . . . . .

......

. . . 1ln1 ln2 · · · · · · ln,n!1 1

&

'

'

'

'

'

'

'

'

'

'

(

in cui gli elementi al disotto della diagonale principale coincidono con i molti-plicatori dell’algoritmo di eliminazione.

Page 56: Calcolo Numerico Completo

54 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

Dimostrazione. Siano A1, A2, . . . , An!1 = R le matrici dei successivi sistemiequivalenti a (3.1) che si ottengono dopo ciascuna eliminazione.

Si constata che

A1 = H1A, A2 = H2A1, . . . , An!1 = Hn!1An!2 = R (3.14)

con

Hi =

#

$

$

$

$

$

$

$

$

$

$

%

1. . .

1

"li+1,i. . .

.... . .

"ln,i 1

&

'

'

'

'

'

'

'

'

'

'

(

.

Posto Li := H!1i e tenuto conto che

H!1i =

#

$

$

$

$

$

$

$

$

$

$

%

1. . .

1

li+1,i. . .

.... . .

ln,i 1

&

'

'

'

'

'

'

'

'

'

'

(

e che L1L2 . . . Ln!1 = L, dalle (3.14) segue

Hn!1Hn!2 · · ·H1A = R,

da cuiA = L1L2 · · ·Ln!1R = LR.

Nel caso di una matrice A qualunque si puo dimostrare che l’algoritmodi Gauss con l’eventuale uso del pivoting parziale conduce ancora ad unafattorizzazione della forma

PA = LpRp (3.15)

dove P e una matrice di permutazione definita dagli scambi di righe richiestidall’algoritmo, Rp e triangolare superiore ed Lp e triangolare inferiore conelementi diagonali unitari.

Page 57: Calcolo Numerico Completo

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 all’uso del pivoting, mentrei determinanti di R ed Rp sono dati dal prodotto dei termini diagonali. Siosservi che il costo computazionale di det(A) mediante la definizione e dicirca n! operazioni mentre il numero di operazioni per costruire R ed Rp conl’eliminazione gaussiana e di circa n3/3.

3.4 Metodi di fattorizzazione

La conoscenza di una fattorizzazione della matrice A puo essere utile aifini della risoluzione del sistema (3.1), infatti se ad esempio si conosce a priorila 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)

Nell’ipotesi che valgano le condizioni (3.9) l’eliminazione gaussiana pro-duce le due matrici R ed L, quest’ultima essendo fornita dai moltiplica-tori lij che si possono convenientemente memorizzare durante l’esecuzionedell’algoritmo.

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 defini-zione di prodotto fra matrici, ferma restando l’ipotesi (3.9).

Si hanno cosı i metodi di fattorizzazione diretta che si fondano sulla (3.13)pensata come un sistema di n2 equazioni

aij =min(i,j)

)

h=1

lihrhj, i, j = 1, 2, . . . , n. (3.17)

Per ricavare gli elementi di L ed R dalla (3.17) si possono seguire diversischemi di calcolo.

Page 58: Calcolo Numerico Completo

56 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

Nel metodo di Doolittle si pone nelle (3.17) lii = 1, i = 1, 2, . . . , n, sicchele n2 incognite sono gli n(n+1)/2 elementi rij di R con j # i e gli (n"1)n/2elementi lij di L al disotto della diagonale principale. L’ordine che si seguenella 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 = l11r1j, j = 1, 2, . . . , n;

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

ai1 = li1r11, i = 2, 3, . . . n;

3. si pone i = 2 e si ricavano le r2j per la seconda riga di R da

a2j =2

)

h=1

l2hrhj, j = 2, 3, . . . n.

Cosı proseguendo, si costruiscono alternativamente una riga completa diR e una colonna senza l’elemento diagonale di L, seguendo l’ordine rappre-sentato in Fig. 3.1.

! ! !

"

"

"

"

2 4 6

1

3

5

7

Figura 3.1: Metodo di Doolittle.

Se nelle (3.17) si pone rii = 1, i = 1, 2, . . . , n, si ottiene il metodo di Croutin cui si costruiscono alternativamente una colonna completa di L ed una rigasenza l’elemento diagonale di R secondo un ordinamento che e il traspostodi 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 = li1r11, i = 1, 2, . . . , n;

Page 59: Calcolo Numerico Completo

3.4. METODI DI FATTORIZZAZIONE 57

! ! ! !

"

"

"

1 3 5

2

4

6

7

Figura 3.2: Metodo di Crout.

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

a1j = l11r1j, j = 2, 3, . . . n;

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

ai2 =2

)

h=1

lihrh2, i = 2, 3, . . . n.

E cosı via.

Con la scelta lii = 1 associata alla costruzione per righe alternate di R edi L si ha il metodo di Banachiewicz.

Tutti questi metodi sono applicabili solo quando siano verificate le con-dizioni (3.9) ed hanno, rispetto alla eliminazione gaussiana, il solo vantaggiodi una esecuzione piu compatta che non richiede la memorizzazione di stadiintermedi.

Nel caso speciale dei sistemi lineari con matrice simmetrica definita positi-va esiste la possibilita di ridurre anche il numero di operazioni essenziali, quasidimezzandole, rispetto al metodo di eliminazione. Cio si ottiene ricorrendoalla fattorizzazione

A = LLT (3.18)

valida per ogni matrice A simmetrica e definita positiva, con L matrice trian-golare inferiore ed elementi diagonali positivi ma non necessariamente ugualiad 1.

Sulla (3.18) si fonda il metodo di Cholesky in cui ci si limita a costruiresolo la matrice L procedendo per colonne. Posto nella (3.17) rhj := ljh si haper i # j,

aij = li1lj1 + li2lj2 + · · · + lijljj, j = 1, 2, . . . , n, (3.19)

Page 60: Calcolo Numerico Completo

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 dellacolonna j-esima di L. Si noti che per i = j la (3.19) diventa

ajj = l2j1 + l2j2 + · · · + l2jj

da cui

ljj =

*

+

+

,ajj "j!1)

h=1

l2jh

dove per j = 1 la sommatoria e nulla.In generale, quando si conosce una fattorizzazione A = LR si ha formal-

mente A!1 = R!1L!1, percio per avere l’inversa di A basta risolvere i duesistemi matriciali triangolari

RX = I , LY = I ,

che forniscono rispettivamente R!1 ed L!1 e poi eseguire il prodotto R!1L!1.In particolare se A e simmetrica e definita positiva basta risolvere soltanto ilsecondo sistema, avendosi

A!1 = (LT )!1L!1 = (L!1)T L!1.

3.5 Errori, stabilita e condizionamento

Qualunque metodo per la risoluzione di un sistema lineare produce unasoluzione approssimata a causa degli errori di arrotondamento introdotti nelcorso dei calcoli. Tali errori vengono amplificati e trasmessi alla soluzioneattraverso un meccanismo che dipende sia dall’algoritmo che dal sistemastesso.

Sia x la soluzione esatta del sistema Ax = b, al quale si supponga diapplicare un qualunque metodo diretto e sia x+!x la soluzione approssimatache si ottiene. Si usa ammettere che l’influenza dell’algoritmo equivalga aduna certa perturbazione !A, !b dei dati iniziali, per cui la soluzione numericax + !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 sidice stabile se le perturbazioni prodotte sono modeste.

Page 61: Calcolo Numerico Completo

3.5. ERRORI, STABILITA E CONDIZIONAMENTO 59

L’entita dell’errore relativo #!x##x# dipende dalla sensibilita della soluzione

alle perturbazioni dei dati A e b o, come si dice, dal condizionamento delsistema, termine col quale si designa, piu in generale, l’attitudine che ha undato problema a trasmettere, piu o meno amplificate, le perturbazioni deidati alla soluzione. Precisamente vale il teorema seguente.

Teorema 3.5.1 Nell’ipotesi che la matrice A + !A sia non singolare e che,rispetto ad una data norma, sia $!A$ < 1/$A!1$, vale la relazione:

$!x$$x$

%µ(A)

1 " µ(A)#!A##A#

-

$!A$$A$

+$!b$$b$

.

, (3.20)

doveµ(A) = $A$$A!1$ . (3.21)

Si osservi che quando il numero µ(A) definito dalla (3.21) e ”molto grande”si ha una forte amplificazione del membro destro della (3.20) e l’errore 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 sidice appunto numero di condizionamento rispetto alla norma considerata.

Il numero µ(A) e non inferiore all’unita, avendosi, per ogni norma,

µ(A) = $A$$A!1$ # $AA!1$ = $I$ # 1.

In generale A si dice malcondizionata se µ(A) & 1 e bencondizionata seµ(A) non e ”molto grande”, ma e chiaro che, tranne casi estremi, l’adozionedi questi termini dipende da criteri contingenti.

Si osservi che se nella (3.20) si pone $!A$ = 0, l’errore relativo puocrescere al piu linearmente al crescere di $!b$ mentre al crescere di $!A$l’errore potrebbe subire aumenti assai piu forti in quanto nel membro destrodella (3.20) cresce anche il fattore µ(A)/

/

1 " µ(A)#!A##A#

0

.Per questo motivo per misurare la stabilita o meno dell’algoritmo usato,

si cerca di risalire alla perturbazione $!A$, partendo dagli errori di arroton-damento introdotti dall’algoritmo di fattorizzazione della matrice A. Questatecnica, detta di analisi dell’errore all’indietro, viene usata in generale ancheper altri algoritmi.

Nota una stima della perturbazione sui dati corrispondente ad un certoalgoritmo diretto, la (3.20) fornisce una maggiorazione a priori dell’errorerelativo della soluzione. Di validita piu generale e invece una maggiorazione

Page 62: Calcolo Numerico Completo

60 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

a posteriori che si ricava come segue: sia x la soluzione ottenuta per il sistemaAx = b risolto con un qualunque metodo e si abbia

b " Ax = r

dove r e il vettore residuo. In corrispondenza alla soluzione esatta, r risultanullo, cioe si ha b " Ax = 0; ne segue

A(x " x) = "r, (x " x) = "A!1r

e, per una qualunque norma naturale:

$x " x$ % $A!1$$r$

d’altra parte da Ax = b si ha

$x$ #$b$$A$

e dalle ultime due relazioni segue la detta maggiorazione

$x " x$$x$

% µ(A)$r$$b$

. (3.22)

La (3.22) mostra che la dipendenza dell’errore finale da µ(A) e un fattogenerale e mette in guardia dal ritenere buona un’approssimazione x quandoil corrispondente residuo sia ”piccolo”.

In generale non si conosce la matrice inversa di A e quindi µ(A); tuttaviala (3.22) puo essere e"ettivamente 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 nonnulli. Se a un tale sistema si applica un metodo diretto, le matrici dei sistemiintermedi o di arrivo possono diventare matrici dense, cioe con un elevatonumero di elementi non nulli.

Sorgono cosı seri problemi di costo computazionale e di ingombro dimemoria. In questi casi puo giovare il ricorso ai metodi iterativi, in cuiogni iterazione richiede il prodotto di una matrice H per un vettore.

Page 63: Calcolo Numerico Completo

3.6. METODI ITERATIVI IN GENERALE 61

Poiche la densita di H e paragonabile a quella di A, se questa e unamatrice sparsa, ogni iterazione comporta una mole di calcoli relativamentemodesta 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 ' IRn$n, b ' IRn, det(A) != 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 singolarequalsiasi, si puo scrivere

x = x " G(Ax " b)

da cuix = (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 definisce il metodo. Un

metodo iterativo si dice convergente se la successione1

x(k)2

converge allasoluzione del sistema dato.

La convergenza o meno della successione1

x(k)2

generata da un metodoiterativo dipende dalla sua matrice di iterazione H in base al seguente teo-rema.

Teorema 3.6.1 Condizione necessaria e su!ciente a!nche 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 usareun metodo iterativo del tipo (3.24).

Essendo x = Hx + c equivalente al sistema dato, vale l’identita

a = Ha + c ;

Page 64: Calcolo Numerico Completo

62 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

sottraendo membro a membro questa dalla (3.24) e indicando con e(k) = x(k) " a

l’errore associato a x(k), si ha

e(k+1) = He(k), k = 0, 1, . . . ,

da cuie(k) = Hke(0) ; (3.25)

percio, per un arbitrario e(0), si avra limk%& e(k) = 0 se e solo se limk%& Hk = O.

Da note proprieta delle matrici e delle loro norme (cfr. Teorema 2.7.1 eTeorema 2.10.3), si ottengono i seguenti corollari.

Corollario 3.6.1 Per la convergenza del metodo (3.24) e necessario e suf-ficiente che sia

"(H) < 1 . (3.26)

Corollario 3.6.2 Condizione su!ciente per la convergenza del metodo (3.24)e l’esistenza di una norma naturale per cui si abbia

$H$ < 1 .

La (3.25) consente di studiare la riduzione dell’errore nel corso delle ite-razioni. Infatti si dimostra che per una qualunque norma naturale si ha

limk%&

k

3

$Hk$ = "(H) ;

quindi asintoticamente, cioe per k abbastanza grande, si ha

k

3

$Hk$ ( "(H) ; (3.27)

da questa e dalla (3.25) segue, se $e(0)$ != 0,

$e(k)$$e(0)$

% $Hk$ ( "k(H) . (3.28)

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

dopo un numero k di iterazioni tale che "k(H) % 10!m ossia se

k

m# "

1

Log "(H)(3.29)

Page 65: Calcolo Numerico Completo

3.6. METODI ITERATIVI IN GENERALE 63

(si ricordi che per la (3.26) e Log "(H) < 0).Dalla (3.29) si vede che, nell’ambito 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 numeroV =

m

k= "Log "(H) (3.30)

si da il nome di velocita asintotica di convergenza del metodo avente matricedi iterazione H.

In base alla (3.30) se due metodi hanno matrici di iterazione con diversoraggio spettrale e piu veloce quello che corrisponde al raggio spettrale minore.

Sottraendo ad entrambi i membri della (3.24) il vettore x(k) e tenendoconto che c = "(H " I)a si perviene alla

$e(k)$ % $(H " I)!1$$x(k+1) " x(k)$ . (3.31)

L’uso di un metodo iterativo comporta il ricorso a qualche criterio diarresto. Se # e una tolleranza d’errore prestabilita, un criterio spesso seguitoe il seguente

$x(k+1) " x(k)$ % # (3.32)

che si basa sulla maggiorazione (3.31). Tale criterio e chiaramente ine!cientese il numero $(H " I)!1$ e molto grande.

Un altro criterio si fonda sulla (3.22) che, ponendo r(k) = b " Ax(k), puoscriversi

$e(k)$$a$

% µ(A)$r(k)$$b$

e suggerisce il criterio di arresto:

$r(k)$$b$

% # . (3.33)

La (3.33) comporta che l’errore relativo di x(k) non superi in norma ilnumero µ(A)#. Anche questo criterio e poco a!dabile se A e molto malcon-dizionata. Comunque per garantire che l’algoritmo termini dopo un numeromassimo N di iterazioni, si a!anca ai criteri (3.32) o (3.33) l’ulteriore con-dizione che il calcolo si arresti allorche sia

k # N .

Page 66: Calcolo Numerico Completo

64 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

Si osservi che il teorema di convergenza 3.6.1 non tiene conto degli errori diarrotondamento, cioe vale nell’ipotesi ideale che le iterate siano esattamentequelle definite dalla (3.24). In realta, indicando con !k l’errore di arrotonda-mento che si commette ad ogni passo nel calcolo della funzione Hx(k) + c, inluogo della (3.24) si dovrebbe scrivere

x(k+1) = Hx(k) + c + !k, k = 0, 1, . . .

dove {x(k)} e la successione e"ettivamente calcolata a partire da un arbitrariox(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 chel’errore e"ettivo tenda al vettore nullo. Tuttavia si puo dire che in un metodoconvergente l’e"etto degli errori di arrotondamento sia abbastanza contenuto.

Questo giustifica l’uso del criterio di arresto $x(k+1) " x(k)$ % # che inpratica si sostituisce alla (3.32).

3.7 Metodi di Jacobi e di Gauss-Seidel

Per definire due classici metodi iterativi si scomponga A nella forma

A = D " E " F (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 != 0, i = 1, 2, . . . , n, si ottiene il metodo di Jacobi

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

la cui matrice di iterazione e HJ = D!1(E + F ).Le equazioni del sistema (3.35) sono date da

x(k+1)i =

1

aii

#

$

%bi "n

)

j=1j !=i

aijx(k)j

&

'

( , i = 1, 2, . . . , n, k = 0, 1 . . . . (3.36)

Page 67: Calcolo Numerico Completo

3.7. METODI DI JACOBI E DI GAUSS-SEIDEL 65

Il vettore x(k+1) ottenuto con l’algoritmo (3.36) viene prima memorizzato

in una posizione distinta da quella occupata da x(k) poi le n componenti x(k+1)i

vengono trasferite simultaneamente nelle posizioni prima occupate dalle x(k)i .

Per questo motivo il metodo e detto anche metodo delle sostituzioni simul-tanee.

Se si scrive il sistema dato nella forma equivalente

(D " E)x = Fx + b

e si suppone ancora che sia aii != 0, i = 1, 2, . . . , n, si ottiene il metodo diGauss-Seidel

x(k+1) = (D " E)!1Fx(k) + (D " E)!1b , k = 0, 1, . . . , (3.37)

dove la matrice di iterazione e data da

HG = (D " E)!1F .

Nel calcolo pratico si fa uso di una formulazione equivalente alla (3.37) ecioe

x(k+1) = D!1Ex(k+1) + D!1Fx(k) + D!1b , k = 0, 1, . . . , (3.38)

dove le singole equazioni sono

x(k+1)i = 1

aii

/

bi "!i!1

j=1 aijx(k+1)j "

!nj=i+1 aijx

(k)j

0

,

i = 1, 2, . . . , n, k = 0, 1, . . . .(3.39)

L’algoritmo (3.39) consente una maggiore economia di memoria rispetto

a quello di Jacobi, in quanto ogni singola componente x(k+1)i appena calcolata

puo essere subito memorizzata nella posizione prima occupata dalla vecchiacomponente x(k)

i . Cio giustifica la denominazione di metodo delle sostituzionisuccessive spesso usata per il processo (3.39).

Si osservi che in entrambi i metodi sopra definiti e necessaria la con-dizione aii != 0, i = 1, 2, . . . , n. Se tale condizione non fosse verificata esempre possibile ottenerla riordinando le equazioni e, eventualmente, anchele incognite, purche la matrice A non sia singolare. In generale, a diversi or-dinamenti soddisfacenti la condizione aii != 0, corrispondono diverse matricidi iterazione.

Ammesso che sia verificata la condizione ora detta, un esame della ma-trice A del sistema puo dire subito se vi sono condizioni su!cienti per laconvergenza. Valgono infatti i seguenti teoremi.

Page 68: Calcolo Numerico Completo

66 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

Teorema 3.7.1 Se A e una matrice a predominanza diagonale forte, allorail metodo di Jacobi e quello di Gauss-Seidel sono convergenti (cfr. Esempio3.10.5).

Teorema 3.7.2 Se A e una matrice irriducibile e a predominanza diagonaledebole, 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 quelladell’altro.

I metodi di Jacobi e di Gauss-Seidel possono essere usati anche nellaversione a blocchi, con riferimento ad una partizione di A in sottomatriciAij, i, j = 1, 2, . . . ,m, m < n, con le Aii matrici quadrate non singolari (nonnecessariamente dello stesso ordine), cui deve corrispondere una ripartizionein m blocchi anche per i vettori x e b.

Il sistema Ax = b rappresentato a blocchi assume quindi la forma:

#

$

%

A11 · · · A1m

· · · · · · · · ·Am1 · · · Amm

&

'

(

#

$

$

%

x1...

xm

&

'

'

(

=

#

$

$

%

b1...

bm

&

'

'

(

,

dove ora xi e bi sono vettori con un numero di componenti pari all’ordine diAii.

Alle equazioni a elementi (3.36) e (3.39) corrispondono rispettivamente leseguenti equazioni a blocchi:

x(k+1)i = A!1

ii

#

$

%bi "m

)

j=1j !=i

Aijx(k)j

&

'

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

x(k+1)i = A!1

ii

#

%bi "i!1)

j=1

Aijx(k+1)j "

n)

j=i+1

Aijx(k)j

&

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

La convergenza dei metodi (3.40) e (3.41) e ora legata ai raggi spettralidelle corrispondenti matrici di iterazione che sono rispettivamente

HJ = D!1(E + F ) ,

HG = (D " E)!1F ,

Page 69: Calcolo Numerico Completo

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 ditipo 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 = Oper | i" j |> 1, e se si ha det(Aii) != 0, i = 1, 2, . . . ,m, i metodi a blocchi diJacobi 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) = D!1(Ex(k+1) + Fx(k) + b) ;

scrivendo

x(k+1) = x(k) + D!1(Ex(k+1) + Fx(k) + b) " x(k) ;

e ponendoc(k) := D!1(Ex(k+1) + Fx(k) + b) " x(k) (3.42)

si hax(k+1) = x(k) + c(k) ;

quindi ogni iterazione del metodo di Gauss-Seidel puo pensarsi come unacorrezione del vettore x(k) mediante un altro vettore c(k) per ottenere x(k+1).

Questa interpretazione suggerisce di introdurre una correzione del tipo$c(k) dove $ e un parametro reale, che, opportunamente scelto, puo serviread accelerare la convergenza del metodo. Si ha cosı il metodo di rilassamentodefinito da

x(k+1) = x(k) + $c(k) , k = 0, 1, . . . ,

ossia, tenendo conto della (3.42),

x(k+1) = (1 " $)x(k) + $D!1(Ex(k+1) + Fx(k) + b) , k = 0, 1, . . . , (3.43)

Page 70: Calcolo Numerico Completo

68 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

dove le equazioni a elementi sono

x(k+1)i = (1 " $)x(k)

i + "aii

/

bi "!i!1

j=1 aijx(k+1)j "

!nj=i+1 aijx

(k)j

0

,

i = 1, 2, . . . , n, k = 0, 1, . . . .

La matrice di iterazione H" del metodo di rilassamento si ottiene subitoscrivendo la (3.43) nella forma

x(k+1) = (D " $E)!1[(1 " $)D + $F ]x(k) + $(D " $E)!1b

da cuiH" = (D " $E)!1[(1 " $)D + $F ] .

Si dimostra che per la convergenza del metodo di rilassamento e necessarioscegliere $ in modo che sia

0 < $ < 2 . (3.44)

Nel caso speciale di matrice A hermitiana definita positiva, si puo di-mostrare che la (3.44) e anche condizione su!ciente per la convergenza delmetodo.

Naturalmente per $ = 1 si ottiene il metodo di Gauss-Seidel. Anche ilmetodo di rilassamento puo essere impiegato nella versione a blocchi, checonsente, in qualche caso particolare, una scelta ottimale di $ (cfr. 3.10.6).

3.9 Metodo del gradiente coniugato

Sia A 'IRn$n simmetrica e definita positiva ed a la soluzione del sistemalineare

Ax = b ; (3.45)

se si considera il funzionale

%(x) =1

2(b " Ax)T A!1(b " Ax) (3.46)

si ha evidentemente %(a) = 0 mentre, essendo A!1 simmetrica e definitapositiva, risulta %(x) > 0 per ogni vettore reale x != a.

La risoluzione del sistema (3.45) e quindi un problema equivalente a quellodella ricerca del punto di minimo in IRn per il funzionale %(x).

Page 71: Calcolo Numerico Completo

3.9. METODO DEL GRADIENTE CONIUGATO 69

Dalla (3.46) si ricava

%(x) =1

2xT Ax " xT b +

1

2bT A!1b ;

quindi minimizzare %(x) equivale a minimizzare

F (x) =1

2xT Ax " xT b ,

che di"erisce da %(x) per una costante.Si noti la relazione

grad %(x) = grad F (x) = Ax " b = "r(x) ,

dove il vettore r(x) e il residuo del sistema (3.45) (cfr. 3.5).Vari metodi numerici per il calcolo di a consistono nel costruire una suc-

cessione1

x(k)2

a cui corrisponda una successione1

F (x(k))2

che sia decre-scente. Il piu semplice di questi metodi, ideato da Cauchy, e quello delladiscesa piu ripida, che, partendo da x(0) arbitrario, produce la successione

x(k+1) = x(k) + &kd(k) (3.47)

dove d(k) e un vettore orientato nel senso di massima decrescenza di F (x) inxk e &k e un valore reale che minimizza la funzione F (x(k) + &d(k)) della solavariabile &. In pratica si pone

d(k) = "grad F (x)x=x(k) = r(x(k)) . (3.48)

La (3.47) si interpreta geometricamente come il passaggio dal punto x(k)

(tale che r(x(k)) != 0) al punto x(k+1) lungo la retta passante per x(k) eparallela a d(k). La convergenza della successione (3.47) alla soluzione a puoessere 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 sceltadel vettore d(k) e diversa dalla (3.48) e consente di migliorare la convergenzarispetto al metodo della discesa piu ripida. Per x(0) arbitrario si pone ora

d(0) = r(0) = b " Ax(0)

d(k) = r(k) + "kd(k!1) , r(k) = r(x(k)), k # 1 , (3.49)

Page 72: Calcolo Numerico Completo

70 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

dove il numero "k si calcola in modo che il vettore d(k) risulti coniugato did(k!1) rispetto ad A cioe sia

/

d(k)0T

Ad(k!1) = 0 ;

questa condizione permette di ricavare per "k la seguente espressione

"k =

/

r(k)0T

r(k)

(r(k!1))T r(k!1), k # 1 . (3.50)

Calcolato d(k) in base alle (3.49), (3.50), F (x(k) + &d(k)) risulta minimaper & = &k, dove

&k =

/

r(k)0T

r(k)

(d(k))T Ad(k). (3.51)

In questo metodo il verso del vettore d(k) coincide con quello di massimadecrescenza di F (x) solo per k = 0, tuttavia si dimostra che anche perk # 1 gli spostamenti di x(k) avvengono lungo rette orientate nel senso incui F (x) decresce e che si raggiunge la soluzione a in un numero p % n dipassi. In realta la presenza degli errori di arrotondamento consente solo diapprossimare a, cioe il metodo del gradiente coniugato finisce per assumereun comportamento simile a quello di un metodo iterativo.

Il metodo puo essere usato anche per un sistema con matrice dei coeffi-cienti non simmetrica applicandolo al sistema equivalente AT Ax = AT b la cuimatrice dei coe!cienti AT A risulta simmetrica e definita positiva. Va dettoche il sistema cosı trasformato ha in genere un condizionamento peggiore diquello iniziale. E possibile pero e"ettuare ulteriori trasformazioni in mododa ridurre il malcondizionamento del sistema. Le tecniche numeriche ideatea questo scopo, sulle quali non ci si so"erma, 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. Essoconsiste nell’operare sulla matrice dei coe!cienti del sistema (3.1) delle com-binazioni tra le righe in modo da ottenere un sistema lineare equivalente lacui matrice dei coe!cienti sia diagonale.

Page 73: Calcolo Numerico Completo

3.10. COMPLEMENTI ED ESEMPI 71

Per fare cio, basta e"ettuare, dal secondo passo in poi, le combinazionilineari opportune anche con le righe che precedono la riga a cui appartienel’elemento pivotale. In altre parole, al passo i-esimo del metodo di Gauss sielimina l’incognita xi da tutte le equazioni esclusa l’i-esima.

Il risultato finale 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 lecondizioni (3.9) che assicurano l’applicabilita del metodo senza dover ricor-rere a scambi di righe.

Per ridurre la propagazione degli errori di arrotondamento si ricorre aicriteri esposti in 3.2.

L’applicazione del metodo di Gauss-Jordan a un sistema di ordine n com-porta un costo computazionale di n3

2 + 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, lasua matrice inversa A!1 e la soluzione del sistema matriciale

AX = I . (3.52)

Si tratta quindi di risolvere n sistemi lineari Ax(i) = e(i), i = 1, 2, . . . , n,dove x(i) e e(i) sono la i-esima colonna, rispettivamente, della matrice X edella matrice I. Tali sistemi vengono risolti simultaneamente considerandola matrice completa (A | I) ed e"ettuando 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) cherimane la matrice inversa di A. Infatti il sistema e"ettivamente risolto in talcaso e della forma PAX = PI, da cui segue X = A!1. Se invece si e"ettuauno scambio di colonne sulla matrice di (3.52), cio equivale a risolvere unsistema della forma APX = I, da cui si ha X = P!1A!1 e infine A!1 = PX.

Osservazione 3.10.1 Le considerazioni fatte nel caso della risoluzione delsistema (3.52) permettono la risoluzione simultanea di piu sistemi lineari di

Page 74: Calcolo Numerico Completo

72 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

uguale matrice A come un solo sistema matriciale del tipo AX = B, dove lecolonne 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 lecombinazioni lineari tra le righe di"erisce dalla (3.5) in quanto si opera trasottomatrici e, per esempio al primo passo, si ha

Li1 = Ai1A!111 .

Nella versione a blocchi, i moltiplicatori devono essere usati come premolti-plicatori perche cosı facendo si operano combinazioni lineari tra le equazionidel sistema senza alterarne la soluzione, mentre la postmoltiplicazione com-porterebbe una combinazione tra le colonne e quindi una alterazione dellasoluzione.

Esempio 3.10.1 Sia A 'IRn$n non singolare e partizionata a blocchi nelseguente modo:

A =

#

%

B u

uT c

&

( , B ' IR(n!1)$(n!1), u ' IRn!1, c ' IR.

Nell’ipotesi che B sia invertibile, si puo esprimere l’inversa di A operandosui blocchi anziche sugli elementi. Applicando il metodo di Gauss-Jordan ablocchi al sistema AX = I, si considera la matrice completa (A | I), con Ipartizionata a blocchi coerentemente con A:

(A | I) =

#

%

B u In!1 0

uT c 0 1

&

( .

Premoltiplicando la prima riga per B!1 si ottiene la matrice#

%

In!1 B!1u B!1 0

uT c 0 1

&

( .

Premoltiplicando la prima riga per uT e sottraendola dalla seconda si ha#

%

In!1 B!1u B!1 0

0 c " uT B!1u "uT B!1 1

&

( .

Page 75: Calcolo Numerico Completo

3.10. COMPLEMENTI ED ESEMPI 73

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

#

%

In!1 B!1u B!1 0

0 1 "'uT B!1 '

&

( ,

da cui, infine, sottraendo dalla prima riga la seconda premoltiplicata perB!1u, si ha

#

%

In!1 0 B!1 + 'B!1uuT B!1 "'B!1u

0 1 "'uT B!1 '

&

( .

Il sistema AX = I e cosı diventato della forma

IX = S, dove S =

#

%

B!1 + 'B!1uuT B!1 "'B!1u

"'uT B!1 '

&

( .

Si deduce quindi S = A!1.

3.10.3 Fattorizzazione LLT

Una matrice A reale e definita positiva e fattorizzabile nella forma LLT

con L matrice triangolare inferiore (cfr. 3.4).

Esempio 3.10.2 Sia

A =

#

$

%

1 t 0t 1 t0 t 1

&

'

( , t ' IR.

Gli autovalori della matrice A sono

&1 = 1 , &2 = 1 + t*

2 , &3 = 1 " t*

2 .

I tre autovalori risultano positivi se | t |<(

22 e quindi per questi valori di

t, per il Teorema 2.11.2, la matrice A e definita positiva.Applicando il metodo di Cholesky si ottiene:

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

Page 76: Calcolo Numerico Completo

74 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

da cuil211 = a11 = 1 ,

l222 = a22 " l221 = 1 " t2 ,

l233 = a33 " l231 " l232 = 1!2t2

1!t2.

Risulta infine

L =

#

$

$

%

1 0 0t

*1 " t2 0

0 t(1!t2

3

1!2t2

1!t2

&

'

'

(

.

3.10.4 Sistemi malcondizionati

Esempio 3.10.3 Si consideri il sistema Ax = b con

A =

#

%

1 1

0.999 1

&

( , b =

#

%

2

1.999

&

( .

La soluzione e xT = (1, 1) e risulta, in norma infinito, µ(A) = 4 ) 103.Si supponga di perturbare la matrice A con la matrice

!A = 0.00024

#

%

1 1

"1 "1

&

( .

Ne risulta evidentemente $!A$/$A$ = 24) 10!5. In questo caso il fattore diamplificazione nella (3.20) vale

µ(A)

1 " µ(A)#!A##A#

= 105 ,

da cui la limitazione$!x$$x$

% 24

per l’errore relativo della soluzione perturbata. In e"etti, risolvendo il sistema

(A + !A)(x + !x) = b

Page 77: Calcolo Numerico Completo

3.10. COMPLEMENTI ED ESEMPI 75

si trova

x + !x =

#

%

0.04023 . . .

1.9593 . . .

&

(

a cui corrisponde $!x$/$x$ ( 0.96.Si noti, quindi, che ad una variazione $!A$ pari al 0.024% di $A$ cor-

risponde una variazione della soluzione pari a circa il 96%.

Esempio 3.10.4 Si consideri la matrice di Hilbert del quarto ordine

A =

#

$

$

$

%

1 1/2 1/3 1/41/2 1/3 1/4 1/51/3 1/4 1/5 1/61/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 verificareche 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 amplificazione dell’errore relativo coincide con

µ(A).Risolvendo il sistema perturbato

A(x + !x) = b + !b

si ottiene

(x + !x)T = ("4 + 516#, 60 " 5700#,"180 + 13620#, 140 " 8820#),

da cui $!x$/$x$ ( 73#.Pertanto, se # = 0.01, si puo a"ermare che una perturbazione pari a 1%

del vettore b induce una variazione superiore al 70% del vettore soluzione.

Page 78: Calcolo Numerico Completo

76 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

3.10.5 Metodi iterativi

Gli esempi che seguono sono una applicazione dei Teoremi 3.7.1 e 3.7.2.

Esempio 3.10.5 E dato il sistema lineare Ax = b con

A =

#

$

$

$

%

4 1 1 11 4 1 10 1 4 10 0 1 4

&

'

'

'

(

, b =

#

$

$

$

%

668

"2

&

'

'

'

(

.

La predominanza diagonale forte di A garantisce la convergenza dei metodiiterativi di Jacobi e di Gauss-Seidel. Infatti, si ottengono, rispettivamente,le matrici di iterazione

HJ = "1

4

#

$

$

$

%

0 1 1 11 0 1 10 1 0 10 0 1 0

&

'

'

'

(

,

HG = "1

256

#

$

$

$

%

0 64 64 640 "16 48 480 4 "12 520 "1 3 "13

&

'

'

'

(

.

Si verifica immediatamente che $HJ$& = 0.75 e $HG$& = 0.75, per cui,per il Corollario 3.6.2, i metodi risultano convergenti.

In generale si puo dimostrare che per ogni matrice con predominanzadiagonale forte le corrispondenti matrici di iterazione HJ e HG sono tali che$HJ$& < 1 e $HG$& < 1. In cio consiste la dimostrazione del Teorema 3.7.1.

Esempio 3.10.6 E dato il sistema lineare Ax = b con

A =

#

$

%

3 2 11 1 0

"1 1 3

&

'

( , b =

#

$

%

"3"2

6

&

'

( .

Si osservi che A e a predominanza diagonale debole e irriducibile.

Page 79: Calcolo Numerico Completo

3.10. COMPLEMENTI ED ESEMPI 77

Per i metodi iterativi di Jacobi e di Gauss-Seidel si ottengono, rispettiva-mente, le matrici di iterazione

HJ = "1

3

#

$

%

0 2 13 0 0

"1 1 0

&

'

( ,

HG = "1

9

#

$

%

0 6 30 "6 "30 4 2

&

'

( .

Tali matrici risultano anch’esse irriducibili. Analizzando i rispettivi cerchidi 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

A =

#

$

%

1 1 "22 1 22 1 1

&

'

( .

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

HJ =

#

$

%

0 "1 2"2 0 "2"2 "1 0

&

'

( , HG =

#

$

%

0 "1 20 2 "60 0 2

&

'

( .

Si verifica 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

A =

#

$

%

1 0 11 1 01 1 1

&

'

( ,

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

HJ =

#

$

%

0 0 "1"1 0 0"1 "1 0

&

'

( , HG =

#

$

%

0 0 "10 0 10 0 0

&

'

( ,

Page 80: Calcolo Numerico Completo

78 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

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

Esempio 3.10.8 Come esempio illustrativo del Teorema 3.7.3, si considerila matrice

A =

-

I BB I

.

dove B 'IRn$n e I e la matrice identica di ordine n.Le matrici di iterazione di Jacobi e di Gauss-Seidel sono

HJ =

-

O "B"B O

.

, HG =

-

O "BO B2

.

.

Sia & un autovalore di HJ e y =

-

y1

y2

.

un autovettore ad esso associato.

Dall’equazione HJy = &y si ha4

"By2 = &y1

"By1 = &y2(3.53)

che puo scriversi anche4

"By2 = "&("y1)"B("y1) = "&y2 .

Si deduce che "& e autovalore della matrice HJ con autovettore y =

-

"y1

y2

.

.

Sia µ un autovalore non nullo della matrice HG e z =

-

z1

z2

.

un autovet-

tore associato a µ. Dalla relazione HGz = µz si ha4

"Bz2 = µz1

B2z2 = µz2ovvero

4

"Bz2 = µz1

"B(µz1) = µz2

da cui4

"Bz2 =*

µ(*

µz1)"B(

*µz1) =

*µz2 .

Dal confronto con (3.53) si evidenzia come*

µ sia autovalore della matrice

HJ con autovettore

- *µz1

z2

.

. Segue quindi µ = &2 conforme alla tesi del

teorema citato.

Page 81: Calcolo Numerico Completo

3.10. COMPLEMENTI ED ESEMPI 79

Nei metodi iterativi, la scelta del vettore iniziale x(0) non e soggetta aparticolari condizioni. Cio non esclude che una buona scelta per x(0) riducail numero delle iterazioni necessarie per ottenere una data accuratezza. Adesempio, se la matrice A ha una qualunque predominanza diagonale unabuona scelta e x(0)

i = 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 conmatrice reale e definita positiva.

Esempio 3.10.9 Sia dato il sistema lineare Ax = b con

A =

#

$

%

2 "2 0"2 3 "1

0 "1 4

&

'

( . (3.54)

Nella Fig. 3.3 e riportata la variazione del raggio spettrale della matricedi iterazione H" = (D "$E)!1[(1"$)D + $F ] in funzione del parametro $nell’intervallo ]0, 2[.

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Figura 3.3: Grafico 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 diconvergenza massima.

Page 82: Calcolo Numerico Completo

80 CAPITOLO 3. SISTEMI DI EQUAZIONI LINEARI

Se non si dispone del valore esatto di $) e evidente dalla Fig. 3.3 checonviene preferire una sua approssimazione per eccesso ad una per difetto.

Nel caso di matrici tridiagonali e tridiagonali a blocchi non e praticocostruire caso per caso la funzione "(H") come nell’esempio sopra considera-to; in e"etti, in questi casi, esistono formule che danno una stima immediatadel valore ottimale di $.

3.10.7 L’algoritmo del metodo del gradiente coniugato

Dato un sistema lineare Ax = b con A matrice reale e definita positiva,scelto il vettore iniziale x(0), l’algoritmo del metodo del gradiente coniugatosi 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) + "kd(k!1);

5. si calcola il numero reale &k dato dalla (3.51);

6. si calcolano i vettori x(k+1) = x(k) + &kd(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 vettorer(k) risulta minore di un valore prefissato. Poiche al punto 3 si calcola ilprodotto scalare (r(k))T r(k), e conveniente usare il seguente criterio di arresto

$r(k)$2 < #$b$2 . (3.55)

Esempio 3.10.10 Si consideri il sistema lineare Ax = b dove

A =

#

$

$

$

$

$

$

$

$

%

4 "1 "1 0 0 0"1 4 "1 "1 0 0"1 "1 4 "1 "1 0

0 "1 "1 4 "1 "10 0 "1 "1 4 "10 0 0 "1 "1 4

&

'

'

'

'

'

'

'

'

(

, b =

#

$

$

$

$

$

$

$

$

%

19/65/12

"37/60"1/51/20

13/60

&

'

'

'

'

'

'

'

'

(

,

Page 83: Calcolo Numerico Completo

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

componenti x(0)i = bi/aii e usando il criterio di arresto (3.55) con # = 10!8,

il processo iterativo si arresta alla quinta iterazione e si ha

x(5) =

#

$

$

$

$

$

$

$

$

%

1.0000046 . . .0.4999859 . . .0.3333464 . . .0.2499855 . . .0.2000196 . . .0.1666564 . . .

&

'

'

'

'

'

'

'

'

(

.

Bibliografia: [2], [5], [15], [29], [32]

Page 84: Calcolo Numerico Completo

Capitolo 4

Equazioni e sistemi non lineari

4.1 Introduzione

Sia f(x):IR!IR una funzione continua almeno su un certo intervallo I e sisupponga che f(x) non sia della forma f(x) = a1x + a0 con a1 e a0 costanti;la relazione

f(x) = 0 (4.1)

si dice equazione non lineare nell’incognita x.Il problema di determinare (se esistono) gli zeri di f(x), ossia di trovare

le eventuali radici dell’equazione (4.1), raramente puo essere risolto con unmetodo diretto, cioe e!ettuando sulla (4.1) un insieme finito di operazioniche conducano ad una espressione esplicita di ciascuna radice. Come esem-pio basti considerare il caso di una equazione con f(x) polinomio di gradomaggiore di 1, cioe il caso in cui la (4.1) sia della forma

amxm + am!1xm!1 + · · · + a1x + a0 = 0, (am "= 0) (4.2)

con m intero # 2.La (4.2), che prende il nome di equazione algebrica di grado m, com’e

noto possiede m radici nel campo complesso, ma queste, salvo casi speciali,si possono trovare con un metodo diretto soltanto per m $ 4. In generaleper calcolare numericamente una radice ! di una equazione non lineare dellaforma (4.1) si ricorre ad un metodo iterativo, cioe all’applicazione ripetutadi una formula del tipo

xn+1 = "n(xn, xn!1, . . . , xn!k+1), n = 0, 1, . . . , k # 1, (4.3)

Page 85: Calcolo Numerico Completo

84 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

dove "n si dice la funzione di iterazione del metodo. Tale funzione dipendenon solo dagli argomenti xn, xn!1, . . . , xn!k+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, x!1, . . . , x!k+1 puo farsı che la successione {xn} converga alla radice !. Il calcolo viene arrestato alverificarsi di qualche criterio di accettabilita prestabilito. Ad eccezione deik valori iniziali, ogni altro termine di {xn} viene calcolato in funzione di ktermini gia noti: per questo motivo la (4.3) viene detta metodo iterativo a kpunti. 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 "= 0 tali che sia

limn"#

| en+1 || en |p

= C, (4.4)

si dice che la successione ha ordine di convergenza p e fattore di convergenzaC.

Per p = 1 e p = 2 la convergenza si dice anche lineare e quadraticarispettivamente. Nel caso di p = 1 la convergenza ad ! implica C < 1.

Dalla (4.4) segue che per n ”abbastanza grande” si ha

| en+1 || en |p

& C . (4.5)

Si dice che il metodo (4.3) e convergente di ordine p se tale e la successione daesso generata. Analogamente a quanto stabilito in 3.6 per i sistemi lineari, sipuo definire una velocita asintotica di convergenza, nel caso p = 1 (e C < 1),ponendo V = %LogC; per p > 1 la velocita di convergenza ha una espressionepiu complicata che dipende dai valori di p e di C e cresce al crescere di p eal decrescere di C.

Nei paragrafi che seguono verranno esposti alcuni metodi iterativi a duee 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

Page 86: Calcolo Numerico Completo

4.2. METODO DI BISEZIONE 85

costruisce un intervallo contenente uno zero di f(x) e si assume come ap-prossimazione di tale zero l’ascissa del punto medio del detto intervallo.

Sia f(x) continua sull’intervallo [a, b] e poniamo x0 = a, x1 = b. Suppostoche si abbia f(x0)f(x1) < 0, per la continuita di f(x) si avra almeno unozero in ]x0, x1[. Per semplicita supporremo che ]x0, x1[ contenga un solo zerodi f(x). Il numero

x2 =x1 + x0

2,

cioe l’ascissa del punto medio di ]x0, x1[, sara certamente una approssimazionedi ! migliore di almeno una delle precedenti x0 e x1. Se non si verificaf(x2) = 0, si confronta il segno di f(x2) con quello di f(x1); se risultaf(x2)f(x1) < 0 allora ! ']x2, x1[, nel caso contrario sara ! ']x0, x2[. Quindila 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, possiamounificare i due casi nella sola formula:

x3 =x2 + x2

2dove x2 =

!

"

#

x1 se f(x2)f(x1) < 0 ,

x0 altrimenti .

Per esempio, nel caso della Fig. 4.1 si verifica il caso b).Ripetendo il procedimento, si determinano x4, x5, x6, . . . secondo la for-

mula generale

xn+1 =xn + xn

2, n = 1, 2, . . . ; (4.6)

dove per n = 1 e x1 = x0 mentre per n > 1 si pone

xn =

!

"

#

xn!1 se f(xn)f(xn!1) < 0 ,

xn!1 altrimenti .

Il metodo di bisezione e quindi un metodo iterativo a due punti nonstazionario, infatti la funzione al secondo membro della (4.6) non e la stessaad ogni passo.

Poiche ad ogni passo l’intervallo contenente ! viene dimezzato, dopo npassi si ha una approssimazione xn+1, tale che

| xn+1 % ! |$1

2n(b % a), (4.7)

Page 87: Calcolo Numerico Completo

86 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1 -0.5 0 0.5 1 1.5 2

x x x xX0

X1X2

X3

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 dell’errore assolutopresente nell’iterata xn+1. La (4.7) suggerisce come un possibile criterio diarresto la condizione 1

2n (b% a) < #, dove # > 0 e un numero opportunamenteprefissato. La stessa condizione permette di conoscere a priori il numero n diiterazioni necessario per ridurre il modulo dell’errore assoluto al disotto di #.

Il metodo (4.6) converge linearmente, infatti assumendo | xn % xn!1 |come stima di | xn%! |=| en |, si ha, per n abbastanza grande, l’uguaglianzaapprossimata della forma (4.5)

| en+1 || en |

&| xn+1 % xn || xn % xn!1 |

=1

2;

poiche la convergenza e lenta, di solito questo metodo e usato per ottenereuna prima approssimazione che consenta l’uso di altri metodi piu e"cienti.

4.3 Regula Falsi e metodo delle Secanti

Si abbiano le stesse condizioni iniziali del metodo di bisezione, ossia risultix0 < ! < x1 e f(x0)f(x1) < 0. Il metodo di falsa posizione, noto anche colnome di regula falsi, e un altro metodo iterativo a due punti, in generale non

Page 88: Calcolo Numerico Completo

4.3. REGULA FALSI E METODO DELLE SECANTI 87

stazionario, nel quale, partendo da ]x0, x1[, ad ogni passo si costruisce unnuovo intervallo di estremi xn e xn contenente uno zero di f(x) e si assumecome approssimazione xn+1 lo zero di una funzione lineare il cui grafico e laretta per i punti An ( [xn, f(xn)] e An ( [xn, f(xn)]. Si ha quindi lo schema

xn+1 = xn % f(xn)xn % xn

f(xn) % f(xn), n = 1, 2, . . . , (4.8)

dove per n = 1 e x1 = x0 mentre per n > 1 si pone, come nel metodo dibisezione,

xn =

!

"

#

xn!1 se f(xn)f(xn!1) < 0 ,

xn!1 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 grafico e la rettapassante per i punti An ( [xn, sign0(f(xn))] e An ( [xn, sign0(f(xn))], dovesi e posto

sign0(z) :=

$

z|z| per z "= 0 ,

0 per z = 0 .

Il fatto che nella regula falsi si utilizzino i valori di f(x) anziche i soli segni,spiega perche, quando il metodo (4.8) converge, la convergenza e piu rapidache nel metodo (4.6). L’interpretazione geometrica del metodo e illustratanella Fig. 4.2.

Teorema 4.3.1 Se f(x) ' C2(I) e se il metodo regula falsi converge ad unozero ! di f(x) con ! ' I tale che f $(!) "= 0, f $$(!) "= 0, la convergenza e diordine p = 1.

Una variante importante della regula falsi e il metodo delle secanti, incui sono richieste due approssimazioni iniziali senza alcun’altra condizione esenza la necessita di controllare il segno di f(x) ad ogni passo.

In questo metodo il calcolo dell’approssimazione xn+1 utilizza le infor-mazioni precedenti, xn e xn!1, secondo la formula

xn+1 = xn % f(xn)xn % xn!1

f(xn) % f(xn!1), n = 1, 2 . . . ; (4.9)

il numero xn+1 e individuato geometricamente (cfr. Fig. 4.3) dal punto incui la secante passante per i punti An ( [xn, f(xn)] e An!1 ( [xn!1, f(xn!1)]incontra l’asse delle ascisse.

Page 89: Calcolo Numerico Completo

88 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

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

x xx xX0

X1X2

X3

A0

A1

A3

Figura 4.2: Regula falsi.

La (4.9) rappresenta un metodo iterativo stazionario a due punti, ma, pern # 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 siscelgono ”abbastanza vicine” alla radice !; vale il seguente teorema.

Teorema 4.3.2 Se f(x) ' C2(I) e se il metodo delle secanti converge aduno zero ! di f(x) con ! ' I e tale che f $(!) "= 0, f $$(!) "= 0, allora l’ordinedella convergenza e p = (1 +

)5)/2 & 1.618.

4.4 Metodi iterativi a un punto

In questo paragrafo si esporranno alcune proprieta generali dei metodiiterativi stazionari a un punto.

Data l’equazione f(x) = 0, si puo sempre costruire una funzione "(x) taleche l’equazione data sia equivalente alla seguente

x = "(x). (4.10)

Basta infatti porre, ad esempio,

"(x) = x % g(x)f(x) ,

Page 90: Calcolo Numerico Completo

4.4. METODI ITERATIVI A UN PUNTO 89

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

xx x x xX1 X0

X2 X3

A1

A0

A2

A3

Figura 4.3: Metodo delle secanti.

dove g(x) e un’arbitraria funzione continua che si suppone diversa da zeronei 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 fisso della trasfor-mazione (4.10) o, semplicemente, di "(x).

Per ogni scelta della funzione "(x) si puo considerare un metodo iterativostazionario 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 costruiremediante la (4.11) una successione convergente ad !, punto fisso di "(x).

Dal teorema seguente risulta una condizione su"ciente per la convergenzalocale del metodo (4.11), cioe una convergenza assicurata dalla scelta di x0

in un opportuno intorno di !.

Teorema 4.4.1 Sia ! un punto fisso di "(x) interno ad un intervallo Isul quale "(x) sia derivabile con continuita e si supponga che esistano duenumeri positivi $ e K con K < 1, tali che *x ' [!% $,!+ $] + I si verifichila condizione

| "$(x) |$ K; (4.12)

allora per il metodo (4.11) valgono le seguenti proposizioni:

Page 91: Calcolo Numerico Completo

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 l’unico punto fisso di "(x) in [! % $,! + $].

Dimostrazione. La proposizione 1 si dimostra per induzione, cioe, scelto unx0 ']!%", !+"[, 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, siha

xn+1 % ! = #(xn) % #(!) = #$($)(xn % !),

dove $ e compreso tra xn e !; dall’ipotesi fatta su xn e da quelle del teorema seguepoi

| xn+1 % ! |=| #$($) || xn % ! |$ K | xn % ! |< ". (4.13)

La proposizione 2 segue dall’ipotesi 0 < K < 1 e dalla disuguaglianza

| xn+1 % ! |$ Kn+1 | x0 % ! |

che si ottiene dalla (4.13).Infine la proposizione 3 risulta per assurdo, infatti se in ]! % ", ! + "[ esistesse

un altro punto fisso !$ "= !, si avrebbe

| ! % !$ |=| #(!) % #(!$) |=| #$($) || ! % !$ |$ K | ! % !$ |<| ! % !$ | .

Il Teorema 4.4.1 trova applicazione in molti casi concreti in cui qualchezero 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 riportatii grafici delle funzioni y = x e y = "(x) che si incontrano nel punto P diascissa !. In esse e data l’interpretazione geometrica di un metodo dellaforma (4.11) con la condizione (4.12) verificata in due modi diversi.

In generale l’ordine di convergenza di un metodo iterativo e un numeroreale # 1 (vedi per esempio il metodo delle secanti). Per i metodi iterativistazionari 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 su!cientemente derivabile, ha ordine di convergenza ugualead un numero intero positivo p. Precisamente se il metodo (4.11) convergead !, la convergenza e di ordine p allora e solo che si abbia

"(!) = !, "(i)(!) = 0 per 1 $ i < p, "(p)(!) "= 0. (4.14)

Page 92: Calcolo Numerico Completo

4.4. METODI ITERATIVI A UN PUNTO 91

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

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

P

X0 X1X2 X3

Figura 4.4: %1 < "$(x) < 0.

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

xn+1 % ! = #(xn) % #(!) = #$(!)(xn % !) + #$$(!)(xn % !)2

2!+ · · ·

+ . . . + #(p!1)(!)(xn % !)p!1

(p % 1)!+ #(p)($)

(xn % !)p

p!

dove $ e compreso tra xn e !; quindi, se valgono le (4.14), si ha

limn"#

| xn+1 % ! || xn % ! |p

=| #(p)(!) |

p!"= 0, (4.15)

cioe l’ordine di convergenza e p ed il fattore di convergenza e C = |!(p)(")|p! .

Viceversa se l’ordine e p, sia #(i)(!) la prima derivata non nulla nel precedentesviluppo di Taylor intorno al punto !; se fosse i "= p, per il ragionamento direttoanche l’ordine sarebbe i "= p contro l’ipotesi. Quindi deve essere i = p cioe valgonole (4.14).

E importante notare che i Teoremi 4.4.1 , 4.4.2 e quelli di 4.3 valgonoper la successione teorica {xn} definita dal processo iterativo in assenza dierrori di arrotondamento. Nella pratica pero si introduce al passo n-esimoun errore %n dovuto agli arrotondamenti nel calcolo di " e agli errori dei passiprecedenti, per cui, nel caso specifico del processo (4.11), la successione chesi ottiene e in realta

xn+1 = "(xn) + %n, n = 0, 1, . . . ; (4.16)

Page 93: Calcolo Numerico Completo

92 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

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

X0 X1 X2 X3

P

Figura 4.5: 0 < "$(x) < 1.

per tale successione {xn}, anche quando fossero verificate 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 convergenzae verificandosi la condizione | %n |$ %, n = 0, 1, . . . , i termini della succes-sione (4.16) finiscono col cadere in un intorno di ! la cui ampiezza dipendelinearmente da % e inoltre, se K non e troppo vicino a 1 e se si opera conuna precisione tale da rendere trascurabile il numero %/(1 % K), l’errore| xn+1 % ! | e dell’ordine di | xn+1 % xn |. Quindi come criterio di arrestodell’algoritmo iterativo si puo assumere la condizione | xn+1% xn |$ # oppure%

%

%

xn+1!xn

min(|xn|,|xn+1|)

%

%

% $ # a seconda che si voglia limitare l’errore assoluto o quellorelativo.

Si abbia una successione {xn} convergente linearmente; in base alla (4.5)si ha quindi, per p = 1 e per n ”su"cientemente” grande,

xn+1 % ! & C(xn % !) ,

xn+2 % ! & C(xn+1 % !) ,

da cui

! &xnxn+2 % x2

n+1

xn+2 % 2xn+1 + xn

. (4.17)

Si ha percio una approssimazione di ! costruita con tre termini successivixn, xn+1, xn+2. Il secondo membro della (4.17) si puo considerare come il

Page 94: Calcolo Numerico Completo

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

zn = xn %(xn+1 % xn)2

xn+2 % 2xn+1 + xn

. (4.18)

Introducendo i simboli

#n := xn+1 % xn, #2n := xn+2 % 2xn+1 + xn(#2

n = #n+1 % #n)

la successione {zn} puo scriversi

zn = xn %(#n)2

#2n

, n = 0, 1, . . . . (4.19)

Lo schema di calcolo definito dalla (4.19) va sotto il nome di processo #2

di Aitken ed ha lo scopo di accelerare la convergenza di una successione checonverga linearmente. Vale infatti il seguente teorema.

Teorema 4.4.3 Se una successione {xn} converge ad ! linearmente, allorala successione {zn} converge allo stesso limite ! piu rapidamente di {xn},ossia si ha

limn"#

zn % !

xn % != 0.

Nella Fig. 4.6 e data una interpretazione geometrica facilmente verificabiledel processo di Aitken, nel caso di una successione generata con iterazionidel tipo xn+1 = "(xn): zn e l’ascissa della intersezione della retta per i puntiPn ( [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 metodoiterativo xn+1 = "(xn) di un dato ordine, costruirne un altro di ordine piuelevato. Infatti, esprimendo il membro destro della (4.18) in funzione dellasola xn, si ha

F (xn) = xn %("(xn) % xn)2

"("(xn)) % 2"(xn) + xn

.

In generale F (x) ha gli stessi punti fissi di "(x).Il metodo iterativo

xn+1 = F (xn), n = 0, 1, . . . , (4.20)

e noto come metodo di Ste"ensen e per esso si puo dimostrare il teoremaseguente.

Page 95: Calcolo Numerico Completo

94 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

0

0.5

1

1.5

2

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

Pn

Pn+1

Figura 4.6: Processo di Aitken.

Teorema 4.4.4 Sia "(x) la funzione di iterazione di un metodo di ordine pper approssimare un suo punto fisso !. Per p > 1 il corrispondente metododi Ste"ensen (4.20) per approssimare ! ha ordine 2p % 1, mentre per p = 1e nella ipotesi "$(!) "= 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. Talemetodo si puo applicare per approssimare uno zero ! di f(x) se, in tuttoun intorno di !, f(x) e derivabile con continuita. In tal caso, assumendo lafunzione di iterazione della forma

"(x) = x %f(x)

f $(x)(4.21)

si ha il metodo

xn+1 = xn %f(xn)

f $(xn), n = 0, 1, 2, . . . . (4.22)

L’iterata xn+1 e individuata dal punto d’incontro dell’asse delle ascisse conla 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.

Page 96: Calcolo Numerico Completo

4.5. METODO DI NEWTON 95

-1

-0.5

0

0.5

1

1.5

2

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x x x

Xn Xn+1

An

y=f(x)

Figura 4.7: Metodo di Newton.

Sulla convergenza e l’ordine del metodo di Newton, vale il seguente teo-rema.

Teorema 4.5.1 Sia f(x) ' C3([a, b]), a < ! < b, f(!) = 0, f $(!) "= 0,allora valgono le proposizioni:

1. esiste un numero $ > 0 tale che per ogni x0 ' [! % $,! + $] ilmetodo (4.22) converge;

2. la convergenza e di ordine p # 2;

3. se p = 2 il fattore di convergenza e C = 12

%

%

%

f !!(")f !(")

%

%

%.

Dimostrazione. Dalla (4.21) segue

#$(x) =f(x)f $$(x)

f $2(x)(4.23)

da cui#$(!) = 0 ; (4.24)

quindi, fissato un numero positivo K < 1, esiste un numero " > 0 tale che per ognix ' [!%", !+"] si abbia | #$(x) |$ K e percio vale il teorema di convergenza 4.4.1.

Page 97: Calcolo Numerico Completo

96 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

Per dimostrare l’asserto 2, dalla (4.23) si ricava

#$$(!) =f $$(!)

f $(!);

ne segue che se f $$(!) "= 0 e anche #$$(!) "= 0; questa insieme alla (4.24), garantisceper il Teorema 4.4.2, che l’ordine e p = 2. Se invece si ha f $$(!) = 0 e anche#$$(!) = 0 e quindi si ha p > 2.

Se p = 2, l’asserto 3 segue dalla (4.15) essendo #$(!) = 0 e #$$(!) "= 0.

Notiamo che la convergenza di cui si parla nella proposizione 1 del teoremaprecedente e di tipo locale, cioe si verifica se si sceglie x0 in un intorno di ! diraggio $ 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, cioeche si verifica 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) ' C2([a, b]) con f(a)f(b) < 0 e si supponga

1. f $(x) "= 0, *x ' [a, b],

2. f $$(x) # 0, oppure f $$(x) $ 0, *x ' [a, b],

3.%

%

%

f(a)f !(a)

%

%

% < b % a,%

%

%

f(b)f !(b)

%

%

% < b % a,

allora f(x) ha un solo zero ! ' [a, b] ed il metodo di Newton converge ad !per ogni x0 ' [a, b].

Osservazione 4.5.1 Si noti che ponendo nella (4.22) xn = a oppure xn = bsi ottiene rispettivamente

| xn+1 % a |=%

%

%

%

%

f(a)

f $(a)

%

%

%

%

%

e | xn+1 % b |=%

%

%

%

%

f(b)

f $(b)

%

%

%

%

%

,

per cui le condizioni dell’ipotesi 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 l’assedelle ascisse all’interno di [a, b].

Page 98: Calcolo Numerico Completo

4.5. METODO DI NEWTON 97

Sotto le ipotesi 1 e 2 del Teorema 4.5.2 cadono in particolare le funzionimonotone convesse o concave su [a, b]. Una importante applicazione si hanella 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] cona < ! < b, tali da soddisfare le condizioni 3. Se a > 0 e tale che siaf(a) < 0, si avra a < !. Ogni numero b > a +

%

%

%

f(a)f !(a)

%

%

% = a + am!cmam"1 veri-

fica la prima delle condizioni 3; inoltre, con questa scelta, b risulta a destradell’intersezione della tangente in A ( [a, f(a)] con l’asse delle ascisse, quindie b > ! e si ha

%

%

%

%

%

f(b)

f $(b)

%

%

%

%

%

=bm % !m

mbm!1

= (b % !)bm!1 + !bm!2 + · · · + !m!1

mbm!1

< b % ! < b % a.

Pertanto un tale numero b verifica anche la seconda condizione 3. Ne segueche ogni numero positivo puo considerarsi interno a un intervallo [a, b] cheverifichi le condizioni 3 e percio il metodo di Newton applicato alla (4.25)converge ad !, comunque si scelga una approssimazione iniziale x0 > 0. Ilmetodo fornisce la formula

xn+1 =1

m[(m % 1)xn + cx1!m

n ] n = 0, 1, . . . .

Per m = 2 si ha l’algoritmo xn+1 = 12

&

xn + cxn

'

per estrarre la radicequadrata di c, notevole per il suo basso costo computazionale.

Il Teorema 4.5.1 vale nell’ipotesi f $(!) "= 0, cioe se ! e uno zero semplicedi f(x). Supponiamo ora che ! sia per f(x) uno zero di molteplicita s # 1;in tal caso si puo scrivere

f(x) = g(x)(x % !)s, con g(x) =f(x)

(x % !)se g(!) = lim

x""g(x) "= 0.

Page 99: Calcolo Numerico Completo

98 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

Quindi per il metodo di Newton si ha

"(x) = x %f(x)

f $(x)= x %

g(x)(x % !)

sg(x) + g$(x)(x % !)

da cui segue, con facili calcoli,

"$(!) = 1 %1

s. (4.26)

Percio, per s > 1, il metodo convergere linearmente con fattore di conver-genza C = 1 % 1

s.

Se si sostituisce la funzione f(x) con F (x) = f(x)/f $(x) che ha gli stessizeri di f(x) ma tutti semplici, il metodo di Newton, applicato all’equazioneF (x) = 0 fornisce ancora una convergenza almeno quadratica verso la radice!, essendo ora F $(!) "= 0. Il costo computazionale e pero maggiore di quellorichiesto dall’equazione f(x) = 0, poiche, in e!etti, si usa la formula iterativa

xn+1 = xn %f(xn)f $(xn)

f $2(xn) % f(xn)f $$(xn), n = 0, 1, . . . . (4.27)

Quando si conosce la molteplicita della radice ! si puo usare una formulameno costosa della (4.27), ottenuta modificando il metodo di Newton in modoche la convergenza sia almeno quadratica anche per una radice di molteplicitas > 1. Scrivendo infatti

xn+1 = xn % sf(xn)

f $(xn), n = 0, 1, . . . , (4.28)

si definisce un metodo per il quale si ha

"(x) = x % sf(x)

f $(x),

da cui segue, tenuto conto della (4.26),

"$(!) = 0 .

Nell’uso del metodo (4.22) puo accadere che i valori di f $(xn) varinomolto lentamente al variare di n. In tal caso puo essere utile una variantedel metodo di Newton in cui lo stesso valore di f $(xn) viene utilizzato per uncerto numero di passi successivi, dopo i quali viene ricalcolato; in altri termini

Page 100: Calcolo Numerico Completo

4.6. METODI ITERATIVI IN IRN 99

f $(xn) non si calcola ad ogni passo ma solo ogni volta che n coincide con unelemento di un prefissato sottoinsieme dei numeri naturali, lasciando f $(xn)uguale all’ultimo valore calcolato se n non appartiene a tale sottoinsieme.Si noti che se il valore di f $(xn) viene mantenuto costante per ogni n, laconvergenza del metodo dipende dal valore di tale costante ed e comunquelineare. Anche il metodo delle secanti puo considerarsi ottenuto dal metododi Newton approssimando f $(xn) con il rapporto incrementale f(xn)!f(xn"1)

xn!xn"1.

4.6 Metodi iterativi in IRn

La teoria dei metodi iterativi precedentemente esposta puo essere estesaal caso in cui, nella (4.1), sia f(x) :IRn !IRn, cioe al caso di un sistema di nequazioni (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 inuna forma equivalente la quale consente di approssimare una soluzione ! =(!1,!2, . . . ,!n)T come punto fisso 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 D-IRn contenente !.

Si considerano quindi metodi iterativi della forma

x(k+1) = "(x(k)), k = 0, 1, . . . , (4.31)

per i quali si definisce l’ordine di convergenza come in 4.1 cambiando nellaDefinizione 4.1.1 i valori assoluti in norme di vettori.

Se esistono continue le derivate prime delle funzioni "i, introducendo lamatrice jacobiana

$(x) =

(

)

)

*

#!1

#x1· · · #!1

#xn

.... . .

...#!n

#x1· · · #!n

#xn

+

,

,

-

, (4.32)

Page 101: Calcolo Numerico Completo

100 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

si puo generalizzare il Teorema 4.4.1 e dimostrare il seguente teorema diconvergenza locale.

Teorema 4.6.1 Se ! e un punto fisso di "(x), condizione su!ciente per laconvergenza ad ! del metodo (4.31) e che esistano due numeri positivi K e$, con K < 1, tali che si abbia

. $(x) .$ K, *x ' D$ = {x | . x % ! .$ $} ; (4.33)

purche x(0) sia scelto in D$; in tal caso ! e l’unico punto fisso di " in D$.

Il Teorema 4.4.2 non puo essere direttamente esteso in IRn; tuttavia seesistono continue le derivate seconde delle "i, si puo dimostrare che, se ilmetodo (4.31) converge ad un punto fisso !, condizione su"ciente percheconverga linearmente e che sia

$(!) "= O .

Mentre, se $(!) = O, la convergenza e almeno quadratica ed e esatta-mente quadratica se risulta non nulla almeno una delle matrici hessiane

Hi(!) =

(

)

)

)

*

#2!i

#x21

#2!i

#x1#x2· · · #2!i

#x1#xn

......

...#2!i

#xn#x1

#2!i

#xn#x2· · · #2!i

#x2n

+

,

,

,

-

x="

, i = 1, . . . , n.

Per estendere il metodo di Newton al sistema non lineare (4.29), sup-poniamo che le funzioni fi siano derivabili con continuita rispetto a ciascunavariabile e che la matrice jacobiana

J(x) =

(

)

)

*

#f1

#x1· · · #f1

#xn

.... . .

...#fn

#x1· · · #fn

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

Page 102: Calcolo Numerico Completo

4.6. METODI ITERATIVI IN IRN 101

si ha il sistema x = x % J!1(x)f(x) equivalente a (4.29), da cui il metodoiterativo di Newton o di Newton-Raphson

x(k+1) = x(k) % J!1(x(k))f(x(k)), k = 0, 1, . . . .

Nell’uso pratico del metodo l’iterata 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).Sull’ordine 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 dellaclasse C3(D) e tali che J(x) sia non singolare in D; allora l’ordine di con-vergenza del metodo di Newton e almeno p = 2 e si ha convergenza per ogniscelta di x(0) in un opportuno dominio contenente !.

Dimostrazione. Tenuto conto della forma della funzione di iterazione #, lacolonna j-esima della matrice (4.32) risulta:

%#

%xj=

%x

%xj%

%

%xj

.

J!1(x)f(x)/

=%x

%xj% J!1(x)

%f(x)

%xj%

%J!1(x)

%xjf(x)

= %%J!1(x)

%xjf(x) ;

infatti i vettori #x#xj

e J!1(x)#f(x)#xj

coincidono con la j-esima colonna della matrice

identica. Ne segue che per x = ! si ha

0

%#

%xj

1

x="

= %0

%J!1(x)

%xj

1

x="

f(!) = 0, j = 1, 2, . . . , n,

quindi e!(!) = O, (4.35)

cioe l’ordine di convergenza del metodo e almeno p = 2.

Dalla continuita di !(x) e dalla (4.35) segue infine, per un assegnato K < 1,l’esistenza di un dominio D$ = {x | . x % ! .$ "} + D in cui vale la con-dizione (4.33) e quindi il metodo converge *x(0) ' D$.

Page 103: Calcolo Numerico Completo

102 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

Nel caso di una lenta variazione della matrice jacobiana J(x), si puoricorrere anche ora ad un metodo di Newton semplificato 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 aduna buona approssimazione iniziale x(0). Se il metodo (4.36) converge, laconvergenza e in generale lineare.

Un modo di evitare il calcolo dell’intera matrice J(x) ad ogni passo,consiste nel considerare l’i-esima equazione del sistema (4.29) come unaequazione nella sola incognita xi ed applicare a ciascuna equazione del si-stema il metodo di Newton per equazioni in una incognita. Supposto chel’ordinamento delle equazioni sia tale che, in un dominio contenente !, siabbia

&fi(x1, . . . , xn)

&xi

"= 0, i = 1, 2, . . . , n,

si ottiene

x(k+1)i = x(k)

i %fi(x

(k)1 , . . . , x(k)

n )#fi(x

(k)1 ,...,x

(k)n )

#xi

, i = 1, . . . , n; k = 0, 1, . . . . (4.37)

Questo metodo, detto metodo non lineare di Jacobi-Newton, e un metodoiterativo ad un punto e puo esprimersi nella forma matriciale

x(k+1) = x(k) % D!1(x(k))f(x(k)), k = 0, 1, . . . ,

dove D = diag( #f1

#x1, #f2

#x2, . . . , #fn

#xn); la convergenza, lineare, e garantita se

vale la condizione (4.33), tenendo conto che nel metodo in esame si ha"(x) = x % D!1(x)f(x).

Una variante del metodo (4.37) si ottiene introducendo la tecnica iterativadi Gauss-Seidel, della forma

x(k+1)i = x(k)

i %fi(x

(k+1)1 , . . . , x(k+1)

i!1 , x(k)i , . . . , x(k)

n )#fi(x

(k+1)1 ,...,x

(k+1)i"1 ,x

(k)i ,...,x

(k)n )

#xi

,

(4.38)i = 1, 2, . . . , n, k = 0, 1, . . . ,

dove si sono utilizzate, per il calcolo di x(k+1)i , le prime i% 1 componenti gia

note dell’iterata x(k+1) in corso di calcolo.

Page 104: Calcolo Numerico Completo

4.7. ZERI DI POLINOMI 103

Il metodo (4.38) e noto come metodo non lineare di Gauss-Seidel.Un modo di accelerare la convergenza lineare di questo metodo e quello

di introdurre un fattore di rilassamento ' ']0, 2[ ponendo

x(k+1)i = x(k)

i % 'F (k+1,k)i , i = 1, 2, . . . , n, k = 0, 1, . . . , (4.39)

dove F (k+1,k)i indica la frazione che compare in (4.38). Alla (4.39), con ' > 1

si 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 approssimazionediscreta; si ha cosı l’evidente vantaggio di non dovere calcolare le n2 derivateparziali costituenti J(x).

Per approssimare J(x(k)) si puo introdurre la matrice #(x(k)), reale diordine n, i cui elementi sono dati da

&

#(x(k))'

ij=

fi(x(k)+h(k)j e(j))!fi(x(k))

h(k)j

,

i, j = 1, 2, . . . , n, k = 0, 1, . . . ,

essendo h(k)j opportuni scalari, infinitesimi al crescere di k; ad esempio si puo

assumere h(k)j = fj(x(k)) oppure, piu semplicemente, h(k)

j = x(k!1)j % x(k)

j .In generale questi metodi presentano un ordine di convergenza p $ 2.

4.7 Zeri di polinomi

L’equazione (4.1) sia algebrica di grado m # 2, cioe della forma

P (x) = amxm + am!1xm!1 + · · · + a1x + a0 = 0 (am "= 0) (4.40)

con i coe"cienti ai reali. All’equazione (4.40) sono applicabili tutti i metodivisti nei paragrafi precedenti, ma le particolari proprieta della classe dei poli-nomi forniscono ulteriori procedimenti per la localizzazione e l’approssimazionedelle 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) conai 'IR, una successione di polinomi reali

P0(x) := P (x), P1(x), . . . , Pk(x), (k $ m) (4.41)

per cui valgono le seguenti proprieta:

Page 105: Calcolo Numerico Completo

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 Pr!1(!)Pr+1(!) < 0,

3. ! 'IR, P0(!) = 0 implica P $0(!)P1(!) > 0.

Dalla proprieta 3 della definizione segue che gli zeri reali di P (x) sonotutti semplici.

Teorema 4.7.1 (di Sturm) Se la (4.41) e una successione di Sturm il numerodegli zeri del polinomio P (x) nell’intervallo a < x $ b e dato da V (a)%V (b),dove V (x) e il numero delle variazioni di segno presenti nella successione deivalori non nulli assunti dalla (4.41) nel punto x.

Dimostrazione. Al variare di x la funzione V (x) puo cambiare di valoresoltanto se qualche polinomio Pi(x) della successione (4.41) cambia di segno epertanto si annulla in un punto x = !. Per la proprieta 2 non possono annullarsiin x = ! due polinomi consecutivi, inoltre, se Pi(!) = 0, non puo essere i = k perla 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

Pi!1(x), Pi(x) e Pi+1(x), calcolati nel punto x = ! e in punti su"cientementevicini x = ! % & e x = ! + & (& > 0), presentano una sola delle possibili dis-tribuzioni di segni illustrate nei due quadri seguenti:

! % & ! ! + & ! % & ! ! + &Pi!1 + + + % % %Pi ± 0 ± ± 0 ±Pi+1 % % % + + +

.

Quindi si ha comunque V (!%&) = V (!) = V (!+&) e il valore di V (x) non cambiaquando 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 .

Page 106: Calcolo Numerico Completo

4.7. ZERI DI POLINOMI 105

In particolare se ! = a, dalle ultime due colonne di ciascuno dei quadri relativia P0 e P1, si ha V (a) % V (a + &) = 0, mentre se ! = b, dalle prime due colonne siha V (b % &) % V (b) = 1.

Quindi il valore di V (x) si abbassa di una unita ogni volta che x attraversacrescendo 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 polinomihanno i coe!cienti dei termini di grado massimo dello stesso segno, alloral’equazione (4.40) ha m radici reali e distinte e viceversa.

Per costruire e!ettivamente una successione di Sturm per il polinomio (4.40),si pone

P0(x) := P (x) , P1(x) := P $(x) ,

Pr!1(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 divisionePr!1(x)/Pr(x), r = 1, 2, . . ..

Il processo (4.42) ha termine, poiche il grado dei polinomi decresce alcrescere dell’indice e percio per un certo k $ m risulta

Pk!1(x) = Pk(x)Qk(x).

Si riconosce nel processo (4.42) il noto algoritmo di Euclide che fornisce ilmassimo 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 abbianozeri reali in comune, i polinomi P0(x), P1(x), . . . , Pk(x) formano una succes-sione di Sturm per P (x). Infatti, nell’ipotesi fatta e per la (4.43), Pk(x) nonha zeri reali (proprieta 1).

Se Pr(!) = 0 con 1 $ r $ k % 1, allora si ha Pr!1(!) = %Pr+1(!) "= 0come segue dalla (4.42) e quindi Pr!1(!)Pr+1(!) < 0 (proprieta 2).Dalla definizione di P0(x) e di P1(x), se P0(!) = 0, segue P $

0(!)P1(!) =(P $(!))2 > 0 (proprieta 3).

Se P (x) e P $(x) hanno zeri reali in comune, questi, per la (4.43), sonotutti zeri di Pk(x) con la stessa molteplicita che hanno come zeri di P $(x) ela (4.42) non fornisce una successione di Sturm.

Page 107: Calcolo Numerico Completo

106 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

In tal caso si puo verificare che la successione

P0(x)

Pk(x),

P1(x)

Pk(x), . . . ,

Pk(x)

Pk(x), (4.44)

e una successione di Sturm per il polinomio P (x)/Pk(x) che ha tanti zerisemplici quanti sono gli zeri distinti di P (x).

La di!erenza V (a) % V (b) valutata per la successione (4.44) fornisceallora il numero delle radici reali e distinte (indipendentemente dalla loromolteplicita ) dell’equazione P (x) = 0 sull’intervallo 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 dell’intervallo come nel metodo di bisezione, sipuo approssimare ! con qualsivoglia accuratezza anche se piuttosto lenta-mente.

L’approssimazione di uno zero di P (x), che sia stato separato per esempiocon una successione di Sturm, puo essere fatta usando uno qualunque deimetodi esposti precedentemente. In particolare, si puo utilizzare il metododi Newton

xn+1 = xn %P (xn)

P $(xn),

che richiede ad ogni passo il calcolo di P (xn) e P $(xn). Il calcolo di unpolinomio 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 l’espressione di R insieme a quella dei coe"cienti delquoziente Q(x) si ottiene in funzione dei coe"cienti ai di P (x) usando l’al-goritmo di Ru!ni-Horner, cioe ponendo

Q(x) = bm!1xm!1 + bm!2x

m!2 + · · · + b0 , R = b!1 ,

e calcolando successivamente (in base al principio di identita applicato alla (4.45))

bm!1 = am ,

bm!2 = bm!1c + am!1 ,

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

· · · · · ·b!1 = b0c + a0 = R .

Page 108: Calcolo Numerico Completo

4.7. ZERI DI POLINOMI 107

L’algoritmo (4.46) ottimizza il calcolo di P (c) = R riducendolo ad mmoltiplicazioni ed altrettante addizioni ed equivale a calcolare per x = c ilpolinomio P (x) scritto nella forma

((. . . ((amx + am!1)x + am!2)x + am!3)x + · · · + a1)x + a0.

Con lo stesso algoritmo si puo calcolare anche P $(x) per x = c, avendosidalla (4.45)

P $(x) = (x % c)Q$(x) + Q(x), P $(c) = Q(c).

Un’operazione possibile nelle equazioni algebriche e la cosiddetta de-flazione che consiste nell’utilizzare una radice !, gia trovata, per abbassareil grado dell’equazione, in base al fatto che le rimanenti radici di P (x) = 0sono quelle dell’equazione di grado m % 1

S1(x) =P (x)

x % != 0 .

Di questa equazione si puo calcolare una nuova radice per poi ripetere unadeflazione e cosı via, fino ad ottenere, almeno in linea di principio, tutte leradici.

Tale procedimento e pero sconsigliabile in pratica, infatti quand’anchesi conoscesse ! esattamente, il calcolo dei coe"cienti di S1(x) introduceinevitabilmente degli errori che possono privare di attendibilita i risultatisuccessivi.

Per evitare queste di"colta si puo ricorrere alla cosddetta deflazione im-plicita in cui ogni radice gia calcolata viene utilizzata per calcolarne un’altra,operando sempre sul polinomio originale P (x), mediante una modifica delmetodo 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) ilpolinomio di grado m%r che si otterrebbe operando senza errori r deflazioni;sara allora

Sr(x) =P (x)

(x % !1)(x % !2) · · · (x % !r).

Page 109: Calcolo Numerico Completo

108 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

Da questa segue che si puo applicare il metodo di Newton all’equazioneSr(x) = 0, senza conoscere esplicitamente il polinomio Sr(x), ottenendo

xn+1 = xn %1

P !(xn)P (xn) %

&

1xn!"1

+ · · · + 1xn!"r

' . (4.47)

La (4.47) prende il nome di metodo di Newton con deflazione implicita.Il metodo di Newton puo essere usato anche nel campo complesso.Esistono anche metodi e"cienti che forniscono simultaneamente tutte le

radici reali o complesse di una equazione algebrica.Uno dei piu usati consiste nel considerare le radici dell’equazione P (x) = 0

come autovalori della matrice di Frobenius associata a P (x) (cfr. Capitolo2) e nell’applicare per il calcolo degli autovalori il metodo QR descritto nelCapitolo 5.

Un altro metodo, che consente di approssimare tutte le radici di unaequazione algebrica come soluzione di uno speciale sistema non lineare, equello esposto nell’Esempio 6.8.3.

4.8 Complementi ed esempi

I metodi iterativi possono essere analizzati in base alla loro e!cienza.Anche se questo concetto non ha una definizione formale unica, esso e legatoessenzialmente all’ordine p del metodo (e quindi alla sua capacita di ridurrel’errore ad ogni iterazione) ed al numero v di valutazioni di funzione per ogniiterazione (e quindi alla sua complessita computazionale). Molto semplice-mente, ad esempio, l’e"cienza E puo essere definita da

E =p

v.

Limitandosi al caso di radici semplici, per il metodo delle secanti (4.9) siha 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 Ste!ensen

xn+1 = xn %(f(xn))2

f(xn) % f(xn % f(xn))(4.48)

ottenuto dalla (4.20) ove si ponga "(x) = x % f(x): infatti, come si verificafacilmente, per esso e p = 2 e v = 2.

Page 110: Calcolo Numerico Completo

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 funzionicomplicate e di non immediata derivabilita.

Esempio 4.8.1 L’equazione

f(x) = x2

arccos1

1 + x

3sin(log(2x+1))

%1

(= 0

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

Il metodo di Newton, applicato con x0 = 0.4, fornisce lo stesso risul-tato con l’iterazione x4: sono pero necessarie otto valutazioni di funzione dicui quattro di f $(x), funzione, questa, dotata di una maggiore complessitacomputazionale.

4.8.1 Radici multiple

Il metodo di Newton e le sue varianti (metodo delle secanti, metodo diSte!ensen (4.48)) mostrano una riduzione dell’ordine di convergenza, e quindidell’e"cienza, 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

"(x) = x %2f (s!1)(x)

2f (s)(x) + h(x)f (s+1)(x)

dove si intende f (0)(x) = f(x) e dove, per definizione di molteplicita di unaradice, si ha f (r)(!) = 0, r = 0, 1, . . . , s % 1, f (s)(!) "= 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

"$(!) = 1 %2f (s)(!)

2f (s)(!) + h(!)f (s+1)(!),

Page 111: Calcolo Numerico Completo

110 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

il metodo ha ordine di convergenza almeno due se h(!) = 0.Derivando ancora viene

"$$(!) =f (s)(!)

.

2f (s+1)(!) + h$(!)f (s+1)(!)/

% f (s+1)(!)f (s)(!)

[f (s)(!)]2.

Pertanto l’ordine di convergenza e almeno tre se "$$(!) = 0, ossia seh$(!) = %1.

In particolare se si assume h(x) = %f (s!1)(x)/f (s)(x), le precedenti con-dizioni sono soddisfatte e poiche, come si constata facilmente, "$$$(!) "= 0, ilmetodo ha ordine di convergenza esattamente p = 3.

Per esempio, applicando il metodo alla funzione f(x) = (x3 + x% 1)2 cheha 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). L’algoritmo di Newton (4.22), chein questo caso perde la convergenza quadratica, con x0 = 1 fornisce otto cifredecimali 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

C =1

6| "$$$(!) |=

6!2 % 1

3!2 + 1& 0.3122 ,

dove si e approssimato ! con 0.68232780 & x3.Alternativamente C puo essere stimato dalle iterazioni fatte, in base

alla (4.5),

C &| x3 % x2 || x3 % x1 |3

& 0.3119.

Per questo metodo con h(x) = %f (s!1)(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 l’uso delle derivate successive di f(x).

Page 112: Calcolo Numerico Completo

4.8. COMPLEMENTI ED ESEMPI 111

4.8.2 Il caso delle equazioni algebriche

L’equazione algebrica (4.2) e dotata di importanti relazioni fra i coefficien-ti, reali o complessi, e le radici !i, i = 1, 2, . . . ,m. Fra queste si riportano ledue seguenti.

Posto

si =4

1%k1<k2<···<ki%m

!k1!k2 · · ·!ki, i = 1, 2, . . . ,m,

dove in particolare e s1 = !1 + !2 + · · · + !m e sm = !1!2 · · ·!m,

Sk =m

4

i=1

!ki , k = 1, 2, . . . ,

si possono dimostrare le seguenti relazioni:

si = (%1)i am!i

am

, i = 1, 2, . . . ,m; (4.49)

k4

i=1

am!i+1Sk!i+1 = %kam!k, k = 1, 2, . . . ,m. (4.50)

Le (4.50) sono dette formule di Girard-Newton.Nel caso di equazioni a coe"cienti interi, dalla (4.49) con i = m, segue

facilmente che le eventuali radici razionali, della forma p/q, con q "= 0, p e qinteri e primi fra loro, sono da ricercarsi nell’insieme

$

± divisori interi di a0

± divisori interi di am

5

.

Le (4.49) e (4.50) consentono, inoltre, di ricondurre la risoluzione di unaparticolare classe di sistemi algebrici non lineari alla risoluzione di una equa-zione algebrica.

Esempio 4.8.3 Si consideri il sistema

24

i=0

bixki = mk , k = 0, 1, 2, 3, 4, 5,

Page 113: Calcolo Numerico Completo

112 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

nelle incognite b0, b1, b2, x0, x1, x2. Tale sistema e formalmente analogo alsistema (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

b0 =m0x1x2 % m1(x1 + x2) + m2

(x1 % x0)(x2 % x0),

b1 =m0x0x2 % m1(x0 + x2) + m2

(x0 % x1)(x2 % x1),

b2 =m0x0x1 % m1(x0 + x1) + m2

(x0 % x2)(x1 % x2).

Sostituendo nelle ultime tre equazioni e ponendo s1 = x0 + x1 + x2,s2 = x0x1 +x0x2 +x1x2, s3 = x0x1x2, si ottiene il sistema lineare in s1, s2, s3,

(

)

*

m2 %m1 m0

m3 %m2 m1

m4 %m3 m2

+

,

-

(

)

*

s1

s2

s3

+

,

- =

(

)

*

m3

m4

m5

+

,

- .

Ponendo mk = bk+1!ak+1

k+1 , si puo verificare che la matrice dei coe"cienti enon singolare, percio, risolvendo, si trova

s1 = 3

0

b + a

2

1

, s2 = 3

0

b + a

2

12

%3

5

0

b % a

2

12

,

s3 =

6

7

0

b + a

2

12

%3

5

0

b % a

2

128

9

b + a

2.

Evidentemente, per le (4.49), i numeri x0, x1, x2, sono le radici dell’equazionealgebrica

x3 % s1x2 + s2x % s3 = 0 .

Cercando le soluzioni di questa equazione fra i divisori di s3, si trova che(b + a)/2 e radice; ne segue quindi

x0 =b + a

2%

b % a

2

:

3

5, x1 =

b + a

2, x2 =

b + a

2+

b % a

2

:

3

5.

Con tali valori si ricava, poi, facilmente

b0 = b2 =5

18(b % a), b1 =

4

9(b % a).

Page 114: Calcolo Numerico Completo

4.8. COMPLEMENTI ED ESEMPI 113

Si noti che con a = %1 e b = 1 si ottengono i nodi e i pesi della formuladi 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 prefissati uguali. Dalla prima equazione del sistema si ottieneb0 = b1 = b2 = m0/3, mentre per il calcolo di x0, x1, x2, possono usarsi lesuccessive tre equazioni. Con a = %1 e b = 1 si ha:

x0 + x1 + x2 = 0

x20 + x2

1 + x22 = 1

x30 + x3

1 + x32 = 0 .

Questo sistema ha per soluzioni tutte le permutazioni dei tre numeri chesono radici del polinomio algebrico a3x3 + a2x2 + a1x + a0, i cui coe"cientipossono 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 = 0a3 + 2a1 = 0a2 + 3a0 = 0 .

Fissando arbitrariamente uno dei coe"cienti ai, ad esempio a3 = 1, si hal’equazione

x3 %1

2x = 0

e quindi x0 = %x2 =&

22 , x1 = 0.

4.8.3 Una particolare successione di Sturm

Si consideri la matrice tridiagonale hermitiana

T =

(

)

)

)

)

)

*

a1 b2

b2. . . . . .. . . . . . bn

bn an

+

,

,

,

,

,

-

con bi "= 0, i = 2, 3, . . . , n. Il suo polinomio caratteristico P ()) = det(A%)I)puo essere calcolato per ricorrenza come visto in 2.11.5 e si ha

P ()) := Pn()) = (an % ))Pn!1())% | bn |2 Pn!2())

Page 115: Calcolo Numerico Completo

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)nPn()), (%1)n!1Pn!1()), . . . ,%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

T =

(

)

)

)

)

)

*

0 1/2

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

1/2 0

+

,

,

,

,

,

-

.

Si verifica 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 ne dispari si ha V (%1) % V (0) = (n + 1)/2 e V (0) % V (1) = (n % 1)/2: inquesto secondo caso ) = 0 e uno zero di P ()). In entrambi i casi si verificache ) = 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 Te osservando che ) = 1 e ) = %1 non possono essere autovalori in quantole matrici T % I e T + I sono a predominanza diagonale debole con grafoorientato fortemente connesso e quindi non singolari (cfr. Corollario 2.11.2).

Si puo poi dimostrare che gli autovalori di T sono

)i = cos2

i(

n + 1

3

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

4.8.4 Il teorema di Newton-Kantorovich

Per il metodo di Newton

x(k+1) = x(k) % J!1(x(k))f(x(k)), k = 0, 1, . . . ,

sussiste il seguente teorema.

Page 116: Calcolo Numerico Completo

4.8. COMPLEMENTI ED ESEMPI 115

Teorema 4.8.2 (di Newton-Kantorovich) Sia x(0) 'IRn e f(x) ' C2(D) dove

D =;

x | .x % x(0). $ 2b<

+IRn. Se risulta:

.J!1(x(0)). $ a;

.J!1(x(0))f(x(0)). $ b;=n

r=1

%

%

%

#2fi

#xj#xr

%

%

% $ cn, *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;

.! % x(k). $ b(2abc)2k"1

2k"1 .

Per quanto non di agevole applicazione, il teorema e importante perchefornisce 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 notiche nel Teorema 4.6.2 l’esistenza della soluzione e ammessa per ipotesi).

Esempio 4.8.5 Si consideri in IR3 il sistema

f(x) =

(

)

)

*

2x1 + cos x2 + cos x3 % 1.9

cos x1 + 2x2 + cos x3 % 1.8

cos x1 + cos x2 + 2x3 % 1.7

+

,

,

-

= 0.

La matrice jacobiana e

J(x) =

(

)

)

*

2 % sin x2 % sin x3

% sin x1 2 % sin x3

% sin x1 % sin x2 2

+

,

,

-

.

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

.J!1(0). =1

2= a, .J!1(0)f(0). =

3

20= b ,

dove si e usata la norma /.

Page 117: Calcolo Numerico Completo

116 CAPITOLO 4. EQUAZIONI E SISTEMI NON LINEARI

Inoltre, per ogni x, si ha=n

r=1 | &2fi/&xj&xr |$ 1, 1 $ i, j $ 3, da cuic = 3.

Poiche abc = 9/40 < 12 il metodo di Newton e convergente.

Si noti che risulta D =;

x | .x. $ 310

<

, 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 essereapprossimata, per ogni k, con il metodo iterativo di Jacobi o di Gauss-Seidel.

Il risultato

x4 =

(

)

)

*

%0.04236905027717 . . .

%0.09413400044134 . . .

%0.14733761588854 . . .

+

,

,

-

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

Bibliografia: [1], [5], [19], [25], [26], [29].

Page 118: Calcolo Numerico Completo

Capitolo 5

Calcolo di autovalori eautovettori

La conoscenza degli autovalori e degli autovettori di una matrice quadrata(cfr. Capitolo 2) e richiesta non solo nell’ambito di importanti teorie dellamatematica, ma anche in molte applicazioni, nelle quali si deve disporre diuna loro buona approssimazione numerica.

Per stimare gli autovalori e gli autovettori di una matrice A sembrerebbenaturale ricorrere alla approssimazione delle radici dell’equazione 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 delCapitolo 2 e Capitolo 4) e sconsigliabile seguire tale via, a causa degli i-nevitabili errori che si introducono nel calcolo dei coe!cienti della (5.1).Infatti piccole variazioni nei coe!cienti della (5.1) possono comportare fortivariazioni delle radici, giungendo talvolta a mutare radici reali in complessee viceversa. Inoltre, quand’anche si disponesse di un autovalore esatto !, imetodi di ricerca degli autovettori associati a ! mediante la risoluzione delsistema (5.2) non sempre risultano di semplice applicazione.

Nei paragrafi che seguono sono esposti alcuni metodi iterativi piu comune-mente usati. Il primo di essi serve ad approssimare un autovalore di modulo

Page 119: Calcolo Numerico Completo

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 alletrasformazioni per similitudine; si deducono poi gli autovettori in base allanota 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/ n!n una matrice diagonalizzabile con autovalorisoddisfacenti le condizioni

| !1 |>| !2 |# · · · #| !n | ; (5.3)

sia z(0) "C/ n un vettore arbitrario; allora il processo iterativo

y(0) = z(0)

y(k) = Ay(k"1), k = 1, 2, . . . ,(5.4)

e tale che

limk#$

y(k)

y(k)j

= v, limk#$

y(k)HAy(k)

y(k)Hy(k)= !1, (5.5)

dove j e un indice per cui y(k)j $= 0 e v e l’autovettore associato a !1.

Dimostrazione. La diagonalizzabilita di A implica l’esistenza di n autovettorix(i), i = 1, 2, . . . , n, linearmente indipendenti e quindi che il vettore z(0) possarappresentarsi nella forma z(0) =

!ni=1 cix(i), dove e lecito supporre che sia c1 $= 0.

Dalla (5.4) segue quindi

y(k) = Aky(0) = Ak(c1x(1) + · · · + cnx(n))

= c1Akx(1) + · · · + cnAkx(n) = c1!

k1x

(1) + · · · + cn!knx(n) (5.6)

= !k1

"

c1x(1) +

n#

i=2

ci

$

!i

!1

%k

x(i)

&

e anche, per ogni indice j,

y(k)j = !k

1

"

c1x(1)j +

n#

i=2

ci

$

!i

!1

%k

x(i)j

&

. (5.7)

Page 120: Calcolo Numerico Completo

5.1. METODO DELLE POTENZE 119

In particolare, scegliendo y(k)j $= 0, tenendo conto dell’ipotesi (5.3) e dividendo

membro a membro la (5.6) per la (5.7), si ottiene

limk#$

y(k)

y(k)j

= b1x(1) = v , (5.8)

dove b1 = 1/x(1)j ; percio il vettore v e l’autovettore associato a !1, come a!erma

la tesi. Si ha quindiAv = !1v

e anchevHAv = !1v

Hv

da cuivHAv

vHv= !1;

infine, tenendo conto della (5.8), si ha

limk#$

y(k)HAy(k)

y(k)H y(k)= lim

k#$

'

y(k)/y(k)j

(HA

'

y(k)/y(k)j

(

'

y(k)/y(k)j

(H '

y(k)/y(k)j

(

=vHAv

vHv= !1

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

Il rapporto

R(y(k)) =y(k)H

Ay(k)

y(k)Hy(k)

dicesi quoziente di Rayleigh.Dalle relazioni (5.6) e (5.7) si deduce che gli errori y(k)

y(k)j

!v ed R(y(k))!!1

tendono a zero come'

!2!1

(k.

Nel Teorema 5.1.1 l’ipotesi che A sia diagonalizzabile e, in generale,di!cile da controllare; tuttavia tale ipotesi e certamente verificata per lavasta classe delle matrici normali, che sono riconoscibili in base alla pro-prieta AHA = AAH (cfr. Capitolo 2). La convergenza del metodo dellepotenze all’autovalore di modulo massimo e all’autovettore associato si puodimostrare anche se A non e diagonalizzabile, purche valga la condizione (5.3).

Un algoritmo basato sulla (5.4) puo dar luogo a fenomeni di overflow odi underflow in quanto puo produrre vettori con componenti di valore asso-luto eccessivamente grande o eccessivamente piccolo. Pertanto si preferisce

Page 121: Calcolo Numerico Completo

120 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI

ricorrere a qualche forma modificata delle iterazioni (5.4), introducendo unanormalizzazione dei vettori. Un algoritmo che genera una successione divettori

)

z(k)*

normalizzati e il seguente,

y(k) = Az(k"1)

z(k) = y(k)

"k

+

,

-

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

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

Nelle ipotesi del Teorema 5.1.1, si dimostra che

limk#$

z(k) = w e limk#$

R(z(k)) = !1 (5.10)

dove w e l’autovettore associato a !1.In pratica si possono quindi assumere R(z(k)) e z(k) come approssimazioni

rispettivamente di !1 e dell’autovettore associato, adottando come criterio diarresto la condizione | R(z(k)) ! R(z(k"1)) |< # con # > 0 prefissato.

Il Teorema 5.1.1 si puo estendere al caso piu generale in cui !1 abbiamolteplicita r # 1, modificando l’ipotesi (5.3) nella forma

!1 = !2 = · · · = !r, | !1 |>| !r+1 |# · · · #| !n | .

Si osservi che per r = 1 l’unico autovettore associato a !1 e approssimatoda z(k); mentre, se r > 1, z(k) approssima un autovettore appartenente allospazio generato dagli r autovettori associati a !1 e l’autovettore approssimatocambia in dipendenza dalla scelta del vettore iniziale z(0).

Nell’ipotesi | !1 |>| !2 |>| !3 |# · · · #| !n |, il metodo delle potenze con-sente il calcolo dell’autovalore !2 e del corrispondente autovettore utilizzandola conoscenza di !1 e x1. Per semplicita, ci si limita qui al caso leggermentepiu restrittivo delle matrici normali, le quali hanno autovettori due a dueortogonali; supponendoli normalizzati a lunghezza unitaria, per essi risulta

x(i)H

x(j) = $ij, 1 & i, j & n.

Applicando il metodo nella forma (5.9) con "k = %y(k)%2, e ottenuti ivalori (approssimati) di x(1) e !1, si considera la matrice

A1 = A ! !1x(1)x(1)H

.

1Per la (5.6) gli indici delle componenti di modulo massimo di y(k), per k su"ciente-mente grande, coincidono con gli indici delle componenti di massimo modulo di x(1).

Page 122: Calcolo Numerico Completo

5.2. METODO DELLE POTENZE INVERSE 121

Si constata subito che si ha

A1x(1) = 0 e A1x

(i) = !ix(i), i = 2, 3, . . . , n;

la matrice A1, quindi, ha autovalori 0,!2,!3, . . . ,!n, e gli stessi autovettori diA. Il metodo, applicato ora a A1, converge all’autovettore x(2) e all’autovalore!2. Questo procedimento, detto deflazione, puo essere ripetuto, nell’ipotesi| !1 |>| !2 |> · · · >| !n |, per calcolare tutti gli autovalori e tutti gliautovettori, considerando successivamente le matrici

Ai = A !i

#

r=1

!rx(r)x(r)H

, i = 1, 2, . . . , n ! 1.

5.2 Metodo delle potenze inverse

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

| !1 |#| !2 |# · · · #| !n"1 |>| !n |> 0;

la matrice inversa A"1 avra quindi autovalori verificanti la condizione

.

.

.

.

1

!n

.

.

.

.

>

.

.

.

.

.

1

!n"1

.

.

.

.

.

# · · · #.

.

.

.

1

!1

.

.

.

.

.

Ne segue che il metodo delle potenze, applicato alla matrice inversa A"1,fornisce l’autovalore di massimo modulo 1/!n e, di conseguenza, anche l’au-tovalore di minimo modulo di A. Dalle (5.9) si ha, per z(0) arbitrario,

y(k) = A"1z(k"1), z(k) =y(k)

"k

, k = 1, 2 . . . .

In pratica si usa il seguente algoritmo, detto metodo delle potenze inverse,

Ay(k) = z(k"1), z(k) =y(k)

"k

, k = 1, 2 . . . , (5.11)

nel quale ad ogni passo occorre risolvere un sistema lineare di matrice Aper ottenere y(k). Questo metodo puo essere vantaggiosamente usato perapprossimare un qualunque autovalore !j di A quando se ne conosca gia una

Page 123: Calcolo Numerico Completo

122 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI

approssimazione iniziale !j. Partendo dall’osservazione che gli autovaloridella matrice A ! !jI sono

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

mentre quelli della matrice (A ! !jI)"1 sono

1

!1 ! !j

, . . . ,1

!j ! !j

, . . . ,1

!n ! !j

,

se !j e abbastanza vicino a !j si puo supporre che 1!j"!j

sia l’autovalore di

massimo modulo per (A! !jI)"1 e quindi si puo applicare a questa matricel’algoritmo (5.11) che ora assume la forma:

(A ! !jI)y(k) = z(k"1), z(k) =y(k)

"k

, k = 1, 2 . . . . (5.12)

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

R(z(m)) '1

!j ! !j

da cui si ottiene

!j '1 + !jR(z(m))

R(z(m)).

Si noti che il vettore z(m) ottenuto da (5.12) approssima l’autovettoreassociato all’autovalore 1

!j"!jper la matrice (A! !jI)"1, ma z(m) e anche un

autovettore approssimato associato all’autovalore !j per la matrice A.

5.3 Metodo di Jacobi per matrici

simmetriche

Il metodo di Jacobi permette di approssimare tutti gli autovalori di unamatrice hermitiana. Per semplicita si considerano qui solo matrici A reali esimmetriche.

Page 124: Calcolo Numerico Completo

5.3. METODO DI JACOBI PER MATRICI SIMMETRICHE 123

Il metodo consiste nell’operare successive trasformazioni per similitudinemediante matrici di rotazione Grs della forma (cfr. Esempio 2.11.6)

Grs =

/

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1. . .

1cos % ! sin %

1. . .

1sin % cos %

1. . .

1

2

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

4

( r

( s

.

Tali matrici sono determinate dagli interi r ed s, con 1 & r < s & n, e dalparametro %; inoltre sono ortogonali, cioe si ha

GrsGTrs = GT

rsGrs = I e quindi G"1rs = GT

rs.

Il metodo di Jacobi e un metodo iterativo in cui al passo k-esimo sitrasforma una matrice Ak mediante una matrice ortogonale G(k)

rs secondol’algoritmo seguente:

A1 := A(5.13)

Ak+1 = G(k)T

rs AkG(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 Ak avente modulomassimo 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 glielementi di Ak non appartenenti alle righe e alle colonne di indici r ed s, cioesi ha

a(k+1)ij = a(k)

ij per i, j $= r, s,

Page 125: Calcolo Numerico Completo

124 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI

mentre vengono modificati solo gli elementi delle righe e colonne di indici re s e inoltre conserva la simmetria iniziale.

Precisamente si ha:

a(k+1)rs = a(k+1)

sr = !'

a(k)rr ! a(k)

ss

(

sin % cos % + a(k)rs

'

cos2 % ! sin2 %(

, (5.15)

a(k+1)rj = a(k+1)

jr = a(k)rj cos % + a(k)

sj sin %, j $= r, s,

a(k+1)sj = a(k+1)

js = !a(k)rj sin % + a(k)

sj cos %, j $= r, s, (5.16)

a(k+1)rr = a(k)

rr cos2 % + 2a(k)rs sin % cos % + a(k)

ss sin2 % ,

a(k+1)ss = a(k)

rr sin2 % ! 2a(k)rs sin % cos % + a(k)

ss cos2 % .

Dalla (5.15) segue che la (5.14) e verificata per ogni % soluzione dell’equazione

!'

a(k)rr ! a(k)

ss

(

sin % cos % + a(k)rs

'

cos2 % ! sin2 %(

= 0.

In pratica si ricavano direttamente due valori, sin% e cos %, per costruire lamatrice G(k)

rs , scrivendo la precedente equazione nella forma

t2 + 2mt ! 1 = 0, (5.17)

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

ss )/2a(k)rs .

Scegliendo fra le due radici della (5.17) quella di modulo minore, cor-rispondente a | % |& &/4, si ha

t =

5

6

7

!m +)

1 + m2 se m > 0 ,

!m !)

1 + m2 se m < 0 ;

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

cos % =1)

1 + t2, sin % = t cos %,

con cui si costruisce la G(k)rs voluta.

In questo modo ad ogni passo si annulla un elemento non diagonale (e ilsuo simmetrico); cio non esclude che nei passi successivi un elemento non dia-gonale nullo possa essere modificato e assumere un valore non nullo; tuttaviavale il seguente teorema.

Page 126: Calcolo Numerico Completo

5.3. METODO DI JACOBI PER MATRICI SIMMETRICHE 125

Teorema 5.3.1 La successione {Ak} generata dalle (5.13) col metodo diJacobi 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 verificarsi della condizione

maxi>j

| a(k+1)ij |& #, (5.18)

dove # > 0 e un numero prefissato.Se il criterio (5.18) e verificato, allora la matrice Ak+1 approssima la

matrice diagonale D e quindi, indicando con G(i) la matrice di rotazionedella i-esima iterazione, si ha

G(k)T

G(k"1)T · · ·G(1)T

AG(1) · · ·G(k"1)G(k) = Ak+1 ,

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

AHk = HkAk+1 .

Quindi gli elementi a(k+1)ii di Ak+1 sono approssimazioni degli autovalori di

A mentre i corrispondenti autovettori sono approssimati dalle colonne dellamatrice Hk che si puo ottenere mediante l’algoritmo

H0 = I, Hj = Hj"1G(j), j = 1, 2, . . . , k.

Una variante del metodo di Jacobi classico consiste nel sopprimere laricerca dell’elemento di modulo massimo da annullare ad ogni passo, evi-tando cosı tutti i necessari confronti fra elementi. Cio si ottiene annullandosistematicamente tutti gli elementi non nulli che si incontrano percorrendoper righe gli elementi al disopra della diagonale principale, cioe quelli di indici

(12), (13), · · · , (1n); (23), · · · , (2n); · · · ; (n ! 1, n).

L’operazione e ciclica nel senso che si ripete eseguendo gli annullamentisempre 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.

Page 127: Calcolo Numerico Completo

126 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI

5.4 Riduzione in forma tridiagonale e di

Hessenberg

Se una matrice e hermitiana e tridiagonale, l’approssimazione dei suoiautovalori ed autovettori, sia col metodo di Jacobi che con altri metodi,risulta piu agevole che per una matrice hermitiana qualunque non sparsa. Perquesto motivo una generica matrice hermitiana A viene di solito trasformatain una matrice tridiagonale simile.

Fra i vari modi per e"ettuare la riduzione di A alla forma tridiagonaleriportiamo qui il metodo di Givens, considerato, per semplicita, nel casoreale. In questo metodo si usano ancora le matrici di rotazione per otteneretermini nulli ma, a di"erenza di quanto si e visto nel metodo di Jacobi, unelemento che e stato annullato a un certo passo non viene piu modificatonelle successive trasformazioni. Cio si ottiene annullando ordinatamente itermini non nulli fra gli elementi aij con i ! j # 2, considerati per colonne,nel seguente ordine

a31, a41, . . . , an1; a42, a52, . . . , an2; . . . ; an,n"2,

usando, rispettivamente, le matrici di rotazione

G23, G24, . . . , G2n; G34, G35, . . . , G3n; . . . ; Gn"1,n. (5.19)

Poiche ad ogni passo viene annullato un elemento e il suo simmetrico,bastano al piu (n"2)(n"1)

2 rotazioni per trasformare A in una matrice simileA1 di forma tridiagonale, conservando la simmetria.

In questo processo gli indici della matrice di rotazione e quelli dell’ele-mento da annullare non sono gli stessi come nel metodo di Jacobi, ma lamatrice G(k)

rs viene costruita in modo che risulti

a(k+1)s,r"1 = 0, k = 1, 2, . . . ,

(n ! 2)(n ! 1)

2; (5.20)

se fosse gia a(k)s,r"1 = 0 si pone G(k)

rs = I (cioe % = 0).Utilizzando la (5.16) ove si ponga j = r ! 1, la (5.20) fornisce

a(k+1)s,r"1 = a(k)

s,r"1 cos % ! a(k)r,r"1 sin % = 0 ,

che e soddisfatta per

cos % =a(k)

r,r"18

'

a(k)s,r"1

(2+

'

a(k)r,r"1

(2, sin % =

a(k)s,r"1

8

'

a(k)s,r"1

(2+

'

a(k)r,r"1

(2.

Page 128: Calcolo Numerico Completo

5.5. SCHEMA DEL METODO QR 127

Formule numericamente piu stabili si ottengono calcolando

t = tan % =a(k)

s,r"1

a(k)r,r"1

, c = cot % =a(k)

r,r"1

a(k)s,r"1

,

e ponendo

cos % =1)

1 + t2, sin % = t cos % se | t |< 1 ,

sin % =1)

1 + c2, cos % = c sin % se | t |> 1 .

La conoscenza delle matrici (5.19) consente di risalire dagli autovettoridella 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)nell’ordine ivi considerato; G e ancora ortogonale e si ha A1 = GT AG da cui,essendo A1y = !y, segue A1y = GT AGy = !y percio AGy = !Gy e x = Gye l’autovettore di A corrispondente a y.

Se il processo di Givens si applica ad una matrice A non simmetrica, lamatrice H che si ottiene al termine delle (n ! 2)(n ! 1)/2 trasformazioni edella forma seguente

H =

/

0

0

0

0

1

h11 h12 · · · h1n

h21 h22 · · · h2n

. . . . . ....

hn"1,n hnn

2

3

3

3

3

4

.

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 aifini dell’ulteriore approssimazione di autovalori ed autovettori.

Un metodo per ottenere queste approssimazioni e che risulta particolar-mente e!ciente quando opera su matrici delle due forme suddette e il metodoQR esposto nel paragrafo seguente.

5.5 Schema del metodo QR

L’approssimazione simultanea di tutti gli autovalori di una matrice qua-lunque, viene generalmente e"ettuata mediante il metodo QR, di cui ci si

Page 129: Calcolo Numerico Completo

128 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI

limita ad accennare le linee fondamentali nel caso reale partendo dal seguenteteorema.

Teorema 5.5.1 Per ogni matrice A "IRn!n esiste una decomposizione nelprodotto di una matrice Q ortogonale per una matrice R triangolare superio-re.

La dimostrazione si ottiene costruendo e"ettivamente le matrici Q edR. Uno dei vari modi per raggiungere lo scopo consiste nel premoltiplicaresuccessivamente A con matrici di rotazione Grs scelte in modo che ad ognipasso si ottenga una matrice prodotto in cui risulti nullo un elemento diindici (s, r) situato sotto la diagonale principale, ammesso che non fosse gianullo (in tal caso si pone Grs = I). La strategia che si segue e quella dipremoltiplicare A ordinatamente per le n(n ! 1)/2 matrici

G12, G13, . . . , G1n; G23, . . . , G2n; . . . ; Gn"1,n,

in modo che, nelle successive matrici prodotto, risultino nulli rispettivamentegli elementi di indici

(21), (31), . . . , (n1); (32), . . . , (n2); . . . ; (n, n ! 1).

In questo modo non vengono modificati gli elementi nulli ottenuti nei passiprecedenti.

Poiche gli elementi annullati sono tutti situati al disotto della diagonaleprincipale, la matrice R ottenuta dopo n(n ! 1)/2 prodotti e triangolaresuperiore e si ha

Gn"1,n · · ·G13G12A = R,

infine, essendo le Grs ortogonali, si ha

A = GT12G

T13 · · ·GT

n"1,nR = QR

che fornisce la cosiddetta fattorizzazione QR della matrice A, con la matriceQ = GT

12GT13 · · ·GT

n"1,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 nullidi 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 matriceunitaria.

Page 130: Calcolo Numerico Completo

5.5. SCHEMA DEL METODO QR 129

L’algoritmo QR per la ricerca degli autovalori di A "IRn!n utilizza lafattorizzazione QR secondo lo schema

A1 := A ,

Ak = QkRk , (5.21)

Ak+1 = RkQk , k = 1, 2, . . . .

Tutte le matrici della successione {Ak} generata dall’algoritmo (5.21) sonosimili ad A; infatti, per qualunque k, si ha QT

k Qk = I e anche

Ak+1 = QTk QkRkQk = QT

k AkQk.

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 matricedella successione {Ak} si mantiene della stessa forma di A. In tal caso adogni passo la fattorizzazione richiede al piu (n ! 1) prodotti di matrici e ilcosto computazionale di una iterazione2 e di circa 2n2 moltiplicazioni. Talecosto sale a n3 moltiplicazioni se A e di forma qualsiasi.

La giustificazione teorica del metodo QR si completa con i due teoremiseguenti che ci si limita ad enunciare nel caso reale.

Teorema 5.5.2 (di Schur) Per ogni matrice A "IRn!n esiste una matricereale ortogonale B tale che la trasformata per similitudine S = B"1AB =BT AB e una matrice triangolare a blocchi con i blocchi diagonali di ordineuno o due, della forma

S =

/

0

0

0

0

1

S11 S12 · · · S1r

S22 · · · S2r

. . ....

Srr

2

3

3

3

3

4

. (5.22)

I blocchi diagonali di ordine 1 sono autovalori reali di A, mentre ogni bloccodiagonale di ordine due ha come autovalori una coppia di autovalori complessiconiugati di A.

2Per ”iterazione” si intende la fattorizzazione di Ak e il calcolo di Ak+1 in base alle(5.21).

Page 131: Calcolo Numerico Completo

130 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI

Teorema 5.5.3 Se gli autovalori di A "IRn!n sono reali e distinti in moduloe quindi verificano 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 triangolaresuperiore e gli elementi diagonali a(k)

ii di Ak tendono agli autovalori !i di Aordinati per modulo decrescente.

Se A possiede qualche coppia di autovalori complessi coniugati (e quindila (5.23) non e verificata) ma i moduli di ciascuna coppia e quelli degli au-tovalori reali sono distinti e se vale l’ipotesi fatta su X"1, allora le matriciAk convergono ad una matrice triangolare a blocchi del tipo (5.22), in cui gliautovalori dei vari blocchi sono ancora ordinati per modulo decrescente.

Osservazione 5.5.1 Mancando l’ipotesi della fattorizzabilita LR di X"1, siha ancora la convergenza del metodo ma puo venire meno l’ordinamento permodulo decrescente degli autovalori.

In pratica, partendo da una matrice A in forma di Hessenberg superiorele iterazioni si arrestano al raggiungimento di una matrice Am che possiedequalche elemento della codiagonale principale talmente piccolo in valore as-soluto da potersi considerare nullo. Si supponga che sia

Am =

"

A11 A12

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 raggiuntala forma triangolare o (5.22) si dovra applicare ancora il metodo QR a unao a ciascuna delle due matrici e cosı via.

In linea di principio il metodo QR fornisce anche gli autovettori di unamatrice A. Infatti si supponga che, dopo m ! 1 trasformazioni ortogonali,si sia ottenuta una matrice Am (della forma (5.22) o triangolare superiore) esia ! uno degli autovalori di A fornito da Am; posto

Q = Q1Q2 · · ·Qm"1 ,

Q e ancora una matrice ortogonale.

Page 132: Calcolo Numerico Completo

5.6. COMPLEMENTI ED ESEMPI 131

Ripetendo per Q, Am ed A, il ragionamento fatto in 5.4 per le matriciG, A1 ed A, segue che, se y e un autovettore di Am associato a !, x = Qye il corrispondente autovettore di A. Tuttavia il costo computazionale per ilcalcolo della matrice Q e elevato per cui, disponendo dell’approssimazione !di un autovalore, conviene utilizzare il metodo delle potenze inverse descrittoin 5.2 per ottenere un autovettore corrispondente di A.

Il metodo QR, qui esposto in una delle sue versioni piu semplici, vieneadoperato anche in forme modificate piu e!cienti; esso presenta comunqueuna notevole stabilita numerica e la proprieta di convergere sotto ipotesianche 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 l’esistenza di nautovettori x(i) linearmente indipendenti, implica che, in ogni caso, risultiz(0) =

!ni=1 cix(i).

Se per una data scelta di z(0) risulta c1 = 0 e si suppone | !2 |>| !3 |, lasuccessione 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 e"ettivamentequando si ricorre a precisioni molto elevate. In caso contrario, gli errori diarrotondamento fanno sı che la successione {y(k)} finisca 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(k"1) + $(k), k = 1, 2, . . . , (5.24)

dove $(k) e il vettore di errore, anch’esso rappresentabile come una combi-nazione degli autovettori di A. Posto $(1) = d1x(1) + · · · + dnx(n), il vettorey(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 coe!ciente di x(1) e, in generale, diverso da zero e quindi, a partireda y(1), le ipotesi del Teorema 5.1.1 sono soddisfatte. Una situazione analogasi verifica per il metodo applicato nella forma normalizzata (5.9).

Page 133: Calcolo Numerico Completo

132 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI

Esempio 5.6.1 Sia

A =

/

0

0

0

1

2 !1 0 0!1 2 !1 0

0 !1 2 !10 0 !1 2

2

3

3

3

4

e si assuma z(0) = (1, 1, 1, 1)T : con questa scelta, nell’uguaglianza z(0) =!4

i=1 cix(i) risulta c1 = 0.Si e applicato il metodo delle potenze in forma normalizzata con tre pre-

cisioni di macchina: us ' 4.75,10"7 (precisione semplice), ud ' 1.11,10"16

(precisione doppia) e uq ' 2.58,10"26 (precisione quadrupla). Si e adottatoil criterio di arresto | R(z(k)) ! R(z(k"1)) |< 1

210"5. I risultati ottenuti sononella tavola che segue.

k R(z(k))us 6 2.6180295 . . .ud 6 2.6180339 . . .uq 6 2.6180339 . . .

Le otto cifre significative del valore riportato per la precisione doppiae la precisione quadrupla corrispondono a quelle dell’autovalore !2 e sonocorrette. Tuttavia, proseguendo le iterazioni in precisione semplice e in pre-cisione doppia, l’e"etto degli errori di arrotondamento fa sı che, per k # k%,R(z(k)) si stabilizzi definitivamente su valori che approssimano !1. Mentre,la precisione quadrupla, essendo trascurabili gli errori di arrotondamento,continua a fornire l’approssimazione di !2.

Nella tavola che segue si danno i valori dell’indice k% a partire dal qualele otto cifre significative riportate per R(z(k)) rimangono fisse.

k% R(z(k)), k # k%

us 79 3.6180315 . . .ud 144 3.6180339 . . .uq 6 2.6180339 . . .

L’approssimazione di !1 ottenuta in precisione doppia e corretta nelleotto cifre significative riportate nella tavola.

Page 134: Calcolo Numerico Completo

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

a(k)ij = O

/

1

"

!i

!j

&k2

4 , i > j .

Ne segue che per questo metodo la convergenza puo essere molto lenta se.

.

.

!i

!j

.

.

. ' 1; ad analoga conclusione si giunge, a causa della (5.6), per il metododelle potenze se !1 ' !2.

Una tecnica che consente di ovviare a questo inconveniente consiste nell’ef-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 icui autovalori sono µi = !i + q, i = 1, 2, . . . , n, scegliendo il parametro q taleche sia ancora | µ1 |>| µ2 |> · · · >| µn |, ma risulti

.

.

.

.

.

µ2

µ1

.

.

.

.

.

<

.

.

.

.

.

!2

!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

A =

/

0

1

21 !1 1!1 21 1!1 1 21

2

3

4 .

Dal teorema di Gershgorin si ricava 19 &| !3 |&| !2 |&| !1 |& 23, percui la convergenza sara, nella migliore delle ipotesi, come quella del termine(19/23)k ' (0.826)k.

E"ettuando una traslazione di spettro con q = !19, si ha la matrice B con0 &| µ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 matriciA e B, con il criterio di arresto | R(z(k)) ! R(z(k"1)) |< 10"9 ottenendo irisultati riportati nella tavola che segue.

k R(z(k))matrice A 401 22.0000000118 . . .matrice B 48 3.0000000052 . . .

Page 135: Calcolo Numerico Completo

134 CAPITOLO 5. CALCOLO DI AUTOVALORI E AUTOVETTORI

Il metodo QR, applicato con i criteri di arresto maxi>j | a(k)ij |< 10"6 e

maxi>j | b(k)ij |< 10"6, ha fornito i seguenti risultati:

a(286)11 = 22.00000166 . . . , b(33)

11 = 3.00000154 . . . ,

a(286)22 = 19.99999944 . . . , b(33)

22 = 1.00000058 . . . ,

a(286)33 = 20.99999888 . . . , b(33)

33 = 1.99999787 . . . .

Gli autovalori di A sono !1 = 22, !2 = 21, !3 = 20.Si noti inoltre che nelle matrici A(k) e B(k) gli autovalori compaiono sulla

diagonale principale non ordinati per modulo decrescente: cio e dovuto alfatto che la matrice X"1 di cui nel Teorema 5.5.3 non e fattorizzabile LR(cfr. Osservazione 5.5.1); si ha infatti

X"1 =

/

0

1

!1 1 01 !1 10 1 !1

2

3

4 .

Bibliografia: [2], [13], [15], [29], [31].

Page 136: Calcolo Numerico Completo

Capitolo 6

Interpolazione eapprossimazione

In molti problemi si ha a che fare con una funzione f(x) di forma nonelementare, o addirittura sconosciuta, di cui si possiede solo una tabulazionein un numero finito di punti (sovente si tratta di misurazioni sperimentali).

In questi casi la stima di un valore di f(x), in un punto diverso da quelliin cui e data, puo essere fatta utilizzando i dati disponibili.

Questa operazione, detta interpolazione, di solito si e!ettua sostituendo af(x) una funzione che sia facilmente calcolabile come, per esempio, un poli-nomio. C’e quindi connessione fra il problema dell’interpolazione e quello piugenerale della approssimazione di una funzione f(x), cioe della sostituzione dif(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 adaltrettanti metodi di approssimazione. In questo capitolo si descrivono alcunetecniche di interpolazione e l’approssimazione di una funzione col metodo deiminimi quadrati nel caso discreto.

6.1 Di!erenze divise

Assegnata una funzione f(x) : I !IR"IR si ha la seguente definizione.

Definizione 6.1.1 Siano x0, x1, . . . , xk!1 # I con xi $= xj se i $= j; lafunzione

f [x0, x1, . . . , xk!1, x] =f [x0, x1, . . . , xk!2, x] % f [x0, x1, . . . , xk!1]

x % xk!1, (6.1)

Page 137: Calcolo Numerico Completo

136 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

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

, e definita &x # I, x $= xi, i =0, 1, . . . , k % 1, e si chiama di!erenza divisa di ordine k.

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

Vale il seguente teorema di espansione, dimostrabile per induzione.

Teorema 6.1.1 Sia f(x) : I !IR"IR e siano x0, x1, . . . , xk # I con xi $= xj

se i $= j; vale l’identita

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

+ · · + (x % x0)(x % x1) · · · (x % xk!1)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).L’interpolazione parabolica consiste nel determinare un polinomio di grado alpiu k

Pk(x) = akxk + ak!1x

k!1 + · · · + a1x + a0 (6.3)

tale che

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

il polinomio Pk(x) si chiama polinomio di interpolazione.Nell’insieme dei polinomi del tipo (6.3) ne esiste uno ed uno solo che veri-

fica le (6.4). Infatti, imponendo che il polinomio (6.3) verifichi le (6.4) si ot-tiene il sistema lineare di k+1 equazioni nelle k+1 incognite ai, i = 0, 1, . . . , k,

a0 + a1x0 + · · · + ak!1xk!10 + akxk

0 = f(x0)· · · · · · · · · · · · · · · · · ·a0 + a1xk + · · · + ak!1x

k!1k + akxk

k = f(xk) .(6.5)

Page 138: Calcolo Numerico Completo

6.2. INTERPOLAZIONE PARABOLICA 137

Il sistema (6.5) ha la seguente matrice dei coe"cienti!

"

"

"

"

#

1 x0 · · · xk!10 xk

0

1 x1 · · · xk!11 xk

1

· · · · · · · · · · · · · · ·1 xk · · · xk!1

k xkk

$

%

%

%

%

&

il cui determinante e'

0"j<i"k(xi % xj) e risulta diverso da zero, essendo ipunti xi due a due distinti. Tale matrice e detta matrice di Vandermonde.Il sistema (6.5) ha quindi un’unica soluzione e percio e unico il polinomiocercato.

Osservazione 6.2.1 Il polinomio di interpolazione e di grado minore di kse, nella soluzione del sistema (6.5), risulta ak = 0.

Per la costruzione di Pk(x) esistono procedimenti piu pratici che non larisoluzione del sistema (6.5). Si possono, per esempio, utilizzare le di!erenzedivise, 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 % xk!1)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

lr(x) =(x % x0) · · · (x % xr!1)(x % xr+1) · · · (x % xk)

(xr % x0) · · · (xr % xr!1)(xr % xr+1) · · · (xr % xk), (6.7)

r = 0, 1, . . . , k. I polinomi (6.7) godono della proprieta

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

di conseguenza il polinomio

Lk(x) =k(

r=0

lr(x)f(xr)

Page 139: Calcolo Numerico Completo

138 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

verifica le condizioni (6.4). Lk(x) si chiama polinomio di interpolazione diLagrange e i polinomi (6.7) sono detti polinomi fondamentali della interpo-lazione di Lagrange.

L’errore che si commette se si sostituisce alla funzione f(x) il polinomiodi 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) # Ck+1(I) si ha

f(x) % Pk(x) = "(x)f (k+1)(#)

(k + 1)!

dovemin{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, incorrispondenza dei quali siano noti 2k+2 valori reali f(x0), f(x1), . . . , f(xk),f #(x0), f #(x1), . . . , f #(xk); l’interpolazione osculatoria di Hermite consiste neldeterminare 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 % 2l#r(xr)(x % xr)]l2r(x), r = 0, 1, . . . , k,

(6.10)h1r(x) = (x % xr)l

2r(x), r = 0, 1, . . . , k,

e di semplice verifica il seguente teorema.

Page 140: Calcolo Numerico Completo

6.4. INTERPOLAZIONE CON FUNZIONI SPLINE 139

Teorema 6.3.1 Il polinomio, di grado al piu 2k + 1,

H(x) =k(

r=0

h0r(x)f(xr) +k(

r=0

h1r(x)f #(xr) (6.11)

soddisfa le condizioni (6.9).

Il polinomio (6.11) e detto polinomio di interpolazione di Hermite.I polinomi h0r(x) e h1r(x) definiti dalle (6.10) sono detti, rispettivamente,

funzioni fondamentali di prima e di seconda specie dell’interpolazione di Her-mite.

Teorema 6.3.2 Il polinomio H(x) e unico.

Dimostrazione. Si supponga, per assurdo, che esista un secondo polinomioS(x) di grado al piu 2k + 1 che soddisfi le (6.9).

Il polinomio R(x) = H(x) % S(x) e la sua derivata prima si annullano neik + 1 punti x0, x1, . . . , xk, per cui R(x) risulta divisibile almeno per il polinomioQ(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 dell’errore che si commette nel sostituire alla funzionef(x) il polinomio H(x) e data dal teorema seguente.

Teorema 6.3.3 Se f(x) # C2k+2(I) si ha

f(x) % H(x) = (x % x0)2 · · · (x % xk)

2f (2k+2)(#)

(2k + 2)!

dovemin{x0, x1, . . . , xk, x} < # < max{x0, x1, . . . , xk, x} .

6.4 Interpolazione con funzioni spline

I due tipi di interpolazione esposti nei precedenti paragrafi presentano losvantaggio che, al crescere di k, aumenta, in generale, il grado del polinomiodi interpolazione il quale finisce per assumere una forma poco maneggevole epuo discostarsi anche sensibilmente dalla funzione f(x) (cfr. Esempio 6.8.2).

Per ovviare a questo inconveniente si puo ricorrere alla interpolazionemediante funzioni spline costituita da una interpolazione polinomiale a tratti

Page 141: Calcolo Numerico Completo

140 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

con polinomi di ugual grado su ciascun tratto, soddisfacenti certe condizionidi regolarita.

Siano dati k + 1 punti reali x0 < x1 < · · · < xk in corrispondenza deiquali siano noti k +1 valori reali yi = f(xi), i = 0, 1, . . . , k. Si ha la seguentedefinizione.

Definizione 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[xi!1, xi], i = 1, 2, . . . , k;

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

3. Sm(x) # Cm!1([x0, xk]).

Nel seguito ci si limita ad analizzare il caso m = 3 che da luogo allecosiddette 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) : [xi!1, xi] "IR edefinito da quattro coe"cienti. S3(x) risultera quindi determinata dai 4kcoe"cienti dei polinomi che la compongono. Imponendo che siano verificatele proprieta 2 e 3, si ottengono le 4k % 2 condizioni

pi(xi!1) = yi!1, i = 1, 2, . . . , k,pi(xi) = yi, i = 1, 2, . . . , k,p#i(xi) = p#i+1(xi), i = 1, 2, . . . , k % 1,p##i (xi) = p##i+1(xi), i = 1, 2, . . . , k % 1.

(6.12)

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

p##1(x0) = p##k(xk) = 0 , Spline naturale;

p#1(x0) = p#k(xk) , p##1(x0) = p##k(xk) , Spline periodica;

p#1(x0) = y#0 , p#k(xk) = y#

k , Spline vincolata,

se i valori y#0 = f #(x0) e y#

k = f #(xk) sono noti.

Teorema 6.4.1 Se i punti x0, . . . , xk sono tali che xi % xi!1 = h, i =1, 2, . . . , k, esiste una unica funzione spline cubica naturale S3(x).

Page 142: Calcolo Numerico Completo

6.4. INTERPOLAZIONE CON FUNZIONI SPLINE 141

Dimostrazione. Introdotti k + 1 valori arbitrari mi, si costruiscono i polinomipi(x) nella forma di Hermite (6.11) a due punti con f(xr) = yr, f #(xr) = mr,r = i % 1, i,

pi(x) =)

1 +2

h(x % xi!1)

*+

x % xi

h

,2

yi!1

+)

1 %2

h(x % xi)

*+

x % xi!1

h

,2

yi

+(x % xi!1)+

x % xi

h

,2

mi!1 + (x % xi)+

x % xi!1

h

,2

mi,

i = 1, 2, . . . k.

I polinomi pi(x) verificano, 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

p##i (xi!1) =2

h2[3(yi % yi!1) % h(mi + 2mi!1)] ,

p##i (xi) =2

h2[3(yi!1 % yi) + h(2mi + mi!1)] ,

si perviene al sistema lineare

2m0 + m1 = 3h(y1 % y0)

m0 + 4m1 + m2 = 3h(y2 % y0)

m1 + 4m2 + m3 = 3h(y3 % y1)

. . .. . .

. . ....

mk!2 + 4mk!1 + mk = 3h(yk % yk!2)

mk!1 + 2mk = 3h(yk % yk!1) .

(6.13)

La matrice dei coe!cienti di questo sistema e a predominanza diagonale forteper cui e non degenere. Ne discende che la soluzione esiste ed e unica, quindiesistono, univocamente determinati, i polinomi p1(x), p2(x), ..., pk(x).

Con considerazioni analoghe alle precedenti, l’esistenza e l’unicita si puodimostrare anche nel caso di partizione non uniforme, cioe con punti xi nonin 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 puodimostrare il seguente teorema di convergenza.

Page 143: Calcolo Numerico Completo

142 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

Teorema 6.4.2 Se f(x) # C4([x0, xk]), allora esistono delle Kp > 0, p =0, 1, 2, 3, tali che

maxx0"x"xk

-

-

-f (p)(x) % S(p)3 (x)

-

-

- ' KpM4h4!p, 0 ' p ' 2,

maxxi!1"x"xi

-

-

-f (3)(x) % p(3)i (x)

-

-

- ' K3M4h , i = 1, 2 . . . k,

dove M4 = maxx0"x"xk

-

-

-f (4)(x)-

-

-.

Nelle precedenti maggiorazioni si puo assumere K0 = 78 , K1 = K2 = 7

4 ,K3 = 2.

6.5 Interpolazione con funzioni razionali

Un altro tipo di interpolazione si ottiene mediante l’uso 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

Rnm(x) =

Pn(x)

Qm(x)=

anxn + an!1xn!1 + · · · + a1x + a0

bmxm + bm!1xm!1 + · · · + b1x + b0.

L’interpolazione con funzioni razionali consiste nella determinazione deglin + m + 2 coe"cienti ai, i = 0, 1, . . . , n, e bi, i = 0, 1, . . . ,m, in modo che sia

Rnm(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 verifichi le (6.14) e quindiricondotta alla risoluzione del sistema lineare omogeneo (6.15) di n + m + 1equazioni nelle n + m + 2 incognite ai, bi. Il sistema (6.15) e risolubile ese la matrice dei coe"cienti ha rango massimo, ha soluzioni non nulle chedi!eriscono tra loro per una costante moltiplicativa.

Tali soluzioni non possono fornire coe"cienti bi tutti uguali a zero, cioenon 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.

Page 144: Calcolo Numerico Completo

6.6. APPROSSIMAZIONE POLINOMIALE 143

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

Qm(xr) = 0 , (6.16)

per qualche indice r compreso tra 0 e n + m, il problema dell’interpolazionemediante funzioni razionali per quei punti non ha soluzione ed i punti per iquali si verifica la (6.16) si dicono punti inaccessibili.

6.6 Approssimazione polinomiale

Non sempre i polinomi di interpolazione sono adatti per approssimare unafunzione continua con una data accuratezza su tutto un intervallo. Infatti,per un noto teorema di Bernstein, dato un intervallo [a, b] e fissati in essok + 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 interpolantiP1(x), P2(x), . . ., di grado pari all’indice, non converge uniformemente adf(x). Tuttavia, se, per una funzione continua f(x), si cerca nella classe ditutti i polinomi, anziche fra quelli della particolare successione sopra definita,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) # C0([a, b]); allora per ogni $ > 0esiste 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 e!ettiva-mente polinomi p(x) aventi la proprieta (6.17), in base al seguente teorema.

Teorema 6.6.2 Data f(x) # C0([0, 1]), si definisca il polinomio di grado n

Bn(f ; x) =n(

i=0

n!

i!(n % i)!xi(1 % x)n!if

+

i

n

,

, (6.18)

allora la successione di polinomi {Bn} converge uniformemente a f(x) su[0, 1].

Si noti che, e!ettuando nella (6.18) la sostituzione x = t!ab!a

, il polinomiotrasformato Bn(f ; t) risulta definito su [a, b] e quindi puo sostituirsi al poli-nomio p(x) della (6.17).

Page 145: Calcolo Numerico Completo

144 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

L’approssimazione, polinomiale o no, di una funzione f(x) puo ancheottenersi richiedendo che siano verificate proprieta diverse dalla (6.17); peresempio, 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 approssimazioniche utilizzano un insieme discreto di punti dati [xi, f(xi)], senza necessaria-mente imporre al grafico della funzione approssimante di passare per queipunti, come nel caso dell’interpolazione.

6.7 Metodo dei minimi quadrati nel discreto

Siano date m + 1 funzioni %i(x), i = 0, 1, . . . ,m, m ' k, continue almenosu un insieme I contenente k + 1 punti xj, j = 0, 1, . . . , k, e si abbiano ivalori 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 coe"cienti ci. Il

metodo dei minimi quadrati consiste nello scegliere i coe"cienti ci per i qualila funzione

$(c0, c1, . . . , cm) =k(

j=0

.

m(

i=0

ci%i(xj) % f(xj)

/2

(6.19)

assume valore minimo. La funzione (6.19) rappresenta la somma degli scartiquadratici tra la funzione #(x) e la funzione f(x) nei punti xj e coincide conil 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 diminimo assoluto (se esiste) e da ricercarsi tra i punti di IRm+1 per i qualisono nulle tutte le derivate parziali della $ rispetto a c0, c1, . . . , cm.

Si hanno quindi le relazioni

&$

&cs

= 2k(

j=0

.

m(

i=0

ci%i(xj) % f(xj)

/

%s(xj) = 0, s = 0, 1, . . . ,m, (6.20)

che costituiscono un sistema lineare di m + 1 equazioni nelle m + 1 incognitec0, c1, . . . , cm.

Page 146: Calcolo Numerico Completo

6.7. METODO DEI MINIMI QUADRATI NEL DISCRETO 145

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

A =

!

"

"

"

#

%0(x0) %1(x0) · · · %m(x0)%0(x1) %1(x1) · · · %m(x1)· · · · · · · · · · · ·

%0(xk) %1(xk) · · · %m(xk)

$

%

%

%

&

,

la (6.19) puo scriversi

$(c) = (Ac % b)T (Ac % b) = (Ac % b(22 , (6.21)

mentre il sistema (6.20), detto sistema delle equazioni normali, puo esserescritto 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 diversoda zero; quindi il sistema (6.22) ha un’unica soluzione e la funzione $(c) haun unico punto stazionario. Tale punto stazionario risulta il punto di minimoassoluto. Infatti, la matrice hessiana della (6.21) e la matrice AT A che, nelcaso in esame, risulta definita positiva.

La scelta delle funzioni %i(x) puo, in pratica, dipendere dalla distribuzionesul piano cartesiano dei punti di coordinate [xj, f(xj)], j = 0, 1, . . . , k. Lescelte piu comuni sono:

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

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

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

%0(x) = e!0x, %1(x) = e!1x, %2(x) = e!2x, . . .,('0,'1,'2 . . . # IR,'r $= 's, con r $= s) .

Si ha cosı la migliore approssimazione #(x) nel senso dei minimi quadratirispettivamente di tipo polinomiale, trigonometrica ed esponenziale.

Page 147: Calcolo Numerico Completo

146 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

6.8 Complementi ed esempi

6.8.1 Proprieta ed applicazioni delle di!erenze 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 di"erenza divisa f [x0, x1, . . . , xk] e il coe!ciente dellapotenza xk del polinomio di interpolazione espresso dalla (6.6). Costruendo ilpolinomio di interpolazione relativo ai punti xi0 , xi1 , . . . , xik , ne viene che il coef-ficiente del termine in xk e dato da f [xi0 , xi1 , . . . , xik ]. Per l’unicita del polinomiodi interpolazione si ha la tesi.

Proprieta 6.8.2 Se f(x) # C1(I), la funzione f [x0, x1, . . . , xk!1, x] e pro-lungabile per continuita su tutto I.

Dimostrazione. Si procede per induzione.Dalla Definizione 6.1.1 e dalla derivabilita di f(x) segue

limx%xi

f [xi, x] = limx%xi

f(x) % f(xi)

x % xi= f #(xi)

per cui le di"erenze divise del primo ordine risultano prolungabili per continuitaponendo f [xi, xi] = f #(xi), i = 0, 1, . . . , k.

Supposto che le di"erenze divise di ordine s siano continue su I, per le di"erenzedivise di ordine s + 1, dalla definizione e dalla Proprieta 6.8.1, si ha

f [x0, x1, . . . , xs, x] = f [x, x0, x1, . . . , xs]

=f [x, x0, x1, . . . , xs!2, xs] % f [x, x0, x1, . . . , xs!1]

xs % xs!1;

dalla continuita del numeratore di quest’ultima frazione segue la continuita su Idelle di"erenze divise di ordine s + 1 se si pone

f [x0, x1, . . . , xs, xi] =f [xi, x0, x1, . . . , xs!2, xs] % f [xi, x0, x1, . . . , xs!1]

xs % xs!1,

i = 0, 1, . . . , s .

Page 148: Calcolo Numerico Completo

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,nell’ipotesi f(x) # C1(I), la (6.1) e la (6.2) restano valide anche quandox0, x1, . . . , xk non sono tutti distinti.

Proprieta 6.8.3 Se f(x) # Ck(I) esiste almeno un valore #, con la pro-prieta mini xi < # < maxi xi, tale che

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

k!.

Dimostrazione. La funzione Q(x) = f(x) % Pk(x) ammette come zeri i valorix0, x1, . . . , xk, in quanto sono verificate le condizioni (6.4). Dal teorema di Rollediscende che la funzione Q#(x) ha almeno k zeri distinti appartenenti all’intervallo] mini xi, maxi xi[. Analogamente, la funzione Q##(x) ammette almeno k % 1 zeridistinti 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

Q(k)(!) = f (k)(!) % P(k)k (!) = f (k)(!) % k!f [x0, x1, . . . , xk] = 0

da cui la tesi.

Come applicazione di questa proprieta si ottiene l’espressione data nelTeorema 6.2.2 per l’errore Ek(x) = f(x) % Pk(x).

Per calcolare le di!erenze divise che intervengono nel polinomio di in-terpolazione di Newton (6.6) si puo ricorrere alla costruzione di un quadrodelle di!erenze divise come in Fig. 6.1 dove nella colonna DDr sono riportateopportune di!erenze 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 di!erenze divise.

Page 149: Calcolo Numerico Completo

148 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

Il quadro puo essere esteso quanto si vuole, osservando che ogni di!erenzadivisa si ottiene sottraendo al termine che si trova nella stessa riga e nellacolonna immediatamente a sinistra il primo termine di questa colonna e di-videndo per la di!erenza dei corrispondenti xi.

Le di!erenze divise che figurano nel polinomio (6.6) sono date dal primotermine di ciascuna colonna.

Osservazione 6.8.2 Nel caso in cui gli elementi della colonna delle di!erenzedi ordine r risultino tutti uguali fra loro, gli elementi delle colonne successivesono nulli, percio il grado del polinomio di interpolazione e r.Osservazione 6.8.3 Il valore della di!erenza divisa di ordine k si puo ancheottenere direttamente dalla formula

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

(x0 % x1)(x0 % x2) · · · (x0 % xk)

+f(x1)

(x1 % x0)(x1 % x2) · · · (x1 % xk)+ · · ·

· · · +f(xk)

(xk % x0)(xk % x1) · · · (xk % xk!1)

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 ottieneil seguente quadro delle di!erenze 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 di!erenze divise del terzo ordine risultano uguali tra loro per cui ilpolinomio 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.

Page 150: Calcolo Numerico Completo

6.8. COMPLEMENTI ED ESEMPI 149

A conferma di quanto accennato in 6.4 si riporta un esempio nel quale alcrescere del grado del polinomio di interpolazione peggiora l’approssimazionedella funzione f(x).

Esempio 6.8.2 Si consideri la funzione di Runge, rappresentata in [0, 1],

f(x) =1

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.

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Figura 6.2: Polinomio di interpolazione P15(x) (linea tratteggiata) a con-fronto con la funzione di Runge (linea continua).

Si vede dalla Fig. 6.2 che l’errore Ek(x) corrispondente al polinomio diinterpolazione Pk(x), in prossimita degli estremi dell’intervallo, assume valorielevati.

Si puo anche dimostrare che

limk%&

max0"x"1

| Ek(x) |= +).

Page 151: Calcolo Numerico Completo

150 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

In generale, il comportamento dell’errore dipende dalla particolare sceltadei punti xi, i = 0, 1, . . . , k. Per esempio, se si scelgono come nodi gli zeridei polinomi di Chebyshev di prima specie (cfr. 7.4) si dimostra che, per ognif(x) # C2([%1, 1]), Pk(x) converge uniformemente ad f(x) su [%1, 1] per

k " ) e si ha (f(x) % Pk(x)(& = O0

1'k

1

Una interessante applicazione delle di!erenze divise si ha nell’esempioche segue, in cui si espone il metodo di Pasquini-Trigiante che permette diapprossimare simultaneamente tutte le radici di un’equazione algebrica.

Esempio 6.8.3 Si supponga che l’equazione

f(x) = xm + am!1xm!1 + · · · + 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 % xm!1)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, verifi-cano il sistema

f [x1] = 0

f [x1, x2] = 0

f [x1, x2, x3] = 0

· · · · · · · · · · · ·f [x1, x2, . . . , xm] = 0 ,

(6.24)

allora coincidono con le radici dell’equazione (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) =

(x(0)1 , . . . , x(0)

m )T #IRm, con l’esclusione al piu di un insieme di punti di IRm dimisura nulla.

Utilizzando note proprieta delle di!erenze divise e delle equazioni alge-briche e possibile porre le iterazioni di Newton per il sistema (6.24) nella

Page 152: Calcolo Numerico Completo

6.8. COMPLEMENTI ED ESEMPI 151

formax(n+1)

k = x(n)k % %k, k = 1, 2, . . . ,m % 1,

x(n+1)m = %am!1 %

2m!1k=1 x(n)

k .

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,

pi,k = pi,k!1 + pi!1,kx(n)k ;

Pk =2m!k+1

r=0 ar+k!1pr,k;

per j = 1, 2, . . . , k

q[j]0,k := 1,

per h = 1, 2, . . . ,m % k

q[j]h,k = ph,k + q[j]

h!1,kx(n)j ;

Qj,k =2m!k

r=0 ar+kq[j]r,k;

%k = (Pk %2k!1

r=1 Qr,k)/Qk,k.

Nell’algoritmo si e assunto am = 1 e20

r=1 = 0.Per esempio, si consideri l’equazione 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 risultatiche si riportano con 7 cifre decimali.

n x(n)1 x

(n)2 x

(n)3 x

(n)4 x

(n)5 x

(n)6

1 0.2727272 0.4730354 1.0979872 14.1562500 4.5000000 %16.5000000

5 0.8120109 1.1411024 0.9627325 3.5977632 0.7398782 %3.2534874

10 0.9720920 0.9717788 1.0563354 2.0696312 1.9301192 %2.9999568

20 0.9995045 0.9984509 1.0006503 2.0000913 1.9999086 %2.9999999

30 0.9999282 1.0000030 1.0000041 2.0000000 1.9999999 %3.0000000

Page 153: Calcolo Numerico Completo

152 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

6.8.2 Interpolazione inversa

In alcune applicazioni si presenta il problema di determinare per qualivalori 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 l’equazionealgebrica

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 diinterpolazione Qk(y) tale che Qk(yi) = xi, i = 0, 1, . . . , k, e si approssima ilvalore 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 nell’intervallo contenente i quattro valori assegnati; si costruiscequindi il polinomio Q3(y) usando il seguente quadro delle di!erenze 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

Q3(y) = %1 %1

2(y % 4) %

1

48y(y % 4)(y % 2)

= %1

48(y3 + 6y2 % 32y + 48) .

Page 154: Calcolo Numerico Completo

6.8. COMPLEMENTI ED ESEMPI 153

Una stima di ' e data da

' * Q3(0.5) =801

1152= 0.6953125.

Usando invece l’interpolazione diretta, si ha il polinomio P3(x) = 112(x

3%25x+24); si risolve quindi l’equazione P3(x)%0.5 = 0, ossia x3%25x+18 = 0,che ha un’unica soluzione nell’intervallo [%1, 3]. Applicando, ad esempio, ilmetodo 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 3y 1/3 1/2 3/5 2/3 5/7

.

Si vogliono interpolare tali valori con la funzione

R22(x) =

a2x2 + a1x + a0

b2x2 + b1x + b0.

I coe"cienti 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 equazioniin 6 incognite

a2 % a1 + a0 % 13b2 + 1

3b1 % 13b0 = 0

a0 % 12b0 = 0

a2 + a1 + a0 % 35b2 % 3

5b1 % 35b0 = 0

4a2 + 2a1 + a0 % 83b2 % 4

3b1 % 23b0 = 0

9a2 + 3a1 + a0 % 457 b2 % 15

7 b1 % 57b0 = 0 .

Ovviamente esistono infinite soluzioni. Ponendo, per esempio, b2 = 1, siha

a0 = %2, a1 = 1, a2 = 1, b0 = %4, b1 = 3,

Page 155: Calcolo Numerico Completo

154 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

per cui

R22(x) =

x2 + x % 2

x2 + 3x % 4.

Si noti che, in questo caso particolare, R22(x) si semplifica nella forma x+2

x+4 .

Esempio 6.8.6 Si vuole determinare la spline cubica naturale S3(x) cheinterpola i valori

x 0 1 2y 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

m0 = %13

4a, m1 =

1

2a, m2 =

17

4a .

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

p1(x) = 54ax3 % 13

4 ax + a , x # [0, 1] ,

p2(x) = %54ax3 + 15

2 ax2 % 434 ax + 7

2a , x # [1, 2] .

Esempio 6.8.7 Per la funzione f(x) = sin(2"x), sull’intervallo [0, 1], sonoassegnate due tabelle di valori che si vogliono interpolare facendo ricorso adiversi tipi di interpolazione.

Page 156: Calcolo Numerico Completo

6.8. COMPLEMENTI ED ESEMPI 155

1. Sia data la tabella di valori

x 0 1/4 1/2 3/4 1f(x) 0 1 0 %1 0

.

Si ottiene il polinomio di interpolazione di Lagrange

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

= %128

3x(x % 1/2)(x % 3/4)(x % 1)

+128

3x(x % 1/4)(x % 1/2)(x % 1)

=32

3(2x3 % 3x2 + x) .

2. Sia data la tabella di valori

x 0 1f(x) 0 0f #(x) 2" 2"

.

Il polinomio interpolante di Hermite risulta

H(x) = h10(x)2" + h11(x)2"

= x(x % 1)22" + (x % 1)x22"

= 2"(2x3 % 3x2 + x) .

3. La spline cubica naturale S3(x) che interpola i valori della tabella delpunto 1 si ottiene risolvendo il sistema lineare che risulta da (6.13) conh = 1/4, k = 4,

2m0 + m1 = 12m0 + 4m1 + m2 = 0

m1 + 4m2 + m3 = %24m2 + 4m3 + m4 = 0

m3 + 2m4 = 12

la cui soluzione e

m0 = 6, m1 = 0, m2 = %6, m3 = 0, m4 = 6.

Page 157: Calcolo Numerico Completo

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 qualesono assegnati i valori in alcuni punti di un intervallo dell’asse 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 puntox #]x0, xk[, con le corrispondenti derivate di un polinomio di interpolazionedi f(x).

Tuttavia, nell’interpolazione parabolica, polinomi di grado elevato pos-sono scostarsi molto dai valori di f(x) (cfr. Esempio 6.8.2). Inoltre, laproprieta f(xi) = Pk(xi), i = 1, 2, . . . , k % 1, non implica che siano piccoli glierrori

| P #k(xi) % f #(xi) |, | P ##

k (xi) % f ##(xi) |, . . . , i = 1, 2, . . . , k % 1.

Per questo motivo, quando per approssimare una derivata si usa l’inter-polazione parabolica, ci si limita a polinomi di grado non elevato e si stimanoi valori di f #(x), f ##(x), . . ., utilizzando i dati solo in alcuni punti ”vicini” alpunto x.

In quello che segue, si danno le formule piu comuni per la derivata primae seconda.

Allo scopo si considerano i polinomi di secondo grado

qi(x) = li!1(x)yi!1 + li(x)yi + li+1(x)yi+1, i = 1, 2, . . . , k % 1,

dove

li!1(x) =(x % xi)(x % xi+1)

(xi!1 % xi)(xi!1 % xi+1),

Page 158: Calcolo Numerico Completo

6.8. COMPLEMENTI ED ESEMPI 157

li(x) =(x % xi!1)(x % xi+1)

(xi % xi!1)(xi % xi+1),

li+1(x) =(x % xi!1)(x % xi)

(xi+1 % xi!1)(xi+1 % xi).

Si assume quindi f #(x) * q#i(x) e f ##(x) * q##i (x), x #]xi!1, xi+1[. Se xi =x0 + ih, i = 0, 1, . . . , k, h > 0, si hanno le cosiddette formule centrali

f #(xi) * q#i(xi) =yi+1 % yi!1

2h, i = 1, 2, . . . , k % 1, (6.26)

f ##(xi) * q##i (xi) =yi!1 % 2yi + yi+1

h2, i = 1, 2, . . . , k % 1. (6.27)

L’errore di troncamento della (6.26) e E1(xi) = f #(xi) % q#i(xi) e puo esseredeterminato, nel caso che f(x) # C3(]x0, xk[), considerando, per esempio, glisviluppi di Taylor

yi+1 = yi + f #(xi)h +1

2f ##(xi)h

2 +1

6f (3)((i+1)h

3, (i+1 #]xi, xi+1[,

yi!1 = yi % f #(xi)h +1

2f ##(xi)h

2 %1

6f (3)((i!1)h

3, (i!1 #]xi!1, xi[.

Sottraendo membro a membro queste due relazioni si ottiene,

f #(xi) =yi+1 % yi!1

2h+ E1(xi) ,

dove

E1(xi) = %1

12

3

f (3)((i+1) + f (3)((i!1)4

h2 = %16f

(3)(#i)h2,

#i # [(i!1, (i+1].

Analogamente, supposto f(x) # C4(]x0, xk[), si ottiene l’errore di tronca-mento della (6.27). Dagli sviluppi di Taylor, arrestati ai termini del quartoordine e sommati membro a membro, si ha

f ##(xi) =yi!1 % 2yi + yi+1

h2+ E2(xi) ,

dove

E2(xi) = %1

24

3

f (4)()i+1) + f (4)()i!1)4

h2 = %1

12f (4)(*i)h

2 ,

Page 159: Calcolo Numerico Completo

158 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

con )i+1 #]xi, xi+1[, )i!1 #]xi!1, xi[ e *i # [)i!1, )i+1] .

Esempio 6.8.8 Si consideri il problema di!erenziale

y##(x) = ey(x) ,

y(0) = 0 ,

y(1) = 0 ,

la cui soluzione esatta e

y(x) = log

5

6

7

6

8

1

2

9

:

c

cos0

cx2 % c

4

1

;

<

2=

6

>

6

?

,

essendo la costante c, soluzione dell’equazione c2 % 2 cos2(c/4) = 0, approssi-mata da 1.3360556949061.

Fatta una partizione dell’intervallo [0, 1] mediante i punti xi = ih, i =1, 2, . . . , k % 1, h = 1/k, si vogliono calcolare i valori yi che approssimano, intali 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) puoscriversi

y##(xi) *yi!1 % 2yi + yi+1

h2, i = 1, 2, . . . , k % 1,

i valori cercati sono la soluzione del sistema non lineare

yi!1 % 2yi + yi+1

h2= eyi , i = 1, 2, . . . , k % 1.

Posto yT = (y1, . . . , yk!1), tale sistema e della forma g(y) = 0 con gT (y) =(g1(y), g2(y), . . . , gk!1(y)),

g1(y) = %2y1 % h2ey1 + y2 ,

gi(y) = yi!1 % 2yi % h2eyi + yi+1 , i = 2, . . . , k % 2 ,

gk!1(y) = yk!2 % 2yk!1 % h2eyk!1 .

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 verificarsi di

Page 160: Calcolo Numerico Completo

6.8. COMPLEMENTI ED ESEMPI 159

(y(r+1) % y(r)(& < 10!6, si e ottenuto

y(3) *

!

"

"

"

"

"

"

"

"

"

"

"

"

"

"

"

#

%0.041404%0.073214%0.095730%0.109159%0.113622%0.109159%0.095730%0.073214%0.041404

$

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

&

,

dove l’errore max1"i"k!1 | y(3)i % y(xi) | e dell’ordine di 10!4.

Per la derivazione approssimata si possono anche utilizzare funzioni spline.Come e noto, esse hanno grado indipendente dal numero dei punti della par-tizione, e buone caratteristiche di convergenza (cfr. Teorema 6.4.2).

Se quindi si conosce la spline 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) * S #

3(x) ef ##(x) * S ##

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

f #(xi) * mi , i = 0, 1, . . . , k,

f ##(x0) * 2h2 [3(y1 % y0) % h(m1 + 2m0)] ,

f ##(xi) * 2h2 [3(yi!1 % yi) + h(2mi + mi!1)] , 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.3y 1 100/101 25/26 100/109

;

inoltre sono assegnati y#0 = f #(0) = 0 e y#

3 = f #(0.3) = %6000/11881.Si vogliono stimare f #(0.1), f ##(0.1), e f #(0.2), f ##(0.2).E conveniente ricorrere ad una spline vincolata al fine di utilizzare i valori

dati di f #(x) negli estremi dell’intervallo. In casi di questo genere, poiche imomenti m0 e mk sono noti, nel sistema (6.13) la prima e l’ultima equazionevengono soppresse mentre nella seconda e nella penultima si portano m0 emk a secondo membro. Il sistema quindi si riduce a sole k % 1 equazioni inaltrettante incognite.

Page 161: Calcolo Numerico Completo

160 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

Nella fattispecie si ha

4m1 + m2 = 3h(y2 % y0) % y#

0

m1 + 4m2 = 3h(y3 % y1) % y#

3 .

Posto h = 0.1, inserendo i dati e arrotondando i calcoli alla sesta cifra dopola 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)

p##2(x1) = 2h2 [3(y2 % y1) % h(m2 + 2m1)] ,

p##2(x2) = 2h2 [3(y1 % y2) + h(2m2 + m1)] .

Sostituendo i valori trovati per m1 ed m2 ed arrotondando i calcoli comesopra si ottiene

p##2(0.1) = %1.900369, p##2(0.2) = %1.574151,

che si assumono come stime di f ##(0.1) e f ##(0.2).Al fine di evidenziare la bonta delle approssimazioni ottenute, si e!ettua

il confronto con i valori esatti essendo i dati della tavola quelli della funzionef(x) = 1

1+x2 . Si ha:

| m1 % f #(0.1) |* 3.5 + 10!5, | m2 % f #(0.2) |* 7.2 + 10!5,

| p##2(0.1) % f ##(0.1) |* 1.7 + 10!2, | p##2(0.2) % f ##(0.2) |* 1.3 + 10!1.

Se, in luogo della spline vincolata, si usano le formule (6.26) e (6.27) siottiene:

f #(0.1) * q#1(0.1) = %0.192307,

f #(0.2) * q#2(0.2) = %0.363339,

f ##(0.1) * q##2(0.1) = %1.865956,

f ##(0.2) * q##2(0.2) = %1.554672,

da cui gli errori

| q#1(0.1) % f #(0.1) |* 3.8 + 10!3, | q#2(0.2) % f #(0.2) |* 6.5 + 10!3,

| q##1(0.1) % f ##(0.1) |* 1.7 + 10!2, | q##2(0.2) % f ##(0.2) |* 1.5 + 10!1.

Si spiega la minore precisione raggiunta in questo secondo caso con ilfatto che le formule (6.26) e (6.27) non tengono conto dei dati f #(0) e f #(0.3).

Page 162: Calcolo Numerico Completo

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 #IRk$m

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 hab % 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

$(x) = (b % Ax)T (b % Ax) = rT r =k(

i=1

r2i = (r(2

2. (6.29)

La determinazione di un punto di minimo e ricondotta alla ricerca dei puntiche annullano tutte le derivate parziali prime della $(x) ossia alla risoluzionedel sistema lineare

&

&xi

0

(b % Ax)T (b % Ax)1

= 0, i = 1, 2, . . . ,m,

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

cata se della matrice A si conosce una decomposizione ai valori singolari (cfr.2.9) A = U&V T con & #IRk$m, mentre U #IRk$k e V #IRm$m sono matriciunitarie.

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 nonnulli della matrice A, un vettore c che minimizza la $(x) e dato da

c =s(

i=1

uTi b

+i

vi . (6.31)

Page 163: Calcolo Numerico Completo

162 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE

Si puo verificare che a tale vettore corrisponde lo scarto quadratico

(b % Ac)T (b % Ac) =k(

i=s+1

-

-

-uTi b-

-

-

2.

Se s = m, c e l’unica soluzione del sistema (6.30) mentre se s < m nellospazio delle soluzioni del sistema (6.30) c e il vettore con norma euclideaminima.

Esempio 6.8.10 Si consideri il sistema lineare sovradeterminato

5

6

7

6

8

2x1 % x2 = 1%x1 + x2 = 0

x1 + 2x2 = 1 .

La matrice del sistema e quindi

A =

!

"

#

2 %1%1 1

1 2

$

%

& .

I valori singolari della matrice A, ricavati in base al Teorema 2.9.2, sono+1 =

,7 e +2 =

,5 ed una decomposizione ai valori singolari e A = U&V T

con

U =

,70

70

!

"

#

3,

5,

7 3,

2%2

,5 0 5

,2

%,

5 3,

7 %,

2

$

%

& , & =

!

"

#

,7 00

,5

0 0

$

%

& ,

V =

,2

2

@

1 1%1 1

A

.

La (6.31) fornisce la soluzione del sistema nel senso dei minimi quadrati

c =+

19

35,

9

35

,T

.

Alla stessa soluzione si giunge risolvendo il sistema (6.30).

Page 164: Calcolo Numerico Completo

6.8. COMPLEMENTI ED ESEMPI 163

Esempio 6.8.11 Si consideri il sistema lineare Ax = b con A #IRn$2 eb #IRn dati da

A =

!

"

"

"

"

"

"

"

#

1 11 1...

...1 11 1

$

%

%

%

%

%

%

%

&

, b =

!

"

"

"

"

"

"

"

#

12...

n % 1n

$

%

%

%

%

%

%

%

&

.

La matrice A ha un unico valore singolare positivo +1 =,

2n e gli au-tovettori delle matrici AAT e AT A associati a +2

1 sono, rispettivamente,

u =

,n

n

!

"

"

"

"

#

11...1

$

%

%

%

%

&

, v =

,2

2

@

11

A

.

Un vettore che minimizza la $(x) e, per la (6.31),

c =uT bv

+1=

n + 1

4

@

11

A

.

Poiche in questo caso e r(A) = 1 (quindi s < m), il vettore c ha normaeuclidea minima tra tutte le soluzioni del sistema (6.30). Allo stesso risultatosi giunge risolvendo direttamente il sistema (6.30) che assume ora la forma

@

n nn n

A@

c1

c2

A

= nn + 1

2

@

11

A

e le cui soluzioni sono

c =

!

#

c1

n+12 % c1

$

& .

La norma euclidea

(c(2 =

B

c21 +

+

n + 1

2% c1

,2

e minima se c1 = (n + 1)/4.

Bibliografia: [1], [19], [26] [29], [27].

Page 165: Calcolo Numerico Completo

Capitolo 7

Integrazione numerica

In questo capitolo si studiano alcuni metodi per il calcolo approssimatodi integrali definiti.

Alcuni motivi che consigliano l’uso di metodi approssimati in luogo dimetodi analitici (”esatti”) sono i seguenti:

di molte funzioni integrabili non si conosce una funzione primitivaesprimibile con funzioni elementari (per esempio, f(x) = ecos x,f(x) = xx);

in molti casi, funzioni semplici hanno funzioni primitive tantocomplicate che spesso le formule approssimate sono piu facilmentecalcolabili di quelle esatte e con maggiore precisione (per esem-

pio, una primitiva di f(x) = x2

1+x4 e F (x) =!

24

!

12 log x2"

!2x+1

x2+!

2x+1

+ arctan!

2x1"x2

"

);

spesso della funzione integranda e nota solo una restrizione a uninsieme discreto.

7.1 Grado di precisione ed errore

Sia f(x) su!cientemente regolare sull’intervallo [a, b] dell’asse reale. Sia!(x) una funzione peso non negativa in [a, b] e tale che esistano finiti i mo-menti

mk = I(xk!) =# b

axk!(x)dx, k = 0, 1, . . . . (7.1)

Page 166: Calcolo Numerico Completo

166 CAPITOLO 7. INTEGRAZIONE NUMERICA

Si pone il problema di approssimare

I(!f) =# b

a!(x)f(x)dx

con una formula di quadratura della forma

Jn(f) =n

$

i=0

aif(xi) , (7.2)

dove i numeri ai, i = 0, 1, . . . , n, detti pesi o coe!cienti, sono reali. I puntixi, i = 0, 1, . . . , n, con x0 < x1 < · · · < xn sono detti nodi e di solitoappartengono all’intervallo [a, b]. L’errore e percio formalmente dato da

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

Considerata la base 1, x, x2, . . . , xm, xm+1, dello spazio vettoriale dei polinomialgebrici di grado al piu m + 1, si puo dare la seguente definizione.

Definizione 7.1.1 La formula (7.2) ha grado di precisone (algebrico) m "INsesi verifica

En(1) = En(x) = · · · = En(xm) = 0, En(xm+1) #= 0 . (7.3)

Una formula del tipo (7.2) e individuata una volta che lo siano i nodi e i pesi.Per determinare gli 2n + 2 parametri si impone che sia

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

ovvero

a0 + a1 + · · · + an = m0

a0x0 + a1x1 + · · · + anxn = m1

· · · · · · · · · · · · · · ·

a0x2n+10 + a1x

2n+11 + · · · + anx2n+1

n = m2n+1 ,

(7.5)

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 coe!cienti e nodi soddisfacenti

Page 167: Calcolo Numerico Completo

7.2. LE FORMULE DI NEWTON-COTES 167

le (7.4) si dice che ha grado di precisione almeno 2n + 1; se inoltre risultaEn(x2n+2) #= 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.L’errore (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) " Cm+1([a, b]) e Jn(f) di grado di pre-cisione m, allora risulta

En(f) =1

m!

# b

af (m+1)(t)G(t)dt (7.6)

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

sm(x ! t) =

%

&

'

(x ! t)m , t < x,

0 , t $ x.

La funzione G(t) dicesi nucleo di Peano.Nel caso in cui G(t) non cambi segno in [a, b], usando la (7.6) e il teorema

della media, si ottiene

En(f) =1

m!f (m+1)(")

# b

aG(t)dt , " "]a, b[ ,

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

f(x) = xm+1; ne segue

En(f) =f (m+1)(")

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

7.2 Le formule di Newton-Cotes

Se in (7.2) i nodi sono prefissati arbitrariamente (due a due distinti), i pesisono determinati dalle prime n + 1 equazioni di (7.5) che formano il sistemalineare

V # = µ (7.8)

Page 168: Calcolo Numerico Completo

168 CAPITOLO 7. INTEGRAZIONE NUMERICA

con

V =

)

*

*

*

*

*

*

+

1 1 · · · 1

x0 x1 · · · xn

· · · · · · · · · · · ·

xn0 xn

1 · · · xnn

,

-

-

-

-

-

-

.

,

#T = (a0, a1, . . . , an), µT = (m0,m1, . . . ,mn). Poiche V T e una matrice diVandermonde, nelle ipotesi attuali e det(V ) #= 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 fissati in progressione aritmetica di ragioneh = (b!a)/n, cioe xi = x0+ih, i = 0, 1, . . . , n, e quindi con x0 = a e xn = b, sihanno le formule di Newton-Cotes; h si dice il passo della formula. I pesi sonodefiniti in base alla formulazione algebrica precedentemente data e quindicalcolabili risolvendo il sistema (7.8); tuttavia, per una loro rappresentazioneesplicita 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

f(x) =n

$

i=0

li(x)f(xi) +1

(n + 1)!f (n+1)($)%(x) ,

essendo li(x), i = 0, 1, . . . , n, i polinomi fondamentali di Lagrange di gradon, $ "]a, b[ e %(x) = (x ! x0)(x ! x1) · · · (x ! xn). Ne viene:

I(f) =n

$

i=0

I(li(x))f(xi) +1

(n + 1)!I

/

f (n+1)($)%(x)0

.

Si assume quindi Jn(f) =1n

i=0 aif(xi) con

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

e si ha

En(f) =1

(n + 1)!I(f (n+1)($)%(x)) . (7.10)

I pesi delle formule di Newton-Cotes sono stati calcolati per vari valoridi n tramite le (7.9); fino a n = 7 (otto punti) i pesi sono positivi, mentreper n > 7 compaiono pesi negativi e le formule diventano numericamenteinstabili, cioe la loro capacita di amplificare gli errori di arrotondamentoaumenta.

Page 169: Calcolo Numerico Completo

7.2. LE FORMULE DI NEWTON-COTES 169

Una caratteristica importante delle formule di Newton-Cotes risiede nelfatto che per esse il nucleo di Peano G(t) non cambia segno in [a, b], per cui,per l’errore, puo utilizzarsi la (7.7): m si determina in base alla definizione,mentre il termine En(xm+1) si calcola facilmente una volta noti i pesi. Intal modo, indicando con p = n + 1 il numero dei nodi, l’errore assume laseguente forma caratteristica

En(f) =

%

&

'

cp hp+1f (p)("), p pari,

cp hp+2f (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 fuoridal segno di integrale.

Notiamo infine che le formule di Newton-Cotes qui definite vengono dettechiuse, per distinguerle da formule analoghe dette aperte nelle quali si haa < x0 < x1 < · · · < xn < b.

Di seguito si riportano le prime sette formule chiuse con i relativi errori.Formula trapezoidale:

I(f) =b ! a

2[f(x0) + f(x1)] !

1

12h3f (2)(").

Formula di Simpson:

I(f) =b ! a

6[f(x0) + 4f(x1) + f(x2)] !

1

90h5f (4)(").

Formula dei 3/8 o ”pulcherrima”:

I(f) =b ! a

8[f(x0) + 3f(x1) + 3f(x2) + f(x3)] !

3

80h5f (4)(").

Formula di Milne-Boole:

I(f) =b ! a

90[7f(x0) + 32f(x1) + 12f(x2) + 32f(x3) + 7f(x4)]

!8

945h7f (6)(").

Page 170: Calcolo Numerico Completo

170 CAPITOLO 7. INTEGRAZIONE NUMERICA

Formula dei sei punti:

I(f) =b ! a

288[19f(x0) + 75f(x1) + 50f(x2) + 50f(x3) + 75f(x4)

+19f(x5)] !275

12096h7f (6)(").

Formula di Weddle:

I(f) =b ! a

840[41f(x0) + 216f(x1) + 27f(x2) + 272f(x3) + 27f(x4)

+ 216f(x5) + 41f(x6)] !9

1400h9f (8)(").

Formula degli otto punti:

I(f) =b ! a

17280[751f(x0) + 3577f(x1) + 1323f(x2) + 2989f(x3)

+ 2989f(x4) + 1323f(x5) + 3577f(x6) + 751f(x7)]

!8183

518400h9f (8)(").

Se, per una formula a n + 1 punti, il passo di integrazione h = (b ! a)/nrisulta troppo ampio, si divide [a, b] in m parti uguali, mediante i puntix0 = a < x1 < · · · < xm = b, e si utilizza la proprieta

I(f) =m

$

i=1

# xi

xi!1

f(x)dx .

Si ottengono quindi le cosiddette formule di Newton-Cotes generalizzate ap-plicando una stessa formula a n + 1 punti per ognuno degli m integrali asecondo 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 diSimpson (n = 2) le quali danno luogo alle corrispondenti formule generaliz-zate:

I(f) =b ! a

2m

2

f(x0) + 2m"1$

i=1

f(xi) + f(xm)

3

!(b ! a)3

12m2f (2)(&) ; (7.11)

I(f) =b ! a

6m

2

f(x0) + 4m"1$

i=0

f4

xi + xi+1

2

5

+ 2m"1$

i=1

f(xi) + f(xm)

3

!(b ! a)5

2880m4f (4)(&).

Page 171: Calcolo Numerico Completo

7.3. APPLICAZIONE DELLA ESTRAPOLAZIONE ALL’INTEGRAZIONE 171

Queste due formule generalizzate presentano il vantaggio di un errore chetende a zero al crescere di m. Si noti che da h = (b ! a)/nm segue che glierrori sono rispettivamente dell’ordine di h2 e di h4.

7.3 Applicazione della estrapolazione

all’integrazione

Si puo dimostrare che se f(x) e su!cientemente regolare in [a, b], l’erroredella formula generalizzata (7.11) ammette uno sviluppo in serie di potenzepari di h. Piu precisamente, scrivendo per semplicita I invece di I(f) eponendo

J (1)0 =

h

2

2

f(x0) + 2m"1$

i=1

f(xi) + f(xm)

3

, (7.12)

si puo dimostrare il seguente teorema.

Teorema 7.3.1 Se f(x) " C2r+2([a, b]), la (7.11) puo scriversi

I = J (1)0 + #(1)

1 h2 + #(1)2 h4 + · · · + #(1)

r h2r + O(h2r+2) (7.13)

dove #(1)1 ,#(1)

2 , . . . ,#(1)r , non dipendono da h.

La (7.13) oltre a mostrare, come gia osservato, che l’errore di J (1)0 e

dell’ordine di h2, consente di ottenere, con un costo computazionale rela-tivamente contenuto, stime di I migliori della (7.12) per mezzo della tecnicadi estrapolazione.

Scelto l’intero q > 1, la formula trapezoidale generalizzata, con il passoh/q = (b ! a)/mq, fornisce la stima di I,

J (1)1 =

h

2q

6

7f(x0) + 2mq"1$

i=1

f(xi) + f(xmq)

8

9 ,

dove ora i nodi sono xi = a + ihq , i = 0, 1, . . . ,mq. D’altra parte, per il

Teorema 7.3.1, si puo scrivere

I = J (1)1 + #(1)

1

:

h

q

;2

+ #(1)2

:

h

q

;4

+ · · · + #(1)r

:

h

q

;2r

+ O(h2r+2). (7.14)

Page 172: Calcolo Numerico Completo

172 CAPITOLO 7. INTEGRAZIONE NUMERICA

Eliminando il termine #(1)1 h2 fra la (7.13) e la (7.14) si ottiene

I = J (2)0 + #(2)

2 h4 + · · · + #(2)r h2r + O(h2r+2) , (7.15)

dove si e posto

J (2)0 =

q2J (1)1 ! J (1)

0

q2 ! 1(7.16)

e dove i nuovi coe!cienti, #(2)2 , . . . ,#(2)

r , non dipendono da h.

La (7.15) mostra che l’errore di J (2)0 e dell’ordine di h4, cioe e una stima

di I migliore di J (1)0 e J (1)

1 , mentre la (7.16) implica un costo computazionaledi solo 3 operazioni essenziali; per contro, una stima di I piu accurata diJ (1)

1 , mediante la formula trapezoidale, implica necessariamente l’uso di unpasso minore di h/q e quindi un costo computazionale piu elevato di quellorichiesto dalla (7.16).

Il procedimento di estrapolazione puo essere ripetuto: ad ogni appli-cazione, l’ordine dell’errore della nuova stima di I aumenta di due. Infatti,con il passo h/q2, dalla formula trapezoidale generalizzata, si ricava J (1)

2 men-tre il Teorema 7.3.1 fornisce

I = J (1)2 + #(1)

1

:

h

q2

;2

+ #(1)2

:

h

q2

;4

+ · · · + #(1)r

:

h

q2

;2r

+ O(h2r+2);

eliminando #(1)1 (h/q)2 fra questa relazione e la (7.14) si ha

I = J (2)1 + #(2)

2

:

h

q

;4

+ · · · + #(2)r

:

h

q

;2r

+ O(h2r+2) (7.17)

dove

J (2)1 =

q2J (1)2 ! J (1)

1

q2 ! 1;

eliminando ora #(2)2 h4 fra la (7.15) e la (7.17) si puo scrivere

I = J (3)0 + #(3)

3 h6 + · · · + #(3)r h2r + O(h2r+2)

dove

J (3)0 =

q4J (2)1 ! J (2)

0

q4 ! 1,

Page 173: Calcolo Numerico Completo

7.3. APPLICAZIONE DELLA ESTRAPOLAZIONE ALL’INTEGRAZIONE 173

con #(3)3 , . . . ,#(3)

r indipendenti da h.Nella sua formulazione piu generale, la tecnica di estrapolazione consiste,

fissato l’intero N < r, nel calcolare, mediante la formula trapezoidale gener-alizzata, i valori

J (1)0 , J (1)

1 , . . . , J (1)N , (7.18)

corrispondenti ai passi h, h/q, . . . , h/qN (questa e la parte piu costosa delmetodo), quindi, a partire dai valori (7.18), si costruiscono nuove approssi-mazioni di I in base allo schema

J (k+1)i =

q2kJ (k)i+1 ! J (k)

i

q2k ! 1, k = 1, 2, . . . , N, (7.19)

dove, per ciascun valore di k, l’indice i assume i valori 0, 1, . . . , N ! k.Dalle considerazioni precedenti si deduce che J (k+1)

i presenta un erroredell’ordine di (h/qi)2(k+1).

E importante rilevare inoltre che la conoscenza di due delle approssi-mazioni (7.18), consente di stimare l’errore di entrambe, senza la necessitadi conoscere le derivate di f(x).

Per esempio, supposto di aver calcolato J (1)0 e J (1)

1 , dalle (7.13) e (7.14)si ha

I % J (1)0 + #(1)

1 h2 ,

I % J (1)1 + #(1)

1 (h/q)2 .

Evidentemente #(1)1 h2 e #(1)

1 (h/q)2 forniscono stime dell’errore rispettiva-

mente di J (1)0 e di J (1)

1 , non appena si calcoli il valore di #1. A tale scopo,eliminando I fra le due relazioni, si ottiene

#(1)1 %

J (1)0 ! J (1)

1/

hq

02! 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 puoessere impiegato in tutti quei casi in cui una grandezza T si possa approssi-mare con un valore & (1)

0 dipendente da un parametro h, e l’errore T ! & (1)0 sia

sviluppabile in serie di potenze di h, cioe si abbia

T = & (1)0 + '(1)

1 hr1 + '(1)2 hr2 + · · ·

Page 174: Calcolo Numerico Completo

174 CAPITOLO 7. INTEGRAZIONE NUMERICA

con '(1)1 , '(1)

2 , . . ., non dipendenti da h e 0 < r1 < r2 < · · · interi. Lacostruzione di approssimazioni di T piu accurate di & (1)

0 si ottiene con unoschema analogo a quello definito dalla (7.19).

7.4 Formule di quadratura di tipo gaussiano

Si premettono brevemente alcune definizioni e proprieta di una particolareclasse di polinomi.

Sia !(x) una funzione peso che verifichi le ipotesi fatte in 7.1.Si indichi con " lo spazio vettoriale dei polinomi algebrici a coe!cienti

reali e sia [a, b] un intervallo, non necessariamente limitato. Per ogni coppiar(x), s(x) " " si consideri il prodotto scalare

< r, s >=< s, r >= I(!rs) =# b

a!(x)r(x)s(x)dx. (7.20)

Si definisce quindi la classe dei polinomi ortogonali "# come l’insiemedei polinomi algebrici, a coe!cienti reali, ortogonali rispetto al prodottoscalare (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 definiti a meno di una costantemoltiplicativa e costituiscono una base per "; per essi valgono le seguentiproprieta:

< p, qn >= 0 &p " "n"1; (7.21)

qn(x) ha n zeri reali e distinti in ]a, b[. (7.22)

Come osservato in 7.1, fissati !(x), [a, b] ed n, risulta univocamente de-terminata la formula di quadratura di grado di precisione almeno 2n + 1

I(!f) =# b

a!(x)f(x)dx %

n$

i=0

aif(xi) = Jn(f) ,

che propriamente dicesi formula di quadratura gaussiana.

Page 175: Calcolo Numerico Completo

7.4. FORMULE DI QUADRATURA DI TIPO GAUSSIANO 175

Teorema 7.4.1 Dati [a, b] e !(x), sia f(x) " C2n+2(]a, b[) e Jn(f) una for-mula di quadratura gaussiana; allora i nodi x0, x1, . . . , xn sono gli zeri diqn+1(x) " "#, i pesi sono positivi e dati da

ai = I(!l2i ), i = 0, 1, . . . , n,

dove li(x) sono i polinomi fondamentali di Lagrange relativi ai detti nodi e ilgrado di precisione e esattamente 2n + 1, essendo

En(f) = Knf (2n+2)(")

(2n + 2)!, Kn > 0 , " "]a, b[ , (7.23)

l’errore della formula.

Dimostrazione. Siano x0, x1, . . . , xn, gli zeri di qn+1(x); relativamente a questipunti si considerano i polinomi fondamentali di Lagrange (cfr. 6.2) di grado n

li(x) = (x ! x0) · · · (x ! xi"1)(x ! xi+1) · · · (x ! xn)/!i

con !i = (xi!x0) · · · (xi!xi"1)(xi!xi+1) · · · (xi!xn), i = 0, 1, . . . , n, e le funzionifondamentali dell’interpolazione di Hermite (cfr. 6.3) di grado 2n + 1 di prima edi seconda specie

h0i(x) = [1 ! 2l$i(xi)(x ! xi)]l2i (x), i = 0, 1, . . . , n,

h1i(x) = (x ! xi)l2i (x), i = 0, 1, . . . , n.

Evidentemente qn+1(x) e "(x) = (x!x0) · · · (x!xn) di!eriscono per una costantemoltiplicativa 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

I(#h0i) = I(#l2i ) !2l$i(xi)

cn+1!iI(#qn+1li), i = 0, 1, . . . , n,

avendosi !i #= 0 per la proprieta (7.22).D’altra parte si ha I(#qn+1li) =< qn+1, li >= 0 per la (7.21), in quanto li(x) " "n,per cui

I(#h0i) = I(#l2i ) , i = 0, 1, . . . , n. (7.24)

Per le funzioni di seconda specie risulta

I(#h1i) =1

cn+1!iI(#qn+1li) = 0 , i = 0, 1, . . . , n. (7.25)

Page 176: Calcolo Numerico Completo

176 CAPITOLO 7. INTEGRAZIONE NUMERICA

Ricordando che (cfr. Teorema 6.3.3)

f(x) =n

$

i=0

h0i(x)f(xi) +n

$

i=0

h1i(x)f $(xi) +f (2n+2)($)

(2n + 2)!"2(x),

con $ "]a, b[, e tenendo conto dei risultati (7.24) e (7.25) nonche della proprietaadditiva degli integrali, si ha

I(#f) =n

$

i=0

I(#l2i )f(xi) + I

:

f (2n+2)($)

(2n + 2)!#"2

;

.

Poiche #(x)"2(x) non cambia segno nell’intervallo di integrazione, nel secondotermine a secondo membro puo applicarsi il teorema della media e scrivere

I

:

f (2n+2)($)

(2n + 2)!#"2

;

=f (2n+2)(%)

(2n + 2)!I(#"2), % "]a, b[.

Ponendo quindi

ai = I(#l2i ), i = 0, 1, . . . , n,

Kn = I(#"2), n = 0, 1, . . . ,

En(f) = Knf (2n+2)(%)

(2n + 2)!,

si ha infine

I(#f) =n

$

i=0

aif(xi) + En(f)

dove ai > 0, i = 0, 1, . . . , n, Kn > 0, n = 0, 1, . . ..

Le formule aventi i pesi e i nodi definiti come nel Teorema 7.4.1 coincidonocon quelle della formulazione algebrica data in 7.1. L’ipotesi di derivabilita,richiesta dal teorema, consente quindi una rappresentazione dell’errore nellaforma (7.23) ma non e necessaria per la definizione della formula.

Nella tavola che segue si riportano le caratteristiche di alcuni polinomiortogonali fra i piu usati, che danno luogo alle corrispondenti formule diquadratura gaussiane da cui prendono il nome (nella tavola il simbolo % staper 3.141592... ).

Page 177: Calcolo Numerico Completo

7.4. FORMULE DI QUADRATURA DI TIPO GAUSSIANO 177

Intervallo Peso Classificazione Kn

[!1, 1] 1/'

1 ! x2 Chebyshev 1a specie %/22n+1

[!1, 1]'

1 ! x2 Chebyshev 2a specie %/22n+3

[!1, 1] 1 Legendre 22n+3[(n+1)!]4

(2n+3)[(2n+2)!]2

[0, +([ e"x Laguerre [(n + 1)!]2

] !(, +([ e"x2

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 l’integrazione ap-prossimata. L’uso di tali formule per via automatica non presenta, in genere,particolari di!colta.Per completezza, nel paragrafo 7.6.3 sono riportate la formule di ricorrenzaper 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 unintervallo limitato [a, b], si usano polinomi ortogonali definiti in [!1, 1]. Ine#etti ogni intervallo di integrazione a ) t ) b puo ricondursi all’intervallo!1 ) x ) 1 con la trasformazione t = b"a

2 x + b+a2 e la funzione !(x) puo

essere comunque introdotta. Risulta infatti

# b

ag(t)dt =

# 1

"1!(x)f(x)dx

ove si assuma f(x) = b"a2!(x)g

/

b"a2 x + b+a

2

0

.Si noti poi che l’integrazione gaussiana, basata sui polinomi di Laguerre e diHermite, permette di approssimare integrali su intervalli non limitati (purchel’integrale esista finito).

Osservazione 7.4.3 La positivita dei pesi consente di dimostrare, sottoipotesi molto generali, la convergenza di Jn(f).Piu precisamente, nel caso di intervalli limitati [a, b] e per formule di grado2n + 1, la semplice continuita di f(x) e condizione su!ciente a!nche

limn%&

Jn(f) = I(!f) .

Page 178: Calcolo Numerico Completo

178 CAPITOLO 7. INTEGRAZIONE NUMERICA

Pertanto l’errore En(f) tende a zero per n * ( anche nel caso che f(x) nonsia derivabile e quindi En(f) non possa esprimersi nella forma (7.23).

Inoltre, nel caso di intervalli di integrazione non limitati, vale il seguenteteorema 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) " C0([0, +([), allora per la formula di quadraturadi Gauss-Laguerre risulta

limn%&

Jn(f) = I(e"xf) .

7.5 Integrazione in piu dimensioni

L’approssimazione di integrali multipli, della forma cioe

I(!f) =# b1

a1

# b2

a2

· · ·# br

ar

!(x1, . . . , xr)f(x1, . . . , xr)dx1 . . . dxr

con !(x1, . . . , xr) $ 0 per xi " [ai, bi], i = 1, . . . , r, presenta di!colta e costicomputazionali 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

I(f) =# b

a

# d

cf(x, y)dxdy =

# b

a

2

# d

cf(x, y)dy

3

dx

%# b

a

n$

j=0

bjf(x, yj)dx %k

$

i=0

n$

j=0

aibjf(xi, yj) (7.26)

= JkJn(f).

JkJn(f) dicesi formula di cubatura e l’errore e

Ek,n(f) = I(f) ! JkJn(f) .

Page 179: Calcolo Numerico Completo

7.5. INTEGRAZIONE IN PIU DIMENSIONI 179

Quindi, ad esempio, se J2 e la formula di quadratura di Simpson si ha

J2J2(f) =(b ! a)(d ! c)

36[f(x0, y0) + 4f(x0, y1) + f(x0, y2)

+4f(x1, y0) + 16f(x1, y1) + 4f(x1, y2) + f(x2, y0)

+4f(x2, y1) + f(x2, y2)] .

Se inoltre f(x, y) e su!cientemente regolare si puo dimostrare che l’erroree dato da

E2,2(f) = !hk

45

2

h4)4f(x, y)

)x4+ k4)4f(¯x, ¯y)

)y4

3

con x, ¯x "]a, b[, y, ¯y "]c, d[, e h = (b ! a)/2, k = (d ! c)/2.Formule di cubatura possono essere costruite anche direttamente. Per

esempio, considerati i punti Pr " [a, b] + [c, d], r = 0, 1, . . . , N , si cercanoformule del tipo

I(f) % JN(f) =N

$

r=0

crf(Pr). (7.27)

I nodi Pr ed i pesi cr sono determinati in modo che la (7.27) sia esatta quandof(P ) e un polinomio di grado non superiore a g nelle due variabili x e y, cioein 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

Jn(f) =n

$

i=0

aix"i = I(x"), # = 0, 1, . . . ,m,

allora, facendo riferimento, per semplicita, ad un dominio di integrazionequadrato, si verifica facilmente che

JnJn(x"y#) =n

$

i=0

n$

j=0

aiajx"i x#

j = I(x"y#), 0 ) #, ' ) m. (7.28)

La JnJn(f), detta formula del prodotto cartesiano, e della forma (7.27) ove siusino gli N + 1 = (n + 1)2 nodi Pij = (xi, xj) con i pesi aiaj e risulta esattaper polinomi fino al grado 2m.

Page 180: Calcolo Numerico Completo

180 CAPITOLO 7. INTEGRAZIONE NUMERICA

Ad esempio, nel caso [a, b] = [!1, 1] e n = 1, la formula di quadratura diGauss-Legendre J1 ha nodi e pesi

!x0 = x1 =

'3

3, a0 = a1 = 1

e grado di precisione m = 3.Con [c, d] = [!1, 1] la formula di cubatura J1J1 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 coe!cienti unitari; essa inoltre risulta esatta per ogni monomio del tipox"y# con 0 ) #, ' ) 3 ed e esplicitamente data da

I(f) =# 1

"1

# 1

"1f(x, y)dxdy

% f

:

!'

3

3,!

'3

3

;

+ f

:'3

3,!

'3

3

;

+ f

:

!'

3

3,

'3

3

;

+f

:'3

3,

'3

3

;

.

7.6 Complementi ed esempi

7.6.1 Costruzione di formule e calcolo dell’errore

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 fi-nora, potendosi utilizzare anche i valori di una o piu derivate come nell’esempioseguente.

Esempio 7.6.1 Si vogliono calcolare i pesi e i nodi della formula

I(f) =# 1

0f(x)dx % a0f(0) +

1

6f $(x1) +

1

6f $(x2) + a1f(1) = J(f)

in modo che sia massimo il grado di precisione.

Page 181: Calcolo Numerico Completo

7.6. COMPLEMENTI ED ESEMPI 181

Imponendo E(xr) = I(xr) ! J(xr) = 0, r = 0, 1, 2, 3, si trova subitoa0 = 5/6, a1 = 1/6, ed inoltre si ha

x1 + x2 = 1/2

x21 + x2

2 = 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 l’errore diuna formula di quadratura quando f(x) sia su!cientemente regolare.

Esempio 7.6.2 Si vuole calcolare l’errore E2(f) = I(f)!J2(f) della formuladi Simpson

I(f) =# 1

"1f(x)dx %

1

3f(!1) +

4

3f(0) +

1

3f(1) = J2(f) .

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

G(t) =# 1

t(x ! t)3dx !

4

3(0 ! t)3 !

1

3(1 ! t)3

=1

4t4 +

2

3t3 +

1

2t2 !

1

12per ! 1 ) t < 0;

G(t) =# 1

t(x ! t)3dx !

1

3(1 ! t)3

=1

4t4 !

2

3t3 +

1

2t2 !

1

12per 0 ) t ) 1.

Poiche G(t) ha segno costante in ] ! 1, 1[, dalla (7.7) si ricava

E2(f) = !1

90f (4)("), " "] ! 1, 1[.

Page 182: Calcolo Numerico Completo

182 CAPITOLO 7. INTEGRAZIONE NUMERICA

Esempio 7.6.3 Si consideri

I(f) =# 1

0

dx

1 + x,

il cui valore esatto e I(f) = log 2 = 0.69314718 . . ..

Posto, nella (7.18), N = 2, si calcolano, J (1)0 , J (1)

1 e J (1)2 con h = 1/2

e q = 2. Applicando la (7.19), per k = 1, 2, si ottengono i seguenti valoriestrapolati:

J (1)0 = 0.70833333 . . .

J (1)1 = 0.69702380 . . . J (2)

0 = 0.69325396 . . .

J (1)2 = 0.69412185 . . . J (2)

1 = 0.69315453 . . . J (3)0 = 0.69314790 . . . .

Si noti che i valori J (2)0 e J (3)

0 sono piu accurati di quelli aventi l’indicesuperiore piu piccolo (in particolare J (2)

0 e una approssimazione migliore di

J (1)2 che ha un costo computazionale maggiore).

Come osservato in 7.3, una stima dell’errore di J (1)1 basata sui valori J (1)

0

e J (1)1 puo ottenersi calcolando

#(1)1 %

J (1)1 ! J (1)

0

h2 ! h2/4% !0.0603175

da cui

E(f) = I ! J (1)1 % #(1)

1

h2

4% !0.00377.

In modo analogo si puo ottenere una stima dell’errore di J (1)2 utilizzando

la coppia J (1)2 , J (1)

0 oppure J (1)2 , J (1)

1 .

Esempio 7.6.4 Si vuole calcolare il numero minimo n + 1 di nodi perapprossimare, con una formula di quadratura di tipo gaussiano, l’integrale

I(f) =# 1

0

log(x + 1)<

x(x + 1)dx

in modo che risulti | En |) 10"5.

Page 183: Calcolo Numerico Completo

7.6. COMPLEMENTI ED ESEMPI 183

Si trasforma l’intervallo ]0, 1[ nell’intervallo ] ! 1, 1[ con la sostituzionet = 2x ! 1. Si ha quindi

I(f) =# 1

0

log(x + 1)<

x(x + 1)dx

=# 1

"1log

4

t + 3

2

5

=

1 ! t

3 + t

1'1 ! t2

dt

=

=

1 ! &

3 + &

# 1

"1log

4

t + 3

2

5

1'1 ! t2

dt , & "] ! 1, 1[ ,

dove si e potuto applicare il teorema della media in quanto le funzioni g(t) =

log/

t+32

0

e !(t) = 1!1"t2

non cambiano segno in ]! 1, 1[. Posto h(&) =<

1"$3+$ ,

si puo considerare una formula di quadratura di Gauss-Chebyshev di primaspecie e scrivere

I(f) = h(&)I(!g) = h(&)

2

Jn(g) + Kng(2n+2)(")

(2n + 2)!

3

con Kn = %/22n+1.Pertanto I(f) % h(&)Jn(g) e inoltre, avendosi 0 ) h(&) ) 1 e | g(k)(t) |)

(k"1)!2k , k = 0, 1, . . ., si puo verificare che, per l’errore, risulta

| En |=>

>

>

>

>

Knh(&)g(2n+2)(")

(2n + 2)!

>

>

>

>

>

) 6 + 10"6

con n = 3, ossia con 4 nodi.

Nell’integrazione gaussiana la scelta del peso, e quindi della formula, puorisultare determinante ai fini dell’errore. Si consideri, ad esempio, l’integrale

I(f) =# 1

"1x2'

1 ! x2dx

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 x20

= J1(x2) .

Page 184: Calcolo Numerico Completo

184 CAPITOLO 7. INTEGRAZIONE NUMERICA

Utilizzando una formula a tre nodi di Gauss-Chebyshev di prima specie(!(x) = 1/

'1 ! x2), risulta

I(f) = I

:

1'1 ! x2

/

x2[1 ! x2]0

;

= J2

/

x2(1 ! x2)0

.

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 ! x20

= 0.40405278 . . . ,

con un errore E3(f) % !1.1 + 10"2.

Esempio 7.6.5 Si vogliono calcolare i pesi della formula

# b

a

# b

a

# b

af(x, y, z)dxdydz % c0f(a, a, a) + c1f(b, 0, 0)

+c2f(0, b, 0) + c3f(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

c0a + c1b = 12(b ! a)3(b + a)

c0a + c2b = 12(b ! a)3(b + a)

c0a + c3b = 12(b ! a)3(b + a)

che ha soluzione solo se b #= 3a; in tal caso si ottiene

c0 = (b"a)3("b"3a)2(b"3a) ,

ci = (b"a)4

2(b"3a) , i = 1, 2, 3 .

7.6.2 Integrali impropri

Le formule viste per l’integrazione approssimata non sempre sono adatteper essere utilizzate direttamente per il calcolo di un integrale improprio.

Page 185: Calcolo Numerico Completo

7.6. COMPLEMENTI ED ESEMPI 185

Per esempio, nel caso di singolarita della funzione integranda, la presenza dipunti singolari crea di!colta nella scelta dei nodi e puo compromettere laconvergenza della formula.

Talvolta la singolarita e facilmente rimuovibile con una semplice sosti-tuzione come nell’integrale

I(f) =# 1

0

dx

x1/", # $ 2,

che, con la posizione x = t", diviene

I(f) = ## 1

0t""2dt .

In altri casi si puo ricorrere ad una formula gaussiana opportunamentepesata: l’integrale

I(f) =# 1

"1

ex

'1 ! x

dx

puo scriversi

I(f) = I

:

1'1 ! x2

g(x)

;

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 l’integrale

I(f) =# 1

0

e"x

'1 ! x

dx .

Con una integrazione per parti, scegliendo e"x come fattore finito, siottiene

I(f) = 2 ! 2I(g) (7.29)

dove si e posto g(x) = e"x'

1 ! x " C0 ([0, 1]).E da notare, tuttavia, che g(x) non e derivabile per x = 1 per cui la

stima dell’errore, per esempio mediante la (7.6) o la (7.23), puo essere di!-coltosa. Per ovviare a questo inconveniente si puo procedere a due ulterioriintegrazioni per parti, applicate a I(g), portando la (7.29) nella forma

I(f) =18

15!

8

15I(s) ,

Page 186: Calcolo Numerico Completo

186 CAPITOLO 7. INTEGRAZIONE NUMERICA

dove s(x) = e"x<

(1 ! x)5 " C2 ([0, 1]).L’approssimazione di I(s) mediante la formula generalizzata (7.11), con

m = 8, fornisce il seguente risultato

I(s) % 0.231851

con un errore assoluto, in modulo, inferiore a 10"4.

Gli integrali della forma,

I(f) =# b

a

g(x)

(x ! a)#dx

con 0 < ' < 1 e g(x) regolare in [a, b], possono essere a#rontati sottraendodal numeratore uno o piu termini dello sviluppo di Taylor di g(x) con puntoiniziale x = a; questa tecnica va sotto il nome di metodo della sottrazionedella singolarita .

Esempio 7.6.7 L’integrale

I(f) =# 1

0

ex

x#dx

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) " C0([0, 1]) in quanto

limx%0 r(x) = 0 e inoltre si ha I(s) = 1/(1 ! ').Si noti tuttavia che r(x) non e della classe C1([0, 1]): se si richiede per

r(x) una maggiore regolarita conviene porre

r(x) =ex ! 1 ! x

x#, s(x) =

1

x#+

1

x#"1,

dove al numeratore di r(x) si e sottratto un ulteriore termine dello sviluppoin serie di ex.In tal caso si ha r(x) " C1([0, 1]) e I(s) = (3 ! 2')/[(1 ! ')(2 ! ')].

Un altro tipo di integrale improprio si ha quando l’intervallo di inte-grazione non e limitato. Possono allora risultare utili le formule gaussiane diLaguerre e di Hermite.

Page 187: Calcolo Numerico Completo

7.6. COMPLEMENTI ED ESEMPI 187

Esempio 7.6.8 Sia

I(f) =# &

0sin(x2)dx

il cui valore esatto e 12

<

%2 = 0.626657 . . ..

Con evidenti passaggi puo scriversi

I(f) =1

2

# +&

"&e"x2

g(x)dx ,=1

2Jn(g)

dove g(x) = ex2

sin(x2) e Jn e una formula di quadratura di Gauss-Hermite.Eseguendo i calcoli, con n = 4, si trova

1

2J4(g) = 0.626868 . . . .

Alternativamente si puo e#ettuare un troncamento dell’intervallo nonlimitato, avendo cura di stimare opportunamente la parte tralasciata, comenell’esempio che segue.

Esempio 7.6.9 Si consideri

I(f) =# &

0

cos x

cosh xdx

il cui valore esatto e %2 sech%

2 = 0.6260201 . . ..Puo scriversi

I(f) = I(1)(f) + I(2)(f)

con

I(1)(f) =# b

0

cos x

cosh xdx, I(2)(f) =

# &

b

cos x

cosh xdx,

e si ha

| I(2)(f) |)# &

b

dx

cosh x= 2

# &

b

ex

e2x + 1dx ) 2

# &

be"xdx = 2e"b.

Quindi, ad esempio, con b = 10, l’integrale proprio I(1)(f) approssima I(f)con un errore assoluto non superiore a 2e"10 % 10"4.

Page 188: Calcolo Numerico Completo

188 CAPITOLO 7. INTEGRAZIONE NUMERICA

Si osservi, come si constata facilmente, che per x > 3, risulta>

>

>

>

ex cos x

cosh x

>

>

>

>

<ex

x2;

quindi, per il Teorema 7.4.2 con # = 2 e x# = 3, la formula di Gauss-LaguerreJn(f) con f(x) = ex cos x

cosh x e convergente all’integrale dell’esempio precedente.Avendosi limn%&(Jn+1(f)!Jn(f)) = 0, il numero | Jn+1(f)!Jn(f) | puo

assumersi come una stima del modulo dell’errore assoluto che si commetteapprossimando I(e"xf) con Jn+1(f).Applicando la formula con n = 4 e n = 5, si trova:

J5(f) = 0.6202592 . . . ,

| J5(f) ! J4(f) |% 10"2 .

L’errore e#ettivo risulta

| I(e"xf) ! J6(f) |% 5.8 + 10"3 .

7.6.3 Polinomi ortogonali: formule di ricorrenza, nodi

e pesi

I polinomi ortogonali possono essere costruiti con semplici formule di ri-correnza a tre termini. I loro zeri sono i nodi delle corrispondenti formuledi quadratura. Su intervalli simmetrici rispetto all’origine i nodi sono sim-metrici rispetto all’origine e a ogni coppia di nodi simmetrici compete lostesso peso. Le costanti di normalizzazione hi, i $ 0, sono quelle date nelladefinizione 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) ! Ti"1(x), i = 1, 2, . . . ; T0(x) = 1, T1(x) = x.

I nodi e i pesi delle corrispondenti formule di quadratura sono esprimibili informa chiusa. Poiche i pesi sono costanti per ogni valore di n, esse sono detteformule a pesi uniformi.

xi = ! cos(2i + 1)%

2(n + 1), ai =

%

n + 1, i = 0, 1, . . . , n.

Page 189: Calcolo Numerico Completo

7.6. COMPLEMENTI ED ESEMPI 189

Polinomi di Chebyshev di 2a specie (hi = %/2).

Ui+1(x) = 2xUi(x) ! Ui"1(x), i = 1, 2, . . . ; U0(x) = 1, U1(x) = 2x.

n xi ai

0 0.0000000000 1.57079632681 ±0.5000000000 0.78539816342 ±0.7071067812 0.3926990817

0.0000000000 0.78539816343 ±0.8090169944 0.2170787134

±0.3090169944 0.56831945004 ±0.8660254038 0.1308996939

±0.5000000000 0.39269908170.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) ! iPi"1(x), i = 1, 2, . . . ;

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

n xi ai

0 0.0000000000 2.00000000001 ±0.5773502692 1.00000000002 ±0.7745966692 0.5555555555

0.0000000000 0.88888888883 ±0.8611363116 0.3478548451

±0.3399810436 0.65214515494 ±0.9061798459 0.2369268851

±0.5384693101 0.47862867050.0000000000 0.5688888888

5 ±0.9324695142 0.1713244924±0.6612093865 0.3607615730±0.2386191861 0.4679139346

Page 190: Calcolo Numerico Completo

190 CAPITOLO 7. INTEGRAZIONE NUMERICA

Polinomi di Laguerre (hi = 1).

(i + 1)Li+1(x) = (2i + 1 ! x)Li(x) ! iLi"1(x), i = 1, 2, . . . ;

L0(x) = 1, L1(x) = !x + 1.

n xi ai

0 1.0000000000 1.00000000001 0.5857864376 0.8535533906

3.4142135624 0.14644660942 0.4157745568 0.7110930099

2.2942803603 0.27851773366.2899450829 0.0103892565

3 0.3225476896 0.60315410431.7457611012 0.35741869244.5366202969 0.03888790859.3950709123 0.0005392947

4 0.2635603197 0.52175561061.4134030591 0.39866681113.5964257710 0.07594244977.0858100059 0.003611758712.640800844 0.0000233700

5 0.2228466042 0.45896467391.1889321017 0.41700083082.9927363261 0.11337338215.7751435691 0.01039919759.8374674184 0.000261017215.982873981 0.0000008985

Polinomi di Hermite (hi = 2i(i!)'

%).

Hi+1(x) = 2xHi(x) ! 2iHi"1(x), i = 1, 2, . . . ; H0(x) = 1, H1(x) = 2x.

Page 191: Calcolo Numerico Completo

7.6. COMPLEMENTI ED ESEMPI 191

n xi ai

0 0.0000000000 1.77245385091 ±0.7071067812 0.88622692552 ±1.2247448714 0.2954089752

0.0000000000 1.18163590063 ±1.6506801239 0.0813128354

±0.5246476233 0.80491409004 ±2.0201828705 0.0199532421

±0.9585724646 0.39361932320.0000000000 0.9453087205

5 ±2.3506049737 0.0045300099±1.3358490740 0.1570673203±0.4360774119 0.7246295952

Bibliografia: [7], [9], [30].

Page 192: Calcolo Numerico Completo

Capitolo 8

Metodi numerici per equazionidi!erenziali ordinarie

8.1 Introduzione

Il problema trattato nel presente capitolo riguarda l’approssimazione nu-merica di una funzione y(t) : [a, b] !IR"IRm, soluzione del seguente problemadi 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 problemacontinuo (8.1).

Teorema 8.1.1 Sia f(t, y) definita e continua nell’insieme

D = {(t, y) | %& < a ' t ' b < +&, (y( < +&}

ed esista una costante L tale che

(f(t, y) % f(t, y")( ' L(y % y"( (8.2)

per ogni (t, y), (t, y") # D. Allora esiste un’unica soluzione y(t) # C1([a, b])del problema (8.1), per ogni y0 assegnato.

Page 193: Calcolo Numerico Completo

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 l’ipotesi, piu restrittiva, che esista e siacontinua la matrice jacobiana J(t, y) : D "IRm#m di f , definita da

J(t, y) =!f

!y:

in tal caso nella (8.2) puo assumersi L = sup(t,y)$D (!f/!y(.Talvolta il problema di Cauchy e dato nella forma autonoma

y!(t) = f(y),(8.3)

y(t0) = y0 .

Cio non lede la generalita in quanto ogni problema (8.1) puo ricondursialla forma (8.3) con la sostituzione z1(t) = y(t), z2(t) = t, aggiungendol’equazione z!2(t) = 1 e completando le condizioni iniziali con z2(t0) = t0;ponendo zT = (zT

1 , z2), gT = (f(z)T , 1), zT0 = (yT

0 , t0) risulta infatti

z!(t) = g(z) ,

z(t0) = z0 ,

che e, appunto, della forma (8.3).

Problemi di!erenziali 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(r%1)) ,

y(t0) = "1 ,

y!(t0) = "2 ,

...

y(r%1)(t0) = "r ;

Page 194: Calcolo Numerico Completo

8.1. INTRODUZIONE 195

se si introduce il vettore ausiliario z #IRmr, zT = (zT1 , zT

2 , . . . , zTr ), definito da

z1 = y ,

z2 = z!1 = y! ,

z3 = z!2 = y!! ,

...

zr = z!r%1 = y(r%1) ,

e si pone z!r = y(r) = f(t, z1, z2, . . . , zr) e z(t0)T = ("T1 , "T

2 , . . . , "Tr ) = zT

0 , ilprecedente problema puo scriversi come

z!(t) = g(t, z) ,

z(t0) = z0 ,

con gT = (zT2 , zT

3 , . . . , zTr , 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) conK(t) : [a, b] "IRm#m e #(t) : [a, b] "IRm; si dice lineare a coe!cienti costantise 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 generaledi (8.4) e

y(t) =m

!

i=1

dix(i)e!it + $(t) (8.5)

dove %i ed x(i), i = 1, 2, . . . ,m, sono rispettivamente gli autovalori e i cor-rispondenti autovettori di K, $(t) e una soluzione particolare di (8.4) e le di,i = 1, 2, . . . ,m, sono costanti arbitrarie.

Il problema (8.4) si dice omogeneo se #(t) = 0: nell’ipotesi fatta su K, lasua soluzione generale e la (8.5) con $(t) identicamente nulla.

Nei metodi numerici considerati nel seguito, si fara riferimento ad unsottoinsieme discreto dell’intervallo [a, b], t0 = a < t1 < · · · < tN = b,ottenuto con una progressione aritmetica di ragione h > 0, definita da tn =t0 + nh, n = 0, 1, 2, . . . , N . La ragione h si dice passo della discretizzazione.

Page 195: Calcolo Numerico Completo

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 specifico in assenzadi errori di arrotondamento, mentre, in presenza di tali errori (dovuti, ingenere, ad una macchina da calcolo), l’approssimazione di y(tn) e indicatacon 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 dayn+1 il metodo e detto esplicito e la sua applicazione e immediata.

Due semplici metodi sono i seguenti:

la formula trapezoidale

yn+1 = yn +h

2[f(tn, yn) + f(tn+1, yn+1)] (implicito);

il metodo di Eulero

yn+1 = yn + hf(tn, yn) (esplicito).

Si introducono ora alcune definizioni.

Definizione 8.2.1 Si dice errore globale di discretizzazione nel punto tn+1, ladi"erenza en+1 = y(tn+1) % yn+1.

Definizione 8.2.2 Dicesi errore locale di troncamento la quantita 'n+1 definitada

'n+1 = y(tn+1) % un+1 (8.7)

doveun+1 = y(tn) + h&(h, tn, y(tn)) .

Page 196: Calcolo Numerico Completo

8.2. METODI A UN PASSO 197

L’errore 'n+1 e quindi l’errore introdotto dal metodo al passo da tn a tn+1

ed e uguale alla di!erenza 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 all’infinito

in modo che t0 + nh resti fisso e si indichi tale operazione con lim h!0

t=tn

.

Definizione 8.2.3 Un metodo (8.6) si dice coerente se vale la condizione

limh!0

t=tn+1

'n+1

h= 0 .

Dalla (8.7) segue che la coerenza implica

&(0, t, y(t)) = f(t, y(t)) . (8.8)

Si definisce 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 diprincipio, l’accuratezza del metodo cresce al crescere di p.

Definizione 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],

limh!0

t=tn+1

yn+1 = y(tn+1) ,

e quindilimh!0

t=tn+1

en+1 = 0 .

Occorre considerare, infine, gli errori che nascono dagli arrotondamenti.La di!erenza en+1 = yn+1 % yn+1 dicesi errore globale di arrotondamento.

Tale errore e originato dagli errori di arrotondamento introdotti dalla macchinaad ogni passo. Questi si suppongono di solito indipendenti da h e quindi, perun fissato intervallo, il loro contributo cresce con il numero dei passi.

Si definisce errore totale en+1 = y(tn+1)% yn+1 l’errore che si accumula alpasso tn+1 per l’e!etto degli errori che si sono prodotti in ognuno dei passiprecedenti.

Il seguente teorema stabilisce condizioni necessarie e su"cienti perche unmetodo esplicito (8.6) sia convergente.

Page 197: Calcolo Numerico Completo

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 < +& , (y( < +&}

e inoltre soddisfi la seguente condizione di Lipschitz

(&(h, t, y") % &(h, t, y)( ' M(y" % y(

per ogni (h, t, y"), (h, t, y) # D, allora il metodo (8.6) e convergente se e solose e coerente.

Per i metodi considerati in 8.2.2 e 8.2.3 la funzione & verifica le condizionidel 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 metodidella forma (8.6). La struttura generale di tali metodi e

yn+1 = yn + hs

!

i=1

biki (8.9)

dove

ki = f(tn + cih, yn + hs

!

j=1

aijkj), i = 1, 2, . . . , s. (8.10)

I parametri reali bi, ci, aij definiscono il metodo ed s e detto numero distadi.

Pertanto un metodo di Runge-Kutta e un metodo a un passo in cui risulta

&(h, tn, yn) =s

!

i=1

biki . (8.11)

Si osservi che, dalla convergenza del metodo, segue

limh!0

t=tn+1

ki = f(t, y(t)), i = 1, 2, . . . , s,

per cui, tenuto conto della (8.11), la condizione di coerenza (8.8) equivale a

s!

i=1

bi = 1 .

Page 198: Calcolo Numerico Completo

8.2. METODI A UN PASSO 199

Per convenzione, comunemente adottata, si pone

ci =s

!

j=1

aij, i = 1, 2, . . . , s . (8.12)

Si ottiene una utile rappresentazione compatta di un metodo di Runge-Kutta per mezzo della seguente tavola di Butcher

c A

bT=

c1 a11 · · · a1s

· · · · · · · · · · · ·cs as1 · · · ass

b1 · · · bs

.

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 )= 0 per qualche coppia i, j con i ' j.

Nel primo caso le (8.10) hanno la forma

ki = f(tn + cih, yn + hi%1!

j=1

aijkj), i = 1, 2, . . . , s,

e quindi ciascun vettore ki si puo calcolare esplicitamente in funzione deiprecedenti kj, j = 1, 2, . . . , i % 1.

Nel secondo caso, introducendo il vettore kT = (kT1 , . . . , kT

s ) #IRms, le (8.10)si possono scrivere in forma implicita

k = ((k) (8.13)

con (i(k) = f(tn + cih, yn + h$s

j=1 aijkj), i = 1, 2, . . . , s.Il sistema (8.13) e lineare o non lineare a seconda che lo sia f(t, y) rispetto

a y e puo essere risolto con un algoritmo specifico.Una sottoclasse dei metodi impliciti e costituita dai metodi semi-impliciti

nei quali e aij = 0, 1 ' i < j ' s, e aii )= 0 per almeno un i. In tal caso si ha

ki = f(tn + cih, yn + hi%1!

j=1

aijkj + haiiki), i = 1, 2, . . . s,

e quindi le (8.10) possono essere risolte singolarmente con un costo com-putazionale piu contenuto di quello richiesto per il sistema (8.13).

Page 199: Calcolo Numerico Completo

200 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

L’errore locale di troncamento di un metodo di Runge-Kutta di ordine pe della forma

'n+1 = hp+1)

dove ) e una funzione dipendente in modo non semplice da yn, c, b e daglielementi di A.

Di seguito si riportano alcuni metodi espliciti, con s ' 4, scelti fra i piunoti.Metodo di Eulero, p = 1:

0 0

1. (8.14)

Metodo di Eulero modificato, p = 2:

0 0 01 1 0

1/2 1/2

.

Metodo della poligonale, p = 2:

0 0 01/2 1/2 0

0 1

.

Formula di Heun, p = 3:

0 0 0 01/3 1/3 0 02/3 0 2/3 0

1/4 0 3/4

.

Formula di Kutta, p = 3:

0 0 0 01/2 1/2 0 01 %1 2 0

1/6 2/3 1/6

.

Page 200: Calcolo Numerico Completo

8.2. METODI A UN PASSO 201

Metodo di Runge-Kutta classico, p = 4:

0 0 0 0 01/2 1/2 0 0 01/2 0 1/2 0 01 0 0 1 0

1/6 1/3 1/3 1/6

. (8.15)

In generale i metodi impliciti sono classificati in base al tipo di formuladi quadratura a cui danno luogo allorche vengono applicati al problema y! =f(t). Si ha in questo caso

yn+1 % yn = hs

!

i=1

bif(tn + cih) .

Il secondo membro puo intendersi come una formula di quadratura, con pesibi e nodi ci, che approssima l’integrale

% tn+1

tnf(t)dt ;

infatti si ha

yn+1 % yn * y(tn+1) % y(tn) =% tn+1

tnf(t)dt = h

% 1

0f(tn + ch)dc .

Di seguito si riportano alcuni esempi con s ' 3.

Metodi di Gauss-Legendre, p = 2s:

1/2 1/2

1,

(3 %+

3)/6 1/4 (3 % 2+

3)/12(3 +

+3)/6 (3 + 2

+3)/12 1/4

1/2 1/2

.

Metodi di Radau IA, p = 2s % 1:

0 1

1, (8.16)

Page 201: Calcolo Numerico Completo

202 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

0 1/4 %1/42/3 1/4 5/12

1/4 3/4

.

Metodi di Radau IIA, p = 2s % 1:

1 1

1,

1/3 5/12 %1/121 3/4 1/4

3/4 1/4

.

Metodi di Lobatto IIIA, p = 2s % 2:

0 0 01 1/2 1/2

1/2 1/2

, (8.17)

0 0 0 01/2 5/24 1/3 %1/241 1/6 2/3 1/6

1/6 2/3 1/6

.

Metodi di Lobatto IIIB, p = 2s % 2:

0 1/2 01 1/2 0

1/2 1/2

, (8.18)

0 1/6 %1/6 01/2 1/6 1/3 01 1/6 5/6 0

1/6 2/3 1/6

.

Metodi di Lobatto IIIC, p = 2s % 2:

0 1/2 %1/21 1/2 1/2

1/2 1/2

,

Page 202: Calcolo Numerico Completo

8.2. METODI A UN PASSO 203

0 1/6 %1/3 1/61/2 1/6 5/12 %1/121 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 allacondizione (8.12).

Esempi di metodi semi-impliciti sono il metodo (8.17), gia riportato in 8.2.1come ”formula trapezoidale”, e il metodo (8.18).

E da rilevare che i metodi impliciti hanno, in genere, a parita di numero distadi, un ordine superiore a quello dei metodi espliciti. Inoltre per i metodidi Gauss-Legendre, Radau e Lobatto l’ordine p dipende in modo semplicee diretto da s. Un risultato di questo tipo non e disponibile per i metodiespliciti per i quali, invece, si hanno teoremi che stabiliscono per ogni ordinefissato p il minimo numero s degli stadi (o, per contro, per ogni s fissato,il massimo ordine ottenibile). Al riguardo la situazione desumibile dallaletteratura 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 seguenteproblema test

y!(t) = %y(t), % # C/ , Re(%) < 0, (8.19)

la cui soluzione e y(t) = de!t, 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 chesia, 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.

Page 203: Calcolo Numerico Completo

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 metododi 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 postoq = h% .

Pertanto la (8.20) sara verificata se e solo se

| q + 1 |< 1 ,

ovvero se i valori del parametro q, nel piano complesso, sono interni al cerchiodi centro [%1, 0] e raggio unitario.

Generalizzando quanto sopra esposto per il metodo esplicito (8.21) al casodi un metodo di Runge-Kutta qualunque, cioe applicando un metodo (8.9)-(8.10) al problema (8.19), si ottiene un’equazione della forma

yn+1 = R(q)yn . (8.22)

R(q) e detta funzione di stabilita ed e verificata la (8.20) se e solo se

| R(q) |< 1 . (8.23)

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

Definizione 8.2.6 L’insieme del piano complesso

SA = {q # C/ | | R(q) |< 1}

si chiama regione di assoluta stabilita del metodo.

Page 204: Calcolo Numerico Completo

8.2. METODI A UN PASSO 205

Si puo dimostrare che, introdotto il vettore u = (1, 1, . . . , 1)T #IRs, lafunzione di stabilita di un metodo di Runge-Kutta e data da

R(q) =det(I % qA + qubT )

det(I % qA). (8.24)

A titolo di verifica qui si ricavano la (8.22) e (8.24) per la formula trape-zoidale

yn+1 = yn +h

2[f(yn) + f(yn+1)] :

applicandola al problema test (8.19) si ha

yn+1 =1 + q/2

1 % q/2yn .

Facendo riferimento alla formula espressa nella forma (8.17), la stessafunzione di stabilita R(q) = 1+q/2

1%q/2 si puo ottenere direttamente dalla (8.24)ponendo

I =

&

1 00 1

'

, A =

&

0 01/2 1/2

'

, u =

&

11

'

, b =

&

1/21/2

'

.

Nella (8.24) det(I % qA + qubT ) e det(I % qA) sono polinomi in q, acoe"cienti 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 all’assereale.

Si vede subito che per la formula trapezoidale la regione SA e l’interosemipiano Re(q) < 0.

Si noti che per la soluzione esatta del problema test si ha

y(tn+1) = de!tn+1 = y(tn)eq ,

mentre dalla (8.22), per definizione 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 su"cientemente piccolo, si ha| R(q) |> 1, cioe q )# SA e quindi l’intersezione di SA con l’asse reale e deltipo ]#, 0[ con # < 0.

Page 205: Calcolo Numerico Completo

206 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Definizione 8.2.7 Un metodo si dice A0-stabile se

SA , {q | Re(q) < 0, Im(q) = 0} ,

cioe se SA contiene l’intero semiasse reale negativo.

Definizione 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 egarantita indipendentemente dal passo h purche sia Re(q) < 0. Inoltre laA-stabilita implica la A0-stabilita.

Definizione 8.2.9 Un metodo si dice L-stabile se e A-stabile e se

limRe(q)&%'

| R(q) |= 0 .

Si noti, per esempio, che la formula trapezoidale e A-stabile, ma, essendolimRe(q)&%' R(q) = %1, non e L-stabile.

Poiche nei metodi espliciti la matrice A e triangolare inferiore con elementidiagonali nulli, risulta det(I % qA) = 1 e pertanto R(q) e un polinomio digrado 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 definizioni di stabilita date per il caso scalarem = 1, si estendono anche al caso m > 1 facendo riferimento al problemalineare a coe"cienti 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)

Postoqi = h%i , i = 1, 2, . . . ,m,

l’equivalenza del sistema (8.26) ad un sistema di m equazioni indipendentiz!i = %izi, i = 1, 2, . . . ,m, che si ottiene diagonalizzando la matrice K, gius-tifica la seguente definizione.

Page 206: Calcolo Numerico Completo

8.2. METODI A UN PASSO 207

Definizione 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 definita nel caso scalare (cfr. Defi-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

R(q) = 1 + q +1

2!q2 + · · · +

1

s!qs . (8.29)

Nella Tavola 8.2 si riportano il valore minimo di Re(q) e il valore massimodi | 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, 4sono riportate in Fig. 8.1, e sono costituite dai punti interni alle porzioni dipiano 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 funzionerazionale che approssima l’esponenziale eq. Si comprende quindi come possaessere interessante confrontare le funzioni di stabilita R(q) dei vari metodidi Runge-Kutta con le cosiddette approssimazioni razionali di Pade dellafunzione esponenziale. Esse sono date da

Rkj (q) =

Pk(q)

Qj(q),

dove

Pk(q) =k

!

i=0

k!(j + k % i)!

(k % i)!(j + k)!i!qi ,

Page 207: Calcolo Numerico Completo

208 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

−4 −3 −2 −1 0 1 2−3

−2

−1

0

1

2

3

S=3

S=2

S=1

S=4

Figura 8.1: Regioni SA dei metodi di Runge Kutta espliciti con s = 1, 2, 3, 4.

Qj(q) =j

!

i=0

j!(j + k % i)!

(j % i)!(j + k)!i!(%q)i .

Rkj (q) e l’unica funzione razionale con numeratore di grado k e denomi-

natore di grado j tale che

eq = Rkj (q) + O(qk+j+1) (8.30)

quando q " 0. Si riportano nella Tavola 8.3 le espressioni di Rkj (q) con

0 ' k, j ' 3.

k = 0 k = 1 k = 2 k = 3

j = 0 1 1 + q 1 + q + 12q2 1 + q + 1

2q2 + 16q3

j = 1 11%q

1+ 12q

1% 12q

1+ 23q+ 1

6q2

1% 13q

1+ 34q+ 1

4q2+ 1

24q3

1% 14q

j = 2 11%q+ 1

2q2

1+ 13q

1% 23q+ 1

6q2

1+ 12q+ 1

12q2

1% 12q+ 1

12q2

1+ 35q+ 3

20q2+ 1

60q3

1% 25q+ 1

20q2

j = 3 11%q+ 1

2q2% 1

6q3

1+ 14q

1% 34q+ 1

4q2% 1

24q3

1+ 25q+ 1

20q2

1% 35q+ 3

20q2% 1

60q3

1+ 12q+ 1

10q2+ 1

120q3

1% 12q+ 1

10q2% 1

120q3

Tavola 8.3: Approssimazioni di Pade dell’esponenziale.

Page 208: Calcolo Numerico Completo

8.2. METODI A UN PASSO 209

Si constata che molte approssimazioni di Pade coincidono con altrettantefunzioni di stabilta. Per esempio, dalla Tavola 8.3 si vede che le approssi-mazioni Rk

0(q), k = 1, 2, 3, coincidono con le funzioni di stabilita dei metodidi Runge-Kutta espliciti con p = s.

Nella definizione seguente si caratterizzano le varie approssimazioni diPade .

Definizione 8.2.11 Una approssimazione Rkj (q) di Pade si dice:

A0-accettabile se | Rkj (q) |< 1 quando Re(q) < 0 e Im(q) = 0;

A-accettabile se | Rkj (q) |< 1 quando Re(q) < 0;

L-accettabile se e A-accettabile e limRe(q)&%' | Rkj (q) |= 0.

Evidentemente Rkj (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 Rkj (q) sono A-accettabili se e

solo se j % 2 ' k ' j.

Ne segue che se j % 2 ' k < j, Rkj (q) sono anche L-accettabili.

Vale poi il seguente teorema.

Teorema 8.2.4 Rkj (q) e A0-accettabile se e solo se k ' j.

Se per un metodo risulta R(q) = Rkj (q), con k ' j, allora esso sara A0-

stabile, A-stabile oppure L-stabile a seconda che Rkj (q) sia A0-accettabile,

A-accettabile o L-accettabile.Infine 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) = Rs%1s (q) per i metodi di Radau IA e Radau IIA a s stadi;

R(q) = Rs%1s%1(q) per i metodi di Lobatto IIIA e Lobatto IIIB a s

stadi;

R(q) = Rs%2s (q) per i metodi di Lobatto IIIC a s stadi.

Quindi i metodi riportati da questo teorema sono A-stabili per ogni valoredi s e, in particolare, i metodi di Radau IA, Radau IIA e di Lobatto IIICsono anche L-stabili.

Page 209: Calcolo Numerico Completo

210 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Una classe di problemi particolarmente importanti, per i quali sono utilii metodi A-stabili, e quella dei cosiddetti problemi sti". Limitandosi, persemplicita, al caso di un problema lineare, siano %" e %"" autovalori dellamatrice 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 l’ipotesi (8.27)e risulta anche:

| Re(%"") |-| Re(%") | ,

| Re(%"") |- 1 .

In tal caso, nella soluzione (8.5), la parte$m

i=1 dix(i)e!it, che prende il nomedi soluzione transitoria, contiene la componente e!""t che tende a zero pert " &, variando rapidamente in T "" . [t0, t0+ | %"" |%1].

E chiaro che per approssimare la componente e!""t sull’intervallo T "" enecessario un passo h"" dell’ordine di | %"" |%1. Un tale passo risulta troppopiccolo nei riguardi della componente e!"t: infatti questa decresce lentamentein T " . [t0, t0+ | %" |%1] e risulta che l’ampiezza di T " e molto maggiore diquella di T "". Fuori dell’intervallo T "" sarebbe quindi opportuno aumentarela lunghezza del passo, compatibilmente con l’accuratezza che si vuole ot-tenere. Tuttavia, per i metodi con SA limitata, il rispetto della condizionedi stabilita (8.28) costringe ad usare il passo h"" anche su tutto l’intervalloT ", 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, nell’ipotesi (8.27),e detta soluzione stazionaria.

Al riguardo si consideri il seguente esempio.

Si vuole approssimare la soluzione del problema omogeneo (8.26) con unerrore locale di troncamento dell’ordine di 10%4; siano gli autovalori di Kreali 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 su"ciente per la precisione che si richiede, tuttavia lecondizioni (8.28) sono soddisfatte solo se q"" = h%"" #] % 2.785, 0[, ovverose h < 0.002785. Assumendo t0 = 0, il termine della soluzione relativo a

Page 210: Calcolo Numerico Completo

8.3. METODI A PIU PASSI 211

%"" tende rapidamente a zero, mentre quello relativo a %" sara prossimo azero per un valore t" nettamente maggiore; sia esso t" *| %" |%1= 10. Oc-corrono percio * = 10/h * 3600 passi per approssimare la soluzione y(t)sull’intrevallo [t0, t" ]. Poiche ad ogni passo si e!ettuano s = 4 valutazionidella funzione Ky, il costo computazionale risulta elevato e puo divenire ap-prezzabile il fenomeno di accumulo degli errori di arrotondamento. Questiinconvenienti si possono evitare se si usa una tecnica di variazione del passo ese si utilizza un metodo A-stabile. In questo caso, poiche le (8.28) sono sod-disfatte qualunque sia h, l’unico vincolo al passo e dato dal valore richiestoper l’errore locale di troncamento e a parita di ordine, con 100 passi si ottieneil risultato voluto.

8.3 Metodi a piu passi

8.3.1 Equazioni alle di!erenze

Si consideri l’equazione

k!

j=0

+jyn+j = bn , n = 0, 1, . . . , (8.31)

dove +j sono costanti scalari e bn un vettore di IRm assegnato. La (8.31)prende il nome di equazione lineare alle di"erenze a coe!cienti costanti diordine k e la sua soluzione e una successione di vettori yn di IRm. Sia y"

n unasua soluzione particolare e zn la soluzione generale dell’equazione omogeneaassociata

k!

j=0

+jyn+j = 0 , n = 0, 1, . . . , (8.32)

allora la soluzione generale della (8.31) e data da

yn = zn + y"n .

Per sostituzione si trova che zn = dµn, d #IRm, e una soluzione della (8.32)se µ e radice del polinomio caratteristico

,(µ) =k

!

j=0

+jµj .

Page 211: Calcolo Numerico Completo

212 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Se ,(µ) ha k radici distinte µ1, µ2, . . . , µk, l’insieme {µn1 , µ

n2 , . . . , µ

nk} forma

un sistema fondamentale di soluzioni e la soluzione generale della (8.32) e

zn =k

!

i=1

diµni (8.33)

essendo di vettori arbitrari di IRm. Se una radice, ad esempio µj, ha molteplicita* e le rimanenti sono tutte distinte, l’insieme

{µn1 , . . . , µ

nj%1, µ

nj , nµn

j , n2µn

j , . . . , n"%1µn

j , µnj+1, . . . , µ

nk%"+1}

forma ancora un sistema fondamentale di soluzioni e si ha

zn =j%1!

i=1

diµni +

j+"%1!

i=j

dini%jµn

j +k

!

i=j+"

diµni%"+1 . (8.34)

E immediata l’estensione al caso generale che ,(µ) abbia r radici distinte µi,i = 1, 2, . . . , r, ciascuna con molteplicita *i con

$ri=1 *i = k.

Si indichi con E l’operatore di avanzamento definito da

Eyn = yn+1 ;

ammettendo che l’operatore E sia lineare, cioe risulti E(#yn + $yn+1) =#Eyn + $Eyn+1, e convenendo di porre E2yn = 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 approssimarela soluzione del problema (8.1) ha la struttura seguente

k!

j=0

#jyn+j = hk

!

j=0

$jf(tn+j, yn+j) , n = 0, 1, . . . , (8.35)

cioe ha la forma di una equazione alle di!erenze, lineare rispetto a yn+j ef(tn+j, yn+j), j = 0, 1, . . . , k.

I coe"cienti #j e $j sono costanti reali e si ammette che sia

| #0 | + | $0 |)= 0 , #k = 1 .

Page 212: Calcolo Numerico Completo

8.3. METODI A PIU PASSI 213

Per ogni n, la (8.35) fornisce il vettore yn+k in funzione dei k vettori precedentiyn+k%1, yn+k%2, . . . , yn.Si suppongono noti (dati o calcolati) i k vettori iniziali y0, y1, . . . , yk%1.

Se $k )= 0 il metodo si dice implicito: posto

w = %k%1!

j=0

#jyn+j + hk%1!

j=0

$jf(tn+j, yn+j) ,

si calcola, per n = 0, 1, . . ., una approssimazione z" della soluzione dell’equa-zione

z = h$kf(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) siriduce ad un sistema lineare; in caso contrario si puo utilizzare, ad esempio,il seguente procedimento iterativo

z(r+1) = h$kf(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 (!f/!z(.

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

!

j=0

#jµj , .(µ) =

k!

j=0

$jµj .

Convenendo di porre

fn+j = f(tn+j, yn+j) ,

la (8.35) puo formalmente scriversi

-(E)yn = h.(E)fn .

Page 213: Calcolo Numerico Completo

214 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Definizione 8.3.1 Dicesi errore locale di troncamento di un metodo a piupassi la quantita 'n+k definita da

'n+k =k

!

j=0

#jy(tn+j) % hk

!

j=0

$jf(tn+j, y(tn+j)) . (8.37)

Questa definizione, nell’ambito dei metodi lineari, coincide con la Defi-nizione 8.2.2 se il metodo e esplicito, mentre, se il metodo e implicito, ledue definizioni forniscono errori che di!eriscono per termini dell’ordine di h.Analogamente si hanno poi le definizioni di coerenza, ordine e convergenza.Per un metodo a piu passi la condizione di coerenza e data da

limh!0

t=tn+k

'n+k

h= 0 , (8.38)

e l’ordine e il piu grande intero p per cui risulta

'n+k = O(hp+1) .

Restano invariate, rispetto ai metodi a un passo, le definizioni di erroreglobale di discretizzazione, di errore globale di arrotondamento e di erroretotale (riferite al calcolo di yn+k nel punto tn+k).

In generale i vettori y1, . . . , yk%1 dipendono da h e si dice che formano uninsieme compatibile di vettori iniziali se vale la proprieta

limh&0

yi = y0 , i = 1, 2, . . . , k % 1.

Definizione 8.3.2 Il metodo (8.35) si dice convergente se, applicato a unqualunque problema soddisfacente le ipotesi del Teorema 8.1.1, e tale che,per ogni t # [a, b], si abbia

limh!0

t=tn+k

yn+k = y(tn+k) ,

per ogni insieme compatibile di vettori iniziali.

Come gia osservato per i metodi ad un passo, anche per questi metodi, lariduzione di h su un dato intervallo puo produrre un aumento dei contributiall’errore totale: questo fenomeno e dovuto all’accumulo degli errori locali diarrotondamento i quali possono ritenersi indipendenti da h.

Page 214: Calcolo Numerico Completo

8.3. METODI A PIU PASSI 215

Nell’ipotesi che y(t) # C'(]a, b[), sviluppando il secondo membro della (8.37)si puo scrivere formalmente

'n+k = c0y(tn) + c1y!(tn)h + c2y

!!(tn)h2 + · · · + cry(r)(tn)hr + · · · ,

dove le ci, i = 0, 1, . . ., sono costanti date da

c0 =k

!

j=0

#j = -(1) ,

c1 =k

!

j=0

(j#j % $j) = -!(1) % .(1) , (8.39)

cr =k

!

j=0

&

1

r!jr#j %

1

(r % 1)!jr%1$j

'

, r = 2, 3, . . . .

Ne segue che per un metodo di ordine p deve essere c0 = c1 = · · · = cp = 0,cp+1 )= 0; quindi risulta

'n+k = cp+1y(p+1)(tn)hp+1 + O(hp+2) , (8.40)

dove cp+1y(p+1)(tn)hp+1 si dice parte principale di 'n+k mentre cp+1 prendeil nome di costante di errore del metodo. Dalle (8.39) e (8.40) discende ilseguente teorema.

Teorema 8.3.1 Un metodo a piu passi e coerente se e solo se

-(1) = 0, -!(1) = .(1) . (8.41)

L’applicazione della (8.35) al problema test

y! = 0 , y(t0) = y0 , (8.42)

la cui soluzione e y(t) = y0, da luogo all’equazione lineare omogenea alledi!erenze

k!

j=0

#jyn+j = 0 (8.43)

il cui polinomio caratteristico coincide con il primo polinomio caratteris-tico -(µ) del metodo stesso. La soluzione generale yn della (8.43) e dellaforma (8.33) o (8.34) a seconda che le radici µ1, µ2, . . . , µk di -(µ) = 0 siano

Page 215: Calcolo Numerico Completo

216 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

distinte o meno. Si puo verificare che la soluzione numerica della (8.43), perun insieme compatibile di valori iniziali, converge alla soluzione del problemacontinuo (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 zeridel suo polinomio -(µ) non soddisfano la condizione (8.44).

Definizione 8.3.3 Un metodo lineare (8.35) si dice zero-stabile se gli zeridel 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 ecoerente e zero-stabile.

In linea di principio e possibile costruire metodi lineari a k passi fino ad unordine massimo p = 2k determinando le 2k+1 costanti #0, . . . ,#k%1, $0, . . . , $k

in modo che, in base alle (8.39), risulti c0 = c1 = · · · = c2k = 0: tuttavia talimetodi possono risultare non zero-stabili. Sussiste infatti il seguente teoremadetto prima barriera di Dahlquist.

Teorema 8.3.3 Non esistono metodi lineari a k passi zero-stabili di ordinesuperiore 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 costantid’errore.

I metodi di Adams sono caratterizzati da -(µ) = µk % µk%1. Se $k = 0 siha la sottoclasse dei metodi espliciti di Adams-Bashforth; per k = 1 si ha ilmetodo di Eulero (costante di errore c2 = 1/2), mentre per k = 2 risulta

yn+2 % yn+1 =h

2(3fn+1 % fn) , c3 =

5

12.

Se $k )= 0 si ha la sottoclasse dei metodi impliciti di Adams-Moulton; perk = 1 si ha la formula trapezoidale (costante di errore c3 = %1/12), perk = 2 si ottiene

yn+2 % yn+1 =h

12(5fn+2 + 8fn+1 % fn) , c4 = %

1

24.

Page 216: Calcolo Numerico Completo

8.3. METODI A PIU PASSI 217

I metodi BDF (Backward Di!erentiation Formulae) hanno .(µ) = $kµk,sono di ordine p = k e zero-stabili solo per k ' 6. Per esempio, per k = 1, 2, 3si ha rispettivamente

yn+1 % yn = hfn+1 , c2 = %1

2, (8.45)

yn+2 %4

3yn+1 +

1

3yn = h

2

3fn+2 , c3 = %

2

3,

yn+3 %18

11yn+2 +

9

11yn+1 %

2

11yn = h

6

11fn+3, c4 = %

3

22.

La (8.45) e nota come formula di Eulero implicita.Nella classe dei metodi con -(µ) = µk%µk%2 quelli aventi $k = 0 si dicono

metodi di Nystrom; per k = 2 si ottiene la formula del punto centrale

yn+2 % yn = 2hfn+1 , c3 =1

3. (8.46)

Se invece $k )= 0 si hanno i metodi generalizzati di Milne-Simpson; in parti-colare per k = 2 si ha la regola di Simpson

yn+2 % yn =h

3(fn+2 + 4fn+1 + fn) , c5 = %

1

90. (8.47)

I metodi di Newton-Cotes hanno -(µ) = µk % 1; con k = 4 e $k = 0 si ha,per esempio,

yn+4 % yn =4

3h(2fn+3 % fn+2 + 2fn+1) , c5 =

28

90. (8.48)

8.3.3 Metodi a piu passi: assoluta stabilita

Si e visto che la coerenza e la zero-stabilita garantiscono la convergenza diun 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 conun fissato passo h > 0, anche se piccolo, produca errori globali relativamentegrandi.

Cio accade per esempio se si applica al problema test (8.19) la formuladel punto centrale (8.46), che pure e coerente e zero-stabile.

Occorre pertanto definire un concetto di stabilita che garantisca non solola convergenza del metodo per h " 0 ma anche il contenimento degli erroriper un dato h.

Page 217: Calcolo Numerico Completo

218 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Si consideri il caso scalare m = 1.Il metodo (8.35) applicato al problema test (8.19) fornisce

k!

j=0

(#j % q$j)yn+j = 0 . (8.49)

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 simantengano semplici, la soluzione generale della (8.49) e data da

yn =k

!

i=1

diµni (q) , n = 0, 1, . . . , (8.51)

dove di, i = 1, 2, . . . , k, sono costanti arbitrarie.D’altra parte, ponendo nella (8.49) il valore esatto y(tn+j) al posto di

yn+j, per definizione di errore di troncamento locale (vedi la (8.37)) si ha

k!

j=0

(#j % q$j)y(tn+j) = 'n+k ;

sottraendo membro a membro da questa equazione la (8.49) si ottiene

k!

j=0

(#j % q$j)en+j = 'n+k

che puo ritenersi un caso perturbato della (8.49). Ne segue che l’errore globaledi discretizzazione en = y(tn) % yn ha un andamento analogo a quello di yn

e si puo quindi a!ermare che en non cresce, al crescere di n, per i valori di qper cui risulta

| µi(q) |< 1 , i = 1, 2, . . . , k. (8.52)

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

Definizione 8.3.5 L’insieme del piano complesso

SA = {q # C/ | | µi(q) |< 1, i = 1, 2, . . . , k}

si chiama regione di assoluta stabilita del metodo lineare a piu passi.

Page 218: Calcolo Numerico Completo

8.3. METODI A PIU PASSI 219

SA e simmetrico rispetto all’asse reale: infatti se µ" e tale che ,(q, µ") = 0,per la (8.50), risulta anche ,(q, µ") = 0.

Si osservi che si ha limh&0 ,(q, µ) = ,(0, µ) = -(µ); pertanto le radicicaratteristiche µi(q), i = 1, 2, . . . , k, per h " 0 tendono alle radici di -(µ) =0. D’altra parte, una di queste radici, per le condizioni di coerenza (8.41), euguale a 1. Quindi una delle radici µi(q), che si indichera con µ1(q), tende a1 per h " 0 e, a causa della condizione (8.44), essa e unica. A µ1(q) si dail nome di radice principale di ,(q, µ) = 0, perche e quella che nella (8.51)approssima la soluzione y(t) = de!t del problema test.

Le altre radici µ2(q), . . . , µk(q) si chiamano radici spurie o parassite perchenascono dalla sostituzione dell’equazione di!erenziale, del primo ordine, conl’equazione alle di!erenze (8.49), di ordine k, e il loro e!etto e solo quello diaccrescere l’errore.

Per la (8.37) ove si ponga y(t) = e!t ed f(t, y) = %e!t, si ottiene

'n+k = e!tn,(q, eq) = O(hp+1) .

D’altra parte vale l’identita

,(q, µ) = (1 % q$k)(µ % µ1(q))(µ % µ2(q)) · · · (µ % µk(q));

ne segue quindi

,(q, eq) = (1 % q$k)(eq % µ1(q))(e

q % µ2(q)) · · · (eq % µk(q)) = O(hp+1) .

Quando q " 0 l’unico fattore di ,(q, eq) che tende a zero, per quanto dettosopra, 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 su"cientemente piccolo, risulta| µ1(q) |> 1 e quindi q )# SA, cioe l’intersezione di SA con l’asse reale e deltipo ]#, 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 curvedate per ogni valore di k.

Nel teorema seguente sono riuniti i risultati piu significativi della teoriadella stabilita per i metodi a piu passi, avvertendo che anche per questimetodi le definizioni di A0-stabilita e di A-stabilita sono le medesime dateper i metodi di Runge-Kutta (cfr. Definizioni 8.2.7 e 8.2.8).

Page 219: Calcolo Numerico Completo

220 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

−1 0 1 2 3 4 5 6 7−4

−3

−2

−1

0

1

2

3

4

K=3

K=2

K=1

Figura 8.2: Regioni SA delle prime tre fomule BDF.

Teorema 8.3.4 (di Dahlquist)Non esistono metodi lineari a piu passi espliciti A-stabili;l’ordine 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 definizione di assoluta stabilita data nel caso m = 1, si estende inmodo naturale al caso m > 1 considerando il problema test (8.26): si diceora che un metodo a piu passi applicato al problema (8.26) e assolutamentestabile per un dato insieme di valori qi, i = 1, 2, . . . ,m, se e solo se

qi # SA , i = 1, 2, . . . ,m,

dove SA e la regione di assoluta stabilita introdotta con la Definizione 8.3.5.

Page 220: Calcolo Numerico Completo

8.3. METODI A PIU PASSI 221

8.3.4 Metodi di predizione e correzione

In 8.3.2 si e visto che l’uso di un metodo (8.35) di tipo implicito richiede,ad ogni passo, la risoluzione dell’equazione (8.36), che puo essere non lineare.In tal caso l’incognita yn+k viene approssimata con il processo iterativo

z(r+1) = h$kf(tn+k, z(r)) + w , r = 0, 1, . . . .

E chiaro che, ammesso che vi sia convergenza, quanto piu vicina alla soluzionesi sceglie l’approssimazione iniziale z(0), tanto piu piccolo e il numero delleiterazioni necessarie per ottenere una certa accuratezza.

Su quest’idea si basano i cosiddetti metodi di predizione e correzione, neiquali si sceglie z(0) = y"

n+k dove y"n+k si calcola in precedenza con un metodo

esplicito.In questo contesto il metodo esplicito viene detto predittore mentre il

metodo implicito prende il nome di correttore. In quello che segue si fariferimento, per semplicita, al caso in cui predittore e correttore hanno lostesso ordine; inoltre si suppone che il correttore venga usato una sola voltaad ogni passo.

In queste ipotesi, la struttura generale di un metodo di predizione e cor-rezione e quindi data da

y"n+k = %

k%1!

j=0

#"jyn+j + h

k%1!

j=0

$"j fn+j ,

(8.54)

yn+k = %k%1!

j=0

#jyn+j + hk%1!

j=0

$jfn+j + h$kf"n+k ,

dove si e posto f "n+k = f(tn+k, y"

n+k).Si osservi che un metodo di predizione e correzione nella forma (8.54) ha

un costo computazionale non superiore a quello del correttore usato da soloiterativamente.

L’algoritmo (8.54) viene designato con la sigla PEC per indicare le variefasi che costituiscono un passo, cioe

P (Prediction): calcolo di y"n+k mediante il predittore,

E (Evaluation): valutazione del termine f(tn+k, y"n+k),

C (Correction): calcolo di yn+k mediante il correttore.

Page 221: Calcolo Numerico Completo

222 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Al passo successivo si utilizza f(tn+k, y"n+k) nel predittore per dare corso alla

nuova fase P .Una variante e costituita dall’algoritmo PECE in cui compare l’ulteriore

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, y"

n+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 diversada quella del predittore e del correttore supposti usati singolarmente. Siconsideri, ad esempio, il seguente metodo di predizione e correzione in cui ilpredittore e la formula del punto centrale (8.46) e il correttore e la formulatrapezoidale

y"n+2 = yn + 2hfn+1 ,

(8.55)

yn+2 = yn+1 +h

2(fn+1 + f "

n+2) .

La formula del punto centrale non e assolutamente stabile mentre la formulatrapezoidale e A-stabile.Applicato al problema test, il metodo (8.55) diviene

y"n+2 = yn + 2qyn+1 ,

yn+2 = yn+1 +1

2qyn+1 +

1

2qy"

n+2 ,

da cui, eliminando y"n+2, si ottiene

yn+2 %(

1 +1

2q + q2

)

yn+1 %1

2qyn = 0 .

Il metodo (8.55) e dotato di una regione non vuota di assoluta stabilita comesi verifica dalla sua regione SA in Fig 8.3 costituita dai punti interni allaporzione di piano delimitata dalla curva data.

Particolare importanza hanno i metodi di predizione e correzione costruiticon due formule dello stesso ordine: in tal caso si puo avere ad ogni passo unabuona stima della parte principale dell’errore locale di troncamento sia del

Page 222: Calcolo Numerico Completo

8.3. METODI A PIU PASSI 223

−1.5 −1 −0.5 0 0.5

−1.5

−1

−0.5

0

0.5

1

1.5

Figura 8.3: Regione SA del metodo (8.55).

predittore che del correttore. Basandosi sull’assunto che nei membri destridelle (8.54) sia

yn+j = y(tn+j) , j = 0, 1, . . . , k % 1,

tenuto conto della definizione (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) = y"n+k + c"p+1y

(p+1)(tn)hp+1 + O(hp+2) ,

y(tn+k) = yn+k + cp+1y(p+1)(tn)hp+1 + O(hp+2) . (8.56)

Dalle precedenti uguaglianze si ricava la relazione

cp+1y(p+1)(tn)hp+1 =

cp+1

c"p+1 % cp+1(yn+k % y"

n+k) + O(hp+2) (8.57)

che fornisce la detta stima per il correttore e richiede soltanto la conoscenzadel valore predetto e del valore corretto.

Eliminando y(p+1)(tn) tra la (8.57) e la (8.56) si ottiene una ulterioreapprossimazione di y(tn+k) data da

yn+k = yn+k +cp+1

c"p+1 % cp+1(yn+k % y"

n+k) , (8.58)

Page 223: Calcolo Numerico Completo

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 PEC o PECE:ad esempio, usando come predittore la (8.48) e come correttore la (8.47), siottiene il seguente metodo

y"n+4 = yn +

4

3h(2fn+1 % fn+2 + 2fn+3) ,

yn+4 = yn+2 +h

3(fn+2 + 4fn+3 + f "

n+4) , (8.59)

yn+4 = yn+4 %1

29(yn+4 % y"

n+4) .

La stima che si ottiene dalla (8.57) puo servire anche per controllare adogni passo l’entita dell’errore locale, ai fini di una strategia di variazione delpasso. In tal caso si riduce il passo se l’errore e troppo grande e si aumentain caso contrario.

8.3.5 Metodi a piu passi: stabilita relativa

Per tutti i metodi esposti in questo capitolo, l’assoluta stabilita vienedefinita per problemi con soluzioni y(t) tali che limt&+' y(t) = 0, essendoquesto tipo di problema molto frequente nelle applicazioni. Da qui l’uso diproblemi 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&+' (y(t)( = +&, si fariferimento 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&' (yn( = +&e a tale scopo si introduce il concetto di stabilita relativa, per significare chel’errore relativo (yn%y(tn)(

(y(tn)( si mantiene ”accettabile” (cioe piccolo rispetto a

1) al crescere di n. Per esempio, nel caso dei metodi lineari e per m = 1, sipropone, di solito, la seguente definizione.

Page 224: Calcolo Numerico Completo

8.4. PROBLEMI AI LIMITI E BV-METODI 225

Definizione 8.3.6 Il metodo lineare (8.35) si dice relativamente stabile perun dato q #C/ , se, applicato al problema test y! = %y, Re(%) > 0, gli zeri delsuo polinomio di stabilita ,(q, µ) verificano le condizioni

| µi(q) |<| µ1(q) | , i = 2, 3, . . . , k,

dove µ1(q) e la radice principale di ,(q, µ) = 0.

Definizione 8.3.7 L’insieme del piano complesso

SR = {q # C/ | | µi(q) |<| µ1(q) |, i = 2, 3, . . . , k}

si dice regione di relativa stabilita del metodo (8.35).

Si consideri, ad esempio, la formula del punto centrale (8.46): il suopolinomio di stabilita e

,(q, µ) = µ2 % 2qµ % 1 ,

i cui zeri sono µ1(q) = q ++

q2 + 1 e µ2 = q %+

q2 + 1. Poiche | µ1µ2 |= 1,la formula non ha una regione di assoluta stabilita. Tuttavia, limitandosiper semplicita al caso q #IR, risulta µ2(q) < µ1(q) se q > 0: essa, quindi, edotata di un intervallo reale di relativa stabilita coincidente con il semiassepositivo.

Si conclude questa rassegna di metodi per problemi di valori iniziali osser-vando che le proprieta di stabilita qui riportate fanno parte della cosiddettateoria della stabilita lineare, in cui si fa riferimento a problemi test lineari acoe"cienti costanti, ma se ne estendono i risultati a problemi piu generali.

Anche se la stabilita lineare e un requisito necessario, tuttavia essa puorivelarsi 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 conla matrice K dipendente da t oppure non diagonalizzabile. In questi casisarebbe piu appropriata una forma di stabilita non lineare, la cui trattazioneva oltre gli scopi del presente testo ed e reperibile in opere specializzate.

8.4 Problemi ai limiti e BV-metodi

8.4.1 Introduzione

Nell’Esempio 6.8.8 si e considerato un problema continuo per una equa-zione di!erenziale del secondo ordine, che di!erisce da un problema di Cauchy

Page 225: Calcolo Numerico Completo

226 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

per il fatto che la soluzione e assoggettata, invece che ad una condizione in unpunto iniziale, a due condizioni poste agli estremi di un intervallo. Indipen-dentemente dall’ordine dell’equazione di!erenziale, che puo sempre ricondursiad un sistema del primo ordine (cfr. 8.1), i problemi continui con condizioniche coinvolgono i valori della soluzione in piu punti si dicono problemi ailimiti.

La discretizzazione di questi problemi si puo fare mediante un problemaai limiti discreto, cioe costituito da una equazione alle di!erenze di ordine ka cui sono associate condizioni su valori iniziali e valori finali della soluzione.

Piu in generale, un problema ai limiti discreto si puo sempre ottenereda un problema continuo, sia ai limiti che di valori iniziali, applicando unaformula lineare a k passi del tipo (8.35)

k!

j=0

#jyn+j % hk

!

j=0

$jfn+j = 0 . (8.60)

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 neiparagrafi precedenti (cioe quando trasforma un problema continuo di val-ori iniziali in un problema discreto di valori iniziali), allora viene indicatacon la sigla IVM (Initial Value Method). Nel caso dei problemi di valori in-iziali, l’uso dei BVM presenta alcuni notevoli vantaggi rispetto ai tradizionaliIVM. Per esempio il superamento della seconda barriera di Dahlquist (cfr.Teorema 8.3.4) e la maggiore facilita di stima dell’errore globale. I due usidella (8.60) come IVM e come BVM sono schematizzati nella Tavola 8.4.Si noti che esistono anche metodi che riconducono un problema continuo ailimiti ad un equivalente problema di valori iniziali che poi viene discretiz-zato con un IVM. Tali metodi, che qui non sono considerati, sono noti comemetodi shooting.

Problema continuo Metodo Problema discreto

Valori inizialiIVM%" Valori iniziali

0BVM

Valori ai limitiBVM%" Valori ai limiti

Tavola 8.4: Caratterizzazione degli IVM e dei BVM.

Page 226: Calcolo Numerico Completo

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 basee viene associata ad altre formule dello stesso tipo, generalmente implicite econ un numero di passi minore, che si dicono metodi ausiliari. Per delinearecome si impiegano tali formule, si considerera il problema continuo di valoriiniziali: il caso di un problema di valori ai limiti necessita solo di poche esemplici modifiche.Si considera un passo di discretizzazione costante h > 0 sull’intervallo [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, siscrivono N % k + 1 relazioni indipendenti.

Queste N % k + 1 relazioni si possono considerare come un sistema nelleN incognite y1, . . . , yN . Vi sono quindi ancora k % 1 incognite del problemadiscreto 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 ancheil sistema che cosı si ottiene: la soluzione esiste ed e unica per l’indipendenzalineare delle equazioni che lo costituiscono. Tale soluzione si assume comeapprossimazione discreta della soluzione del problema continuo (cfr. 8.5.5)

Se il problema continuo non e lineare, il procedimento ora descritto rimanevalido, ma conduce ad un sistema discreto non lineare. In tal caso si puodimostrare, sotto opportune ipotesi, l’esistenza di una soluzione unica delproblema 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 % 1equazioni date da altrettanti metodi ausiliari. Tali metodi, per motivi che sichiariranno meglio nel paragrafo successivo, sono generalmente organizzatiin due gruppi: k1 % 1 metodi ausiliari ”di testa” da porre come equazioniiniziali del sistema e k2 metodi ausiliari ”di coda” da porre come equazionifinali, con k = k1 + k2. Pertanto il sistema di N equazioni nelle N incognitey1, . . . , yN assume la forma seguente:

*

+

+

+

+

+

+

,

+

+

+

+

+

+

-

$rj=0 #j"yj % h

$rj=0 $j"fj = 0, * = 1, . . . , k1 % 1,

$kj=0 #jy"+j%k1

% h$k

j=0 $jf"+j%k1= 0, * = k1, . . . , N % k2,

$sj=0 #j"yN+j%s % h

$sj=0 $j"fN+j%s = 0, * = N % k2 + 1, . . . , N.

(8.61)

Page 227: Calcolo Numerico Completo

228 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Si noti che nelle prime k1%1 equazioni ausiliarie del sistema sono implicate leincognite 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, piusemplicemente BVMk1k2

.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 dalmetodo base il cui ordine p, per ovvi motivi di omogeneita, e il medesimodelle 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 BVMk1k2sono alquanto

diverse da quelle gia viste per un IVM.Si premettono alcune definizioni.

Definizione 8.4.1 Sia k = k1 + k2 + k3 con k1, k2, k3 interi non negativi.Il polinomio a coe!cienti reali

p(µ) =k

!

j=0

ajµj

si dice del tipo (k1,k2,k3) se ha k1 zeri in modulo minori di 1, k2 zeri inmodulo 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 Neumannquelli del tipo (k1, k%k1, 0) con i k%k1 zeri di modulo 1 tutti semplici, mentresi dicono polinomi conservativi quelli del tipo (0, k, 0).

Definizione 8.4.2 Sia k = k1 + k2 con k1, k2 interi non negativi. Il poli-nomio a coe!cienti reali

p(µ) =k

!

j=0

ajµj

si dice un Sk1k2-polinomio se per i suoi zeri risulta

|µ1| ' |µ2| ' . . . |µk1| < 1 < |µk1+1| ' . . . ' |µk|,

mentre si dice un Nk1k2-polinomio se

|µ1| ' |µ2| ' . . . |µk1| ' 1 < |µk1+1| ' . . . ' |µk|

e gli zeri di modulo unitario sono semplici.

Page 228: Calcolo Numerico Completo

8.4. PROBLEMI AI LIMITI E BV-METODI 229

Si osservi che un Sk1k2-polinomio e del tipo (k1, 0, k % k1) e quindi un Sk0-

polinomio e un polinomio di Schur, mentre un Nk0-polinomio e un polinomiodi Von Neumann.Di conseguenza un metodo lineare a k passi usato come IVM e zero-stabilese il suo polinomio caratteristico -(µ) e un polinomio di Von Neumann(ovvero un Nk0-polinomio) mentre e assolutamente stabile se ,(q, µ) e unpolinomio del tipo (k, 0, 0) (ovvero un polinomio di Schur, ovvero ancora unSk0-polinomio).

Per la zero-stabilita di un IVM si e fatto riferimento al problema testy! = 0, y(t0) = y0. Ma lo stesso risultato si ottiene assumendo in un metodoa k passi h = 0. In questo senso la zero-stabilita e una stabilita asintoticaper h che tende a 0. Un analogo concetto puo essere dato nel caso di unBVMk1k2

. Precisamente vale il seguente risultato.

Teorema 8.4.1 Un metodo BVMk1k2e convergente nel senso che

( y(tn) % yn (= O(hp)

se -(1) = 0, -!(1) = .(1) (coerenza) e se -(µ) e un Nk1k2-polinomio.

Cio conduce alla seguente definizione.

Definizione 8.4.3 Un BVMk1k2si dice 0k1k2

-stabile se il corrispondente poli-nomio -(z) e un Nk1k2

-polinomio.

Quindi coerenza e 0k1k2-stabilita sono condizioni su"cienti, ma non anche

necessarie come nel caso di un IVM (cfr. Teorema 8.3.2), per la convergenzadi un BVMk1k2

.Si esamina ora la assoluta stabilita di un BVMk1k2

, cioe nel caso di h fisso.Si consideri il problema test

y!(t) = %y(t), y(t0) = y0, % # C/ , Re(%) < 0

gia utilizzato per studiare l’assoluta stabilita di un metodo di Runge-Kuttae di un IVM.Il problema, quindi, e quello di approssimare con un BVMk1k2

la soluzioney(tn) = y0e!(nh) = y0(eq)n.Vale il seguente teorema.

Page 229: Calcolo Numerico Completo

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 definizione di Assoluta stabilita perun BVMk1k2

Definizione 8.4.4 Un BVMk1k2si dice (k1, k2)-Assolutamente stabile per un

dato q se il polinomio ,(q, µ) e del tipo (k1, 0, k2), cioe un Sk1k2-polinomio.

Definizione 8.4.5 La regione del piano complesso

SAk1k2= {q # C/ |,(q, µ)e del tipo (k1, 0, k2)}

si dice regione di (k1, k2)-Assoluta stabilita.

Si noti che se k2 = 0 queste definizioni coincidono con quelle ordinarie perIVM.

Definizione 8.4.6 Un BVMk1k2si dice Ak1k2

-stabile se

SAk1k2, {q # C/ |Re(q) < 0}.

Per illustrare come una medesima formula possa avere comportamenti di-versi se usata come IVM o BVMk1k2

si consideri la formula del punto centrale(8.46) per la quale risulta -(µ) = µ2%1 e ,(q, µ) = µ2(q)%2qµ(q)%1. Comegia 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 formulanon 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 perRe(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 consistenell’esistenza di metodi Ak1k2

-stabili di ordine 2k, cioe del massimo ordine

Page 230: Calcolo Numerico Completo

8.4. PROBLEMI AI LIMITI E BV-METODI 231

possibile per formule lineari a k passi: cio esclude di fatto ogni barrierad’ordine per metodi BVMk1k2

stabili.Di seguito si forniscono tre esempi di metodi Ak1k2

-stabili: altri possonoessere trovati nel testo Brugnano-Trigiante [4].

Metodo ETR (Extended Trapezoidal Rule),p=4, k1 = 2, k2 = 1:

*

+

+

+

+

+

+

,

+

+

+

+

+

+

-

y1 % y0 = h24(f3 % 5f2 + 19f1 + 9f0),

yn % yn%1 = h24(%fn+1 + 13fn + 13fn%1 % fn%2), n = 2, . . . , N % 1,

yN % yN%1 = h24(fN%3 % 5fN%2 + 19fN%1 + 9fN).

Metodo GAM (Generalized Adams Method),p=5, k1 = 2, k2 = 2:*

+

+

+

+

+

+

+

+

+

+

+

+

+

+

,

+

+

+

+

+

+

+

+

+

+

+

+

+

+

-

y1 % y0 = h720(%19f4 + 106f3 % 264f2 + 646f1 + 251f0),

yn % yn%1 = h720(%19fn%2 + 346fn%1 + 456fn % 74fn+1 + 11fn+2),

n = 2, . . . , N % 1,

yN % yN%1 = h720(%19fN+1 + 346fN + 456fN%1 % 74fN%2 + 11fN%3),

yN+1 % yN = h720(%19fN%3 + 106fN%2 % 264fN%1 + 646fN + 251fN+1).

Metodo TOM (Top Order Method),p=6, k1 = 2, k2 = 1:

*

+

+

+

+

+

+

+

+

+

+

+

+

,

+

+

+

+

+

+

+

+

+

+

+

+

-

y1 % y0 = h1440(27f5 % 173f4 + 482f3 % 798f2 + 1427f1 + 475f0),

160(11yn+1 + 27yn % 27yn%1 % 11yn%2) =

h20(fn+1 + 9fn + 9fn%1 + fn%2), n = 2, . . . , N % 1,

yN % yN%1 =h

1440(27fN%5 % 173fN%4 + 482fN%3 % 798fN%2 + 1427fN%1 + 475fN).

Si osservi che la formula trapezoidale

yn+1 % yn =h

2(fn+1 + fn),

Page 231: Calcolo Numerico Completo

232 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

che e A-stabile se usata come IVM, risulta essere A10-stabile come BVM, cioee 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, conn = 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 coe"cienti in IRm, cheapprossimi la soluzione sull’intervallo [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 definito univocamente dallecondizioni

u(tn) = yn , (8.62)

u!(tn + cih) = f(tn + cih, u(tn + cih)), i = 1, 2, . . . , s . (8.63)

Si assume come soluzione numerica della equazione di!erenziale nel puntotn+1 il valore

yn+1 = u(tn + h) . (8.64)

Il metodo di collocazione (8.62)-(8.63) e equivalente ad un metodo diRunge-Kutta implicito ad s stadi ove si ponga

aij =% ci

0lj(')d' , bj =

% 1

0lj(')d' , i, j = 1, 2, . . . , s, (8.65)

essendo

lj(') =(' % c1) · · · (' % cj%1)(' % cj+1) · · · (' % cs)

(cj % c1) · · · (cj % cj%1)(cj % cj+1) · · · (cj % cs), j = 1, 2, . . . , s,

i polinomi fondamentali della interpolazione di Lagrange relativi ai puntic1, c2, . . . , cs. Infatti, poiche il polinomio u!(tn + 'h) si puo scrivere comepolinomio di interpolazione relativo ai detti punti, posto

ki = u!(tn + cih) , (8.66)

Page 232: Calcolo Numerico Completo

8.5. COMPLEMENTI ED ESEMPI 233

si ha (cfr. 6.2)

u!(tn + 'h) =s

!

j=1

lj(')kj ;

integrando entrambi i membri, rispetto a t, sugli intervalli [tn, tn + cih], i =1, 2, . . . , s e [tn, tn+1], si ottiene rispettivamente

u(tn + cih) = u(tn) + hs

!

j=1

(% ci

0lj(')d'

)

kj , i = 1, 2, . . . , s, (8.67)

e

u(tn + h) = u(tn) + hs

!

j=1

(% 1

0lj(')d'

)

kj . (8.68)

La (8.68) si puo anche scrivere, tenendo conto delle (8.64), (8.62) e (8.65),

yn+1 = yn + hs

!

j=1

bjkj ,

mentre l’equazione (8.63), utilizzando nel primo membro la (8.66) e nel se-condo la (8.67), diventa

ki = f(tn + cih, yn + hs

!

j=1

aijkj) , i = 1, 2, . . . , s.

8.5.2 Sulla stabilita e l’ordine dei metodi di

Runge-Kutta

Esempio 8.5.1 Si vuole studiare la stabilita e calcolare l’ordine del seguentemetodo di Runge-Kutta semi-implicito

A =

.

/

/

/

0

1/s 0 · · · 01/s 1/s · · · 0· · · · · · · · · · · ·1/s 1/s · · · 1/s

1

2

2

2

3

, b =

.

/

/

/

/

0

1/s1/s...

1/s

1

2

2

2

2

3

, c # IRs .

Si verifica che

I % qA =

.

/

/

/

0

1 % q/s 0 · · · 0%q/s 1 % q/s · · · 0· · · · · · · · · · · ·

%q/s %q/s · · · 1 % q/s

1

2

2

2

3

Page 233: Calcolo Numerico Completo

234 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

e

I % qA + qubT =

.

/

/

/

0

1 q/s · · · q/s0 1 · · · q/s· · · · · · · · · · · ·0 0 · · · 1

1

2

2

2

3

.

Segue, dalla (8.24),

R(q) =1

(1 % q/s)s. (8.69)

Il metodo, quindi, e A-stabile.Il calcolo dell’ordine puo essere fatto in base alla (8.25). Sviluppando in

serie di Taylor R(q) si ottiene

R(q) = 1 + q +s + 1

2sq2 + O(q3) .

Confrontando con la serie esponenziale si trova

eq % R(q) = %1

2sq2 + O(q3) ,

da cui, essendo q = h%, si ha p = 1.Si osservi che, dalla (8.69), risulta

lims&'

R(q) = eq .

Esempio 8.5.2 Si vuole determinare l’ordine del metodo semi-implicito

0 0 0 01/2 1/4 1/4 01 0 1 0

1/6 4/6 1/6

e calcolare un passo h idoneo ad approssimare, con tale metodo, la soluzionedel problema

y! = Ky

Page 234: Calcolo Numerico Completo

8.5. COMPLEMENTI ED ESEMPI 235

dove

K =

.

/

/

/

/

/

0

%4 1

1. . . . . .. . . . . . 1

1 %4

1

2

2

2

2

2

3

# IRm#m .

Dalla (8.24) si ottiene

R(q) =1 + 3

4q + 14q

2 + 124q

3

1 % 14q

.

Pertanto risulta (cfr. Tavola 8.3) R(q) = R31(q): da cio e dalle (8.25) e (8.30)

si ricava che l’ordine 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.

D’altro canto si verifica che | R(q) |< 1 se q #] % 5.42, 0[. Segue che lacondizione (8.28) e soddisfatta se h < %5.42

%6 * 0.9.Si osservi infine che, nell’applicazione del metodo al problema dato, k1 si

calcola direttamente e cosı k3, una volta noto k2. Il calcolo di k2 richiede larisoluzione del sistema lineare

(I %1

4hK)k2 = Kyn +

1

4hKk1 .

Poiche gli autovalori di I % 14hK sono dati da 1 % 1

4h%i, i = 1, 2, . . . ,m,(cfr. Teorema 2.7.6) ed essendo %i < 0, i = 1, 2, . . . ,m, risulta sicuramentedet(I % 1

4hK) )= 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 coe"cienti mediante le condizioni di ordine (8.39)e imponendo che l’ordine p risulti massimo, compatibilmente con la con-dizione di zero-stabilita.

Page 235: Calcolo Numerico Completo

236 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

Esempio 8.5.3 Si vogliono determinare i coe"cienti della formula BDF adue passi

#0yn + #1yn+1 + #2yn+2 = h$2fn+2 .

Per definizione #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 egarantita se | #0 |< 1 oppure #0 = %1. L’ordine massimo si ottiene scegliendo#0 in modo che risulti c2 = 0. Dalle (8.39) con r = 2 si ha c2 = %1

2 + 32#0 da

cui #0 = 13 .

Allo stesso risultato si giunge, in virtu della (8.40), osservando che per unmetodo di ordine p l’errore locale di troncamento e nullo se y(t) = tr, r =0, 1, . . . , p, e quindi, utilizzando la (8.37), scrivendo p + 1 relazioni linearinelle incognite #j, $j.

Il polinomio di stabilita del metodo e ,(q, µ) ="

1 % 23q

#

µ2 % 43µ+ 1

3 i cuizeri sono

µ1 =2 +

+1 + 2q

3 % 2q, µ2 =

2 %+

1 + 2q

3 % 2q.

Limitandosi al caso q #IR, con semplici calcoli, si trova che il metodo eassolutamente stabile su tutto l’asse reale ad eccezione dell’intervallo [0, 4] (ilmetodo, quindi, e A0-stabile e si puo, poi, dimostrare che e anche A-stabile),mentre e relativamente stabile per q > %1

2 .

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 dipredizione e correzione sono, in genere, diverse da quelle dei metodi che locompongono. 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 quelladel correttore.

Esempio 8.5.4 Si consideri il metodo (8.59) senza la correzione di Milne.Il polinomio di stabilita del predittore e

,"(q, µ) = µ4 %8

3qµ3 +

4

3qµ2 %

8

3qµ % 1 .

Page 236: Calcolo Numerico Completo

8.5. COMPLEMENTI ED ESEMPI 237

Poiche gli zeri di ,"(q, µ) verificano 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

,(q, µ) =(

1 %1

3q)

µ2 %4

3qµ %

(

1 +1

3q)

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 correttoresono assolutamente stabili.

Il polinomio di stabilita del metodo di predizione e correzione definito daidue metodi e (cfr. la procedura gia adottata per il metodo (8.55))

,(q, µ) = µ4 %(

8

9q2 +

4

3q)

µ3 +(

4

9q2 %

1

3q % 1

)

µ2 %8

9q2µ %

1

3q .

Limitandosi per semplicita al caso q #IR, si verifica che il metodo e asso-lutamente stabile per q = %1

2 . Posto P0(µ) = ,"

%12 , µ

#

, se ne consideri la

successione di Sturm (cfr. Definizione e Teorema 4.7.1)

P0(µ) = µ4 + 49µ

3 % 1318µ

2 % 29µ + 1

6 ,

P1(µ) = µ3 + 13µ

2 % 1336µ % 1

18 ,

P2(µ) = µ2 + 41129µ % 56

129 ,

P3(µ) = µ + 1625164 ,

P4(µ) = costante < 0.

Poiche risulta V (%&) % V (0) = 0 e V (0) % V (+&) = 2, il polinomio

,"

%12 , µ

#

ha due zeri reali e positivi e due complessi coniugati. Per glizeri 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 larelazione µ1µ2-2 = 1

6 (cfr. ancora la (4.50) con i = m) e quindi, poiche0.24 < µ1µ2 < 0.35, risulta -2 < 1.

Uno studio piu completo di ,(q, µ) mostra che il metodo in esame e dotatodell’intervallo reale di assoluta stabilita ] % 0.8,%0.3[.

Un altro caso di miglioramento della stabilita e fornito dal metodo diHermite

yn+2 = %4yn+1 + 5yn + h(4fn+1 + 2fn) ,

Page 237: Calcolo Numerico Completo

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 cuiestremi 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 BVMk1k2, seguendo quanto detto in 8.4.2, si ponga t0 = a,

tN = b ed h = b%aN . L’intero N puo essere fissato in base all’accuratezza che

si vuole ottenere, tenendo conto che, se il metodo base prescelto e di ordinep, il BVMk1k2

produce errori dell’ordine di grandezza di hp ="

b%aN

#p.

Essendo p(t) < 0 conviene usare un metodo base Ak1k2-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 finale, quale, adesempio, 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

G =

.

/

/

/

/

/

/

/

0

%2hp(t1) 1%1 %2hp(t2) 1

. . . . . . . . .%1 %2hp(tN%1) 1

%1 1 % hp(tN)

1

2

2

2

2

2

2

2

3

,

y =

.

/

/

/

/

/

/

/

0

y1

y2...

yN%1

yN

1

2

2

2

2

2

2

2

3

, c =

.

/

/

/

/

/

/

/

0

2hq(t1) + y0

2hq(t2)...

2hq(tN%1)hq(tN)

1

2

2

2

2

2

2

2

3

.

Page 238: Calcolo Numerico Completo

8.5. COMPLEMENTI ED ESEMPI 239

Invece di un problema di valori iniziali, si consideri ora il problema ailimiti 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 inquesto caso e Gy = c dove

G =

.

/

/

/

/

/

/

/

0

%2hp(t1) 1 $/#%1 %2hp(t2) 1

. . . . . . . . .%1 %2hp(tN%1) 1

%1 1 % hp(tN)

1

2

2

2

2

2

2

2

3

,

y =

.

/

/

/

/

/

/

/

0

y1

y2...

yN%1

yN

1

2

2

2

2

2

2

2

3

, c =

.

/

/

/

/

/

/

/

0

2hq(t1)2hq(t2)

...2hq(tN%1)

hq(tN)

1

2

2

2

2

2

2

2

3

.

Esempio 8.5.6 Si consideri la formula

yn+1 % yn = h(5

12fn +

8

12fn+1 %

1

12fn+2).

Se ne studia la stabilita come BVM.Si considera il problema test y! = %y, per semplicita, solo nel caso reale, cioe0 > % #IR. Il polinomio di stabilita della formula e

,(q, µ) =1

12qµ2 + (1 %

2

3q)µ % (1 +

5

12q).

Gli zeri sono quindi

µ1(q) = (%1 +2

3q +

+#)/(

1

6q), µ2(q) = (%1 +

2

3q %

+#)/(

1

6q),

Page 239: Calcolo Numerico Completo

240 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

avendo posto # = 712q

2 % q + 1. Si verifica facilmente che

|µ1(q)| < 1 < |µ2(q)|, limq&0#

µ1(q) = 1,

per cui µ1(q) e la radice principale, k1 = k2 = 1 e la formula usata comemetodo base in un BVM e A11-stabile.Si trova poi c4 = 1

24 e quindi p = 3. Avendosi k1 % 1 = 0 e k2 = 1 occorreun metodo ausiliario ”di coda”. Allo scopo si puo usare la formula del terzoordine

yn+2 % yn+1 = h(%1

12fn +

8

12fn+1 +

5

12fn+2),

per la quale si ha c4 = % 124 .

Il sistema, riferito al problema y! = f(t, y), y(t0) = y0, risulta quindi essere

*

+

+

+

+

+

+

+

+

,

+

+

+

+

+

+

+

+

-

y1 % 812hf1 + 1

12hf2 % y0 % 512hf0 = 0

%y1 % 512hf1 + y2 % 8

12hf2 + 112hf3 = 0

%y2 % 512hf2 + y3 % 8

12hf3 + 112hf4 = 0

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .%yN%2 % 5

12hfN%2 + yN%1 % 812hfN%1 + 1

12hfN = 0112hfN%2 % yN%1 % 8

12hfN%1 + yN % 512hfN = 0

.

La sua risoluzione numerica puo essere e!ettuata con il metodo di Newton.Alternativamente si osserva che tale sistema e, in realta, semilineare in quantole incognite y1, y2, . . . , yN si presentano sia in forma lineare sia coinvolte nonlinearmente come argomento della funzione f. Si verifica subito che il sistemasi lascia scrivere nella forma

By = hF (y) + c,

dove:

B =

.

/

/

/

/

0

1%1 1

. . . . . .%1 1

1

2

2

2

2

3

,

il vettore delle incognite e

y = (yT1 , yT

2 , . . . , yTN)T ,

Page 240: Calcolo Numerico Completo

8.5. COMPLEMENTI ED ESEMPI 241

le componenti del vettore F (y) sono

F1(y) = 812f1 % 1

12f2,Fi+1(y) = 5

12fi + 812fi+1 % 1

12fi+2, i = 1, 2, . . . , N % 2,FN(y) = % 1

12fN%2 + 812fN%1 + 5

12fN ,

e il vettore dei dei termini noti e dato da

c = ((y0 + h5

12f0)

T , 0T , . . . , 0T )T .

Resta quindi definito il procedimento iterativo

y(s+1) = hB%1F (y(s)) + B%1c, s = 0, 1, . . . ,

essendo, come si riscontra immediatamente, la matrice inversa di B triango-lare inferiore data da

B%1 =

.

/

/

/

0

1 0 . . . 01 1 . . . . . .. . . . . . . . . . . .1 1 . . . 1

1

2

2

2

3

.

Per h su"cientemente piccolo, in virtu del Teorema 4.6.1, tale procedimentorisulta convergente e pertanto puo adottarsi il criterio di arrestare le iterazioniallorche (y(s+1) % y(s)( ' / con / opportunamente prefissato.

Esempio 8.5.7 La formula trapezoidale, yn+1 % yn = h2 (fn+1 + fn), come si

e osservato alla fine 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) #IRm#m, ponendo K(tn) = Kn, il metodo si puo scrivere

yn +1

2hKnyn % yn+1 +

1

2hKn+1yn+1 = 0, n = 0, 1, . . . , N % 1.

Introducendo il vettore delle incognite y = (yT1 , yT

2 , . . . , yTN)T , il vettore dei

termini noti c = ((%y0 % 12hK0y0)T , 0T , . . . , 0T )T e la matrice

G =

.

/

/

/

/

0

%I + 12hK1

I + 12hK1 %I + 1

2hK2

. . . . . .I + 1

2hKN%1 %I + 12hKN

1

2

2

2

2

3

,

Page 241: Calcolo Numerico Completo

242 CAPITOLO 8. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE

si e condotti alla risoluzione del sistema lineare Gy = c.Si osserva poi che

det(G) = det(%I +1

2hK1) · · · det(%I +

1

2hKN),

per cui limh&0 |det(G)| = 1. Ne segue che per h su"cientemente piccolo (eK(t) su"cientemente regolare) il sistema ha un’unica soluzione.Si supponga ora K(t) = K = costante. Risulta

det(G) = [det(%I +1

2hK)]N = [(%1 +

1

2h%1) · · · (%1 +

1

2h%m)]N ,

essendo %1, . . . ,%m gli autovalori di K. Pertanto se gli autovalori sono realinon positivi o complessi si ha det(G) )= 0 per qualunque valore di h. Se visono autovalori reali e positivi si potra assumere h < 2/-(K).

Bibliografia: [4], [3], [6], [8], [16], [17], [18], [20], [21], [22], [24].

Page 242: Calcolo Numerico Completo

Bibliografia

[1] R.Bevilacqua, D.Bini, M.Capovani, O.Menchi, Metodi Numerici,Zanichelli, Bologna, 1992.

[2] D.Bini, M.Capovani, O.Menchi, Metodi Numerici per l’Algebra Lineare,Zanichelli, Bologna, 1988.

[3] J.C.Butcher, The Numerical Analysis of Ordinary Di!erential Equa-tions: Runge-Kutta and General Linear Methods, John Wiley & Sons,Chichester, 1987.

[4] L.Brugnano, D.Trigiante, Solving Di!erential Problems by Multistep Ini-tial and Boundary Value Methods, Gordon and Breach Science Publish-ers, 1998.

[5] V.Comincioli, Analisi Numerica, Metodi, Modelli, Applicazioni,McGraw-Hill, Milano, 1990.

[6] G.Dahlquist, Convergence and Stability in the Numerical Integration ofOrdinary Di!erential Equations, Math. Scand., 4 (1956), 33-53.

[7] P.J.Davis, P.Rabinovitz, Methods of Numerical Integration, AcademicPress, London, 1975.

[8] K.Dekker, J.G.Verwer, Stability of Runge-Kutta Methods for Sti! Non-linear Di!erential Equations, North-Holland, New York, 1984.

[9] H.Engels, Numerical Quadrature and Cubature, Academic Press, NewYork, 1953.

[10] F.Fontanella, A.Pasquali, Calcolo Numerico. Metodi e Algoritmi, vol. Ie II. Pitagora Editrice, Bologna, 1982.

Page 243: Calcolo Numerico Completo

244 BIBLIOGRAFIA

[11] I.Galligani, Elementi di Analisi Numerica, Calderini, Bologna, 1987.

[12] G.Gambolati, Lezioni di Metodi Numerici, Edizioni Libreria Cortina,Padova, 1994.

[13] F.R.Gantmacher, The Theory of Matrices, vol. I e II. Chelsea, New York,1959

[14] P.Ghelardoni, G.Lombardi, R.Rebaudo, Calcoli Numerici, Editrice Tec-nico Scientifica, Pisa, 1989.

[15] G.H.Golub, C.F.Van Loan, Matrix Computations, The Johns HopkinsUniversity Press, Baltimore, Maryland, 1983.

[16] E.Hairer, S.P.Nørsett, G.Wanner, Solving Ordinary Di!erential Equa-tions I. Nonsti! Problems, Springer-Verlag, Berlin, 1993.

[17] E.Hairer, G.Wanner, Solving Ordinary Di!erential Equations II. Sti!and Di!erential-Algebraic Problems, Springer-Verlag, Berlin, 1996.

[18] P.Henrici, Discrete Variable Methods in Ordinary Di!erential Equations,John Wiley & Sons, New York, 1962.

[19] E.Isaacson, H.Keller, Analysis of Numerical Methods, John Wiley &Sons, New York, 1966.

[20] V.Lakshmikantham, D.Trigiante, Di!erence Equations with Applicationto Numerical Analysis, Academic Press, New York, 1988.

[21] J.D.Lambert, Numerical Methods for Ordinary Di!erential Systems.The Initial Value Problem, John Wiley & Sons, Chichester, 1991.

[22] P.Marzulli, D.Trigiante, Stability and Convergence of Boundary ValueMethods for Solving ODE, Jour. of Di!erence Eq. and Appl., 1 (1995),45-55.

[23] G.Monegato, Fondamenti di Calcolo Numerico, Levrotto-Bella, Torino,1990.

[24] F.W.Olver, Numerical Solution of Second Order Linear Di!erentialEquations, Jour. of Reas. NBS 71B (1967), 111-129.

Page 244: Calcolo Numerico Completo

BIBLIOGRAFIA 245

[25] J.M.Ortega, W.C.Rheinboldt, Iterative Solution of Nonlinear Equationsin Several Variables, Academic Press, New York, 1970.

[26] L.Pasquini, D.Trigiante, A Globally Convergent Method for Simultane-ously Finding Polynomial Roots, Math. Comp., 44 (1985), 135-149.

[27] H.R.Schwarz, Numerical Analysis: A Comprehensive Introduction, JohnWiley & Sons, Chichester UK, 1989.

[28] P.H.Sterbenz, Floating-Point Computation, Prentice Hall, EnglewoodCli!s, New York, 1974.

[29] J.Stoer, R.Bulirsch, Introduzione all’Analisi Numerica, vol. I e II.Zanichelli, Bologna, 1975.

[30] A.H.Stroud, Don Secrest, Gaussian Quadrature Formulas, Prentice-Hall, Englewood Cli!s, New Jersey, 1966.

[31] J.H.Wilkinson, The Algebraic Eigenvalue Problem, Clarendon Press, Ox-ford, 1965.

[32] D.M.Young, Iterative Solution of Large Linear Systems, Academic Press,New York, 1971.