Sei sulla pagina 1di 78

IMPORTANTE: Premessa alluso della dispensa

Questa dispensa `e concepita per raccogliere in modo molto conciso solo gli
argomenti oggetto del corso, che pur essendo sicuramente trattati in ogni libro
istituzionale di Analisi Numerica, Calcolo Numerico, Introduzione al Calcolo
Scientico..., potrebbero esserlo con enfasi diversa da quella che viene loro assegnata allinterno di questa dispensa.
Un punto che deve essere chiaro a chi utilizza questa dispensa `e che essa
non `e assolutamente sostitutiva di un buon libro di testo. Si tratta infatti di
materiale privo di molti approfondimenti, presentato in modo molto sintetico,
spesso in forma schematica, e suciente a preparare lesame a patto di integrarlo
con la frequenza alle lezioni. Inoltre, ovviamente, molti contenuti dellAnalisi
Numerica non sono neppure trattati.
Utilizzare questo materiale didattico signica dunque assumersi la responsabilit`
a di integrarlo con gli appunti delle lezioni, con colloqui con il docente per
chiarimenti ed approfondimenti, ed eventualmente anche con altro materiale
reperibile su links segnalati e con testi adeguati, scelti per esempio fra quelli
indicati nella bibliograa del corso.

Introduzione al corso
Scopo del calcolo numerico.
La matematica numerica `e quel ramo della matematica che propone, sviluppa,
analizza ed applica metodi per il calcolo scientico nel contesto di vari campi,
quali lanalisi, lalgebra lineare, la geometria, la teoria dellapprossimazione, la
teoria delle equazioni funzionali, lottimizzazione, le equazioni dierenziali. Anche altre discipline, come la sica, le scienze naturali e biologiche, lingegneria,
leconomia e la nanza, frequentemente originano problemi che richiedono di
essere risolti ricorrendo al calcolo scientico.
La matematica numerica `e pertanto situata alla conuenza di diverse discipline di grande rilievo nelle moderne scienze applicate, e ne diventa strumento
essenziale di indagine qualitativa e quantitativa. Tale ruolo decisivo `e pure accentuato dallo sviluppo impetuoso ed inarrestabile di computer ed algoritmi,
che rendono oggi possibile arontare con il calcolo scientico problemi di dimensioni tanto elevate da consentire la simulazione di fenomeni reali, fornendo
risposte apprezzabili per accuratezza e tempo di calcolo. La corrispondente
proliferazione di software numerico, se per un verso rappresenta una ricchezza,
per laltro pone spesso lutilizzatore nella condizione di doversi orientare correttamente nella scelta del metodo (o dellalgoritmo) pi`
u ecace per arontare il
` infatti evidente che non esistono metodi o algoritmi
problema di suo interesse. E
ecaci ed accurati per ogni tipo di problema.
[A. Quarteroni, R. Sacco e F. Saleri, Matematica Numerica, Springer-Verlag
Italia, Milano 2000 - Prefazione]
Problema ben posto, numero di condizionamento di un problema,
problema numerico.
Problema sico

Problema matematico P (d, u) = 0

Problema numerico Pn (dn , un ) = 0


Si consideri il problema seguente: trovare u tale che
P (d, u) = 0,
dove d `e linsieme dei dati da cui dipende la soluzione u, e P esprime la relazione
funzionale tra u e d. A seconda del tipo di problema rappresentato, le variabili
u e d potranno esprimere numeri reali, vettori o funzioni.
Un metodo numerico per la risoluzione approssimata del problema matematico consister`a, in generale, nel costruire una successione di problemi approssimati del tipo
Pn (dn , un ) = 0, n 1,
2

oppure,
Ph (dh , uh ) = 0, h > 0,
dipendenti da un certo parametro n (risp. h), con la speranza che un u per
n , (risp. uh u per h 0), ovvero la soluzione del problema numerico
sia convergente alla soluzione del problema matematico.
Si dice che il problema matematico P (d, u) = 0 `e ben posto se, per un certo
dato d, la corrispondente soluzione u esiste ed `e unica e dipende con continuit`a
dai dati. Useremo il termine ben posto e stabile in maniera intercambiabile e ci
occuperemo in questo corso solo di problemi ben posti.
La dipendenza continua dai dati signica che piccole perturbazioni (variazioni) sui dati d producono piccole perturbazioni nella soluzione u. Per quanticare la misura della dipendenza continua dai dati, introduciamo il concetto
di numero di condizionamento di un problema. Per semplicit`a ci riferiamo al
caso pi`
u semplice di problema matematico, che `e il calcolo di una funzione
f : [a, b] R in un punto x0 ssato. Dunque:
d := x0 , u := f (x0 ), d, u R.
Consideriamo lo sviluppo di Taylor, arrestato al primo ordine, della funzione
f in x con centro in x0 , ovviamente nelle opportune ipotesi di regolarit`a della
funzione assegnata:
f (x) = f (x0 ) + (x x0 )f (x0 ) + ...
f (x) f (x ) x0 f (x0 ) x x



0
0




x
0
f (x0 )
f (x0 )
Si osservi che le quantit`
a
f (x0 ) :=

f (x) f (x0 )
,
f (x0 )

x0 :=

x x0
x0

rappresentano rispettivamente la variazione relativa della soluzione u := f (x0 )


e la variazione relativa del dato d := x0 . Dunque si pu`o assumere come
numero di condizionamento del calcolo di una funzione f nel punto x0 la quantit`
a
x f (x )
0
0
Kf (x0 ) :=
,
f (x0 )
che esprime appunto una misura di quanto la variazione relativa sul dato, (cio`e
x0 ), viene amplicato nel calcolo di f (x0 ). In altre parole la quantit`a Kf (x0 )
esprime il rapporto tra la variazione relativa subita dalla soluzione, cio`e f (x0 ),
e la variazione relativa introdotta nel dato, cio`e x0 .
In analogia a quanto detto per il problema matematico, anch`e il problema
numerico sia a sua volta ben posto o stabile richiederemo che per ogni n (risp.
3

h) ssato la soluzione un (risp. uh ) in corrispondenza del dato dn (risp. dh )


esista, sia unica e dipenda con continuit`a dai dati del problema numerico.
Esercizio.
Si consideri lequazione di secondo grado
x2 2p x + 1 = 0,
e la formula risolutiva
x=p

p 1,

p2 1.

Consideriamo il condizionamento del problema del calcolo delle due radici al


variare di p 1:

x+ = p + p2 1, x = p p2 1
denito da
dx+
p

dp
K+ (p) =
,
x+
con

Si ottiene:

dx

p
dp
K (p) =

x
dx
p
.
=1
2
dp
p 1

dx+
p
,
=1+
2
dp
p 1





p2 1 + p
1
p

K+ (p) = p
;
=
2
2
2


p 1 p+ p 1
p 1




p2 1 p
1
p

K (p) = p
.
=

p2 1 p p2 1
p2 1

Studiando la funzione K(p) = K+ (p) = K (p) per p > 1, si ha:


lim K(p) = +,

p1+

lim K(p) = 1,

p+

K (p) =

1
p2 1

< 0, p > 1.

Il problema del calcolo delle radici dellequazione di secondo grado considerata


risulta dunque tanto pi`
u malcondizionato quanto pi`
u p `e vicino a 1, cio`e quanto
pi`
u le due radici sono vicine.
In generale si pu`o dimostrare che il problema del calcolo delle radici di unequazione
di secondo grado qualsiasi `e ben condizionato se le due radici sono separate,
ed `e mal condizionato se le due radici sono vicine.
Classicazione degli errori.
Nel passaggio dal problema sico al problema numerico lerrore globale prodotto
`e espresso dalla dierenza fra la soluzione eettivamente calcolata dal problema numerico e la soluzione del problema sico di partenza. In questottica
4

lerrore globale pu`o essere visto come somma dellerrore del modello matematico
(prodotto nel passaggio dal problema sico al problema matematico) e dellerrore
del modello numerico-computazionale (prodotto nel passaggio dal problema matematico al problema numerico).
In generale possiamo pensare di classicare gli errori in quattro insiemi:
1) Errori sui dati, riducibili aumentando laccuratezza nelle misurazioni dei
dati.
2) Errori dovuti al modello, controllabili nella fase propria della modellistica
matematica, nel passaggio dal problema sico al problema matematico.
3) Errori di troncamento, dovuti al fatto che nel modello numerico le operazioni di passaggio al limite vengono approssimate con operazioni che
necessariamente richiedono un numero finito di operazioni (passaggio dal
continuo al discreto).
4) Errori di arrotondamento, dovuti alla rappresentazione nita dei numeri
reali sul calcolatore.
Lanalisi numerica si occupa dello studio e del controllo degli errori 3 e 4.

Rappresentazione dei numeri sul calcolatore


x R x oat(x) = {(.a1 a2 ...at ) e } {0} (numero macchina)
: segno di x.
: base della rappresentazione.
e: esponente.
t: numero di cifre signicative.
a1 = 0; 0 ai 1.
m = .a1 a2 ...at =
L e U,

a2
a1
at
+ 2 + ... + t (mantissa).

L < 0, U > 0.

|oat(x)| [ 1 L , (1 t ) U ].
MATLAB: = 2; t = 53; L = 1021; U = 1024.
Osservazione.
Il risultato di unoperazione fra numeri macchina non `e necessariamente un
numero macchina.

Rappresentazione di un numero reale.


x = {(.a1 a2 ...at at+1 at+2 ..) e } R
1) L e U, ai = 0 i > t rappresentazione esatta: oat(x) = x.
2) e < L underow; e > U overow.
3) i > t : ai = 0
3.1) Troncamento
oat(x) = {(.a1 a2 ...at ) e }
3.2) Arrotondamento
oat(x) = {(.a1 a2 ...at ) e }, se 0 at+1 < /2,
oat(x) = {(.a1 a2 ...

a +1
| t{z }

) e }, se /2 at+1 1.

cifra tesima

Propriet`
a
Sia x un numero reale rappresentato in base :
x = {(.a1 a2 ...at at+1 at+2 ..) e } R,

a1 = 0,

e [L, U ].

Allora, se non si verica una situazione di overow, si ha la seguente maggiorazione:


x oat(x)



k 1t ,
x
dove k = 1 nel caso del troncamento e k = 1/2 nel caso dellarrotondamento.
Denizione
La quantit`
a
eps = k 1t
`e detta precisione di macchina nel ssato sistema oating point. Si pu`o caratterizzare eps come il pi`
u piccolo numero macchina per cui si verica che:
oat(1 + eps) > 1.

ESERCIZIO. Costruire linsieme dei numeri macchina F (, t, L, U ) con


= 2, t = 3, L = 1, U = 2.
SOLUZIONE. ai = 0 oppure ai = 1; a1 =
0 a1 = 1.
(
)
1
a2
a3
e
|x| = (.1a2 a3 )2 2 =
+ 2 + 3 2e
2
2
2
e = 1
(.100)2 21 = ( 21 +

0
4

+ 08 )

1
2

1
4

0
16

4
16

(.101)2 21 = ( 21 +

0
4

+ 18 )

1
2

1
4

1
16

5
16

(.110)2 21 = ( 21 +

1
4

+ 08 )

1
2

1
4

2
16

6
16

(.111)2 21 = ( 21 +

1
4

+ 18 )

1
2

1
4

3
16

7
16

e=0
(.100)2 20 = ( 21 +

0
4

+ 08 ) 1 =

1
2

0
8

4
8

(.101)2 20 = ( 21 +

0
4

+ 18 ) 1 =

1
2

1
8

5
8

(.110)2 20 = ( 21 +

1
4

+ 08 ) 1 =

1
2

2
8

6
8

(.111)2 20 = ( 21 +

1
4

+ 18 ) 1 =

1
2

3
8

7
8

(.100)2 21 = ( 21 +

0
4

+ 08 ) 2 = 1 +

0
4

4
4

(.101)2 21 = ( 21 +

0
4

+ 18 ) 2 = 1 +

1
4

5
4

(.110)2 21 = ( 21 +

1
4

+ 08 ) 2 = 1 +

2
4

6
4

(.111)2 21 = ( 21 +

1
4

+ 18 ) 2 = 1 +

3
4

7
4

(.100)2 22 = ( 21 +

0
4

+ 08 ) 4 = 2 +

0
2

4
2

(.101)2 22 = ( 21 +

0
4

+ 18 ) 4 = 2 +

1
2

5
2

(.110)2 22 = ( 21 +

1
4

+ 08 ) 4 = 2 +

2
2

6
2

(.111)2 22 = ( 21 +

1
4

+ 18 ) 4 = 2 +

3
2

7
2

e=1

e=2

Float(2,3,1,2)
1

0.8

0.6

0.4

0.2

0.2

0.4

0.6

0.8

0.5

1.5

2.5

3.5

Approssimazione di dati e funzioni


Richiamiamo i principali metodi di approssimazione polinomiale di un insieme di dati (xi , yi ), i = 0, ..., n. Le ordinate yi possono essere i valori assunti
nei nodi xi da una funzione f nota analiticamente, cio`e yi = f (xi ), oppure possono rappresentare valori sperimentali. Nel primo caso, lapprossimazione mira
a sostituire f con una funzione pi`
u semplice da trattare, per eseguire ad esempio
poi operazioni di derivazione o integrazione. Nel secondo caso, lo scopo primario
dellapprossimazione `e di fornire una sintesi signicativa dei dati disponibili che
potrebbero essere numerosi, in modo da avere a disposizione una funzione approssimante, nel caso pi`
u semplice sar`a appunto un polinomio algebrico, che
rappresenti il fenomeno oggetto dellanalisi sperimentale.
Interpolazione polinomiale
Teorema.
Dati n + 1 punti distinti
x0 , x1 , ..., xn ,
e n + 1 corrispondenti valori
y0 , y1 , ..., yn ,
(eventualmente yi = f (xi )), allora ! n Pn tale che
i = 0, ..., n.

n (xi ) = yi ,

Si dice che n `e il polinomio interpolatore (o di interpolazione) di f rispetto ai


dati (xi , yi ).
Unicit`
a del polinomio di interpolazione.
Per assurdo: p, q Pn , p = q, tali che p(xi ) = q(xi ) = yi , i = 0, ..., n. Allora
pq Pn e p(xi )q(xi ) = 0, i = 0, ..., n, cio`e in n+1 punti distinti pq = 0
ovunque, perch`e, per il teorema fondamentale dellalgebra, lunico polinomio di
grado n che si annulla in n + 1 punti `e il polinomio banale identicamente nullo.
Dunque p = q.
Esistenza del polinomio di interpolazione.
Per dimostrare lesistenza si procede in maniera costruttiva, proponendo tre
metodi per ottenere lespressione di n . Avendo a priori dimostrato lunicit`a del
polinomio interpolatore, si pu`o concludere che le espressioni fornite da metodi
di costruzione diversi dieriranno solo per errori di arrotondamento dovuti alla
rappresentazione dei numeri sul calcolatore.
1) Costruzione del polinomio di interpolazione mediante la matrice di
Vandermonde.
Si impongono direttamente le n + 1 condizioni di interpolazione per un generico
polinomio n espresso mediante i coecienti cj , j = 0, ..., n, nella consueta base

10

di monomi 1, x, x2 , ..., xn :
n (x) =

cj xj ;

j=0

n (xi ) =

cj xji = yi ,

i = 0, ..., n;

j=0

V c = y,
con
Vij = xji ,

det(V ) =

(xj xi ).

0i<jn

Si osservi che se gli xi sono tutti distinti, allora det(V ) = 0, cio`e la matrice V
`e non singolare.
2) Costruzione del polinomio di interpolazione mediante il metodo di
interpolazione di Lagrange.
Si costruisce una nuova base per Pn , costituita dai polinomi di base di Lagrange
Li (x), i = 0, ..., n, che soddisfano le seguenti tre propriet`a:
() Li (x) Pn ;
() Li (xj ) = 0, i = 0, ..., n, i = j;
( ) Li (xi ) = 1, i = 0, ..., n;
[()+( ) Li (xj ) = ij , dove ij `e il simbolo di Kronecker]

()+() Li (x) = C(x x0 )(x x1 )...(x xi1 )(x xi+1 )...(x xn ), C R


( ) C = 1/[(xi x0 )(xi x1 )...(xi xi1 )(xi xi+1 )...(xi xn )]
Si ottiene:

x xj
Li (x) =
x
xj
j=0 i
j=i

Di conseguenza il polinomio interpolatore esiste ed ha la seguente forma:


n (x) =

yi Li (x)

i=0

Infatti, k = 0, ..., n:
n (xk ) =

yi Li (xk ) = y0 L0 (xk )+y1 L1 (xk )+...+ yk Lk (xk ) +...+yn Ln (xk ) =

i=0

11

y0 0k + y1 1k + ... + yk kk + ... + yn nk = 0 + 0 + ... + yk + ... + 0 = yk


che `e la condizione di interpolazione nel nodo kesimo.
[Numero di operazioni 2n(n + 1)]
3) Costruzione del polinomio di interpolazione mediante il metodo di
Newton o delle dierenze divise.
Dierenze divise.
f [xi ] := yi ,

i = 0, ..., n.

f [xi , ..., xi+k ] :=

f [xi+1 ,...,xi+k ]f [xi ,...,xi+k1 ]


,
xi+k xi

k 0 t.c. i + k n.

Teorema.
Posto
ak := f [x0 , ..., xk ],

k = 0, ..., n,

si ha
n (x) = a0 + a1 (x x0 ) + ... + an (x x0 )...(x xn1 )
[Numero operazioni

n(n+1)
]
2

Propriet`
a.
Data una nuova coppia di valori (xn+1 , yn+1 ), allora vale la relazione ricorsiva:
n+1 (x) = n (x) + an+1 (x x0 )...(x xn ),
dove n+1 (x) `e il polinomio di grado n + 1 che interpola i dati (xi , yi ),
i = 0, ..., n + 1.
Osservazione.
Per passare da n a n+1 , si richiede dunque solo il calcolo degli n + 1 nuovi
valori delle dierenze divise
f [xn , xn+1 ], f [xn1 , xn , xn+1 ], ..., f [x0 , x1 , ..., xn+1 ],
| {z }
|
{z
}
|
{z
}
2 nodi

3 nodi

(n+1) nodi

e inne si pone an+1 = f [x0 , x1 , ..., xn+1 ].


Propriet`
a.
Il valore assunto dalla dierenza divisa `e invariante rispetto ad una permutazione
degli indici dei nodi, cio`e si ha:
f [x0 , x1 , ..., xk ] = f [xi0 , xi1 , ..., xik ]
12

per ogni permutazione (i0 , i1 , .., ik ) dei (k + 1) indici (0, 1, ..., k).
Algoritmo di Horner.
Valutazione eciente del polinomio n (x) nel punto x (es.: n = 4).
4 (x) = a0 + a1 (x x0 ) + a2 (x x0 )(x x1 ) + a3 (x x0 )(x x1 )(x x2 ) +
a4 (x x0 )(x x1 )(x x2 )(x x3 )

4 (x) = a0 + (x x0 ){a1 + (x x1 )[a2 + (x x2 ){a3 + (x x3 )a4 }]}.


[Numero operazioni n]
Stima dellerrore di interpolazione. Teorema.
Siano x0 , x1 , ..., xn , n + 1 nodi distinti, x = xi , i = 0, ..., n, f C n+1 (Ix ), dove
Ix `e il pi`
u piccolo intervallo chiuso e limitato contenente i nodi x0 , x1 , ..., xn , x.
Allora lerrore di interpolazione nel punto x `e dato da:
Rn (x) = f (x) n (x) =

(x) (n+1)
f
(),
(n + 1)!

con Ix e
(x) = (x x0 )(x x1 )...(x xn ) =

(x xi ).

i=0

Dimostrazione.
Sia x un generico punto distinto dai nodi di interpolazione. Deniamo
Rn (x) = f (x) n (x),
da cui
Rn (xi ) = f (xi ) n (xi ) = 0,

0 i n,

grazie alla condizione di interpolazione.


Introduciamo la funzione
G(z) = f (z) n (z)

Rn (x)
Rn (x)
(z) = Rn (z)
(z),
(x)
(x)

con G C n+1 (Ix ), essendo infatti G somma di f C n+1 (Ix ) e di un polinomio.


Si osservi che in questo contesto x `e ssata e z `e la variabile dipendente. Si ha:
n (x)
G( z = x ) = Rn (x) R(x)
(x) = 0.
G( z = xi ) = 0, i = 0, ..., n, essendo Rn (xi ) = 0 e (xi ) = 0, i = 0, ..., n.

13

Per il teorema di Rolle, poich`e la funzione G si annulla in n+2 punti, la funzione


G si annulla in n+1 punti, la funzione G si annulla in n punti, e, per ricorsione,
la funzione G(n+1) si annulla in un punto. Sia esso . Calcolando la derivata
(n + 1)esima di G rispetto alla variabile z si ottiene
G(n+1) (z) = f (n+1) (z) n(n+1) (z)

Rn (x) (n+1)

(z).
(x)

In particolare si ha:
(n+1)

n
(z) = 0, essendo n un polinomio di grado n;
(n+1) (z) = (n + 1)!
Dunque, essendo G(n+1) () = 0 (per la scelta di ), si ha
f (n+1) ()
da cui la tesi
Rn (x) =

Rn (x)
(n + 1)! = 0,
(x)
f (n+1) ()
(x).
(n + 1)!

Corollario.
Nelle ipotesi del teorema precedente si ha
|Rn (x)|

maxIx |f (n+1) ()|


max |(t)|
tIx
(n + 1)!

Purtroppo in generale non si pu`o dedurre dal teorema e dal corollario che lerrore
tende a 0 per n . Infatti esistono funzioni f per le quali lerrore pu`o essere
innito, ossia
lim max |Rn (x)| = .
n xIx

A titolo di esempio `e consuetudine ricordare il fenomeno di Runge, per cui se si


interpola la funzione
1
f (x) = 2
x +1
su un insieme di nodi equispaziati nellintervallo [-5,5], si pu`o dimostrare che
lim |Rn (x)| = ,

x tale che 3.64 < |x| < 5.

(si veda [A. Quarteroni, F. Saleri, Introduzione al Calcolo Scientifico, 2a edizione, Springer-Verlag Italia, Milano, 2004 - Cap. 3, Esempio 3.2]).

14

Polinomi di Chebyshev
Il fenomeno di Runge richiamato nelle considerazioni conclusive della sezione
riguardante linterpolazione pu`o essere evitato utilizzando opportune distribuzioni di nodi. In particolare in questa sezione introduciamo i nodi di Chebyshev
che sono gli zeri dei polinomi di Chebyshev.
Denizione.
Sia (x) una funzione peso sullintervallo (a, b) tale che:

(x) 0,

(x)dx < +.
a

Indichiamo con {k , k = 0, 1, ...} una famiglia di polinomi algebrici, con


grado(k ) = k.
Diciamo che {k , k = 0, 1, ...} `e una famiglia di polinomi ortogonali su (a, b)
rispetto al peso (x) se:

m (x)n (x)(x)dx = 0,

m = n.

Teorema.
Se {k , k = 0, 1, ...} `e una famiglia di polinomi ortogonali su (a, b) rispetto
al peso (x), allora il polinomio k ha k radici reali e distinte appartenenti
allintervallo aperto (a, b).

Polinomi di Legendre.
(x) = 1,

(a, b) = (1, 1).

Formula ricorsiva:
P0 = 1, P1 (x) = x, (n + 1)Pn+1 (x) = (2n + 1)xPn (x) nPn1 (x), n 1.

Polinomi di Chebyshev.

(x) = 1/ x2 + 1, (a, b) = (1, 1).


Tk (x) = cos k, = arccos x, k 0
Formula ricorsiva:
T0 = 1, T1 (x) = x, Tn+1 (x) = 2xTn (x) Tn1 (x) , n 1.
La formula ricorsiva si ottiene osservando che:

15

Tn+1 (x) = cos[(n + 1)]


Tn1 (x) = cos[(n 1)]
Sommando membro a membro e applicando la formula di addizione
cos( ) = cos cos sin sin ,
si ha:
Tn+1 (x) + Tn1 (x) = cos n cos sin n sin + cos n cos + sin n sin
Tn+1 (x) = 2 cos n cos Tn1 (x)
da cui si ottiene la formula ricorsiva sfruttando la denizione implicita di Tn (x)
e osservando banalmente che cos = x.
Zeri del polinomio Tn (x) sullintervallo (1, 1)
Cerchiamo n ascisse xj , j = 1, ..., n tali che Tn (xj ) = 0, cio`e cos nj = 0, dove
j = arccos xj . Dunque

nj = (2j 1) , j = 1, ..., n
2
(nj , j = 1, ..., n, sono i primi n archi che sono multipli dispari di /2):
(
)
2j 1
xj = cos j = cos
, j = 1, ..., n.
2n
Zeri del polinomio Tn (x) sullintervallo (a, b):
tj =

ba
b+a
xj +
, j = 1, ..., n
2
2

La formula si ottiene utilizzando lequazione della retta che passa per i punti di
coordinate (1, a), (1, b), e che trasforma quindi lintervallo [1, 1] nellintervallo
[a, b].
Teorema di Bernstein.
Se f C 1 [a, b], il polinomio n di grado n interpolante f negli n + 1 zeri del
polinomio di Chebyshev di grado n + 1 converge uniformemente a f su [a, b],
per n , cio`e:
lim max |f (x) n (x)| = 0.
n axb

16

Altre propriet`a dei polinomi di Chebyshev


1) Propriet`a di ortogonalit`a.

1
1
1

1
1

1
dx = 0,
1 x2

se k = n

1
dx = ,
1 x2

se n = 0

1
dx = ,
2
2
1x

se n > 0

Tk (x)Tn (x)
Tn (x)Tn (x)
Tn (x)Tn (x)

2) Tn (x) ha coeciente direttivo 2n1 , n 1.


3) Tn (x) = (1)n Tn (x).
4) Tn (1) = 1, n 0.
5) Massimi e minimi interni: max |Tn (x)| = 1 se | cos n| = 1.
nk = k, k =

k
k
, xk = cos
, k = 1, ..., n 1.
n
n

17

Splines interpolanti
Si `e osservato che per distribuzioni equispaziate di nodi di interpolazione,
non `e garantita la convergenza uniforme di n , polinomio di interpolazione,
alla funzione f . Tuttavia linterpolazione di Lagrange risulta ragionevolmente
accurata per gradi bassi, a patto di interpolare su intervalli sucientemente
` pertanto naturale suddividere lintervallo di interpolazione in un
piccoli. E
certo numero di sottointervalli e applicare su ogni sottointervallo linterpolazione
semplice di Lagrange con grado basso, ottenendo una funzione interpolatrice
che `e globalmente continua e localmente un polinomio algebrico. Allinterno
di ciascun sottointervallo si potr`a utilizzare la stima dellerrore dimostrata per
linterpolazione semplice.
Si possono denire poi interpolazioni composite che globalmente siano pi`
u
che continue. Infatti in molte applicazioni, come ad esempio in computer graphics, `e necessario utilizzare funzioni approssimanti che siano almeno derivabili
con continuit`
a. A questo scopo si introducono le funzioni splines.
Denizione.
Dato un insieme di punti (xi , yi ), i = 0, ..., n, con a = x0 < x1 , ... < xn = b, una
spline di grado p interpolante `e una funzione: x S p (x) tale che:
1) su ogni [xi1 , xi ] S p `e un polinomio di grado p, i = 1, ..., n;
2) S p e le sue prime (p 1) derivate sono continue, cio`e S p C p1 [a, b];
3) S p (xi ) = yi , i = 0, ..., n.
Dalla denizione discende che un qualunque polinomio di grado p su [a, b] `e una
spline. Tuttavia nella pratica una spline sar`a rappresentata da un polinomio
diverso su ciascun intervallo e, per questo motivo, potrebbe presentare una
discontinuit`
a della derivata pesima nei nodi interni x1 ,...,xn1 . I nodi per i
quali ci`o avviene eettivamente sono detti nodi attivi.
Gradi di libert`
a (d.o.f.: degrees of freedom)
Numero di incognite: Nx = n (p + 1), essendo n il numero di sottointervalli e
p + 1 il numero di coecienti necessari per rappresentare un polinomio di grado
p su ciascun intervallo.
Numero di condizioni: Nc = p(n1)+(n+1), essendo p il numero di condizioni
di continuit`
a che si devono imporre in ciascuno dei nodi interni xi , i = 1, ..., n1
e n + 1 il numero di condizioni di interpolazione.
d.o.f.: Nx Nc = n (p + 1) p (n 1) (n + 1) = p 1.
Nel caso di p > 1 si dovranno dunque introdurre condizioni aggiuntive per
eliminare i gradi di libert`a.

18

Splines lineari
p = 1 (d.o.f.=0).
Stima dellerrore. Teorema.
f C 2 ([a, b])
|f (x) S 1 (x)|

1 2
h M,
8

dove:
h=

max hi =

0in1

max (xi+1 xi ),

0in1

M = max |f (t)|.
atb

Dimostrazione.
Sia x [a, b], con x = xi , i = 0, ..., n. Sia [xi1 , xi ] lintervallo a cui appartiene
x. Poich`e su [xi1 , xi ] la funzione spline lineare S 1 (x) `e un polinomio di grado
1 si pu`o sfruttare la stima dellerrore di interpolazione:
f (x) S 1 (x) =

(x xi1 )(x xi ) (2)


f (t),
2!

t [xi1 , xi ].

Si ottiene pertanto la maggiorazione:


|f (x) S 1 (x)|
Ponendo

1
max |(x xi1 )(x xi )| max |f (2) (t)|
xi1 txi
2 xi1 xxi

hi := xi xi1 ,
h :=

i = 1, ..., n,

max1in hi ,

e osservando che

)(
)
(x + x
xi + xi1
hi hi

i
i1
max |(xxi1 )(xxi )| =
xi1
xi =
xi1 xxi
2
2
2 2
si ha
|f (x) S 1 (x)|

1 2
h max |f (2) (t)|.
8 x0 txn

Osservazione.
Le splines lineari sono ampiamente utilizzate nellapprossimazione della soluzione
di problemi ai limiti. In tale contesto le splines S 1 sono pi`
u comunemente indicate come elementi niti del primo ordine.

19

Splines cubiche
p = 3 : (d.o.f. : p 1 = 2).
Condizioni aggiuntive:

naturale: (S 3 ) (a) = (S 3 ) (b) = 0.


vincolata: (S 3 ) (a) = f (a), (S 3 ) (b) = f (b).
periodica: (S 3 ) (a) = (S 3 ) (b), (S 3 ) (a) = (S 3 ) (b).
not-a-knot: (S 3 ) continua in x1 e xn1 (MATLAB).

Nellultimo caso signica che x1 e xn1 non sono nodi attivi (not-a-knot), poich`e
lespressione della spline nel primo intervallo coincide con lespressione nel secondo intervallo, e analogamente per il penultimo e ultimo intervallo.
Stima dellerrore.
Sia f C 4 ([a, b]) e, per semplicit`a, sia h = hi , i = 1, ..., n. Allora esistono delle
costanti Ck indipendenti da h tali che:
max |f (k) (x) (S 3 )(k) (x)| Ck h(4k) max |f (4) (t)|,

axb

atb

k = 0, 1, 2,

dove S 3 `e la spline cubica vincolata interpolante f nei nodi xi , i = 0, ..., n.


Si osserva quindi che, quando la funzione `e sucientemente regolare, si ha convergenza non solo della spline, ma anche delle sue derivate no allordine 2.
Osservazione.
Le splines cubiche di grado 3 di tipo interpolatorio hanno un rilievo particolare,
in quanto sono le splines di grado minimo che consentono di ottenere approssimazioni almeno di classe C 2 e sono sucientemente regolari in presenza di
piccole curvature.

20

Minimi quadrati discreti


Sia dato un insieme di punti (xi , yi ), i = 0, ..., n, dove eventualmente yi = f (xi ).
Si vuole determinare un polinomio
pm (x) =

a
j xj ,

j=0

di grado m (in genere m << n) che renda minima la funzione


E(a0 , a1 , ..., am ) =

[yi pm (xi )]2 =

i=0

[yi

i=0

aj xji ]2 ,

j=0

cio`e tale per cui:


E(
a0 , a
1 , ..., a
m ) E(a0 , a1 , ..., am ),
al variare dei coecienti a0 , a1 ,...am dei polinomi
pm (x) =

aj xj ,

j=0

di grado m.
Diremo che pm approssima linsieme di dati nel senso dei minimi quadrati.
Si pu`o dimostrare che il punto di minimo per la funzione E(a0 , a1 , ..., am ) si
ottiene imponendo le seguenti condizioni:
E(a0 , a1 , ..., am )
= 0,
a0

aj = costante j = 0

E(a0 , a1 , ..., am )
= 0, aj = costante j = 1
a1
...
E(a0 , a1 , ..., am )
= 0, aj = costante j = m
am
(= simbolo di derivata parziale).
Si osservi che se i nodi xi sono tutti distinti, per m = n si ha un classico
problema di interpolazione, con E(
a0 , a
1 , ..., a
m ) = 0.
Casi particolari
m = 0 p0 (x) = a0 ,
E(a0 ) =

(yi a0 )2 .

i=0

21

dE(a0 )
E(a0 )
1
=
=
2(yi a0 )(1) = 0 a
0 =
yi
da0
a0
n + 1 i=0
i=0
n

dunque la soluzione p0 (x) = a


0 `e data dalla media dei valori yi .
m = 1 p1 (x) = a0 + a1 x,
E(a0 , a1 ) =

[(yi a0 a1 xi )]2 .

i=0
n
n
n

E(a0 , a1 )
=
2[(yi a0 a1 xi )](1) = 0 a0 (n + 1) + a1
xi =
yi
a0
i=0
i=0
i=0
n
n
n
n

E(a0 , a1 )
2
=
2[(yi a0 a1 xi )](xi ) = 0 a0
xi + a1
xi =
xi yi
a1
i=0
i=0
i=0
i=0

La soluzione del sistema 2 2, noto come sistema delle equazioni normali:

(n + 1)
n
i=0

xi

a
0
i=0 yi
=

n
n
2
x
a

x
y
1
i=0 i
i=0 i i
n

i=0

xi

fornisce i coecienti del polinomio p1 (x) = a


0 +
a1 x, noto come retta dei minimi
quadrati o retta di regressione.
Si pu`o vericare che il punto di coordinate (Mx , My ) appartiene alla retta di
equazione y = a
0 + a
1 x, dove
1
xi ,
n + 1 i=0
n

Mx :=

1
yi .
n + 1 i=0
n

My :=

m>1
k = 0, ..., m:
E(a0 , a1 , ..., am )
= 0, aj = costante, j = k.
ak
Si ottiene il sistema delle equazioni normali A
a = z, con
Ak,j =

xk+j
,
i

k, j = 0, ..., m,

xki yi ,

k = 0, ..., m.

i=0

zk =

i=0

22

Per esteso:

(n + 1)

i=0 xi

...

n
m
i=0 xi

n
i=0

xi

2
i=0 xi

...
n
i=0

xm+1
i

...
...

n
i=0

a
0

n
i=0

yi

i=0 xi yi

...
...


n
m
y
x
a
m
i
i=0 i

m+1
1
i=0 xi

...
...

xm
i

...
n
i=0

x2m
i

(Si osservi la numerazione inusuale di righe e colonne a partire dallindice 0).

23

Integrazione numerica
Approssimazione numerica di:

I(f ) =

f (x)dx.
a

Motivazioni.
Non sempre si riesce a trovare la forma esplicita della primitiva.
Valutazione costosa della primitiva.
La funzione da integrare pu`o essere data non in forma analitica, ma solo
per punti.
Formule di quadratura.
In generale: se f `e unapprossimazione di f I(f ) I(f).

) :=
f (x)dx I(f

I(f ) :=
a

f (xi )i

i=1

xi :nodi, i :pesi, i = 1, ..., n.


Dunque lintegrale denito si approssima mediante una formula di quadratura
che `e data dalla combinazione lineare di valori della funzione (ed eventualmente
in formule pi`
u complesse anche delle derivate) in punti opportuni (nodi), moltiplicati per dei coecienti opportuni (pesi).
Denizione. Si denisce grado di precisione di una formula di quadratura il
massimo intero r 0 tale che
) = I(f ),
I(f

f Pr .

Si pu`o dimostrare che una formula di quadratura ha grado di precisione r


k ), k = 0, 1, ..., r .
I(xk ) =I(x
Si osservi che
n

r=0
i = (b a).
i=1

Formule di quadratura di tipo interpolatorio.


)
b
b (

n
n

I(f ) =
n1 (x)dx =
Li (x)f (xi ) dx =
f (xi )
a

i =

Li (x)dx
a

i=1

i=1

Li (x)dx
a

x xj
(Li =
: polinomi di Lagrange).
x
xj
j=1 i
j=i

24

Formule aperte: a < x1 < x2 < ... < xn1 < xn < b.
Formule chiuse: a = x1 < x2 < ... < xn1 < xn = b.
Formule di quadratura di Newton-Cotes (nodi equidistanti)
Formule aperte: h =

ba
n+1 ,

xi = a + ih, i = 1, ..., n.

Formule chiuse: h =

ba
n1 ,

xi = a + (i 1)h, i = 1, ..., n, con a = x1 e b = xn .

Formula del punto medio (aperta, n = 1): Area di un rettangolo.


a+b
f = 0 , x1 =
, 1 = (b a)
2
(
)
b+a
I(f ) IP M (f ) := (b a)f
2
(b a)3 (2)
f (t), t (a, b), se f C 2 [a, b].
I(f ) IP M (f ) =
24
Formula dei trapezi (chiusa, n = 2): Area di un trapezio.
ba
f = 1 , x1 = a, x2 = b, 1 = 2 =
2
ba
I(f ) IT (f ) :=
[f (a) + f (b)]
2
I(f ) IT (f ) =

(b a)3 (2)
f (t), t (a, b), se f C 2 [a, b].
12

Formula di Cavalieri-Simpson (chiusa, n = 3): Area di un segmento parabolico.


a+b
ba
4
f = 2 , x1 = a, x2 =
, x3 = b, 1 = 3 =
, 2 = (b a)
2
6
6
[
(
)
]
ba
b+a
I(f ) ICS (f ) :=
f (a) + 4f
+ f (b)
6
2
I(f ) ICS (f ) =

(b a)5 (4)
f (t), t (a, b), se f C 4 [a, b].
2880

Formule di quadratura di Newton-Cotes composite.


Le formule di quadratura composite, che sono le formule pi`
u comunemente usate, si deniscono operando una preliminare suddivisione dellintervallo di integrazione [a, b] in sottointervalli e, utilizzando la propriet`a additiva dellintegrale,
si scrive lintegrale assegnato come una somma di integrali deniti su ciascun
intervallo della suddivisione e si approssimano tali integrali deniti mediante
25

formule di quadratura semplici. I motivi che suggeriscono lintroduzione delle


formule composite sono sostanzialmente gli stessi che suggeriscono lintroduzione
dellinterpolazione composita.
Posto M 1:
ba
, ai = a + iH, i = 0, ..., M, a = a0 , b = aM .
M
(M = 1 Formule di quadratura semplici).
H=

Formula del punto medio composita


(c)
IP M = H

)
(
M

H
f ai
2
i=1

Errore:
(c)
I(f ) IP M =
(c)

I(f ) IP M =

ba 2 (2)
(),
24 H f
H 2 (1)
(b)
24 [f

(a, b) (formula classica)

f (1) (a)]

(formula asintotica).

Formula dei trapezi composita


(c)
IT

[
]
M
M
1

H
H
=
[f (ai1 ) + f (ai )] =
f (a) + f (b) + 2
f (ai )
2 i=1
2
i=1

Errore:
(c)
I(f ) IT =
(c)

I(f ) IT =

2 (2)
ba
(), (a, b) (formula classica)
12 H f
H 2 (1)
(a)
12 [f

f (1) (b)]

(formula asintotica).

Formula di C. Simpson composita


)
]
(
M [
H
H
(c)
+ f (ai ) =
ICS =
f (ai1 ) + 4f ai
6 i=1
2
[
(
)]
M
1
M

H
H
f (a) + f (b) + 2
f (ai ) + 4
f ai
6
2
i=1
i=1
Errore:
26

(c)
ba
I(f ) ICS = 2880
H 4 f (4) (), (a, b) (formula classica)
(c)
I(f ) ICS =

H4
(3)
(a)
2880 [f

f (3) (b)]

27

(formula asintotica).

Traccia della dimostrazione della stima dellerrore per la formula dei


trapezi compositi.
Partendo dalla stima dellerrore per la formula dei trapezi (semplice):
b
(b a)3 (2)
f (x)dx IT (f ) =
f (), (a, b), f C 2 [a, b],
12
a
e applicandola a ciascun sottointervallo [aj1 , aj ], con H = aj aj1 , si ha

f (x)dx
a

H
j=1

[f (aj1 + f (aj )] =

)
M (

H3

f (j ) , j [aj1 , aj ].
12
j=1

Da qui in poi si pu`o procedere in due diversi modi che portano alle due diverse
stime:
1. Stima classica.

M
M
M

H 3
1 (b a)3
1
1 (b a)2
(ba)
=
f (j ) =
f (j ) =
f (j )
12 j=1
12 M 3 j=1
12 M 2
M j=1
Si osserva:

min f (x) f (j ) max f (x), j

x[a,b]

x[a,b]

Sommando rispetto a j = 1, ..., M :


M min f (x)
x[a,b]

f (j ) M max f (x)
x[a,b]

j=1

min f (x)

x[a,b]

M
1
f (j ) max f (x)
M j=1
x[a,b]
{z
}
|
F

Nellipotesi che f C [a, b], allora f C 0 [a, b], dunque [a, b] tale che
f () = F . Infatti grazie allipotesi di continuit`a di f , si ha che f assume in
almeno un punto dellintervallo (qui abbiamo denito il punto con la variabile
) un qualsiasi valore compreso fra il minimo e il massimo valore assunto da f
nellintervallo (che qui abbiamo denito con la variabile F ).
Concludendo si ha:

M
3

1
1 (b a)2

= 1 (b a) f () , [a, b]
(b

a)

f
(
)
j
12 M 2
M j=1
12 M 2
|
{z
}
2

28

2. Stima asintotica
)
M (

H3
H2

f (j ) =
12
12
j=1

j=1

Hf (j )
{z

somma di Riemann

Si ha:

f (x)dx,

per H 0

j=1

Ma

Hf (j )

f (x)dx = f (b) f (a).

Dunque, con buona approssimazione, si pone:


H2
H2

Hf (j ) =
[f (a) f (b)] .
12 j=1
12
M

29

Formule di quadratura di Gauss


Consideriamo il problema della costruzione di formule di quadratura in tre casi
diversi.
1. Una formula di quadratura interpolatoria

)=
f (x)dx I(f

I(f ) =
a

j f (xj )

j=1

che utilizza n punti distinti ha grado di precisione n 1.


Vale anche il viceversa.
Una formula di quadratura che ha grado di precisione n 1 `e necessariamente interpolatoria, cio`e dati i nodi x1 , x2 ,...,xn deve essere

j =

Lj (x)dx
a

dove Lj (x) `e il jesimo polinomio di Lagrange di grado n 1.


k ), 0 k n 1
Infatti: I(xk ) = I(x
n

(
j xkj

j=1

x dx

bk+1 ak+1
,0 k n 1
k+1

Il sistema A = f , con
Akj = xkj , 1 j n, 0 k n 1, fk =

bk+1 ak+1
, 0k n1
k+1

ha per matrice A la matrice trasposta della matrice di Vandermonde ed


ha pertanto determinante diverso da zero, essendo i nodi tutti xj distinti
e quindi il sistema ammette una ed una sola soluzione . Dunque

j =

Lj (x)dx,
a

essendo una soluzione che verica il sistema, cio`e tale per cui la formula di
quadratura ha grado di precisione n 1, `e lunica soluzione del sistema
A = f . Infatti, se per assurdo la soluzione fosse

j =

Lj (x)dx
a

esisterebbero due soluzioni distinte in corrispondenza delle quali si veri k ), 0 k n 1, e dunque la soluzione del sistema
cherebbe I(xk ) = I(x
con matrice A non singolare non sarebbe unica.

30

2. Nel caso 1. abbiamo considerato il problema di come determinare i pesi


j , j = 1, ..., n di una formula di quadratura, una volta ssati i nodi
xj , j = 1, ..., n , in modo che la formula di quadratura abbia grado di
precisione massimo.
Ci si pu`o porre il problema inverso: dati i pesi (per semplicare si considerino i pesi tutti uguali: = j , j = 1, ..., n), determinare i nodi
xj , j = 1, ..., n , in modo che la formula di quadratura abbia grado di
precisione massimo.
n
Fissato = j = (b a)/n in modo che j=1 j = b a e che quindi la
formula di quadratura abbia grado di precisione almeno zero, si impongono
le relazioni
k ), 1 k n
I(xk ) = I(x
n

bk+1 ak+1
, 1kn

xkj =
k+1
j=1
che `e un SISTEMA NON LINEARE di n equazioni in n incognite.
3. Nel caso pi`
u generale ci si pone il problema di come determinare i pesi
j , j = 1, ..., n e i nodi xj , j = 1, ..., n di una formula di quadratura
in modo che la formula di quadratura abbia grado di precisione massimo.
Poich`e si pretende che il grado di precisione sia il massimo possibile, dovr`a
essere almeno n1, dunque la formula dovr`a esere di tipo interpolatorio,
cio`e, dati i nodi xj i pesi si dovranno calcolare mediante le formule
b
j =
Lj (x)dx.
a

Consideriamo per semplicit`a il caso (a, b) = (1, 1).


Ci si chiede quale `e il massimo intero m per cui si ha
pn+m Pn+m .
n
Dividendo il generico polinomio pn+m (x) per w(x) = j=1 (x xj ) si ha
n+m ),
I(pn+m ) = I(p

pn+m (x) = w(x)pm (x) + qn1 (x),


dove pm (x) `e il generico quoziente di grado m e qn1 (x) `e il generico resto
di grado n 1.
Si osservi in particolare che pn+m (xj ) = qn1 (xj ), j = 1, ..., n, essendo
w(xj ) = 0.
E noto inoltre che, considerando una formula di quadratura di tipo interpolatorio, si ha

I(g) = I(g),
g Pn1
Dunque si ottiene:
1
1
1
I(pn+m ) =
pn+m (x)dx =
w(x)pm (x)dx +
qn1 (x)dx =
| {z }
1
1
1
31

1
1

w(x)pm (x)dx +

j qn1 (xj ) =

j=1

w(x)pm (x)dx +

j [w(xj )pm (xj ) + qn1 (xj )] =

j=1

1
1

n+m )
w(x)pm (x)dx + I(p
| {z }

Avremmo quindi
n+m ),
I(pn+m ) = I(p

pn+m Pn+m

se w(x) fosse scelto in modo tale per cui


1
w(x)pm (x)dx = 0, pm Pm .
1

Si osservi che il massimo valore di m per cui lintegrale denito pu`o annullarsi `e n 1. Infatti, se per assurdo fosse m = n, potremmo scegliere
in particolare pm = w ed avere
1
w(x)w(x)dx = 0,
1

ma essendo gli xj tutti distinti questa conclusione sarebbe assurda.


Resta quindi da stabilire come scegliere i nodi xj in modo che
1
w(x)pm (x)dx = 0, pm Pm , m = 0, 1, ..., n 1.
1

Se i nodi xj , j = 1, ..., n sono gli zeri del polinomio di Legendre di grado n,


e dunque w(x) `e il polinomio di Legendre Pn di grado n (denito a meno
di una costante moltiplicativa), e se si considera lo sviluppo del generico
polinomio pm nella base dei polinomi di Legendre
pm (x) =

ck Pk (x), ck R, m n 1

k=0

si ha:

1
1

w(x)pm (x)dx =
m

k=0

ck

1
1

Pn (x)

ck Pk (x)dx =

k=0

Pn (x)Pk (x)dx = 0

per lortogonalit`a dei polinomi di Legendre Pn e Pk , k < n. Poich`e


quanto detto `e vero per ogni m < n, si ha inne che il grado di precisione
della formula di quadratura cos` ottenuta, detta di Gauss-Legendre, `e
n + m = n + n 1 = 2n 1.
32

CASI PARTICOLARI.
n = 1: x1 = 0, 1 = 2.

n = 2: x1,2 = 1/3, 1,2 = 1.

n = 3: x1,3 = 3/5, x2 = 0, 1,3 = 8/9, 2 = 5/9.


OSSERVAZIONE. La formula di quadratura di Gauss-Legendre pu`o essere
generalizzata per approssimare un integrale denito su un intervallo (a, b) qualsiasi. A tale scopo basta considerare la sostituzione
t=

b+a
ba
x+
.
2
2

Integrazione di Gauss-Chebyshev.

1
dx =
j f (xj )
1 x2
1
j=1
(
)
2j 1

xj = cos
, j = , j = 1, ..., n
2n
n
1

f (x)

33

Equazioni non lineari


Il calcolo degli zeri di una funzione f , o delle radici dellequazione f (x) = 0,
`e un problema assai ricorrente nel calcolo scientico (si pensi come semplice
esempio al problema del calcolo delle radici di un polinomio). Solo in alcuni casi
particolari esistono formule che permettono di calcolare gli zeri di una funzione
in un numero nito di passi. I metodi numerici per la risoluzione di questo
problema sono pertanto necessariamente metodi iterativi. A partire da uno o
pi`
u dati iniziali, scelti convenientemente, essi generano una successione di valori
xk che, sotto opportune ipotesi, converger`
a ad uno zero della funzione f
oggetto di studio.
Teorema.
Sia f : R R, f C 0 [a, b], f (a)f (b) < 0 (a, b) tale che f () = 0.
Metodo di bisezione.
Passo 1: a0 = a, b0 = b.
f (a0 )f (b0 ) < 0 [a0 , b0 ] tale che f () = 0;
a0 + b0
ba
0
x1 =
, |x1 a0 | = |x1 b0 | = b0 a
2 , |x1 | < 2 ;
2
Passo 2
() f (a0 )f (x1 ) < 0 oppure () f (x1 )f (b0 ) < 0;
Es: vale () [x1 , b0 ] tale che f () = 0;
a1 + b1
1
, |x2 a1 | = |x2 b1 | = b1 a
a1 = x1 , b1 = b0 , x2 =
2 ,
2
|x2 | < ba
22 (analogamente se vale ()).
..
.
Passo n
an1 + bn1
n1
xn =
, |xn an1 | = |xn bn1 | = bn1 a
, |xn | <
2
2

ba
2n

Ci aspettiamo: |xn | 12 |xn1 |.


Si osservi che lerrore non `e monotono decrescente, ma lo `e la maggiorazione
ba
2n disponibile per lerrore |xn |.
Denizione.
Una sequenza {xn |n 0} si dice che converge a con ordine p se, posto
en = xn , si ha
lim en = 0
n

e
|en+1 | C|en |p ,

C > 0, n 0.

Condizione suciente perch`e il metodo sia di ordine p `e per esempio il fatto che
per una costante C1 opportuna si verichi:
lim

|en+1 |
= C1 , C1 > 0.
|en |p
34

p = 1 (convergenza lineare): |en | C|en1 |.


Si ottiene: |en | C|en1 | C 2 |en2 | ... C n |e0 |.
La condizione C < 1 `e suciente per garantire la convergenza.
p = 2 (convergenza quadratica): |en | C|en1 |2 .
2
n
Si ottiene: |Cen | |Cen1 |2 |Cen2 |2 ... |Ce0 |2 .
1
La condizione |Ce0 | < 1, cio`e |e0 | < C `e suciente per garantire la convergenza.
Dunque lerrore iniziale deve essere sucientemente piccolo (per esempio si pu`o
controllare con un metodo del primo ordine).
Metodo di Newton-Raphson (o metodo delle tangenti).
Dato xk R, consideriamo la retta tangente a f in xk :
y = f (xk ) + f (xk )(x xk ).
Chiamiamo xk+1 lascissa del punto di intersezione della retta tangente con
lasse delle ascisse, cio`e poniamo y = 0 e x = xk+1 nellequazione della retta.
Si ha:
f (xk )
xk+1 = xk
f (xk )
Modiche del metodo di Newton.
Metodo delle corde (ordine 1).
xk+1 = xk

f (xk )
, m costante.
m

Metodo delle secanti (ordine p = (1 +


xk+1 = xk

5)/2).

f (xk )
(xk xk1 )
f (xk ) f (xk1 )

(Si approssima f (xk ) con un rapporto incrementale allindietro).


Analisi di convergenza del metodo di Newton.
Sia f C 2 in un intervallo I che contiene una radice semplice (f () =
0, f () = 0), sia I t.c. f (x) = 0, x I, xk I,k k. Dallo sviluppo di
Taylor si ha:
1
0 = f () = f (xk ) + ( xk )f (xk ) + ( xk )2 f (zk ),
2

zk [xk , ],

da cui, dividendo per f (xk ), si ottiene:


f (xk )
1
f (zk )
1
f (zk )
+ xk = ( xk )2
xk+1 = ( xk )2
.

f (xk )
2
f (xk )
2
f (xk )

35

Passando al limite si ottiene:


xk+1
f (zk )
1 f ()
1
=
,
= lim
2
k ( xk )
2 k f (xk )
2 f ()
lim

oppure, passando ai valori assoluti si ottiene la maggiorazione:


| xk+1 | =

f (z )
1

k
( xk )2
M ( xk )2 ,
2
f (xk )

con
M=

1 max{tI} |f (t)|
,
2 min{zI} |f (z)|

Dunque il metodo di Newton `e del secondo ordine (per lapprossimazione di


1
radici semplici). Si ha |ek+1 | M |ek |2 , dunque il metodo converge se |e0 | < M
.
Teorema.
Supponiamo che valgano le seguenti ipotesi:
1) f C 2 [a, b], f (a)f (b) < 0;
2) f (x) = 0, x [a, b];
3) f (x) 0 oppure f (x) 0, x [a, b];


f (b)

< b a.
4) ff(a)
(a) < b a
f (b)
Allora il metodo di Newton converge allunica soluzione [a, b] per ogni scelta
di x0 [a, b].
Dimostrazione.
Osserviamo che le ipotesi 1) e 2) garantiscono che esiste una ed ununica soluzione
[a, b] tale che f () = 0.
Dimostriamo il teorema in una delle situazioni possibili, al variare del segno di
f (a), f (b), f e f , scegliendo per esempio
f (a) < 0, f (b) > 0, f > 0, f 0.
Sia a x0 < e dunque f (x0 ) < 0.
[Osservazione.
Lipotesi 4) garantisce che la tangente al grafico di f nei punti estremi dellintervallo
aventi ascissa a o b interseca lasse x allinterno dellintervallo [a, b]. In particolare nel caso preso in esame garantisce che x0 (, b] x1 [a, ) e dunque si
ricade nel caso considerato. Infatti, si consideri la retta tangente al grafico di f
nel punto di ascissa b:
y = f (b) + f (b)(x b)
Sia il punto in cui la retta interseca lasse delle ascisse:
0 = f (b) + f (b)( b) b =

36

f (b)
f (b).

Passando ai moduli si ha:


f (b)


b = | b| = < b a.
f (b)
Da b < b a si ottiene a < .
Con procedimento analogo si dimostra che la retta tangente al grafico di f in
un punto di ascissa x0 , con < x0 < b, interseca lasse x in un punto , con
a < < x0 .]
Per la formula di Newton si ha:
f (x0 )
> x0
f (x0 )

x1 = x0

essendo f (x0 ) < 0 e f (x0 ) > 0.


Dimostriamo per induzione che xk e xk+1 xk . Poich`e la propriet`a `e vera
per k = 0 (infatti x0 < e x1 > x0 ) dimostriamo che, supposta vera per k, essa
`e vericata per k + 1. Si deve dunque vericare che xk+1 e xk+2 xk+1 .
Per il teorema del valor medio di Lagrange:
f (xk ) = f () f (xk ) = ( xk )f (xk ),

con xk xk .

Dal momento che f (x) 0, si ha che f `e non crescente e quindi f (xk ) f (xk )
per xk xk , da cui
f (xk ) = ( xk )f (xk ) ( xk )f (xk )
Essendo f (xk ) > 0 si ha

f (xk )
xk
f (xk )

Dalla formula di Newton:


xk+1 = xk

f (xk )
xk + ( xk ) =
f (xk )

Sfruttando ora xk+1 < , e le ipotesi iniziali per cui f `e crescente e f () = 0,


si ha f (xk+1 ) < 0, e dunque:
xk+2 = xk+1

f (xk+1 )
xk+1
f (xk+1 )

essendo f (xk+1 ) < 0 e f (xk+1 ) > 0.


Osservando inne che la successione {xk } `e monotona crescente e limitata superiormente si deduce che `e convergente. Passando al limite
xk+1 = xk

37

f (xk )
f (xk )

f ()
f ()

Si ottiene quindi f () = 0, cio`e il metodo iterativo converge alla soluzione


dellequazione non lineare f (x) = 0.
Una possibile scelta per x0 pu`o essere l estremo di Fourier (a oppure b), cio`e
lestremo ove si verica f (a)f (a) > 0, oppure f (b)f (b) > 0.
Test darresto.
|f (xk )| < 1 (residuo)
|xk+1 xk | < 2 (errore)
Sfruttando il teorema del valor medio si ha:
f (xk ) = f (xk ) f () = f (k )(xk )

f (xk )
= xk ,
f (k )

k [, xk ].

Dalla formula di Newton si ottiene quindi:


xk+1 xk =

f (xk )
f (xk )

= xk

f (xk )
f (k )

|xk+1 xk | | xk | = |ek |
Esercizio.
Data f (x) = a x1 , a > 0, si scriva il metodo di Newton per approssimare la
radice x = a1 .
Posto




xn a1
en =
,
1
a

si verichi che en = e2n1 . Determinare x0 anch`e il metodo di Newton converga.

38

Equazioni non lineari: metodi a un passo


Si vuole risolvere lequazione non lineare f (x) = 0 riconducendosi al problema
della ricerca del punto sso di una funzione y = g(x), cio`e si vuole trovare
tale che:
f () = 0 = g()
Gracamente: si cercano le intersezioni di y = g(x) con la bisettrice del primo
e terzo quadrante

y= x
soluzione di

y = g(x)
Per esempio:
f (x) = 0 x + f (x) = x; oppure, f (x) = 0 x + kf (x) = x, k = 0
| {z }
| {z }
g(x)

g(x)

xex2 = 0 x = |{z}
ex2 ln x = ln ex2 , x > 0 ln x = x2 x = 2 + ln x
| {z }
g1 (x)

g2 (x)

Metodo iterativo:
xn+1 = g(xn ) , n 0, x0 assegnato.
Esempio.
Data f (x) = x2 4 ( = 2); x0 = 3, xn+1 = gi (xn ), n 0, i = 1, 2, 3:
g1 (x) = x2 + x 4; x0 = 3, x1 = 8, x2 = 68, x3 = 4688, ... xn +
g2 (x) = x4 ; x0 = 3, x1 = 34 , x2 = 3, x3 = 43 , x4 = 3, ...
g3 (x) =

x
2

+ x2 ; x0 = 3, x1 = 2.1666..., x2 = 2.006410257, x3 = 2.00001024...

Dunque si osserva che non tutte le funzioni di iterazione garantiscono la convergenza al punto sso.
Propriet`
a.
Assegnato un procedimento iterativo ad un passo:
xn+1 = g(xn ), n 0, x0 assegnato,
g continua, i punti ssi della funzione di iterazione g sono tutti e soli i punti
limite delle successioni {xn }.
39

Teorema.
Si consideri la successione xk+1 = g(xk ), per k 0, x0 assegnato e si supponga
che valgano le seguenti ipotesi:
1) I = [a, b] tale che x I, g(x) I;
2) g C 1 (I);
3) K < 1 : x I, |g (x)| K.
Allora:
4) g ha un unico punto sso I;
5) la successione {xk , k 0} converge ad , x0 I;
6) limk

xk+1
xk

= g ().

Dimostrazione.
Si consideri la funzione G(x) = x g(x) e, sfruttando le ipotesi 1) e 2) si osservi
che G(a) = a g(a) 0, G(b) = b g(b) 0 e dunque la funzione G ammette
almeno una radice I, ovvero la funzione g ammette almeno un punto sso
I. Per quanto riguarda lunicit`a del punto sso , si supponga per assurdo
che esistano due punti ssi 1 e 2 I, cio`e 1 = g(1 ) e 2 = g(2 ). Per il
teorema del valor medio di Lagrange si ha:
2 1 = g(2 ) g(1 ) = g (t)(2 1 ),

tI

da cui passando ai valori assoluti e sfruttando lipotesi 3) si ottiene:


|2 1 | = |g(2 ) g(1 )| = |g (t)| |2 1 | K|2 1 | < |2 1 | .
e dunque necessariamente 1 = 2 .
Per quanto riguarda la convergenza, se si considera lerrore al passo k + 1 si
osserva:
xk+1 = g(xk ) g() = g (tk )(xk ),
con tk appartenente allintervallo di estremi e xk . Passando ai valori assoluti
e sfruttando ancora lipotesi 3) si ottiene:
|xk+1 | = |g(xk ) g()| = |g (tk )| |xk | K|xk | K 2 |xk1 | ...
K k+1 |x0 | 0 per k .
Quindi xk , per k .
Inoltre:
xk+1
lim
= lim g (tk ) = g ().
k xk
k

40

Denizione. Si denisce fattore asintotico di convergenza la quantit`a |g ()| e


velocit`
a asintotica di convergenza la quantit`a
R = log

1
= log |g ()|.
|g ()|

Corollario.
Se |g (x)| > 1, x [a, b] il procedimento iterativo ad un passo:
xn+1 = g(xn ), n 0, x0 =
sar`
a localmente divergente, cio`e diverger`a a , oppure converger`a a un punto
sso [a, b].
Ordine di convergenza.
Sia g C[a, b], g C[a, b], g C[a, b],..., g (p) C[a, b], con
g() = , g () = ... = g (p1) () = 0, g (p) () = 0
Allora il metodo xn+1 = g(xn ), n 0, ha ordine p e
xn+1
g (p) ()
=
.
p
n (xn )
p!
lim

Si considera infatti lo sviluppo di Taylor:


g(xn ) = g() + (xn )g () +

1
(xn )2 g () + ...
2!

e, tenendo conto che g(xn ) = xn+1 e g() = , si ha:


xn+1 = (xn )g () +

1
(xn )2 g () + ...
2!

Nellesempio f (x) = x2 4 si ha:


g1 (x) = 2x + 1, g1 (2) = 5 > 1
g2 (x) = x42 , g2 (2) = 1
g3 (x) =
g3 (x) =

1
2

2 x2 , g3 (2) = 0
4
1

x3 , g3 (2) = 2 = 0

(metodo del secondo ordine)

Il metodo di Newton come metodo di punto sso.


g(x) = x

f (x)
g () = 0.
f (x)
41

Infatti:
g (x) = 1

f (x)f (x) f (x)f (x)


,
[f (x)]2

e, in particolare,
=0

z }| {
[f ()] f () f ()
[f ()]2

g () = 1
=
1

= 0.
[f ()]2
[f ()]2

Si pu`o vericare che g () = 0.


Se la radice ha molteplicit`a p > 1, il metodo di Newton `e del primo ordine
con:
1
g () = 1 .
p
Infatti, se si considera f (x) = (x )p h(x), con h() = 0, si ha:
f (x) = p(x )p1 h(x) + (x )p h (x) = (x )p1 [ph(x) + (x )h (x)]
g(x) = x

(x )p h(x)
h(x)
= x (x )
(x )p1 [ph(x) + (x )h (x)]
ph(x) + (x )h (x)

Derivando:
g (x) = 1

[
]
h(x)
d
h(x)

(x

a)
.
ph(x) + (x )h (x)
dx ph(x) + (x )h (x)

In particolare:
[
]
1
d
h(x)
= 1
g () = 1
( )

p
p h() + ( ) h () | {z } dx ph(x) + (x )h (x) x=
=0
| {z }

h()

=0

Dunque
g () = 1

1
= 0 p = 1
p

Il metodo di Newton modicato:


g(x) = x p

f (x)
,
f (x)

ha ordine 2.
Osservazione.
Se ha molteplicit`a p per f , allora ha molteplicit`a p 1 per f e ha
molteplicit`
a 1 per (x) := ff(x)
o applicare il metodo di Newton
(x) . Si pu`
classico alla funzione , ottenendo nuovamente un metodo di ordine 2.
42

Test darresto.
xn

1
(xn+1 xn )
1 g (xn )

Infatti:
xn+1 xn = xn+1 + xn =

g(xn ) g()
|
{z
}

+ xn =
| {z }

Teor. valor medio Lagrange

g (tn )(xn ) + ( xn ) = g (tn )( xn ) + ( xn ) =


(1 g (tn ))( xn ) (1 g (xn ))( xn )
.

43

Richiami di algebra lineare


In questa sezione richiamiamo alcune notazioni, denizioni e risultati di algebra lineare essenziali nello sviluppo del corso ed in particolare nello studio di
metodi numerici per la risoluzione di sistemi lineari e per lapprossimazione di
autovalori e autovettori.

Norme vettoriali
Diciamo che lapplicazione da V = Rn in R+ {0} `e una norma vettoriale
se sono soddisfatte le seguenti condizioni:
1.) x 0, x V e x = 0 x = 0.
2.) x = ||x, R, x V .
3.) x + y x + y, x, y V .
Denizione di p e in V :
xp =

( n

) p1
|xi |

, 1 p < ;

i=1

x = max |xi |.
1in

Propriet`
a. x V , limp xp = x .
Disuguaglianza di Cauchy-Schwarz: |(x, y)| x2 y2 , x, y V .
Disuguaglianza di Minkowsky: x + yp xp + yp , x, y V .
Sfera unitaria: Sp = {x V : xp = 1}.
Casi particolari: Studio di S1 , S2 , S (in R2 ).

Propriet`
a di equivalenza fra norme.
Tutte le norme denibili su V sono equivalenti, cio`e, date due norme e ||| |||
su V , c1 , c2 > 0 tali che x V , si ha c1 |||x||| x c2 |||x|||.
Propriet`
a di continuit`
a.
Ogni norma vettoriale `e una funzione continua delle componenti del vettore.

44

Autovalori e autovettori
Sia A una matrice quadrata di ordine n. Il numero C `e detto autovalore di
A se esiste un vettore x = 0, tale che Ax = x. Il vettore x `e detto autovettore
associato allautovalore . Linsieme (A) degli autovalori di A `e detto spettro
di A. Lautovalore `e soluzione dell equazione caratteristica
pA () := det(A I) = 0,
dove pA () `e il polinomio caratteristico.
Una matrice `e singolare ha almeno un autovalore nullo.
det(A) =
tr(A) :=

n
i=1

n
i=1

i .

aii =

n
i=1

i (traccia).
Norme di matrici

Diciamo che lapplicazione da Rnn in R+ {0} `e una norma di matrici se


sono soddisfatte le seguenti condizioni:
1.) A 0, A Rnn e A = 0 A = 0.
2.) A = ||A, R, A Rnn .
3.) A + B A + B, A, B Rnn .
4.) AB A B, A, B Rnn (condizione aggiuntiva).
Denizione di norma compatibile.
Una norma di matrice `e compatibile con una norma di vettore se:
Ax A x,

x V, A Rnn .

Denizione di norma naturale.


Data una norma di vettore deniamo
A = sup

{ Ax
x

}
, x Rn \{0}

norma naturale o indotta dalla norma di vettore.


Si pu`o dimostrare che
A = max Ax.
x=1

45

Casi particolari.
A1 = max

1jn

|aij |; A = max

1in

i=1

|aij |; A2 =

(AT A)

j=1

dove
(B) = max |i (B)|, B Rnn
1in

`e detto raggio spettrale della matrice B.


Propriet`
a.
Per ogni norma naturale e per ogni matrice quadrata A si ha
(A) A.

Matrici simmetriche e denite positive (d.p.)


Una matrice simmetrica A Rnn si dice denita positiva se:
(Ax, x) = xT Ax =

xi

i=1

aij xj =

j=1

n
n

aij xi xj 0 , x V

i=1 j=1

(Ax, x) = 0 x = 0
Criterio di Sylvester.
Una matrice A simmetrica di ordine n `e d.p. det(Ak ) > 0, k = 1, 2, ...n, dove
Ak `e la sottomatrice principale di ordine k, cio`e formata dalle prime k righe e
k colonne.
A d.p. A non singolare.
A d.p. A simmetrica e i (A) > 0, i = 1, ..., n.
A d.p. aii > 0, i = 1, ..., n.
A d.p. |aik |2 < aii akk , i = k.
A d.p. Il massimo elemento della matrice A giace sulla diagonale principale
di A.
Ogni sottomatrice principale di una matrice d.p. `e d.p., quindi non singolare.
Matrici a dominanza diagonale (d.d.)
Una matrice A si dice a dominanza diagonale stretta o strettamente diagonalmente
dominante per righe se
|aii | >

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

j=1
j=i

46

Se la disuguaglianza precedente vale con il simbolo , A si dice a dominanza


diagonale debole (debolmente diagonalmente dominante) per righe.
Una matrice A si dice a dominanza diagonale stretta o strettamente diagonalmente
dominante per colonne se
|ajj | >

|aij |, j = 1, ..., n.

i=1
i=j

Se la disuguaglianza precedente vale con il simbolo , A si dice a dominanza


diagonale debole (debolmente diagonalmente dominante) per colonne.
Qualora non sia specicato, si intende dominanza diagonale per righe.
A d.d. stretta A non singolare.
Matrici a banda
Si dice che una matrice A ha una banda superiore p se aij = 0 per j > i + p e
una banda inferiore q se aij = 0 per i > j + q. Se p = q = 1 la matrice si dice
tridiagonale.

Matrici sparse
Una matrice A si dice sparsa se ha un numero elevato di elementi aij = 0.
Quale sia la percentuale di elementi necessaria per far ritenere una matrice
sparsa dipende ovviamente dal contesto. Comunemente una matrice Rnn `e
ritenuta sparsa quando il numero di elementi diversi da zero `e di ordine O(n).
Le matrici a banda sono ritenute sparse se p, q n.

47

Analisi degli errori: Condizionamento di un sistema lineare


Sia A Rnn una matrice quadrata non singolare e b Rn un vettore , allora
esiste ed `e unico il vettore x Rn tale che Ax = b.
() Analisi a priori in avanti.
Sensibilit`
a della soluzione di Ax = b a cambiamenti nei dati A e/o b
(condizionamento di un sistema lineare).
() Analisi a priori allindietro.
b del sistema Ax = b, si vuole
Supposta nota una soluzione approssimata x
b sia la soluzione
determinare di quanto si dovrebbero perturbare A e b anch`e x
esatta di un sistema perturbato.
( ) Analisi a posteriori.
b del sistema Ax = b, si vuole
Supposta nota una soluzione approssimata x
b in funzione del residuo r :=b Ab
x e di
determinare una stima dellerrore x x
quantit`
a note.
() Analisi a priori in avanti: perturbazione del dato b.
b := b + b , allora x x
b := x + x :
(1) b b
A(x + x) = b + b
Ax + Ax = b + b
x = A1 b x A1 b
|
{z
}
(2) b = Ax b A x

(1) (2)

1
A

x
b
{z
}
|

x
b
A A1
x
b

() Analisi a priori in avanti: perturbazione del dato A.


b := A + A , allora x x
b := x + x :
A A
(A + A)(x + x) = b
Ax + A x + A x + A x = b
x = A1 A (x + x) x A1 A x + x
A
x
x
A1 A
A A1
x + x
x + x
A

48

Denizione: K(A) := A A1
(numero di condizionamento della matrice A).
Teorema di Wilkinson.
Sia A non singolare, A e b perturbazioni di A e b, con A < 1/A1 .
Allora:
)
(
K(A)
x
A b

+
.
x
A
b
1 K(A) A
A

( ) Analisi a posteriori.
b una soluzione fornita da un metodo numerico e r = b Ab
Sia x
x il residuo
associato.
Si dimostra, con procedimento analogo a quello del caso (), la seguente disuguaglianza:
r
x
K(A)
x
b
Osservazioni su K(A).
Per ogni A non singolare e per ogni norma naturale di matrice si ha:
1 = I = AA1 A A1 = K(A).

max (A)
min (A)

:=

maxi=1,...,n (|i (A)|)


mini=1,...,n (|i (A)|)

=(A)(A1 ) A A1 = K(A).

Se A `e simmetrica:
(A) = A2 ;
K2 (A) =

maxi=1,...,n |i (A)|
mini=1,...,n |i (A)| .

Se A `e simmetrica e denita positiva:


(A) = A2 ;
K2 (A) =

maxi=1,...,n i (A)
mini=1,...,n i (A) .

49

Risoluzione numerica di sistemi lineari


Data una matrice quadrata A Rnn non singolare e un vettore b Rn , esiste
ed `e unico il vettore x Rn tale che Ax = b.
Costo computazionale della regola di Cramer: (n + 1)! flops.
Un calcolatore in grado di eettuare 109 flops al secondo impiegherebbe circa
1048 anni per risolvere un sistema lineare di sole 50 equazioni.
Metodi diretti: in assenza di errori di arrotondamento forniscono la soluzione
in un numero nito di operazioni.
Metodi iterativi: la soluzione `e ottenuta come limite di una successione di
vettori soluzione di sistemi lineari pi`
u semplici.
Metodi diretti
Risoluzione di sistemi triangolari.
L: matrice triangolare inferiore (lij = 0 se i < j).

i1

1
Lx = b xi = bi
lij xj ,
l
ii
j=1

i = 1, ..., n

(sostituzione in avanti o forward substitution).


U : matrice triangolare superiore (uij = 0 se i > j).

1
U x = b xi = bi
,
uij xj
uii
j=i+1

i = n, ..., 1

(sostituzione allindietro o backward substitution).


[Numero operazioni

n(n+1)
]
2

Il metodo di eliminazione di Gauss (E.G.).


Idea: Si trasforma il sistema Ax = b in un sistema equivalente triangolare
mediante combinazioni lineari di righe.
superiore U x = b
Passo 0: A(1) = A
(2)

Passo 1: A(1) A(2) , ai1 = 0, i = 2, ..., n


(3)

Passo 2: A(2) A(3) , ai2 = 0, i = 3, ..., n


..
.
(k+1)

Passo k: A(k) A(k+1) , aik

= 0, i = k + 1, ..., n
50

Passo 1: i = 2, ..., n
(2)

Ri

(1)

= Ri

(1)

mi1 R1

(1)

(2)

(1)

(1)

(2)

(1)

(1)

aij = aij mi1 a1j , mi1 t.c. 0 = ai1 = ai1 mi1 a11 mi1 =

ai1

(1)

a11

Passo 2: i = 3, ..., n
(3)

Ri

(2)

= Ri

(2)

mi2 R2

(2)

(3)

(2)

(3)

(2)

(2)

(2)

aij = aij mi2 a2j , mi2 t.c. 0 = ai2 = ai2 mi2 a22 mi2 =

ai2

(2)

a22

..
.
Passo k: i = k + 1, ..., n
(k+1)

Ri

(k)

= Ri

(k)

mik Rk

(k)

(k+1)

aij

(k)

(k)

(k+1)

= aij mik akj , mik t.c. 0 = aik

(k)

(k)

= aik mik akk mik =

aik

(k)

akk

Algoritmo E.G.
k = 1, ..., n 1
i = k + 1, ..., n
(k)
(k)
mik = aik /akk
j = k + 1, ..., n
(k+1)
(k)
(k)
aij
= aij mik akj
(k+1)

[si osservi che aik


= 0 automaticamente, grazie alla scelta di mik ]
end j
(k+1)
(k)
(k)
bi
= bi mik bk
end i
end k
[Numero operazioni :

n3
3 ]

Fattorizzazione LU.
Se L = {lii = 1, lij = mij , i = 1, ..., n, j < i} e U = A(n) , allora A = LU .

51

Applicazioni della fattorizzazione LU.


n
det(A)=det(L)det(U)=det(U)= i=1 uii
Ax = b, A = LU Soluzione di due sistemi triangolari:
1)Ly = b (triangolare inferiore)
2)U x = y (triangolare superiore).
Se L1 U1 e L2 U2 sono due fattorizazioni della matrice A, con Li (risp. Ui )
matrici triangolari inferiori (risp. superiori), allora le matrici Li (risp. Ui )
dieriscono per una matrice diagonale.
Infatti, supponendo L1 U1 = L2 U2 , moltiplicando a sinistra per L1
2 e a destra
per U11 , si ha
L1
L1 = U2 U 1 ,
| 2{z } | {z1 }
tr. sup.

tr. inf.

L1
2 L1

U2 U11

da cui si deduce che


=
pertanto L1 = L2 D e U2 = DU1 .

= D, con D matrice diagonale. Risulta

Tecnica del pivoting per righe.


(k)
Se a un certo punto del procedimento di EG si ha akk = 0, non si pu`o pi`
u
(k)
(k)
procedere con il calcolo del moltiplicatore mik = aik /akk .
Dunque ad ogni passo k si pu`o per esempio cercare la riga r per cui si verica
(k)

(k)

|ar k | = max |aik |


kin

e scambiare la riga k con la riga r.


Si osservi che la tecnica del pivoting permette di generare moltiplicatori mik
` pertanto utilizzata, anche quando non si inper cui si verica |mik | 1. E
(k)
contrano elementi pivotali akk nulli, allo scopo di non amplicare gli errori di
(k+1)
arrotondamento nel calcolo degli elementi aij
.
In modo analogo si pu`o denire la tecnica del pivoting per colonne
(k)

(k)

|ak c | = max |akj |


kjn

(si scambia la colonna k con la colonna c) o pivoting totale


(k)

(k)

|ar c | = max |aij |


ki,jn

(si scambia la riga k con la riga r e la colonna k con la colonna c).

52

Risoluzione di sistemi tridiagonali.


Sia data la matrice

a1 c1
0
b2 a2
c
2

...
...
...
A=

0 ... bn1
0 ...
...

...
...
...
an1
bn

0
0
...

cn1
an

(matrice a banda con p = q = 1). Allora se la fattorizzazione di Gauss esiste, i


fattori L e U sono due matrici bidiagonali (inferiore e superiore, rispettivamente)
della forma

1
2

L=
...
0
0

0
0
1
0
...
...
... n1
...
...

...
...
...
1
n

0
0

...
,
0
1

1
0

U =
...
0
0

1
2
...
...
...

0
2
...
0
...

...
...
...
n1
0

0
0
...

n1
n

I coecienti incogniti i , i , i delle matrici L e U possono essere determinati


imponendo luguaglianza (elemento per elemento) LU = A. In tal modo si trova
1 = a1 , i = ci , i = 1, ..., n 1, e:
i =

bi
, i = ai i i1 , i = 2, ..., n
i1

Osservazioni
Metodo di Cholesky per matrici simmetriche denite positive A = LLT .
Fenomeno del llin.

53

Metodi iterativi
(0)

(0)

(0)

Assegnato un vettore arbitrario x(0) = {x1 , x2 , ..., xn }, si costruisce una


successione
(k)

(k)

x(k) = {x1 , x2 , ..., x(k)


n },
tale che
lim x(k) = x.

Si consideri la i-esima equazione del sistema lineare Ax = b:


}

1 {
bi
aij xj ,
aii
j=1
n

xi =

aii = 0,

i = 1, ..., n

j=i

Metodo di JACOBI (J).


}

1 {
(k)
=
bi
aij xj ,
aii
j=1
n

k 0,

(k+1)
xi

i = 1, ..., n

j=i

Metodo di GAUSS-SEIDEL (GS).


k 0,

(k+1)
xi

i1
n
}

1 {
(k+1)
(k)
=
bi
aij xj

aij xj ,
aii
j=1
j=i+1

i = 1, ..., n.

Osservazioni.
passo k di (J) e (GS): n2 flops.
(J): aggiornamenti simultanei (parallelo).
(GS): aggiornamenti successivi (sequenziale).
Alcuni risultati sullo studio della convergenza.
Teorema.
A diagonalmente dominante in senso forte = i metodi (J) e (GS) convergono.
` una condizione SOLO suciente).
(E
Dimostrazione [nel caso del metodo (J)].
(k+1)
Calcolando la dierenza fra xi e xi
si ottiene:
(k+1)

ei

(k+1)

= xi xi

n
n

aij (k)
1
(k)
e
aij (xj xj ) =
aii j=1
aii j
j=1
j=i

54

j=i

(k+1)

|ei

n
n

}
{

aij (k)
aij
|ej |
e(k)
aii
aii
j=1
j=1
j=i

j=i

Posto
= max i ,
1in

con i =

aij
,
aii
j=1

i = 1, ..., n

j=i

si ha i < 1, essendo A matrice diagonalmente dominante in senso forte, e


dunque anche < 1.
Segue che:
(k+1)
|ei
| e(k) , i = 1, ..., n,
e dunque:
e(k+1) e(k) 2 e(k1) ... k+1 e(0)
Si conclude che
lim e(k+1) = 0

Propriet`
a.
Sia A simmetrica con aii > 0, i. Allora (GS) converge A `e denita
positiva.
Denizione.
Una matrice quadrata A si dice convergente se
lim [Ak ]ij = 0,

i, j = 1, ..., n,

dove [Ak ]ij `e il generico elemento della matrice Ak := A


... A}.
| A{z
k

Propriet`
a.
Sono condizioni equivalenti:
1) A `e una matrice convergente.
2) limk Ak = 0 per una norma di matrice.
3) (A) < 1.
Corollario.
A `e convergente se una norma di matrice tale che A < 1.
Contesto generale dei metodi iterativi.
Si cerca una decomposizione (splitting) di A nella forma: A = N P , con
det(N ) = 0, N y = f sistema facilmente risolubile e K(N ) << K(A). Allora:
Ax = b N x P x = b N x = P x + b.

55

Metodo iterativo: N x(k+1) = P x(k) + b x(k+1) = N 1 P x(k) + N 1 b.


Matrice di iterazione associata: B = N 1 P.
Relazione sullerrore. Posto e(k) = x x(k) , si ha:
Nx = Px + b
N x(k+1) = P x(k) + b

Nx Nx

(k+1)

= P x+ b P x(k) b

N (x x

(k+1)

) = P (x x(k) )

(k+1)

= Be(k) .

Teorema.
Condizione necessaria e suciente per la convergenza `e che B sia una matrice
convergente.
Teorema.
Condizione necessaria e suciente per la convergenza `e che (B) < 1.
Corollario.
Condizione suciente per la convergenza `e che esista una norma naturale di
matrice tale che B < 1.
Dimostrazione.
Dalla relazione ricorsiva sullerrore si ha:
e(k+1) = Be(k) B e(k) B 2 e(k1) ...
B (k+1) e(0) B(k+1) e(0) ,
da cui si ottiene che, se B < 1, si ha
lim e(k) = 0,

ovvero:
lim e(k) = 0.

Si osservi che la convergenza `e garantita per ogni e(0) , cio`e per ogni scelta del
vettore iniziale x(0) .

56

Applicazione ai metodi (J) e (GS).


A = L + D + U , con:
Lij = Aij , i > j (triangolo inferiore)
Uij = Aij , i < j (triangolo superiore)
Dii = Aii , i
(diagonale).
(J) matrice di iterazione

BJ = D1 (L + U )

(GS) matrice di iterazione

BGS = (D + L)1 U

Calcolo degli autovalori della matrice di iterazione del metodo (J):


det(BJ I) = 0 det[D1 (L + U ) I] = 0
1
1
det[D1 (L + U ) + D
| {z D}] = 0 det[D (L + U + D)] = 0
I
1

det
D } det(L + U + D) = 0 det(L + U + D) = 0
| {z
=0

Calcolo degli autovalori della matrice di iterazione del metodo (GS):


det(BGS I) = 0 det[(D + L)1 U I] = 0
det[(D + L)1 U + (D + L)1 (D + L)] = 0
|
{z
}
I
1

det{(D + L)

[U + (D + L)]} = 0 det(D + L)1 det[U + (D + L)] = 0


{z
}
|
=0

det[U + (D + L)] = 0
Denizione.
Si chiama velocit`a asintotica del metodo iterativo relativo ad una matrice diterazione B il numero:
R(B) = ln (B).
Proposizione.
Il numero di iterazioni m necessarie per ridurre lerrore di un fattore verica
la disuguaglianza
ln
.
m
R(B)

57

Osservazione. La proposizione aerma che se


m
allora

ln
,
R(B)

x x(m)
.
x x(0)

In particolare, scegliendo x(0) = 0 si ottiene che m `e il numero di iterazioni


necessarie anch`e lerrore relativo sia minore di , cio`e:
x x(m)
.
x
Si ottiene pertando una stima a priori dellerrore relativo al passo m.
Propriet`
a.
Se A `e una matrice tridiagonale di dimensione n non singolare con aii = 0,
i = 1, ..., n, allora
(BGS ) = [(BJ )]2 ,
cio`e i metodi di Jacobi e di Gauss-Seidel sono entrambi convergenti o entrambi
divergenti. Nel caso di convergenza, il metodo di Gauss-Seidel converge asintoticamente due volte pi`
u velocemente di quello di Jacobi, cio`e vale la relazione
R(BGS ) = 2R(BJ ).
Infatti:
R(BGS ) = ln (BGS ) = ln[(BJ )]2 = 2 ln (BJ ) = 2[ ln (BJ )] = 2R(BJ ).

58

METODI ITERATIVI PER SISTEMI LINEARI: COMPLEMENTI


Il metodo del rilassamento successivo (o metodo SOR)
A partire dal metodo di Gauss-Seidel si introduce il metodo SOR (Successive
(0)
(0)
(0)
Over-Relaxation). Assegnato un vettore arbitrario x(0) = {x1 , x2 , ..., xn },
e un parametro di rilassamento , si denisce, componente per componente, il
metodo SOR come segue:
(k+1)

xi

n
i1
}

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

aij xj
bi
aij xj
+(1 )xi ,
aii
j=1
j=i+1
|
{z
}

i = 1, ..., n.

GaussSeidel

Casi particolari:
(k+1)

= 0: xi

(k)

= xi , i = 1, ..., n, k 0, dunque dovr`a essere > 0

= 1: Gauss-Seidel (Esiste una versione del metodo SOR anche a partire dal
metodo di Jacobi).
Forma matriciale del metodo SOR:
x(k+1) = D1 (b Lx(k+1) U x(k) ) + (1 )Ix(k) =
D1 Lx(k+1) + [(1 )I D1 U ]x(k) + D1 b
Matrice diterazione:
B = (I + D1 L)1 [(1 )I D1 U ]
det(B ) = det[(I + D1 L)1 ] det[(1 )I D1 U ]
Si osservi che I + D1 L `e una matrice triangolare inferiore con elementi uguali
a 1 sulla diagonale, mentre (1)I D1 U `e una matrice triangolare superiore
con elementi uguali a 1 sulla diagonale. Dunque si ha:
det(B ) = (1 )n
n

[
]n


|(1 )n | = | det B | =
i (B ) max |i (B )| = [(B )]n
i=1,...n

i=1

Pertanto, condizione necessaria per la convergenza del metodo SOR:


|1 | < 1 0 < < 2
` Se A `e simmetrica denita positiva, il metodo SOR converge se
PROPRIETA.
e solo se 0 < < 2.
59

` Sia A una matrice tridiagonale, con aii = 0. Se tutti gli autoPROPRIETA.


valori della matrice di iterazione BJ del metodo di Jacobi sono reali, allora il
metodo di Jacobi e il metodo SOR, per 0 < < 2, convergono o divergono
simultaneamente. Nel caso di convergenza esiste un valore ott :
ott =

1 + 1 2 (BJ )

tale per cui (B ) raggiunge il minimo valore uguale a (ott 1),cio`e:


ott 1 = (Bott ) = min (B )
0<<2

Metodi di Richardson (Metodi del gradiente)


Per il sistema Ax = b si considera lo splitting della matrice A dato da
A = I (I A)
da cui si ottiene il metodo iterativo:
x(k+1) = (I A)x(k) +b = x(k) +bAx(k) = x(k) + r(k) , dove r(k) = bAx(k) .
La matrice di iterazione `e dunque B = I A.
Se si introduce un opportuno parametro di rilassamento (o di accelerazione)
= 0 si pu`o generalizzare tale metodo e denire il metodo di Richardson:
x(k+1) = x(k) + r(k)
con matrice di iterazione B = I A. (Questo corrisponde a considerare il
metodo precedente applicato al sistema modicato Ax = b, che `e equivalente
a quello assegnato = 0).
=costante (indipendente da k)
metodo di Richardson stazionario o metodo del gradiente a parametro costante
= k (variabile in funzione del passo k)
metodo di Richardson dinamico o metodo del gradiente a parametro dinamico
` Nel caso del metodo di Richardson stazionario o metodo del
PROPRIETA.
gradiente a parametro costante, se la matrice A ha autovalori reali positivi,
ordinati in modo che 0 < 1 < 2 < ... < n , allora il metodo converge se e solo
se 0 < < 2/n . Inoltre esiste un valore ott :
ott =

2
1 + n
60

tale per cui (B ) raggiunge il minimo valore uguale a


min[(B )] =

n 1
.
n + 1

Se inoltre la matrice A `e simmetrica e denita positiva `e noto che


K2 (A) = A2 A1 2 =
e dunque
min[(B )] =

n
1

K2 (A) 1
.
K2 (A) + 1

Nel caso di metodo di Richardson dinamico o metodo del gradiente a parametro


dinamico, una possibile strategia `e quella di determinare k in modo da rendere
minima la quantit`
a r(k+1) 22 , al variare del parametro reale . Si ha:
r(k+1) = b Ax(k+1) = b Ax(k) Ar(k) = r(k) Ar(k)
e dunque:
r(k+1) 22 = (r(k+1) , r(k+1) ) = (r(k) Ar(k) , r(k) Ar(k) ) =
2 (Ar(k) , Ar(k) ) 2(Ar(k) , r(k) ) + (r(k) , r(k) ) [p2 ()]
Il valore di che rende minima la quantit`a r(k+1) 22 [p2 ()] `e dunque dato
dallascissa k del vertice della parabola p2 ():
k =

(Ar(k) , r(k) )
(Ar(k) , Ar(k) )

Riassumendo, il metodo di Richardson dinamico o metodo del gradiente a


parametro dinamico, pu`o essere cos` descritto:
x(0) assegnato, r(0) = b Ax(0)
n0:
z(k) = Ar(k)
k =

(z(k) , r(k) )
(z(k) , z(k) )

x(k+1) = x(k) + k r(k)


r(k+1) = r(k) k z(k)
STOP se

r(k+1) 2
<
b2

61

Esercizio
Sia dato il sistema lineare Ax = b, con A Rnn matrice simmetrica denita
positiva. Siano i , i = 1, ..., n gli autovalori di A, con
0 < m = 1 2 ... n = M.
1) Fornire una condizione necessaria e suciente su m e M anch`e risulti
convergente il metodo iterativo
x(k+1) = Ax(k) + x(k) + b.

()

2) Fornire una condizione necessaria e suciente su anch`e risulti convergente il metodo iterativo
x(k+1) = [(I A)x(k) + b] + (1 )x(k) .

()

3) Trovare in funzione di m e M il valore ottimale ott , cio`e il valore di per


cui la il raggio spettrale della matrice di iterazione associata al metodo
denito al punto 2) sia minimo. Calcolare la corrispondente velocit`a di
convergenza ottimale in funzione del numero di condizionamento della
matrice A nella norma 2 .
Traccia dello svolgimento.
1) Matrice di iterazione associata al metodo (): B = I A.
CNS per la convergenza: (B) = (I A) < 1.
Problema di autovalori per B = I A :
(I A)x = x,

[ (B)]

Ix Ax = x
Ax = (1 )x
= 1 = 1 ,

[ (A)].

CNS per la convergenza del metodo ():


|1 | < 1 0 < < 2, (A) 0 < m M < 2.
2) Il metodo () si pu`o riscrivere come:
x(k+1) = (I A + I I)x(k) + b = (I A)x(k) + b.
Matrice di iterazione associata al metodo (): B = I A.
CNS per la convergenza: (B ) = (I A) < 1.

62

Problema di autovalori per B = I A :


(I A)x = x,

[ (B )]

Ix Ax = x
Ax = (I I)x
1
Ax = Ix
1
= = 1 , [ (A)].
CNS per la convergenza del metodo ():
2
2
|1 | < 1 0 < < 2, (A) 0 < < 0 < < M .
3) Il valore ottimale ott `e il valore di per cui (B ) `e minimo al variare
di (0, 2/M ):
min (B ) = (Bott ).
(0,2/M )

Per denizione di raggio spettrale si ha:


(B ) = (I A) = max || = max |1 i |.
(B )

i=1,...,n

Rappresentiamo in Figura 1 le curve fi () = |1 i |, i = 1, ..., n, con


2
0 < < M , tenendo conto che:
( 2 )
2
2

fn
= 1 n = 1 M = 1.
M
M
M
Consideriamo poi per esempio,
1
1
2
<
<
,
j
i
M
dove i < j (i < j), allora:
fi

( 2 )
( 2 )
2
2
= i
1 < j
1 = fj
.
M
M
M
M

Nel caso invece in cui per qualche indice j si ha


1
2
<
,
M
j
si ha fj () = |1 j | = 1 j , (0, 2/M ).
In entrambi i casi si ha:
(B ) = |1 m| = 1 m, se ,
(B ) = |1 M | = M 1, se ,

63

dove `e il valore di per cui f1 ( ) = fn ( ), cio`e tale per cui:


1 m = M 1 =

2
,
M +m

che `e anche il valore in corrispondenza del quale la quantit`a (B ) assume


il minimo valore, ossia:
(B ) = (Bott ) =

min
(0,2/M )

(B ).

Si ha inoltre:
(Bott ) = M ott 1 = M

M m
2
1=
=
M +m
M +m

M
m
M
m

1
,
+1

oppure,
(Bott ) = 1 mott = 1 m

2
M m
=
= ...
M +m
M +m

Essendo A matrice simmetrica e denita positiva si ha che


K2 (A) = A2 A1 2 = (A)(A1 ) =
e dunque
(Bott ) =

M
m

K2 (A) 1
.
K2 (A) + 1

Si osservi che per la velocit`a asintotica del metodo iterativo (), denita
da R(B ) = ln (B ), si ha:
lim

K2 (A)1+

R(B ) = (velocit`a innita)

lim
K2 (A)+

R(B ) = 0

64

(velocit`a nulla).

Figura 1
2
|11|
|12|

1.8

|13|
|1n|

1.6

1.4

(B)

1.2

0.8

0.6
ott

0.4

0.2

0.5

ott

1/n 1/3

1/2

65

1/1

1.5

Localizzazione di autovalori
Sia A una matrice quadrata di ordine n a coecienti reali; il numero C `e
detto autovalore di A se esiste un vettore x C non nullo tale che
Ax = x.
Il vettore x `e detto autovettore associato allautovalore e linsieme degli autovalori di A `e detto spettro di A ed `e denotato con il simbolo (A). E noto
che (A) = (AT ). Inoltre si denisce raggio spettrale della matrice A
(A) = max |i (A)|.
1in

Gli autovalori sono le soluzioni dellequazione caratteristica


pA () det(A I) = 0,
dove pA () `e il polinomio caratteristico di grado n rispetto alla variabile .
Dunque il problema della ricerca degli autovalori di una matrice `e un PROBLEMA NON LINEARE, che viene approssimato con metodi numerici di tipo
iterativo.
Una localizzazione preliminare della posizione degli autovalori della matrice A
nel piano complesso pu`o risultare utile per accelerare la convergenza dei metodi
iterativi per lapprossimazione degli autovalori.
Una prima stima si ottiene ricordando che
(A) A,
per ogni norma naturale di matrice.
Localizzazioni pi`
u accurate sono fornite dai teoremi di Gershgorin.
Primo teorema di Gershgorin
Sia A Rnn e un autovalore di A. Allora:

Zi ,

Zi = {z C : |z aii |

i=1

|aij |},

j=1
j=i

| {z }
ri

dove gli Zi sono detti cerchi di Gershgorin.


Dimostrazione
Sia (A) e sia x un autovettore corrispondente a . Sia k lindice della
componente del vettore x per cui si verica
|xk | = max |xj | = x .
1jn

66

Allora dalla relazione Ax = x, considerando lequazione kesima, si ha


n

akj xj = xk ,

j=1
n

akj xj + akk xk = xk ,

j=1
j=k

( akk )xk =

akj xj ,

j=1
j=k

| akk | |xk |

|akj | |xj |,

j=1
j=k

| akk |

j=1
j=k

|xj |

|akj | = rk ,
|xk |
|{z} jj=1
=k
n

|akj |

dunque Zk .
OSSERVAZIONE. Poich`e (A) = (AT ), applicando il teorema prima alla
matrice A e successivamente alla matrice trasposta AT , risulta che gli autovalori
di A appartengono allintersezione delle due regioni ottenute.
Secondo teorema di Gershgorin
Se lunione M1 di k cerchi di Gershgorin `e disgiunta dallunione M2 dei rimanenti
n k cerchi di Gershgorin, allora k autovalori (ciascuno contato con la propria
molteplicit`
a) appartengono a M1 e n k autovalori appartengono a M2 .

67

Approssimazione numerica di autovalori e autovettori


Il metodo delle potenze.
Non sempre `e necessario conoscere lo spettro di A, cio`e linsieme di tutti i
suoi autovalori; spesso, come nel caso dello studio della convergenza di metodi
iterativi per la risoluzione numerica di sistemi lineari o nello studio del condizionamento di una matrice, ci si pu`o limitare ad individuare quelli estremi,
cio`e quelli di modulo massimo e/o modulo minimo.
Sia A Rnn matrice con autovalori i , i = 1, ..., n tali che
|1 | > |2 | |3 | ... n ,
cio`e si suppone che lautovalore di modulo massimo 1 sia distinto dai restanti
autovalori di A.
Supponiamo che esista per ipotesi una base di autovettori {x1 , x2 , ..., xn }, dove
xj `e lautovettore associato allautovalore j , cio`e Axj = j xj , j = 1, ..., n.
Sia z0 Cn un vettore di componenti complesse assegnato. Dunque
z0 =

j xj .

j=1

Il metodo delle potenze consiste nel porre:


z1 = Az0 , z2 = Az1 = AAz0 = A2 z0 , ..., zk = Ak z0 .
Utilizzando lespressione dello sviluppo del vettore z0 nella base di autovettori e
considerando la relazione Axj = j xj che lega lautovalore j-esimo al corrispondente autovettore, si ha:
zk = Ak z0 = Ak

j xj =

j=1

j Ak xj =

j=1

j kj xj =

j=1

k1 1 x1 + k2 2 x2 + ... + kn n xn =

( )k
( )k
( )k

2
3
n

k1 1 x1 +
2 x2 +
3 x3 + ... +
n xn
1
1
1

|
{z
}
0 se k

Dunque al crescere di k, zk
cio`e zk tende a disporsi nella direzione
dellautovettore x1 associato allautovalore 1 .
Consideriamo ora il quoziente di Rayleigh che fornisce in generale lautovalore
a partire da un autovalore associato x:
k1 1 x1 ,

Ax = x = (Ax, x) = (x, x), = =

68

(Ax, x)
(x, x)

Dunque il quoziente di Rayleigh associato al vettore zk k1 1 x1 tende allautovalore


di modulo massimo 1 . Infatti:
k =

(Ak1 1 x1 , k1 1 x1 )
(k+1
1 x1 , k1 1 x1 )
2k+1
12 (x1 , x1 )
(Azk , zk )
1
1

=
=
= 1 .
k
k
k
k
2k
(zk , zk )
(1 1 x1 , 1 1 x1 )
(1 1 x1 , 1 1 x1 )
1 12 (x1 , x1 )

Si osservi tuttavia che:


Se |1 | < 1 zk 2 k1 1 x1 2 0;
Se |1 | > 1 zk 2 k1 1 x1 2 .
Si introduce quindi la seguente normalizzazione dei vettori:
yk =

zk
,
zk 2

e si pone
zk+1 = Ayk .
Di conseguenza si ha:
k =

(Ayk , yk )
= (zk+1 , yk ),
(yk , yk )

essendo (yk , yk ) = yk 2 = 1.
Lalgoritmo `e allora il seguente:
Inizializzazione: z0 = 0

k 0
zk
yk =
zk 2
zk+1 = Ayk
k = (zk+1 , yk )

Test d arresto, per esempio :|k k1 | < , k 1, oppure zk+1 k yk )2 < .


Osservazione 1. Il metodo delle potenze `e convergente anche nel caso in cui
lautovalore di modulo massimo abbia molteplicit`a algebrica > 1.
Osservazione 2. Quando invece lautovalore di modulo massimo non `e unico,
i risultati di convergenza non sono pi`
u applicabili. Si veda come esempio
lapplicazione del metodo delle potenze alla matrice A = [0 1; 1 0], che ha
autovalori +1 e 1.
Osservazione 3. Lerrore yk x1 2 `e proporzionale al rapporto (2 /1 )k .
Nel caso in cui la matrice A sia reale e simmetrica si pu`o dimostrare che lerrore
`e proporzionale al rapporto (2 /1 )2k .
69

Il metodo delle potenze inverse.


Una prima generalizzazione del metodo delle potenze consiste nellapplicare il
metodo nel caso in cui det(A) = 0, cio`e A1 , alla matrice inversa A1 per
approssimare lautovalore di modulo minimo di A, essendo gli autovalori di A1
i reciproci degli autovalori di A.
Lalgoritmo `e il seguente:
Inizializzazione: z0 = 0

k 0
zk
yk =
zk 2

zk+1 = A1 yk = Azk+1 = yk
)
(
1
k = (zk+1 , yk ),
n
.
k

70

Cenni sulla risoluzione numerica di equazioni dierenziali ordinarie


(ODE)
Problema di Cauchy.

y (x) = f (x, y(x))

x [x0 , T ]

y(x0 ) = y0

Formulazione integrale.

(condizione iniziale)

y (t)dt =

f (t, y(t))dt

x0

x0

y(x) y(x0 ) =

f (t, y(t))dt
x0

Approssimazione numerica.
Nodi di discretizzazione in [x0 , T ]:
h > 0, xj = x0 + jh, j = 0, 1, ..., N , xN T ;

[es.: h = (T x0 )/N ]

Soluzione esatta nei nodi: y(xj ).


Soluzione approssimata/numerica: uj y(xj ), u0 = y(x0 ) = y0 .
Denizione.
Un metodo numerico per lapprossimazione del problema di Cauchy si dice
a un passo se n 0, un+1 dipende solo da un e non da uj , j < n. In caso
contrario si dir`a a pi`
u passi o multistep.
Denizione.
Un metodo numerico per lapprossimazione del problema di Cauchy si dice
esplicito se un+1 ri ricava direttamente in funzione dei valori nei punti precedenti xj , j n. Un metodo `e implicito se un+1 dipende implicitamente da se
stesso attraverso la funzione f .
Il metodo di Eulero esplicito.
1) Costruzione geometrica.
Si considera la retta r tangente al graco della soluzione y(x) nel punto
di coordinate (x0 , y(x0 )) e si approssima il valore di y(x1 ) con il valore
assunto dalla retta r nel punto di ascissa x1 .
Equazione della retta tangente: r(x) = y(x0 ) + y (x0 )(x x0 )
r( x = x1 ) = y(x0 ) + y (x0 )(x1 x0 ) = y(x0 ) + hf (x0 , y(x0 )),
71

da cui si ricava lapprossimazione


y(x1 ) u1 = u0 + hf (x0 , u0 )
Ripetendo lo stesso procedimento sugli intervalli [x1 , x2 ], [x2 , x3 ]... si ottiene la formula del metodo di Eulero esplicito per i punti successivi:
un+1 = un + hf (xn , un ) n 0

u0 = y0 ,

2) Costruzione basata sullo sviluppo di Taylor (in avanti):


y(x) = y(x0 ) + (x x0 )y (x0 ) +

1
(x x0 )2 y (t0 ),
2!

x0 < t0 < x.

Calcolo dello sviluppo in x = x1 , dunque (x1 x0 ) = h:


1
y(x1 ) = y(x0 ) + hy (x0 ) + h2 y (t0 ),
2

x0 < t0 < x1

y(x1 ) u1 = y(x0 ) + hy (x0 ) = y(x0 ) + hf (x0 , y(x0 )) = u0 + hf (x0 , u0 )


da cui, n, la formula del metodo di Eulero esplicito per i punti successivi.
3) Costruzione basata sulla dierenziazione numerica (approssimazione delle
derivate).
Per denizione:
y (x0 ) = lim

xx0

y(x) y(x0 )
,
x x0

da cui si pu`o considerare


y (x0 ) = f (x0 , y(x0 ))

y(x1 ) y(x0 )
y(x1 ) y(x0 ) + hf (x0 , y(x0 ))...
x1 x0

4) Costruzione basata sullintegrazione numerica.


Data la formulazione integrale del problema di Cauchy
x1
x1
y (t)dt =
f (t, y(t))dt
x0

x0

y(x1 ) y(x0 ) =

x1

f (t, y(t))dt
x0

consideriamo un approssimazione dellintegrale al secondo membro basata


su uninterpolazione della funzione integranda con un polinomio di grado
zero rispetto al nodo x0 :
x1
g(t)dt hg(x0 ), formula del rettangolo (sinistra)
x0

Si ottiene:
y(x1 ) y(x0 ) hf (x0 , y(x0 )) y(x1 ) = y(x0 ) + hf (x0 , y(x0 ))....

72

Il metodo di Eulero implicito.


u0 = y0 ,

un+1 = un + hf (xn+1 , un+1 ) n 0

1) Costruzione geometrica.
Si approssima il valore di y(x1 ) con il valore assunto dalla retta r passante
per il punto di coordinate (x0 , f (x0 )) e avente come coeciente angolare
y (x1 ) = f (x1 , y(x1 ))..
r( x = x1 ) = y(x0 ) + hf (x1 , y(x1 )),
2) Costruzione basata sullo sviluppo di Taylor (allindietro):
y(x) = y(x1 ) + (x x1 )y (x1 ) +

1
(x x1 )2 y (t0 ),
2!

x < t0 < x1 .

Calcolo dello sviluppo in x = x0 , dunque (x0 x1 ) = h:


1 2
h y (t0 ), x0 < t0 < x1
2!
y(x1 ) y(x0 ) + hy (x1 ) = y(x0 ) + hf (x1 , y(x1 ))...

y(x0 ) = y(x1 ) hy (x1 ) +

3) Costruzione basata sulla dierenziazione numerica (approssimazione delle


derivate).
Per denizione:
y (x1 ) = lim

xx1

y(x) y(x1 )
x x1

da cui si pu`o considerare


y (x1 ) = f (x1 , y(x1 ))

y(x0 ) y(x1 )
y(x1 ) y(x0 ) + hf (x1 , y(x1 ))...
x0 x1

4) Costruzione basata sullintegrazione numerica.


Consideriamo la seguente approssimazione dellintegrale basata su uninterpolazione della funzione integranda con un polinomio di grado zero
rispetto al nodo x1 :
x1
g(t)dt hg(x1 ) formula del rettangolo (destra)
x0

Si ottiene:
y(x1 ) y(x0 ) hf (x1 , y(x1 ) y(x1 ) = y(x0 ) + hf (x1 , y(x1 )....

73

Il metodo dei trapezi o di Crank-Nicolson.


1) Sommando membro a membro le formule dei metodi di Eulero esplicito e
implicito si ha:
2un+1 = 2un + h[f (xn , un ) + f (xn+1 , un+1 )]
un+1 = un +

h
[f (xn , un ) + f (xn+1 , un+1 )]
2

2) Data la formulazione integrale del problema di Cauchy, approssimando


lintegrale con il metodo dei trapezi si ha:
y(x1 ) y(x0 )

h
[f (x0 , y(x0 ) + f (x1 , y(x1 )]....
2

Il metodo di Heun.
Si ottiene a partire dal metodo di Crank-Nicolson sostituendo nella f (xn+1 , un+1 )
al posto di un+1 una sua approssimazione ottenuta con un passo del metodo di
Eulero esplicito a partire da un :
un+1 = un +

h
[f (xn , un ) + f (xn+1 , un + hf (xn , un ))]
|
{z
}
2
un+1

Il metodo di Eulero modicato.


Data la formulazione integrale del problema di Cauchy, approssimando lintegrale
con il metodo del punto medio si ha:
[ (
(
))]
h
h
y(x1 ) y(x0 ) h f x0 + , y x0 +
2
2
da cui si ottiene la formula
(
)
h
u1 u0 = hf x0 + , u0+ 12 ,
2

(
)
h
u0+ 12 y x0 +
2

Al posto di u0+ 12 si sostituisce una sua approssimazione ottenuta con mezzo


passo del metodo di Eulero esplicito a partire da u0 :

h
h

u1 u0 = hf x0 + , u0 + f (x0 , u0 )
2 |
2 {z

}
u0+ 1
2

74

In generale:

h
h

un+1 = un + hf xn + , un + f (xn , un )
2 |
2 {z

}
un+ 1
2

Il metodo del punto medio (metodo a due passi).


Data la formulazione integrale del problema di Cauchy
x2
x2
y (t)dt =
f (t, y(t))dt
x0

x0

y(x2 ) y(x0 ) =

x2

f (t, y(t))dt,
x0

consideriamo lapprossimazione dellintegrale basata sul metodo del punto medio:


x2
g(t)dt 2h[g(x1 )].
x0

Si ottiene:
y(x2 ) y(x0 ) 2hf (x1 , y(x1 ) y(x2 ) y(x0 ) + 2hf (x1 , y(x1 )....
e quindi, dato u0 = y0 e calcolato u1 con un metodo a un passo, la formula del
punto medio `e data da:
un+1 = un1 + 2hf (xn , un )

n1

Cenni sullanalisi dei metodi numerici a un passo


Consistenza.
Un metodo esplicito a un passo si pu`o scrivere in forma compatta come
u0 = y 0 ,

un+1 = un + h(xn , un , f (xn , un ), h), 0 n N 1.

Sostituendo le soluzioni esatte y(xn ) e y(xn+1 ) nello schema numerico, esso sar`a
soddisfatto a meno di un residuo n+1 , avendo preteso che la soluzione esatta
verichi lo schema numerico:
u0 = y 0 ,

y(xn+1 ) = y(xn )+h(xn , y(xn ), f (xn , y(xn )), h)+ n+1 , 0 n N 1


| {z }
residuo

75

Scrivendo il residuo nella forma


n+1 = hn+1 (h),
la quantit`
a n+1 (h) `e detta errore locale di troncamento associato al nodo xn+1 .
Si denisce poi errore globale di troncamento la quantit`a:
(h) =

max

0nN 1

|n+1 (h)|.

Denizione.
Un metodo numerico si dice consistente se
lim (h) = 0,

h0

cio`e lerrore globale di troncamento `e innitesimo rispetto a h. In particolare si


dir`
a che uno schema numerico ha ordine di consistenza p se
(h) = O(hp ).
Consistenza del metodo di Eulero esplicito.
un+1 = un + hf (xn , un )
y(xn+1 ) y(xn ) hf (xn , y(xn )) = n+1
Sfruttando lo sviluppo di Taylor di y con centro in xn e incremento h si ha:
1
y(xn ) + hy (xn ) + h2 y (tn ) y(xn ) hy (xn ) =
|
{z 2
}
y(xn+1 )

1 2
h y (tn ) = n+1 = hn+1 (h),
2

xn < tn < xn+1

Dunque:
n+1 (h) =
(h) =

h
y (tn )
2

h
max |y (xn )| (h) = O(h).
2 0nN 1

Denizione di convergenza.
Un metodo numerico si dice convergente con ordine di convergenza p se
|un y(xn )| Chp ,

n tale che 0 n N, C > 0

76

Concetto di zero-stabilit`
a (stabilit`a su intervalli limitati).
Si dice che un metodo numerico `e zero-stabile se, in un intervallo limitato e ssato (x0 , T ), a piccole perturbazioni sui dati corrispondono piccole perturbazioni
sulla soluzione, quando h 0.
Per una denizione rigorosa si veda: [A. Quarteroni, R. Sacco e F. Saleri,
Matematica Numerica, Springer-Verlag Italia, Milano 2000].
Assoluta stabilit`
a (stabilit`a su intervalli illimitati).
Il concetto di assoluta stabilit`a ha a che fare con il comportamento asintotico
della soluzione numerica un , per xn .
Consideriamo il problema modello

y (x) = y(x) x [0, ), > 0
(P m)

y(0) = 1
(condizione iniziale)
la cui soluzione esatta y(x) = ex tende a 0 per x .
Denizione.
Un metodo numerico per lapprossimazione di (P m) si dice assolutamente stabile
se
|un | 0 per xn +.
1) Assoluta stabilit`
a del metodo di Eulero esplicito.

un+1 = un hun = (1 h)un = (1 h)2 un1 = ... = (1 h)n+1 u0


un+1 = (1 h)n+1
|un | 0 per xn + |1 h| < 1 1 < 1 h < 1
0 < h < 2 h <

2) Assoluta stabilit`
a del metodo di Eulero implicito.

un+1 = un hun+1 (1 + h)un+1 = un un+1 =

1
un =
1 + h

1
1
1
un1 = ... =
u0 =
2
n+1
(1 + h)
(1 + h)
(1 + h)n+1
|un | 0 per xn +

1
< 1, h (h, > 0)
|1 + h|

77

3) Assoluta stabilit`
a del metodo di Heun.
h
h
un+1 = un + [un (un + hf (xn , un ))] = un + [un (un hun )] =
2
2
(
)
(
)2
h
h2 2
h2 2
2
un + [un un +h un ] = 1 h +
un = 1 h +
un1 =
2
2
2
)n+1
(
)n+1
(
h2 2
h2 2
u0 = 1 h +
... = 1 h +
2
2

2 2
h
h2 2

|un | 0 per xn + 1h+
<1
< 1 1 < 1h+
2
2

1 h +

1 + h +

h2 2
2

> 1

h2 2
2

<1

2 2
h 2h + 4 > 0

h2 2 2h < 0

78

0 < h < 2