Sei sulla pagina 1di 264

CALCOLO NUMERICO

Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica


Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 15.01.2007
Argomenti
Il calcolo numerico
Il sistema dei numeri macchina
Errore di arrotondamento
Errore assoluto, errore relativo
Esempi sugli eetti della propagazione dellerrore
Stabilit`a di un algoritmo
1
Cos`e il CALCOLO NUMERICO ?
Il Calcolo o Analisi Numerica `e larea della matematica che
- crea, analizza i metodi per fornire una soluzione nume-
rica dei problemi della matematica continua
- studia gli algoritmi, implementamentabili su un calcola-
tore, dedotti dai metodi stessi.
2
Problemi della matematica continua (Punto di partenza): Problemi
matematici in cui sono coinvolte variabili appartenenti a domini del
campo reale R o complesso C (coppie di numeri reali).
Sono i problemi, costruiti dalle scienze applicate, quali lingegneria o
la medicina, formalizzati attraverso modelli matematici nel continuo -
per esempio, integrali, equazioni dierenziali, sistemi lineari.
Soluzione numerica (Punto di arrivo): `e sempre costituita da un in-
sieme discreto di numeri, che rappresenta la soluzione del problema
ottenuta mediante luso di un calcolatore sul quale si `e implementato
lalgoritmo.
3
Schema di procedura
problema matematico nel continuo

scelta del metodo/algoritmo numerico nel discreto.La scelta `e un arte!!

implementazione dellalgoritmo in un linguaggio di programmazione

verica del programma su problemi test

esecuzione del programma sul problema posto

analisi dei risultati !!!


La soluzione numerica `e accettabile solo se si sa stimare lattendibilit`a
dei risultati
perch`e nei vari passaggi si introducono inevitabilmente degli errori
4
Quali errori?
Errori di arrotondamento: dovuti essenzialmente al fatto che un in un
calcolatore si possono rappresentare solo numeri di lungheza nita
Errori di discretizzazione o troncamento: legati alla trasformazione di
un problema nel continuo in un problema nel discreto
5
Il sistema di numeri macchina
Linsieme F dei numeri disponibile su un calcolatore `e detto sistema
di numeri macchina
F `e un sottoinsieme di R discreto
F contiene numeri costituiti da un numero nito di cifre [M, m]
{0} [m, M], m > 0, M > 0 dipendenti dal tipo di calcolatore e/o di
linguaggio usato.
Analisi Matematica
Geometria, Agebra

R: Numeri reali
insieme innito
numeri di lunghezza innita
Analisi Numerica

F: Numeri macchina
insieme nito
numeri di lunghezza nita
6
Errori di arrotondamento
Esempi
3.1415926535897932385 e

137 11.704699910719625109
x R x

F
10
x

F
15
3.141592654 3.14159265358979

137 11.70469991 11.7046999107196


Denizione
x R valore esatto, x

valore approssimato
Errore assoluto e(x) = x x

Errore relativo e
r
(x) =
x x

x
(x = 0)
7
Tabella degli errori sui valori ,

137
F
10
F
15
v R e(v) e
r
(v) e(v) e
r
(v)
-.41e-9 -.13e-9 .32e-14 .10e-14

137 .72e-9 .61e-10 .25e-13 .21e-14


Lerrore assoluto misura il numero di cifre decimali esatte
Lerrore relativo misura il numero di cifre signicative esatte
x

`e il valore di x arrotondato sulla r-sima cifra decimale e sulla t-sima


cifra signicativa se r e t sono il massimo intero positivo per cui
|e(x)| 0.5 10
r
, |e
r
(x)| 0.5 10
t+1
8
Osservazione
- Lerrore assoluto si considera (spesso) dotato di segno:
errore assoluto positivo x

approssimazione per difetto


errore assoluto negativo x

approssimazione per eccesso


- Generalmente, non essendo disponibile x, si valuter`a lerrore relativo
con x

, disponibile, al posto di x.
e
r
(x) =
x x

(x

= 0)
9
Quando si introducono gli errori di arrotondamento?
- sui dati di input quando / F.
Esempio: (0.1)
10
= (0.0001100)
2
,
100

k=1
0.1 = 9.99999999999998 = 10 (Matlab).
- su ogni risultato che eccede la rappresentabilit`a di memoria
Esempio: x = e
15
= 3269017.372472110639301855....
Matlab fornisce: x

= 3269017.372472111
Larrotondamento sui numeri `e la prima fonte di errore.
10
Errori di arrotondamento: alcuni danni
Esempio 1 - Luguaglianza fra numeri reali
q
1
(x) = (x 1)
7
q
2
(x) = x
7
7x
6
+21x
5
35x
4
+35x
3

21x
2
+7x 1
Per lalgebra q
1
(x) e q
2
(x) sono identiche x.
Tabuliamo q
1
e q
2
per x [0.9998, 1.0002] con MATLAB.
11
0.9998 0.9999 1 1.0001 1.0002
1.5
1
0.5
0
0.5
1
1.5
x 10
26
0.9998 0.9999 1 1.0001 1.0002
1.5
1
0.5
0
0.5
1
1.5
x 10
14
: q
1
: q
2
I valori assunti da q
1
e q
2
non solo non coincidono, ma hanno ordine
di grandezza sensibilmente dierente:
Luguaglianza fra numeri reali pu` o non avere signicato!
12
Esempio 2 - La cancellazione numerica
Consideriamo lequazione di secondo grado
q(x) = ax
2
+bx +c = 0
e la formula classica che fornisce le soluzioni
x
1
=
b+

2a
x
2
=
b

2a
= b
2
4ac
13
a = 1, b = 124.81, c = 1.3432;
Soluzione x
1
= 124.79923711369504356, x
2
= 0.010762886304956441142
n. cifre x

1
x

2
e
r
(x
1
) e
r
(x
2
)
7 124.7992 .01075000 .30e-6 .12e-2
12 124.799237114 .0107628865000 -.24e-11 -.18e-7
15 124.799237113695 .107628863050000e-1 .35e-15 -.40e-11
Le soluzioni dellequazione di secondo grado fornite dalla formula classica non si
ottengono con la stessa accuratezza
Perch`e ?
b,

esatti nella precisione ssata


|b|

nel calcolo di x
2
si sottraggono numeri molto vicini si perdono cifre
signicative, ovvero viene amplicato lerrore relativo. (Cancellazione numerica)
14
Bisogna evitare la sottrazione.
Ricordando che x
1
x
2
= c/a un altro algoritmo di calcolo `e il seguente
x
1
=
b +sign(b)

2a
x
2
=
c
a x
1
La radice di massimo modulo resta inalterata e per la radice x
2
si
ottiene
n. cifre x

2
e
r
(x
1
)
7 .01076289 -.34e-6
12 .0107628863049 .52e-11
15 .0107628863049564 .38e-14
15
Stabilit`a e condizionamento
Al problema della propagazione degli errori di arrotondamento sono
associati il concetto di
stabilit`a di un algoritmo
condizionamento di un problema
Un algoritmo si dice (numericamente) stabile se loutput subisce solo
piccole variazioni quando i dati di input subiscono piccole variazioni;
si dir`a instabile se non verica tale condizione.
16
Stabilit`a di un algoritmo: esempio
Modello matematico: I
n
=
1
e

1
0
x
n
e
x
dx
Integrando per parti si ottiene
I
n
=
1
e

1
0
nx
n1
e
x
dx

= 1 nI
n1
Algoritmo di calcolo
I
0
= 1
1
e
I
n
= 1 nI
n1
, n 1 (legge ricorsiva)
17
Osservazioni
- x
n
e
x
> 0 per x (0, 1] I
n
> 0 n nito
- x
n
< x
n1
per x (0, 1] I
n
< I
n1
ovvero {I
n
} `e una successione monotona decrescente di valori positivi .
Applichiamo la ricorrenza: I
n
= 1 nI
n1
, n 1
I
0
0.63212055882856 = I

0
numero macchina
I
1
= 1 I
0
1 I

0
= 0.36787944117144 = I

1
I
2
= 1 2I
1
1 2I

1
= 0.36787944117144 = I

2
...............
18
n I

n
0 0.63212055882856
1 0.36787944117144
2 0.26424111765712
3 0.20727664702865

9 0.09161229299417

16 0.05545930172957
17 0.05719187059731
18 -0.02945367075154
qualcosa non va!
negativo? impossibile !!!
E proseguendo si ha
I

19
= 1.559619744279
I

20
= 30.192394885584
I

21
= 635.040292597259
19
Tutta colpa della propagazione dellerrore iniziale!
Algoritmo applicato
I

n
= 1 nI

n1
valore iniziale I

0
, numero di macchina
Algoritmo esatto
I
n
= 1 nI
n1
valore iniziale I
0
R
Ad ogni passo si commette un errore
e
n
= I
n
I

n
= 1 nI
n1
(1 nI

n1
) = ne
n1
, n 1

e
1
= e
0
, e
2
= 2e
1
= 2e
0
, e
3
= 3e
2
= 2 3e
0
20
per induzione
e
n
= (1)
n
n!

e
0
Coe. di amplicazione
Il valore di innesco, I

0
, `e arrotondato sulla 14
a
cifra decimale
|e
0
|
1
2
10
14
, ma lerrore iniziale cresce in modo proporzionale
al fattoriale e diventa dominante rispetto ai valori esatti I
n
.
|e
20
| 20!
1
2
10
14
0.12e5
L algoritmo non `e stabile!
21
Un nuovo algoritmo
- la I
n
= 1 nI
n1
pu` o essere letta anche
I
n1
=
1
n
(1 I
n
) (ricorsione allindietro)
- poich`e I
n
0, per n sucientemente grande si pu` o assumere
I
n1
I
n
I
n
1 nI
n
I
n

1
n+1
.
Da I

35
= 0.02777777777778 applicando la ricorsione allindietro si ha
I

20
= 0.04554488407582, che `e il valore esatto nella precisione usata.
Vericate che in questo caso lerrore iniziale e
35
viene progressivamente
abbattuto e pertanto
L algoritmo `e stabile!
22
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 15.01.2007
Argomenti
Condizionamento di un problema
Valutazione di una funzione
Errore di toncamento o discretizzazione
Formule ricorsive
Il metodo del punto unito
Teorema di esistenza del punto unito
Esempi
1
Condizionamento di un problema
In alcuni casi gli eetti devastanti della propagazione dellerrore di
arrotondamento hanno unorigine sotto certi aspetti pi` u grave, perch`e
dipendono dal problema stesso.
Rappresentazione schematica di un problema
ID P OD
ID: dati di input, per esempio la matrice e i termini noti di un sistema
lineare
OD: valori di output, per esempio la soluzione del sistema
Quanto `e sensibile loutput in presenza di perturbazioni sullinput, in-
dipendentemente da come si eseguono i calcoli?
Un problema si dice ben condizionato se la soluzione subisce solo pic-
cole variazioni quando i parametri da cui essa dipende subiscono piccole
variazioni; si dir`a mal condizionato se non verica tale condizione.
2
Esempio 1 - Zeri di un polinomio
p(x) = x
3
+a
1
x
2
+a
2
x +a
3
a
1
a
2
a
3

1

2

3
-9.5 20.0 12.5 -0.5 5.0 5.0
-9.498 20.001 12.5 -0.5 4.999+0.099995i 4.999-0.099995i
Errore percentuale sui dati (in modulo):
e
r
(a
1
) = 0.02%, e
r
(a
2
) = 0.005%, e
r
(a
3
) = 0
Errore sulla soluzione: non valutabile:
cambia lo spazio cui appartengono gli zeri di p
3
Esempio 2: sistemi lineari
Si considerino i sistemi Ax = b con
I. A =
_
5 7
0.7 1
_
, b =
_
12
1.7
_
, x =
_
1
1
_
II. A =
_
5 7
0.7 1.02
_
, b =
_
12.02
1.7
_
, x =
_
2.72
0.2
_
III. A =
_
5 7
0.7 1
_
, b =
_
12
1.69
_
, x =
_
1.7
0.5
_
4
Errori sui dati e sulle soluzioni
Considerano i Casi II e III come perturbazioni del Caso I.
Caso Errore sui dati Errore sulla soluzione
II. e
r
(a
22
) = 2% e
r
(x
1
) = 172%
e
r
(b
1
) = 0.2% e
r
(x
2
) = 120%
III. e
r
(b
2
) = 0.6% e
r
(x
1
) = 70%
e
r
(x
2
) = 50%
Gli errori sui risultati non sono proprio comparabili con le perturbazioni
introdotte sui dati!
5
Esempio 3 - Valutazione di una funzione in un punto
p(x) = 19x
5
135x
4
+76x
3
540x
2
+57x 405 = 0
Zero di p (Valore vero) Valore approssimato
= 135/19 7.105263157894736842

= 7.10526
Corrispondenti valori di p
p() = 0 p(

) = 0.1652204
Qual`e la relazione fra lerrore relativo sui dati (variabile indipendente)
e lerrore relativo sui risultati (valori della funzione)?
6
Indice di condizionamento nel calcolo di una y = f(x)
Sia x R, valore esatto; x

, valore approssimato
Sviluppo in serie di Taylor:
y = y y

= f(x) f(x

) = f

(x

)(x x

) +......
Errore relativo:

y
y

(x

)
f(x)

|x| =

(x

)x
f(x)

. .

x
x

Indice di condizionamento del problema: C


P
:=

(x)x
f(x)

7
Osservazioni
- Nella pratica si sostituisce il valore esatto x (in genere non disponibile)
con il valore approssimato x


C
P
:=

(x

)x

f(x

- C
P
`e il fattore di amplicazione dellerrore relativo sui dati: maggiore
`e C
p
pi` u il problema `e mal-condizionato
- Il calcolo di una funzione in uno zero `e un problema mal-condizionato
- Lindice di condizionamento cresce al crescere della derivata
- Se lerrore relativonon `e denito, si utilizza lerrore assoluto
Esempio Nel caso del polinomio: p

(x

) 5.23e +004,
C
p
() = p

() 0.37e06
8
... concludendo
instabilit`a , mal-condizionamento: piccole variazioni percentuali sui
dati producono variazioni molto maggiori sui risultati
Linstabilit`a di un algoritmo `e dovuta al tipo di operazioni che si fanno
si pu` o ovviare cambiando algoritmo
Nel mal-condizionamento di un problema lattenzione `e focalizzata su
l istante iniziale e l istante nale, nel senso che il fenomeno `e
intrinseco al problema e non dipende dalle operazione che si eseguono
per risolverlo
- uno stesso problema pu`o essere mal-condizionato su alcuni dati
e ben-condizionato su altri
- ogni algoritmo applicato ad un problema mal-condizionato risulta
instabile
9
Lerrore di troncamento o discretizzazione
Esempio 1: le successioni
a
n
, a
n
= 1 +
1
2
+ +
1
n
log(n)
Soluzione matematica: lim
n
a
n
= = 0.57721566490152
(costante di Eulero)
Soluzione numerica: a
N
, N nito
Errore di troncamento: E
N
= a
N
.
Per N = 1000: a
1000
= 0.57771558156821, E
1000
0.5e 3.
10
Esempio 2: le serie
Problema xy

+y

+xy = 0, y(0) = 1
Soluzione matematica: J
0
(x) =

k=0
(1)
k
x
2k
2
2k
(k!)
2
, x 0
(funzione di Bessel)
Soluzione numerica: S
N
(x) =
N

k=0
c
k
x
2k
P
2N
, N nito
Errore di troncamento o discretizzazione:
|E(x)| = |J
0
(x) S
N
(x)|

x
2(N+1)
2
2(N+1)
((N+1)!)
2

x = 0.5, N = 5 |J
0
(0.5) S
N
(0.5)| 0.11e 12.
11
Errore di troncamento o discretizzazione:
-E presente ogni volta che la soluzione del problema matematico
richiede un numero innito di operazioni e si costruisce una soluzione
numerica con un numero nito di operazioni.
-E un errore indipendente dallerrore di arrotondamento.
- Nella pratica lerrore di discretizzazione `e , in generale, pi` u rilevante
dellerrore di arrotondamento.
12
Le formule ricorsive
Una formula ricorsiva `e una formula che calcola lelemento a
k
di una
sequenza in funzione di m 1 elementi precedenti.
m = 1 a
k
= g(a
k1
), k 1 f. r. ad un passo
m > 1 a
k
= g(a
k1
, a
k2
, , a
km
), k m f. r. a m passi
La sequenza `e univocamente denita
dal valore dinnesco o valore iniziale a
0
dai valore dinnesco a
0
, a
1
, , a
m1
Esempio I
n
= 1 nI
n1
(v. Lezione precedente - stabilit`a )
13
Esempio 1. Il fattoriale: f
n
= n! =
n

j=1
j.
Formula ricorsiva: f
k
= kf
k1
k = 1, 2 , n, f
0
= 1
Per n grande f
k
/ F.
32 bits ( 6-7 cifre decimali signicative) max f
n
= 13!
64 bits (15-16 cifre decimali signicative) max f
n
= 21!.
Per valori di n maggiori si perdono cifre signicative e solo lordine di
grandezza risuta corretto.
Per esempio con Matlab (64 bits): e(22!) = 32000, e(30!) 0.6e17;
e(22!) 0.28e 15, e(22!) 0.22e 15.
14
Esempio 2. Algoritmo di corner cutting Dati: N punti P
(0)
j
R
2
Formula ricorsiva:
P
(k+1)
2j
=
1
4
P
(k)
j
+
3
4
P
(k)
j+1
P
(k+1)
2j1
=
3
4
P
(k)
j
+
1
4
P
(k)
j+1
spezzata al passo 0
spezzata al passo 1
spezzata al passo 0
spezzata al passo 1
spezzata al passo 2
15
Esempio 3. Algoritmo di di Horner Si vuole calcolare
p(z) =
n

k=0
a
k
z
nk
= a
0
z
n
+a
1
z
n1
+ +a
n1
z +a
n
.
in un ssato punto z = t.
Algoritmo basato sullespressione di p
z <-- 1 (inizializza la potenza)
p <-- a(n) (inizializza la somma)
ripeti per k da n-1 a 0 (passo -1)
z <-- z t (aggiorna la potenza, f.r. m=1)
p <-- p+a(k) z (aggiorna la somma, f.r. m=1)
Costo computazionale: 2n prodotti.
16
Algoritmo di Horner
b
0
= a
0
b
k
= a
k
+t b
k1
, k = 1, 2, . . . , n
fornisce p(t) = b
n
.
Costo computazionale: n prodotti.
Algoritmo di Horner generalizzato: si itera la stessa legge ricorsiva:
b
(j)
0
= b
(j1)
0
b
(j)
k
= b
(j1)
k
+t b
(j)
k1
, k = 1, 2, . . . , n j, j = 1, 2, ...n j,
b
(0)
k
= b
k
, k = 0, 1, . . . , n
b
(j)
nj
=
p
j
(t)
j!
, j = 0, 1, , n 1.
17
Esempio 4.
y
n
=
[(2n)!!]
2
[(2n 1)!!]
2
(2n +1)
/4 (n )
(molto lentamente!) Con il calcolo esplicito dei fattoriali e poi del
quoziente si va in overaw ( per n = 151 con Matlab).
Formula ricorsiva: posto y
n
=
y
n
2n +1
, y
n
=
[(2n)!!]
2
[(2n 1)!!]
2
y
n
=
_
2n
2n 1
_
2
y
n1
, n 2, y
1
= 4.
non ci sono problemi di overaw.
18
Le formule ricorsive sono una tecnica di programmazione elegante che
consente di

implementare codici di calcolo molto semplici

ridurre i costi computazionali

proseguire nei calcoli, in casi in cui si avrebbero fenomeni di overaw


(underaw)
MA...
bisogna sapere quando fermare il procedimento ricorsivo
se non funziona correttamente si hanno risultati privi di signicato
(si veda lesempio sulla stabilit`a e del fattoriale)
19
I metodi iterativi
Caratteristica comune
cercano la soluzione numerica del problema calcolando successive ap-
prossimazioni a partire da una approssimazione iniziale.
Ad ogni passo del metodo iterativo si vuole ottenere una stima della
soluzione pi`u accurata di quella calcolata nel passo precedente.
Molti metodi iterativi si basano su formule ricorsive: la conoscenza
delle propriet`a e il controllo della ricorsione diventano un problema
cruciale.
20
il metodo del punto unito in R
1
Formula ricorsiva ad 1 passo:
x
k+1
= (x
k
), k 0, x
0
dato
: R R
La f. r. rappresenta una trasformazione della retta in se.
Si dice punto unito o punto sso di ogni R t.c.
= ()
Il metodo iterativo (basato sulla f.r.) viene detto metodo del punto
sso con funzione di iterazione .
21
Non sempre esiste un punto unito (x) = x
2
+1
La curva y = x
2
+1 non ha punti di intersezione con la bisettrice y = x:
la trasformazione x = x
2
+1 non ha punti ssi in R.
y=(x)=x
2
+1
y=x
x
y
22
Teorema di esistenza del punto sso
Teorema 1 Se la successione x
k+1
= (x
k
), k 0, x
0
dato, converge
ad e la funzione `e continua in , allora `e punto unito di .
Dim. passando al limite su ambo i membri della f.r.
= lim
k
x
k+1
= lim
k
(x
k
) = ()

per la convergenza per la continuit`a
In pratica: Se si applica il metodo e si verica la convergenza i valori
ottenuti sono approssimazioni di un punto sso di .
23
Se ammette un punto unito,
_
x
k
= (x
k1)
_
converge?
Non `e detto!!
Esempio.
1
(x) = e
x
2
2
ha un punto sso in [1, 2]. Infatti
x =
1
(x) g(x) = x
1
(x) = 0
(un punto sso di
1
(x) `e uno zero di g)
g(1) = 1 e
1
> 0, g(2) = 2 e
2
< 0, g C
0
(R)
[1, 2] t.c. g() = 0
Consideriamo x
0
= 2, x
k
=
2
(x
k1
), k 1: si ha
x
1
= 7.389056099
x
2
= .6967649850e23
il calcolo di x
3
conduce a un valore in overaw.
24
Se si assume x
0
= 1 si ottengono i valori x
k
:
k x
k
k x
k
1 0.36787944117144 7 0.13793482701375
2 0.15494815269479 8 0.13793482562036
3 0.13862385819704 9 0.13793482556734
4 0.13796111264843 10 0.13793482556532
5 0.13793582594112 11 0.13793482556525
6 0.13793486363172 12 0.13793482556524
quindi la successione converge. A cosa converge?
La convergenza del metodo del punto unito dipende dalla funzione di
iterazione, ma anche dalla scelta dellapprossimazione iniziale.
25
Teorema 2 Sia t. c.
i
1
C
1
[a, b]
i
2
(x) [a, b], x [a, b]
i
3
|

(x)| , 0 < < 1, x [a, b]


allora
t
1
esiste punto sso di
t
2
il punto sso `e unico
t
3
comunque si ssi il punto iniziale x
0
[a, b], la successione {x
k
}
x
k
= (x
k1
) `e t.c. x
k
[a, b], k
t
4
lim
k
x
k
=
t
5
|x
k
|

k
1
|x
1
x
0
|, k > 1
26
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 19.01.2007
Argomenti
Teorema del punto unito
Criteri darresto
Esempi
Ordine di convergenza
Esercizi
Zeri di equazioni: introduzione
1
Il metodo del punto unito in R
1
Il problema: Considerato il metodo iterativo
x
k+1
= (x
k
), k 0, x
0
dato
( metodo del punto sso con funzione di iterazione )
sotto quali ipotesi `e possibile assicurare che
- esiste almeno un punto unito (punto sso) R t.c.
= ()
- il metodo iterativo converge ad ?
2
Teorema 2 Sia t. c.
i
1
C
1
[a, b]
i
2
(x) [a, b], x [a, b]
i
3
[
t
(x)[ , 0 < < 1, x [a, b]
allora
t
1
esiste punto sso di
t
2
il punto sso `e unico
t
3
comunque si ssi il punto iniziale x
0
[a, b], la successione x
k

x
k
= (x
k1
) `e t.c. x
k
[a, b], k
t
4
lim
k
x
k
=
t
5
[x
k
[

k
1
[x
1
x
0
[, k > 1
3
Dim.
t
1
(x) [a, b] (per i
2
) (a) a, (b) b.
Se (a) = a o (b) = b il teor. `e dimostarto. Altrimenti
(a) a > 0
(b) b < 0
(x) x C[a, b]

(a, b) t.c.
() = 0
(Teorema degli zeri)
t
2
Per assurdo. Siano
1
,=
2
[a, b] punti uniti di
[
1

2
[ = [(
1
) (
2
)[ = [
t
()[ [
1

2
[ [
1

2
[ < [
1

2
[
Th. di Lagrange , [a, b] , Per i
3
_
e poich`e un numero reale non pu` o essere minore di se stesso deve
essere
1
=
2
.
4
t
3
Segue immediatamente per induzione da i
2
.
t
4
Per il Teorema di Lagrange
x
k
= (x
k1
) () =
t
(
k
)
_
x
k1

_
(*)
con
k
nellintervallo di estremi x
k
e , per t
3
,
k
[a, b].
Posto e
j
= x
j
, la (*) si scrive
e
k
=
t
(
k
)e
k1
[e
k
[ [e
k1
[ e, per induzione [e
k
[
k
[e
0
[.
Essendo (0, 1), lim
k
[e
k
[ [e
0
[ lim
k

k
= 0
e per il Teorema del confronto lim
k
[e
k
[ = 0 .
5
t
5
Osserviamo poi che
[x
k+1
x
k
[ = [(x
k
) (x
k1
)[ [x
k
x
k1
[ e, per induzione
[x
k+1
x
k
[
k
[x
1
x
0
[
[x
k
[ [x
k
x
k+1
[ +[x
k+1
[ [x
k+1
x
k
[ +[x
k
[
(1 )[x
k
[ [x
k+1
x
k
[
k
[x
1
x
0
[ .
6
Alcune conseguenze pratiche della dimostrazione

[e
k
[
k
[e
0
[
k
(b a)
consente di stimare il numero di iterate sucienti ad assicurare una
pressata accuratezza :
[e
k
[
k
(b a) da cui k
log

(ba)
log

(1 )[x
k
[ [x
k+1
x
k
[ [x
k
x
k1
[ da cui
[x
k
[

1
[x
k
x
k1
[
suggerisce di fermare il calcolo delle iterate controllando [x
k
x
k1
[:
[x
k
x
k1
[
t
,[x
k
[

1

t
.

e
k
=
t
(
k
)e
k1
implica che se

t
(x) > 0, x [a, b] x
k
`e monotona

t
(x) < 0, x [a, b] x
k
approssimano alternativamente per eccesso e
per difetto
7
Criteri di arresto
Sono suggeriti dalle osservazioni precedenti
1. [x
k
x
k1
[ < (test dellerrore assoluto): `e il criterio comunemente
usato, e si fonda sulla disuguaglianza [x
k
[

1
[x
k
x
k1
[
Se la radice ha ordine di grandezza molto grande o molto piccolo
si preferisce il test dellerrore relativo:
[x
k1
x
k
[
[x
k
[

2. Numero massimo di iterate: conviene sempre usarlo per caute-
larsi nel caso il procedimento non converga o converga lentamente,
stimando le iterate, per esempio da
[e
k
[
k
(b a) o [x
k
[

k
1
[x
1
x
0
[
8
Esempio.
1
(x) =

logx +2, x 1.

t
1
(x) =
1
2x

logx+2
> 0, x 1
1
crescente (> 0) , per x 1.

1
(1)
1
(x)
1
(2), calcolando

1
(x) [1.42, 1.65] [1, 2]
ammette (almeno) un punto unito [1, 2].

t
1
(x) =
1
2x

logx+2

1
2

2
0.35 =
quindi `e unico e il metodo del punto unito converge ad .
Stima delle iterate: = 0.5e7 (arrotondamento sulla 7
a
cifra di parte
decimale), b a = 1
k
log0.5e7
log0.15
8.9
9
Esempio.
2
(x) =
logx +2
x
ha gli stessi punti ssi di
1
(x) =

logx +2. Infatti


x =
2
(x) =
logx +2
x
x
2
= logx +2 x =
1
(x) =
_
logx +2.

t
2
(x) =
logx +1
x
2
< 0, x [1, 2]

tt
2
(x) =
2logx +1
x
3
> 0, x [1, 2]
t
2
(x) crescente
[
t
2
(x)[ max
_
[
t
2
(1)[, [
t
2
(2)[
_
= 1
NON sono vericate le condizioni del teorema!
x
0
= 1, condizioni darresto: [x
k
x
k1
[ 0.5e 7.
10
k [
2
(x
k
)[ [
1
(x
k
)[
1 2.00000000000000 1.41421356237310
2 1.34657359027997 1.53185299238536
3 1.70622927805222 1.55771567005700
4 1.48531376629473 1.56308043108467
5 1.61287540365716 1.56417982007905
6 1.53639800411291 1.56440455445168
7 1.58125740330165 1.56445047067777
8 1.55459847984262 1.56445985099714
9 1.57032013836520 1.56446176728091
10 1.56100622317187 1.56446215875239
11 1.56650921174021
12 1.56325267256628
13 1.56517800354624
14 1.56403907559579
15 1.56471258576137
16 1.56431422494403
17 1.56454981614726
18 1.56441047765687
19 1.56449288494844
20 1.56444414663178
21 1.56447297163017
22 1.56445592369926
23 1.56446600628495
24 1.56446004316656
25 1.56446356991265
26 1.56446148409951
27 1.56446271770514
28 1.56446198811755
29 1.56446241961521
11
0.8 1 1.2 1.4
y=(log(x)+2)
1/2
y=x
x
0
x
1
x
2
0.8 1 2 2.2
y=(log(x)+2)/x y=x
x
0
x
1
x
3
x
2
F. di iterazione
1
F. di iterazione
2

Il metodo del punto unito con funzione di iterazione


2
converge
(le condizioni del teorema sono solo sucienti!)

Il numero di iterate richiesto dalle due funzioni di iterazione `e


molto diverso!
Come misurare della velocit`a di convergenza delle successioni?
12
Ordine di convergenza
x
k
, k 0 convergente ad ha ordine di convergenza p 1 se esiste
una costante C > 0, nita tale che
lim
k
[x
k+1
[
[x
k
[
p
= C
C costante asintotica dellerrore
Per estensione: il metodo iterativo `e di ordine p se la successione che
genera ha ordine di c. p.
La denizione implica: [e
k+1
[

= C[e
k
[
p
(uguaglianza asintotica)
p = 1 convergenza lineare - deve essere C < 1
p = 2 convergenza quadratica - poich`e e
k
0, a partire da un certo
valore di k, il termine [e
k
[
p
garantisce la convergenza, qualunque sia C.
Come individuare lordine di convergenza di un metodo del punto sso?
13
Teorema 3 Sia x
k
, k 0, x
k
= (x
k1
) t.c.
i
1
lim
k
x
k
=
i
2
C
p
() (di classe p in un intorno di )
i
3

(j)
() = 0, j = 1, 2, , p 1,
(p)
() ,= 0 allora
t
1
la successione ha ordine di convergenza p.
Dim. Sviluppo in serie di Taylor di punto iniziale , calcolato in x
k
(x
k
)
. .

= () +
p1

j=1

(j)
()
j!
(x
k
)
j
. .
+

(p)
(
k
)
p!
(x
k
)
p
= x
k+1
= 0

[x
k+1
[ = [

(p)
(
k
)
p!
[ [x
k
[
p
,
k
nellintervallo di estremi e x
k
.
lim
k
[x
k+1
[
[x
k
[
p
=
[
(p)
()[
p!
= C
(n.b. lim
k
= lim
x
k

)
14
Esempio Per
1
,
2
si ha
t
i
(x) ,= 0, x [1, 2]
il metodo del punto unito con funzione di iterazione
i
ha
convergenza lineare.
Costante asintotica: min([
t
(x)[) C max([
t
(x)[)

1
: 0.15 C 0.35

2
: 0.42 C < 1
Nel caso di
2
, basterebbe restringere lintervallo per trovarsi nelle
condizioni del Teorema 2 (`e quello che in pratica avviene), ma co-
munque C assume valori prossimi a 1, il che giustica la dierenza di
comportamento delle iterate.
15
Esercizio Funzione di iterazione: (x) =
1
4
+
x(1 x)
2
.
1. Stabilire quanti punti uniti ammette la trasformazione x = (x).
2. Vericare se il metodo iterativo x
k
= (x
k1
) converge al punto
unito (ai punti uniti) di (x).
3. In caso di convergenza dare le propriet`a del metodo (ordine, an-
damento della successione,...) e stimare le iterate richieste se si vuole
unapprossimazione alla 6
a
cifra decimale.
1. Il graco individua due punti uniti:
1
[2, 1],
2
[0, 1]
2 1 0 1 2
y=x
(x)=1/4+x(1x)/2
16
1.
t
(x) =
1
2
x
x [2, 1] 2.5
t
(x) 1.5 il m. del punto unito non pu`o
convergere ad
1
perch`e ad ogni passo si ha
[e
k
[ = [(x
k
) (
1
)[ =
t
()[e
k1
[ > [e
k1
[
x [0, 1] 0.5
t
(x) 0.5 il m. del punto unito converge
ad
2
.

t
(x) = 0 x =
1
2
, ma (
1
2
) ,=
1
2
qundi x =
1
2
non `e punto sso

t
(
2
) ,= 0 il metodo ha ordine di convergenza p = 1 e costante
asintotica C 0.5.

t
(x) non `e a segno costante in [0, 1], non si pu`o dir nulla a priori
sullandamento della successione.
Stima delle iterate: = 0.5 (da
k
(b a) )
k
log(0.5e 6)
log(0.5)
20.9
17
x
0
= 0.5
k x
0
= 0.5 x
0
= 1 x
0
= 1.5
1 0.37500000000000 -0.75000000000000 -1.62500000
2 0.36718750000000 -0.40625000000000 -1.88281250
3 0.36618041992188 -0.03564453125000 -2.46389771
4 0.36604615999386 0.23154246807098 -4.01734480
5 0.36602818437380 0.33896527677529 -9.82820203
6 0.36602577630891 0.36203390895797 -52.96087864
7 0.36602545369318 0.36548267886129 -1428.65777235
8 0.36595254515683 -1021245.59413846
9 0.36601563992503
10 0.36602409562765
11 0.36602522852381
12 0.36602538030395
18
Esercizio (Proposto)
Si considerino, per x [3, 4] le funzioni

1
(x) =
4
(x1)
2
+3,
2
(x) = 1 +
_
4+3(x1)
2
x
,
3
(x) = 1 +
_
4
x3
1. Vericare che le funzioni date ammetto tutte lo stesso punto unito
in [3, 4].
2. Stabilire per ciascuna delle funzioni se il procedimento iterativo
x
k
=
i
(x
k1
) converge ad .
3. Nei casi in cui il procedimento converge si precisino le propriet`a
della successione.
19
Equazioni non lineari
Il problema: determinare le soluzioni o radici, dellequazione non li-
neare
f(x) = 0
cio`e quei valori tali che f() = 0 (zeri della funzione ).
Idea base dei metodi numerici: costruire una successione x
k
tale che
lim
k
x
k
=
Si assume come approssimazione di il valore x
N
, per un certo indice
N, nito, opportunamente individuato.
Generalmente per costruire x
k
si usano tecniche ricorsive.
Una possibilit`a :
x
k
= (x
k1
), k 1, x
0
dato
cio`e il metodo del punto unito.
20
I passi per risolvere numericamente il problema
I. Separazione delle radici: per gestire la legge che genera la succes-
sione x
n
occorre sapere (in maniera pi` u o meno accurata) la dislo-
cazione degli zeri di f
II. Costruzione della successione x
n
: si tratta di scegliere la legge
per generare la successione in modo da garantire la convergenza a ;
in pratica si vorrebbe anche una convergenza veloce
III. Scelta dei criteri darresto: poich`e lalgoritmo iterativo `e innito,
si deve troncarlo, opportunamente.
21
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 22.01.2007
Argomenti
Separazione degli zeri
Esempi
Cerchio di inclusione degli zeri di un polinomio
Metodo di bisezione
Radici multiple: denizioni
1
Separazione delle radici
Ipotesi di base: lequazione f(x) = 0 ha una (almeno) soluzione
separare una radice= determinare un intervallo [a,b] tale che:
- f C[a, b]
- [a, b]
- `e lunica radice dellequazione in [a, b]
2
Determinare [a, b]
per via graca
a) si individuano gli intervalli in cui il graco della curva y = f(x)
attraversa lasse delle x
b) si pone f(x) = 0 nella forma equivalente f
1
(x) = f
2
(x), si indi-
viduano i punti di intersezione delle curve y = f
1
(x) e y = f
2
(x) e di
conseguenza [a, b].
per tabulazione della funzione: [a, b] `e tale che f(a)f(b) < 0 (Teorema
degli zeri ) purch`e abbia molteplicit`a dispari
MA....
in ogni caso `e necessaria una analisi qualitativa dellequazione (per
decidere in quali intervalli eseguire ii graci o latabulazione).
3
Separazione delle radici: esempio 1 f(x) = x
2
e
x
1 = 0
f
1
(x) = e
x
= x
2
1 = f
2
(x).
Analisi preliminare:
e
x
> 0, x possono esistere radici solo per |x| > 1
f
1
(1) = e > f
2
(1) = 0,
ma l esponenziale tende allinnito pi` u velocemente di ogni potenza
lequazione non ha radici positive
4
Per x < 0: f(0) < 0, lim
x
f(x) = +
f

(x) = 2x e
x
< 0 (f monotona)
esiste una sola radice negativa
1.5 1 0.5 0
1
0.5
0
0.5
1
1.5
y=x
2
1
y=e
x
5
Separazione delle radici: esempio 2 f(x) = x
3
4sinx = 0
Analisi preliminare:
x = 0 `e una radice
f(x) = f(x), funzione dispari : se > 0 `e uno zero `e uno
zero basta studiare lequazione per x > 0
| sinx| 1 f(x) > 0, x >
3

4 1.587 > /2 1.571


in (0,
3

4] le funzioni x
3
e sinx sono entrambe monotone c`e al
pi` u una sola radice positiva
6
Se si vuole restringere lintervallo si pu` o procedere per tabulazione
f(1.587) .55e 3 > 0 (lo zero `e molto prossimo a 1.587) f(/2)
.12 < 0 [/2,
3

4]
Si osservi che quando si parla di separare gli zeri di f non si richiede
che lintervallo sia piccolo; tuttavia in molte circostanze `e opportuno
o necessario anare lintervallo di separazione.
7
Separazione delle radici: esempio 3 f(x) = cos x xe
x
= 0
g(x) = cos x = xe
x
= h(x)
Analisi preliminare:
| cos x| 1 eventuali radici si hanno per x tale che |xe
x
| 1
Per x > 0 h(x) > 0 e crescente; h(x) > 1, x > 1 possono esistere
radici positive solo in [0, 1]; se esiste una radice `e unica perch`e g(x) `e
decrescente in [0, 1]
Per tabulazione:
f(0) = 1 > 0, f(1) = 2.18 < 0 ! [0, 1]
8
Per x < 0 h(x) < 0 e h(x) 0, x (e
x
`e un innitesimo di
ordine superiore alla potenza) esistono innite radici negative. Le
radici devono cadere negli intervalli in cui cos x < 0 ovvero in
[3/2, /2], [7/2, 5/2], [11/2, 9/2], . . .
5 4 3 2 1 0 1
2.5
2
1.5
1
0.5
0
0.5
1
1.5
y=cos x xe
x
9
In particolare si deduce dal graco (o per tabulazione)che

1
[, /2]
2
[3/2, ]

3
[3, 5/2]
4
[7/2, 3]
Come si comportano le radici negative
j
per j ?
10 8 6 4 2 0 2
2.5
2
1.5
1
0.5
0
0.5
1
1.5
y=cos x
y=cos xx e
x
Le radici
k
per k crescente, che si allontanano dallorigine, sono sempre
pi` u prossime ai punti di annullamento della funzione cos x.
Si poteva prevedere tale comportamento senza eseguire il graco?
10
Separazione delle radici: esempio 4
Si studi il numero e la dislocazione delle radici dellequazione
f(x) = e
x
x = 0
al variare del parametro reale .
Si tratta di individuare le intersezioni fra la curva y = e
x
e le rette del
fascio per lorigine y = x
Per = 0 lequazione diventa e
x
= 0 e quindi non ha soluzioni.
11
3 2.5 2 1.5 1 0.5 0 0.5 1
5
0
5
10
15
= 5
= 1 y=e
x
= 0.5
1 0.5 0 0.5 1 1.5 2 2.5 3
5
0
5
10
15
20
25
=4
=2
=1
=0.5
y=e
x
Per < 0 esiste 1 radice < 0 tale che
, 0

0, ;
Per > > 0 esistono 2 radici 0 <
1
< , <
2
< +
12
Chi sono e ?
`e il valore di per cui la retta del fascio `e tangente a y = e
x
e `e il
punto di tangenza. Sono quindi individuati dal sistema
_
e
x
= x uguaglianza delle funzioni
e
x
= uguaglianza delle derivate
da cui si ricava = e, = 1
Riassumendo
< 0 una radice < 0
0 < < e nessuna radice
= e una radice = 1 doppia
> e due radici 0 <
1
< 1,
2
> 1
Si ha inoltre
1
0,
2
+, +
13
Localizzare gli zeri di unequazione algebrica
f P
n
, polinomio di grado n
f(z) =
n

k=0
a
k
z
nk
, a
0
a
n
= 0, z C
Teorema Ogni zero del polinomio f appartiene al cerchio
C = {z C : |z| }
dove il raggio pu` o essere calcolato tramite una delle seguenti formule

a
= max
_

a
n
a
0

, 1 +

a
n1
a
0

, , 1 +

a
1
a
0

b
= max
_
_
1,
n

j=1

a
j
a
0

_
_

c
= 2 max
1jn
_
_

a
j
a
0

1/j
_
_
14
Equazioni algebriche: esempio 1
Separare gli zeri reali di p(x) = x
3
9.5x
2
+5x +2.3
p di grado dispari, a coecienti reali R (almeno)

a
= max(2.3, 10.5)
b
= max(1, 16.8),
c
= 2max(9.5,

5,
3

2.3)
= 10.5 zeri reali [10.5, 10.5].
Punti estremali di p: p

(x) = 0 x
1

= 0.3, x
2

= 6.1
p(x
1
) > 0, p(x
2
) < 0 p(x) < 0, x
a
, p(x) > 0, x
a

Zeri di p
1
[10.5, 0.3],
2
1 [0.3, 6.1],
3
[6.1, 10.5]
15
Equazioni algebriche: esempio 2
Stabilire se lequazione p(x) = 31x
4
8x
3
17x 20 = 0 ammette zeri
reali.
p di grado pari zeri reali in numetro pari ( 0).

a
= max
_
20
31
, 1 +
17
31
_
,
b
= max
_
1,
1
31
(8 +17 +20)
_
,

c
= 2max
_
_
8
31
,
3

17
31
,
4

20
31
_
_
=
b
= 1.45
x
y
y=p(x)
16
Esercizi
I. Separare le radici delle seguenti equazioni:
1. f(x) = x(x 1)

x 0.5 = 0
2. f(x) = 1 xcoshx = 0
II. Data lequazione f(x) = x cos(x +) = 0, [0, ] individuare
i valori di per cui lequazione ammette una radice [0, /2].
III.Stimare il raggio del cerchio di inclusione degli zeri dei polinomi
p(x) = 2x
3
+
23
5
x
2

18
7
p(x) = 256x
4
26x
3
+226x 120
17
Costruzione della successione: il metodo di bisezione
Il metodo di bisezione o dicotomico si basa sul Teorema degli zeri.
Ipotesi di applicabilit`a :
i
1
E dato un intervallo, I = [a, b], di separazione della la radice
di f(x) = 0
i
2
f(a)f(b) < 0.
i
1
f C[a, b] e `e lunica radice in [a, b]
i
2
ha molteplicit`a dispari.
18
Step 1. Calcolare, x

= (a +b)/2, (punto medio dellintervallo)


Step 2. Se f(x

) = 0 ( f(x

) = 0 x

= soluzione ), allora
[a
1
, b
1
] =
_

_
[x

, b
1
] se f(a)f(x
0
) > 0
[a, x

] se f(a)f(x
0
) < 0
I passi precedenti si applicano quindi di nuovo allintervallo [a
1
, b
1
] e
poi iterativamente.
19

a
0
b
1
=b
0
f(x)
x
x
1

a
2
=a
1

x
2
b
2
b
1
a
1
=
b a
2
, b
2
a
2
=
b
1
a
1
2
=
b a
2
2
,
20
Il metodo costruisce quindi le successioni
a
0
= a, b
0
= b {a
k
} , {b
k
} , k > 0
Propriet`a delle successioni
p
1
a
k
a
k1
, b
k
b
k1
, k
p
2
a
k
b
k
k
p
3
b
k
a
k
=
b a
2
k
{a
k
} , {b
k
} sono monotone, limitate convergono a .
I valori a
k
, b
k
forniscono approssimazioni rispettivamente per difetto e
per eccesso della radice .
21
Convergenza del metodo di bisezione
Errore di troncamento: e
k
= x
k

|e
k
| = x
k
< b
k
a
k
=
b a
2
k
|e
k+1
|

=
1
2
|e
k
| (asintoticamente)
Il metodo ha ordine p = 1 e costante asintotica C =
1
2
La convergenza `e lenta, in quanto ad ogni passo lerrore viene dimez-
zato, = ad ogni passo si guadagna una cifra binaria
per guadagnare una cifra decimale servono 3-4 iterazioni.
22
Stima del numero di iterate
|e
k
|
b a
2
k

|e
k
| se (C.S.)
b a
2
k
k
log(ba)log()
log2
Condizione darresto b
k
a
k
< , tolleranza pressata .
23
Esempio f(x) = x
3
x 1, [a, b] = [1, 2]
Stima delle iterate: = 10
8
:
2
k
10
8
k 26.6
a
26
= 1.32471795380116 < < 1.32471796870232 = b
26
x

= 1.32471796 125174, |e
27
| = 0.75e 08, |f(x
27)
| = 0.17e 07
24
Esercizio
Data lequazione f(x) = x
3/2
2log(x
2
+0.6) = 0
I. Separare le radici con un intervallo di ampiezza non superiore a 0.5
II.Stimare quante iterate sono sucienti per ottenere unapprossimazione
alla 10 cifra decimale della radice maggiore con il metodo di bisezioni.
I. f(x) = 0 f
1
(x) = x
3/2
= 2log(x
2
+0.6) = f
2
(x).
f
1
, f
2
entrambe crescenti, f
1
> 0, x > 0, f
2
(0) < 0
Landamento tipo pu`o essere uno dei seguenti
25
0 0.5 1 1.5 2 2.5 3
2
0
2
4
6
8
10
12
14
16
Caso a:
la potenza si mantiene sempre aldi sopra del logaritmo
0 0.5 1 1.5 2 2.5 3
2
1
0
1
2
3
4
5
6
Caso b: se la potenza incontra il logaritmo in un punto,
allora gli due zeri sono necessariamente due
f
1
`e sempre sopra f
2
: non ci sono
radici
f
1
incontra f
2
in un punto: allora ci
sono necessariamente 2 radici
Per tabulazione si individuano le variazioni di segno:
f(0) = 2log0.5 > 0, f(1.5) 0.2 < 0, f(3) 0.7 > 0
quindi esiste una radice
1
[0, 1.5] e una radice
2
[1.5, 3]
26
Anamento dellintervallo (ampiezza 0.5)
- Radice
1
: f(0) > 0, f(1) > 0
1
[1, 1.5]
- Radice
2
: applichiamo bisezioni (f(1.5) < 0, f(3) > 0)
n a
k
() b
k
(+) x

f(x

)
0 1.5 3 2.25 -.09
1 2.25 3 2.625 0.23
Segue
2
[2.25, 2.625] = [a
2
, b
2
] e b
2
a
2
= 0.375 < 0.5.
II. Stima del numero di iterate
ba
2
k

1
2
10
10
klog2 log
_
2 0.375 10
10
_
n 32.8
27
Alcuni richiami
si dice radice di f(x) = 0 ( zero di f) ,di molteplicit`a 1 se esiste
lim
x
f(x)
(x )

= = 0, nito ()
Se f C
r
(), 1 r 1 allora, `e zero di molteplicit`a r
per f
(r)
e
lim
x
f
(r)
(x)
(x )
r
=
!
( r)!

Se f C

() la condizione (*) equivale a


f
(j)
() = 0, j = 0, 1, . . . , 1, f
()
() = 0
e =
f
()
()
!
.
28
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 23.01.2007
Agomanti
Metodo di Newton
Interpretazione geometrica
Teoremi di convergenza
Esempi
1
Costruzione della successione: metodo di Newton
Si basa sullosservazione che, in un intorno I di , la funzione f pu` o
essere approssimata con la sua tangente in un punto appartenente ad
I.
Equazione della tangente t a f nel punto (x, f(x)):
t : y f(x) = f

(x)(x x)
Lintersezione di f con lasse delle x ( y = 0) viene approssimata con
lintersezione di t con lasse delle x:
x

= x
f(x)
f

(x)
2
Interpretazione geometrica del metodo di Newton
Prima iterazione:
Approssimazione iniziale: x
0
Intersezione di t
0
(tangente a f in (x
0
, f(x
0
))) con y = 0
x
1
= x
0

f(x
0
)
f

(x
0
)
nuova approssimazione di
x

a
b
f(x)
x
0
t
0
(x
0
,f(x
0
))
.
x
1
3
Seconda iterazione:
Approssimazione iniziale: x
1
Intersezione di t
1
(tangente a f in (x
1
, f(x
1
))) con y = 0
x
2
= x
1

f(x
1
)
f

(x
1
)
nuova approssimazione di
x

a
b
f(x)
x
0
t
0
(x
0
,f(x
0
))
.
x
1
t
1
.
(x
1
,f(x
1
))
4
La funzione diterazione del metodo di Newton
In generale, se f

almeno in un intorno di

x
0
assegnato
x
k
= x
k1

f(x
k1
)
f

(x
k1
)
, k = 1, 2, . . .
Metodo del punto unito con funzione diterazione:
NR
(x) = x
f(x)
f

(x)
f() = 0 =
NR
() qualunque sia la molteplicit`a . Infatti:
se f

() = 0 `e immediato.
se ha molteplicit`a

NR
(x) = x (x )
f(x)
(x )

(x )
1
f

(x)

(da lim
x
f
(r)
(x)
(x)
r
=
r
, r 0 (v. lezione precedente))
lim
x

NR
(x) =
NR
`e prolungabile con continuit`a in con
=
NR
().
5
Il metodo di Newton: un esempio
f(x) = 4x
3
5x Vogliamo approssimare = 0
a) x
0
= 0.5
0.5 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.4 0.5
2
1.5
1
0.5
0
0.5
1
1.5
2
f(x)

.
x
t
0
a
b
0.5 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.4 0.5
2
1.5
1
0.5
0
0.5
1
1.5
2
f(x)

.
x
t
0
t
1
a b
x
2k
= 0.5 x
2k+1
= 0.5
6
b) x
0
= 0.35
k x
k
|x
k
x
k1
| f(x
k
)
1 -0.09716713881020 0.447e+00 0.482166
2 0.00150186993989 0.987e-01 0.750934e-02
3 -0.00000000542025 0.150e-02 0.2710125e-07
4 0 0.542025e-08 0
7
c) x
0
= 0.65
k x
k
|x
k
x
k1
| f(x
k
)
1 31.385714286 3.138e+01 1.2351071e+06
2 20.9326637216 1.046e+01 3.6584134e+04
3 13.9683918420 6.964e+00 1.0831983e+04
4 9.33218995276 4.636e+00 3.2042921e+03
5 6.251368612684 3.081e+00 9.4594733e+02
6 4.212492657810 2.039e+00 2.7794186e+02
7 2.87585544490976 1.337e+00 8.0760285+01
8 2.01895088696529 0.857e+00 2.8235346e+00
9 1.49921778432550 0.520e+00 5.9828023e+00


14 1.11803398874990 0.647e-07 6.0e-14
15 1.11803398874989 0.1e-13 0
8
Cosa succede dal punto di vista geometrico
0.5 0 0.5 1 1.5 2
10
5
0
5
10
15
20
25

t
0
x
0
=0.35
Lapprosssimazione iniziale `e vicina ad un punto estremale: si esce
dallintorno della radice cercata.
La successione `e convergente e quindi (Teorema 1) converge comunque
ad uno zero di f
9
Metodo di Newton: convergenza
x
k
=
NR
(x
k1
) = x
k1

f(x
k1
)
f

(x
k1
)
, k = 1, 2, . . . ; x
0
dato
Teorema di convergenza 1. Sia lunica radice di f(x) = 0 in [a, b],
di molteplicit`a 1
i
1
f C
2
[a, b]
i
2
f

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


t
1
un intorno di , I() [a, b] tale che x
0
I() il metodo di
Newton converge.
t
2
Se = 1 allora p 2
t
3
Se > 1 allora p = 1, C = 1
1

10
Dim. i
1
, i
2

NR
(x) =
f(x)f

(x)
[f

(x)]
2
C
0
[a, b], x =
Caso a): f

() = 0

NR
C
0
[a, b],

NR
() = 0
I() in cui |

NR
(x)| < 1
Il metodo converge per il teorema del punto sso.
Dal teorema dellordine di convergenza p > 1.
Dalla f. ricorsiva:
x
k+1

(x
k
)
2
=
1
(x
k
)

f(x
k
)
f

(x
k
)(x
k
)
2
=
11
dallo sviluppodi Taylor di f(x) di punto iniziale , calcolato in x
k
x
k+1

(x
k
)
2
=

(x
k
) f

()

(x
k
) f

()(x
k
)
2
/2 +(x
k
)
3
R(x)
f

(x
k
)(x
k
)
2
Passando al limite per k , ovvero x
k
:
lim
x

(x) f

()

(x )
(x )
2
= lim
x
f

(x) = f

()
lim
k

x
k+1

(x
k
)
2

()
f

()

f

()
2f

()

()
2f

()

e quindi il metodo ha ordine di convergenza p = 2 se f

() = 0, p > 2
in caso contrario.
12
Sia radice di molteplicit`a : per x = si pu` o scrivere

NR
(x) =
f(x)
(x )

(x)
(x )
2

(x )
1
f

(x)

2
e dalla lim
x
f
(r)
(x)
(x)
r
=
!
(r)!
, = 0 passando al limite, si ottiene
lim
x

NR
(x) =
!
( 2)!

( 1)!
!

2
= 1
1

= 0

NR
C
0
() p = 1, C = 1
1

(teorema sullordine di convergenza).


13
Denizione. Sia f C
2
[a, b] tale che f(a)f(b) < 0, f

(x) = 0, x
[a, b]. Si dice estremo di Fourier di f quello dei due estremi a, b per il
quale risulta f()f

() > 0.
a
b
a
b
a
b
a
b
I quattro casi possibili di estremo di Fourier
14
Teorema di convergenza 2. Sia data lequazione f(x) = 0 avente una
radice [a, b] e siano vericate le seguenti ipotesi
i
1
f C
2
[a, b]
i
2
f(a)f(b) < 0
i
3
f

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


allora
t
1
`e lunico zero di f in [a, b]
t
2
se x
0
coincide con con lestremo di Fourier di f, {x
k
} generata dal
metodo di Newton `e monotona e convergente a con ordine p = 2.
15
Esempio f(x) = 4x
3
5x = 0 (v. prima) Si ha
f

(x) = 24x > 0 x > 0 e f(x) > 0 x > 2


ogni valore di x > 2 `e estremo di Fourier per la radice maggiore
Nel caso x
0
= 0.65 si ha x
1
31.4 = lestremo di Fourier Il m. di
N. converge alla radice maggiore (Teor. di convergenza 2)
Se si sceglie per esempio x
0
[0.4, 0.4] il m. di N. converge a = 0
(Teor. di convergenza 1)
NOTA: A priori `e generalmenete impossibile sapere quanto x
0
deve
essere vicino alla radice.
16
Esempio Si consideri lequazione f(x) = cos x xe
x
= 0 (v. Lezione
precedente).
Si vuole approssimare [, /2].
f

(x) = cos x e
x
(x +2) non `e a segno costante in [, /2].
Si applica il teor. di convergenza 1.
x
0
= 3/4
3
a
iterate: 6 cifre decimali
4
a
14 cifre decimali (si conquistano tutte le cifre con cui si lavora):
= 1.86399519240253
Vericate che per approssimare la radice positiva si pu` o appliacare il
teor. di convergenza 2.
17
Esempio p(x) = x
3
9.5x
2
+ 20x + 12.5 = 0: si vuole vericare il
comportamento del metodo di Newton quando si approssima la radice
doppia.
Il polinomio (v. L02) ha uno zero negativo e uno zero doppio = 5.
Imponendo unaccuratezza pari a 10
10
si ottiene
n. iterate (N) x
0
x
N
p(x
N
) p

(x
N
)
27 8.9 5.00000006170276 2.842e-014 6.787e-007
26 4.5 5.00000004576961 0 5.035e-007
Ordine di convergenza: p = 1, C =
1
2
(Teorema di convergenza 1)
E evidente limpossibilit`a di migliorare laccuratezza raggiunta (mal-
condizionamento)
18
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 26.01.2007
Argomenti
Condizionamento del calcolo degli zeri di polinomi
Ecienza computazionale
Il metodo delel secanti
Esempi ed esercizi
1
Condizionamento del calcolo degli zeri di un polinomio
p(x) =
n

j=0
a
j
x
nj
= 0, t.c. p() = 0
Fissato i a
i
a
i
+
i
+()
Condizionamneto: determinare il fattore che lega
e
r
(a
i
) =

i
a
i
e e
r
() =
()

Dalla formula di Taylor:


2
= 0
p (a
0
, , a
i
+
i
, , a
n
, +()) =
p(a
0
, , a
n
, ) +
p
a
i

a,

i
+
p

a,
() +R
2
= 0 = p

()
p
a
i
=

a
i
n

j=0
a
j
x
nj
= x
ni
0
ni

i
+p

()() |()|

ni
p

()

|
i
|
Da questa relazione sugli errori assoluti si ricava quella sugli errori
relativi

()

a
i

ni1
p

()

i
a
i

3
Alcune osservazioni

La determinazione di una radice multipla di un polinomio `e un


problema malcondizionato

In generale se si applica Newton per approssimare una radice


multipla di f, possono sorgere problemi di propagazione degli errori di
arrotondamento nel calcolo di
f(x
k
)
f

(x
k
)

In presenza di radici di molteplicit`a si pu` o ristabilire la conver-


genza quadratica del metodo di Newton assumendo come funzione di
iterazione (x) = x
f(x)
f

(x)
. Non si evitano per`o i problemi di calcolo
detti prima.
4
Esercizio 1 Lequazione f(x) =
logx

x
+ x
2
5.4 = 0 ha una radice
[2, 3].
I. E possibile approssimare con il metodo di Newton?
II. In caso aermativo si precisi la scelta dellapprossimazione iniziale
e lordine di convergenza del metodo.
Soluzione Conviene vedere se `e applicabile il Teorema 2 (funzioni a
concavit`a ssa. Si ha f C

[2, 3]. Occorre vericare se


- f

`e a segno costante
- la radice `e semplice (f

a segno costante)
5
Posto f(x) = g(x) +x
2
5.4, g(x) = x
1/2
logx si ha
g

(x) = x
3/2

1
2
x
3/2
logx
f

(x) = x
3/2
_
1
1
2
logx
_
+2x
g

(x) =
3
2
x
5/2
_
1
1
2
logx
_

1
2
x
5/2

(x) =
1
4
x
5/2
(8 3logx) +2
ed inne g

(x) = f

(x) =
5
8
x
7/2
(8 3logx) +
3
4
x
7/2
> 0 segue che
f

`e monotona (quindi assume i valori estremali agli estremi)


f

(2) 1.7, f

(3) 1.9 f

(x) > 0, x [2, 3]


6
f

> 0 implica f

crescente:
f

(2) 4.2, f

(3) 6.1 f

(x) > 0, x [2, 3] la radice `e semplice.


Approssimazione iniziale nellestremo di Fourier:
f(2) 0.91, f(3) 4.2 x
0
= 3
Il metodo di Newton converge con ordine p = 2.
n x
n
n x
n
0 3.00000000000000 3 2.20619119992521
1 2.30434241770304 4 2.20619053704335
2 2.20802828937289 5 2.20619053704326
7
Esercizio 2 Si consideri lequazione x log(2x +1) = 1
I. Quante radici ammette?
II. A quale radice converge il metodo di Newton se si assume come
approssimazione iniziale x
0
= 0.5?
Soluzione f `e denita in D = (
1
2
, +)
lim
x1/2
+
f(x) = +, f(0) = 1, lim
x
f(x) = + e anche un
graco sommario delle curve
f
1
(x) = log(2x +1) , f
2
(x) =
1
x
per x >
1
2
conferma che lequazione ammette due radici una positiva e una ne-
gativa.
8
x
0
= 0.5 `e estremo di Fourier?
- f(0.5) 0.65 < 0 (la radice positiva verica > 0.5)
- f C

(D)
- f

(x) = log(2x +1) +


2x
2x+1
, sign f

(x) = sign x, x D
- f

(x) = 4
x+1
(2x+1)
2
> 0, x
1
2
(funzione a concavit`a ssa x)
x
0
= 0.5 non `e un estremo di Fourier.
Calcoliamo x
1
= 0.5
f(0.5)
f1(0.5)
= 1.047649460
Ma f(x
1
) .18 > 0 x
1
`e estremo di Fourier per la radice positiva.
9
Ecienza computazionale
Lecienza di un metodo iterativo tiene conto sia dellordine di con-
vergenza p che del costo computazionale, cio`e della quantit`a di calcoli
richiesta ad ogni passo, valutato come numero di valutazioni funzionali
richieste ad ogni passo, r
Ecienza: E = p
1/r
Esempio Metodo di bisezione:
p = 1, r = 1 (valutazione nel punto medio), E = 1
In generale, per il metodo del punto unito a convergenza lineare: E = 1
10
Schema riassuntivo sul metodo di Newton
f(x) = 0 [a, b] radice f C
2
[a, b]
1. f

() = 0 (radice semplice): x
0
I(), p 2, E

2
2. f

() = 0, f

= 0, x [a, b] (radice semplice, concavit`a ssa):


x
0
= estremo di Fourier, p = 2, C =

()
2f

()

, E =

2
3. f
(k)
() = 0, k = 0, , 1, f
()
() = 0 (radice di molteplicit`a ):
x
0
I(), p = 1, C = 1
1

, E = 1,
11
Il metodo delle secanti
Il metodo di Newton richiede 2 valutazioni funzionali.
E possibile costruire un metodo veloceche richieda solo una valu-
tazione funzionale?
Si sostituisce alla derivata prima un rapporto incrementale occorrono
due punti
x
k+1
= x
k

f(x
k
)(x
k
x
k1
)
f(x
k
) f(x
k1
)
, k 1, x
0
, x
1
dati
E una f. ricorsiva a 2 passi non `e un metodo del punto unito del
tipo visto.
E un metodo di linearizzazione.
12
Interpretazione geometrica del m. delle secanti
Step 1 s
0
retta per i punti (x
0
, f(x
0
)) , (x
1
, f(x
1
)),
x
2
= s
0

{y = 0}
Step 2 s
1
retta per i punti (x
1
, f(x
1
)) , (x
2
, f(x
2
)),
x
3
= s
1

{y = 0}
1.5 2 2.5 3 3.5
3
2
1
0
1
2
3
4
5
x
0
x
1
x
2
s
0
s
1
13
Teorema di convergenza Data f(x) = 0, sia [a, b] una sua radice.
Se
i
1
f C
2
[a, b]
i
2
f(a)f(b) < 0
i
3
f

() = 0
i
4
f

(x) = 0, x [a, b]
allora
t
1
la successione generata dal metodo delle secanti `e convergente a
comunque si scelgano x
0
, x
1
[a, b] tali che f()f

() > 0
14
Ordine di convergenza Se converge a , radice semplice di f(x) = 0,
allora il m. delle secanti ha ordine di convergenza
p =
1 +

5
2
1.62 con C =

()
2f

()

1/p
Dim. Posto e
j
= x
j
dalla formula iterativa sottraendo ad ambo i
membri
e
k+1
=
e
k1
f(x
k
) e
k
f(x
k1
)
f(x
k
) f(x
k1
)
Applicando Taylor
e
k1
f(x
k
) e
k
f(x
k1
) = e
k1
_
e
k
f

() +
f

()
2
e
2
k
+R
1
_
e
k
_
e
k1
f

() +
f

()
2
e
2
k1
+R
2
_
= e
k
e
k1
(e
k
e
k1
)
f

()
2
+R
f(x
k
)f(x
k1
) = f

()e
k
+R
2

_
f

()e
k1
+R
3

= f

()(e
k
e
k1
)+R

15
Sostituendo e trascurando i resti
e
k+1

= e
k
e
k1
f

()
2f

()
(*)
Dalla denizione di ordine di convergenza:
e
k

= Ce
p
k1
e
k1

= e
1/p
k
C
1/p
sostituendo in (*):
e
k+1

= e
1+1/p
k
C
1/p
f

()
2f

()
Ma deve anche essere e
k+1

= Ce
p
k
e, uguaglaindo membro a membro

p =
1
p
+1, C = C
1/p
f

()
2f

()
C
1
p
+1
= C
p
=
f

()
2f

()
p =
1 +

5
2
.
Ad ogni passo (escluso il primo) si deve eseguire solo una nuova valu-
tazione di funzione (r = 1) E = p 1.62
16
Esempio f(x) = e
x
= x, per = 3 (vedi L04). Nella tabella sono
riportate le approssimazioni fornite dal m. di Newton (x
0
= 2) e dal
m. delle secanti (x
0
= 2, x
1
= 1.9).
k Newton Secanti
1 1.68351826278341 1.65545927396271
2 1.54348197207520 1.56365059491169
3 1.51348862277163 1.52106358570242
4 1.51213725012625 1.51276980220043
5 1.51213455166859 1.51214283496889
6 1.51213455165784 1.51213455942042
7 1.51213455165794
8 1.51213455165784
Costo computazionale totale
Newton: r
tot
= 12
Secanti: r
tot
= 9
17
Esercizi
I. Stabilire se `e possibile applicare il metodo delle secanti in condizioni
di convergenza per approssimare lo zero di f(x) = 1 xcosh(x), pre-
cisando, in caso aermativo, i valori di innesco.
II. Si consideri lequazione f(x) = (x +2)log(x) +1 = 0.
II.1 Si localizzi la radice dellequazione.
II.2 Si studi se `e possibile approssimare con il metodo di Newton,
precisando, una volta ssata lapprossimazione iniziale, le propriet`a
della successione.
II.3 Vericare se il metodo del punto sso con funzione di iterazione
(x) = e
1/(x+2)
`e convergente a e, in caso aermativo, stimare il
numero di iterate sucienti ad approssimare la radice alla 10
a
cifra
decimale.
18
Note allestensione nel campo complesso
La ricerca di radici C `e un problema prevalentemente associato al
caso delle equazioni algebriche.
- La separazione degli zeri per tabulazione o per via graca non `e
applicabile in C
- Il metodo di bisezioni non `e applicabile in C
- Il m. di Newton/delle secanti pu`o essere applicato in C e mantiene le
propriet`a viste (in particolare la convergenza quadratica/superlineare,
se la radice `e semplice).
- Nel caso di equazione algebrica, se a
k
R, k e si assume x
0
R /
x
0
, x
1
R il m. di Newton/delle secanti non pu`o convergere a una
radice complessa ma solo ad una radice reale (se esiste).
19
Criteri di arresto
Oltre ai criteri (v. L03) dellerrore assoluto (errore relativo) e del
numero massimo di iterate, si pu`o pensare di utilizzare
|f(x
n
)|
basato sul concetto di continuit`a .
Ma f(x
n
) non sempre `e signicativo

a b
f(x)
x
x
k

a
f(x)
x
b

x
k
f(x
n
) `e grande anche se x
n
`e vicino a
f(x
n
) `e piccolo anche se x
n
`e lontano da
20
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 29.01.2007
Argomenti
Norma di vettore
Distanza, Intorno, convergenza
Norme h olderiane
Norma di matrice
Norma sub-moltiplicative, compatibile, indotta
Il metodo del punto unito in R
n
Convergenza
1
Esempio Sistema lineare dato
A =
_

_
8 1 1
1 5 1
1 1 5
_

_
_

_
x
1
x
2
x
3
_

_ =
_

_
26
7
7
_

_ .
Soluzione: x
v
= (3, 1, 1)
T
.
Approssimazioni: v
1
= (2.99976750, 1.00023650, 1.00030050)
T
v
2
= (3.00027250, 0.99961650, 0.99955250)
T
Come possiamo stabilire quale delle due approssimazioni `e pi` u vicina
alla soluzione del sistema?
Vettore dellerrore:
e
1
= x
v
v
1
= (0.2325e 3, 0.2365e 3, 0.3005e 3)
T
e
2
= x
v
v
2
= (0.2725e 3, 0.3835e 3, 0.4475e 3)
T
quale dierisce meno dal vettore nullo?
2
Norma di vettori
Si denisce norma di un vettore x R
n
una funzione
| | : R
n
R
+

0
tale che
1. |x| = 0 x = 0
2. |x| = [[ |x|, R
3. |x +y| |x| +|y| (disuguaglianza triangolare)
NOTA: La denizione rimane identica se si considera x C
n
3
Una norma consente di introdurre il concetto di
Distanza fra due vettori: d(x, y) = |x y|
Intorno di x, di raggio r: I
r
(x, | |) = I(x) = y R
n
t.c. |y x| r
Convergenza in R
n
Una successione
_
x
(k)
_
, k 0 di vettori si dice
convergente a un vettore y e si indica con il simbolo
lim
k
x
(k)
= y
se lim
k
|x
(k)
y| = 0
NOTA: si riconduce la denizione di convergenza in R
n
alla denizione di convergenza
per successioni numeriche.
4
Le norme h olderiane
Norma h olderiane di parametro p o norma p, p 1:
|x| =
_
_
n

j=1
[x
j
[
p
_
_
1/p
I casi pi` u usati:
p = 1 |x| =
n

j=1
[x
j
[ (norma 1)
p = 2 |x| =

_
n

j=1
[x
j
[
2
(norma 2 o euclidea)
p = |x| = max
1jn
_
[x
j
[
_
(norma innito o uniforme)
5
Lintorno unitario in norma 1, 2, innito
n = 2, e quindi un vettore x = (x
1
, x
2
)
T
R
2
`e rappresentabile come
un punto del piano cartesiano.
Intorno unitario: I
1
(0, | |
p
) =
_
x R
2
t.c. |x|
p
1
_
Frontiera dellintorno:
_
x R
2
t.c. |x|
p
= 1
_
p = 2 (`e il caso della distanza euclidea)
|x|
2
=
_
_
[x
1
[
2
+[x
2
[
2
_
= 1 [x
1
[
2
+[x
2
[
2
= 1
ovvero I
1
(0, | |
2
) = cerchio di centro lorigine e raggio 1
6
p =
|x|

= max ([x
1
[, [x
2
[) = 1, [x
i
[ 1 x
1
= 1, x
2
= 1
x
y
(1,0)
(1,0)
(0,1)
(0,1)
I
1
(0, | |

) = quadrato con lati | agli assi


7
p = 1
|x|
1
= [x
1
[ +[x
2
[ = 1, [x
i
[ 1
x
1
+x
2
= 1, x
1
+x
2
= 1, x
1
x
2
= 1, x
1
x
2
= 1
x
y
(1,0)
(1,0)
(0,1)
(0,1)
I
1
(0, | |
1
) = quadrato con lati | alle bisettrici
8
norma uniforme
norma 1
norma 2
O
x
y
(0,1)
(0,1)
(1,0) (1,0)
I(x; | |
1
) I(x; | |
2
) I(x; | |

)
una condizione del tipo: |x
(k)
x
v
|
`e pi` u restrittiva se si usa la norma 1, e pi`u debole se si usa la norma
uniforme.
9
Esempio Riprendiamo lesempio dato allinizio: si vuole una approssi-
mazione di x

tale che |x
v
x

| 0.5e 3. Calcoliamo :
|e
1
|
1
= 0.2325e 3 +0.2365e 3 +0.3005e 3 0.77e 3,
|e
1
|
2
=
_
(0.2325e 3)
2
+(0.2365e 3)
2
+(0.3005e 3)
2
0.45e 3,
|e
1
|

= max(0.2325e 3, 0.2365e 3, 0.3005e 3) 0.30e 3


|e
2
|
1
0.11e 2; |e
2
|
2
0.65e 3; |e
2
|

0.45e 3
| |
1
| |
2
| |

v
1
no si si
v
1
no no si
10
Norma di matrice
Si denisce norma di una matrice A R
mn
una funzione
| | : R
mn
R
+

0
1. |A| = 0 A = 0
2. |A| = [[ |A|, R
3. |A+B| |A| +|B| (disuguaglianza triangolare)
NOTA: La denizione si estende al campo complesso
Si estendono le denizioni di distanza, intorno e convergenza in modo
formalmente identico al caso dei vettori.
11
Un esempio: la norma di Frobenius A = ((a
ij
)) R
mn
[[A[[
F
:=
_
_
m

i=1
n

j=1
[a
ij
[
2
_
_
1/2
Attenzione: La formula individua una classe di norme.
Esempio: [[A[[
F
, A R
23
,= [[A[[
F
, A R
44
sono diversi gli spazi su cui sono denite le funzioni [[ [[
F
.
Quale relazione esiste fra le norme se si eseguono operazioni (di prodotto)
fra matrici di spazi diversi?
12
Norme sub-moltiplicative
Una norma di matrice si dice sub-moltiplicativa se
[[A B[[ [[A[[ [[B[[
quando il prodotto `e denito.
[[ [[
F
`e sub-moltiplicativa
Non tutte le norme sono sub-moltiplicative
Esempio |A| = max
1i,jn
[a
ij
[, A R
nn
(`e immediato vericare che la funzione denita `e una norma)
Cosideriamo per n = 2
A = B =
_
1 1
0 1
_
A = B
_
1 2
0 1
_

|A B| = 2 > |A| |B|


=
1
13
Norme compatibili
Una norma di matrice si dice compatibile rispetto ad una norma di
vettore | |

se
norma di matrice
[[Ax[[

. .
_

..
[[A[[ [[x[[

. .
,
, A R
mn
, x R
n
norma di vettore
Come ottenere norme che siano contemporaneamente sub-moltiplicative
e compatibili?
14
Norme indotte
Si denisce la norma indotta (da una ssata norma di vettore) di
matrice
|A| = max
|x|=1
|Ax| (norma indotta)
Si dimostra che questa denizione ha senso ( il max).
Propriet`a delle norme indotte
Ogni norma indotta `e una norma sub-moltiplicativa.
Ogni norma indotta `e compatibile (rispetto alla norma di vettore
da cui `e denita)
In ogni norma idotta |I| = 1
Infatti: |I| = max
|x|=1
|Ix| = max
|x|=1
|x| = 1
15
Norme di matrice dalle norme h olderiane
Norma uno: |A|
1
:= max
1jn
_
_
n

i=1
[a
ij
[
_
_
(per colonne)
Norma innito: |A|

:= max
1in
_
_
n

j=1
[a
ij
[
_
_
(per righe)
Norma 2 o di Hilbert: |A|
2
=
_
(A
H
A)
(M) `e il raggio spettrale= autovalore di modulo massimo della matrice
M.
[[A[[
F
non `e una norma indotta (|I|
F
=

n) ma `e compatibile rispetto
alla norma euclidea di vettore:
|Ax|
2
|A|
F
|x|
2
Chiameremo norma canonica ogni norma di matrice che sia sub-
moltiplicativa e compatibile.
16
Esercizio Sia data la matrice, dipendente dal parametro reale
A =
_

_
3 0
3 2 0.5
0 0.5 1
_

_
Studiare il valore di |A| al variare di in ognuna delle norme canoniche
1, e di Frobenius.
a) |A|
2
F
=
2
+18 +4 +2( 0.5)
2
+1 = 3
2
2 +23.5
parabola con minimo in = 1/3.
|A|
F
=
_
3
2
2 +23.5 decresce da a 4.813 e poi cresce, per
valori di crescenti, e tende a
17
A = A
T
|A|
1
= |A|

= |A|
|A| = max ([[ +3, 5 +[ 0.5[, 1 +[ 0.5[)
|A| = max([[ +3, 5 +[ 0.5[)
0 |A| = max( +3, 5 +0.5) = 5.5 +[[
0 0.5 |A| = max( +3, 5 +0.5)
3 < +3 3.5, 5 < 5.5 5.5 |A| = 5.5
> 0 |A| = max( +3, 5 + 0.5) = 4.5 +
18
Alcune propriet`a delle norme

Ogni norma `e una funzione continua dei suoi argomenti.

Se | |
a
, | |
b
sono norme introdotte in uno spazio di dimen-
sione nita allora le norme sono equivalenti nel senso che esistono due
costanti c
1
, c
2
> 0 tali che
c
1
| |
a
| |
b
c
2
| |
a
Assicura che la convergenza `e indipendente dalla norma.
Casi particolari A R
mn
|A|
2
|A|
F

n|A|
2
1

n
|A|

|A|
2

m|A|

m
|A|
1
|A|
2

n|A|
1
19
Trasormazioni e punto sso in R
n
Trasformazione in R
n
:
x
1
=
1
(x
1
, x
2
, . . . , x
n
)

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

x
n
=
n
(x
1
, x
2
, . . . , x
n
)
Notazione maticiale: x = (x
i
)
T
R
n
e = (
1
, ,
n
)
x = (x)
R
n
si chiama punto unito della trasformazione se
= ()
20
Esempio n = 2
x
1
=
1
(x
1
, x
2
) =
_
2x
1
x
2
2
x
2
=
2
(x
1
, x
2
) = 5logx
1
x
y
0
y=5log x
x
2
+y
2
2x=0
2 1
Esistono 2 punti uniti:

1
D
1
= [1, 2] [0, 1]

2
D
2
= [0, 1] [1, 0]
21
Il m. del punto sso in R
n
x
(k)
= (x
(k1)
), k 1, x
(0)
dato ()
x
(j)
R
n
, = (
1
, ,
n
)
Teoremi di convergenza
Teorema 1 Se
i
1
C
0
(D)
i
2
lim
k
x
(k)
=
allora
t
1
= ()
Come in R questo teorema ha una validit`a a posteriori: se si ottiene
una successione convergente, allora il punto limite `e un punto sso.
22
Teorema 2 Sia D un sottoinsieme chiuso e limitato di R
n
o R
n
stesso.
Se `e tale che
i
1
C
0
(D),
i
2
(D) D,
i
3
esiste una costante 0 < < 1 t. c. y, z D sia
|(y) (x)| |y x| (condizione di contrazione)
in una qualche norma di vettore, allora
t
1
esiste un unico punto unito, , della trasformazione ,
t
2
comunque si ssi x
(0)
D, la successione x
(k)
= (x
(k1)
), k 1
converge ad
t
3
|x
(k)
|

k
1
|x
(1)
x
(0)
|, k = 1, 2, .
23
Teorema 3 C. S. anch`e la trasformazione verichi la condizione di
contrazione in D `e che
i
1
C
1
(D)
i
2
|J(x; )| (0, 1) x D (in una norma canonica)
dove J(x; ) `e lo Jacobiano del sistema
J(x; ) =
__

i
x
j
__
, i, j = 1, 2, , n
24
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 30.01.2007
Argomenti
Metodo del punto unito -Esercizio
Soluzione di sistemi lineari
Classicazione dei metodi
Metodi iterativi - Condizioni di convergenza
Metodo di Jacobi
1
Esercizio Consideriamo la trsformazione = (
1
,
2
)
x
1
=
1
(x
1
, x
2
) = 0.5
_
2(3x
2
+15)
x
2
=
2
(x
1
, x
2
) =
_
x
1
+logx
1
per x D = [3, 4] [2, 3].
1. Vericare che ammette un unico punto unito in D.
2. Stabilire se il metodo del punto unito x
(k)
= (x
(k1)
) converge ad

3. In caso aermativo stimare il numero di iterate che consente di


ottenere una approssimazione con 7 cifre decimali.
2
1.
1
,
2
C

(D), monotone
assumo i valori estremali agli estremi degli intervalli [2, 3] e [3, 4] rispet-
tivamente:
3.25 x
1
=
1
(x
1
, x
2
) 3.47, 2.03 x
2
=
2
(x
1
, x
2
) 2.33
(
1
(D),
2
(D)) D ! D punto unito di .
2. Proviamo ad utilizzare la C.S. di contrazione. Occorre
a) Calcolare le derivate parziali di
1
,
2
b) Calcolare le maggioranti del modulo di ogni derivata:

i
x
j

m
ij
c) Posto M = ((m
ij
)), vericare che M < 1 in una norma canonica.
3
a)

1
(x)
x
1
= 0,

1
(x)
x
2
=
3
2

2(3x
2
+15)
, x
2
[2, 3]

2
(x)
x
1
=
x
1
+1
2x
1

x
1
+logx
1
, x
1
[3, 4]

2
(x)
x
2
= 0
b) Per le derivate non nulle, entrambe decrescenti:

1
(x)
x
2

0.23,

2
(x)
x
1

0.33.
c) M =
_
0 0.23
0.33 0
_
si ha J(x; ) M, x D.
M
1
= M

= 0.33
vale la condizione di contrazione in norma 1 o con = 0.33.
4
3. Fissiamo x
(0)
= (3.5, 2.5).
Si ricava x
(1)
= (3.354101966, 2.180083248)
x
(1)
x
(0)
= (.145898034, .319916752).
Dalla condizione
0.33
k

0.5e 7 0.67
(.145898034, .319916752)
si ricava
k 14.5 se si adotta la norma , k 14.85 se si adotta la norma 1.
5
Soluzione numerica dei sistemi lineari
Dati A = ((a
ij
)) R
nn
, b = (b
j
)
T
R
n
determinare la soluzione x
v
R
n
di
n

j=1
a
ij
x
j
= b
i
, i = 1, 2, , n (Sistema lineare di ordine n)
In forma matriciale Ax = b
Il Teorema di Cramer assicura che il sistema ammette una e una sola
soluzione il determinante di A `e non nullo x
v
= A
1
b.
Supporremo pertanto che sia det A = 0
6
I metodi numerici per la soluzione di sistemi lineari si dividono in due
classi:
Metodi iterativi Metodi diretti
Metodi iterativi
Costruiscono una successione di vettori
_
x
(k)
_
, k 0 t.c.
lim
k
x
(k)
= x
v
Si assume come soluzione numerica (approssimazione di x
v
) un ele-
mento della successione x
M
, M nito.
La soluzione numerica `e aetta da un errore di troncamento
7
Metodi diretti
Si basano sul
Teorema A Se sul sistema Ax = b si esegue una delle seguenti oper-
azioni:
scambio di due righe
moltiplicazione (divisione) di una riga per uno scalare non nullo
sostituzione di una riga con una combinazione della riga stessa con
altre righe del sistema
allora
il nuovo sistema ammette soluzione se e solo se Ax = b ammette
soluzione
le soluzioni dei due sistemi coincidono (i due sistemi sono equi-
valenti)
8
Idea base dei metodi diretti:
trasformare Ax = b in un sistema equivalente di cui sia direttamente
calcolabile la soluzione, applicando le operazioni del Teorema A un
numero nito di volte.
La matrice dei coecienti del nuovo sistema avr`a una struttura parti-
colare.
In algebra innita un metodo diretto fornisce la soluzione esatta
Nel sistema di numeri macchina un metodo diretto fornisce una soluzione
(numerica) aetta da errori di arrotondamento
9
Metodi iterativi per sistemi lineari
Passo 1. Ax = b x = Cx +q t.c.
Ax
v
b x
v
Cx
v
+q
Tecnica di base
A = M +N (splitting della matrice) t.c. M
1

(M +N)x = b Mx = Nx +b x = M
1
N
. .
=C
x +M
1
b
. .
=q
Passo 2. Generare la successione con il metodo del punto unito
_

_
x
(k)
= Cx
(k1)
+q, k = 1, 2, . . .
x
(0)
R
n
dato
C : matrice di iterazione
10
Convergenza dei metodi iterativi per sistemi lineari
Chi `e lo jacobiano del sistema?

i
(x) =
n

j=1
c
ij
x
j
+q
i


i
x
j
= c
ij
indipendente da x
La C.S. per la convergenza del m. del punto unito diventa
Teorema 1 Se in una qualche norma canonica risulta C < 1, allora il
procedimento iterativo x
(k)
= Cx
(k1)
+q, k 1 converge comunque
si scelga lapprossimazione iniziale x
(0)
R
n
Nota 1

Essendo J(x, ) = C costante in R


n
la condizione di contrazione
C < 1 o non `e vericata o lo `e in tutto R
n
: la convergenza `e indipen-
dente dalla scelta dellapprossimazione iniziale.
11
Nota 2

C `e il fattore di contrazione :
e
k

C
k
1 C
x
(1)
x
(0)

In particolare per x
(0)
= 0 e
k

C
k
1 C
q
da cui si stima il numero di iterate.
12
Teorema 2 C.N e S. anch`e il procedimento iterativo x
(k)
= Cx
(k1)
+
q, k = 1, 2, . . . converga `e che sia (C) < 1 e la convergenza `e indipen-
dente dalla scelta dellapprossimazione iniziale
((C) = raggio spettrale= autovalore di modulo massimo di C)
Relazione fra i due teoremi
B R
nn
: Bx = x, x = 0 (in una norma compatibile )
x = || x = Bx B x || B,
In particolare (B) B, B R
nn
quindi C < 1 (C) < 1
Velocit`a asintotica di convergenza V = Log(C)
13
Criteri darresto
Sono lestensione di quelli visti nel caso di unequazione
Equazione Sistemi
|f(x
k
)| Ax
k
b
|x
k
x
k1
| x
k
x
k1

|x
k
x
k1
|
|x
k
|

x
k
x
k1

x
k


Numero massimo di iterate in entrambi i casi
14
Esempio C =
_

_
0.25 0.4 0
0.34 0.35 0.01
0 0.4 0.3
_

_ , q =
_
_
_
1
0
2
_
_
_
Si vuole stimare il numero di iterate sucienti ad ottenere unappros-
simazione con una accuratezza = 10
8
.
Condizione da imporre
C
k
1 C
q 10
8
In norma e norma di Frobenius `e vericata la C.S. di convergenza;
si pu` o usare la norma .
C

= max(0.65, 0.7, 0.7) = 0.7, q

= 2
0.7
k
0.3
2 10
8
k log0.7 log(0.15 10
8
) k 57
15
Costruzione di C: il metodo di Jacobi
Dalla i-sima riga: a
i1
x
1
+ +a
ii
x
i
+ a
in
x
n
= b
i

Se a
ii
= 0, si ricava x
i
:
x
i
=
a
i1
a
ii
x
1

a
i,i1
a
ii
x
i1

a
i,i+1
a
ii
x
i+1

a
in
a
ii
x
n
+
b
i
a
ii
Ipotesi: a
ii
= 0, i = 1, 2, , n
Ax = b x = Cx +q, C = ((c
ij
)), q = (q
i
) t.c.
c
ij
=
_
0 i = j

a
ij
a
ii
i = j
, q
i
=
b
i
a
ii
16
La matrice di iterazione di Jacobi dallo splitting di A
A = L +D +U
A =
_

_
a
11
a
12
a
1n
a
21
a
22
a
2n
a
31
a
32
a
33
a
3n

a
n1
a
nn
_

_
C = D
1
(L +U), q = D
1
b
17
Condizioni sucienti di convergenza del metodo di Jacobi
A diagonalmente dominante per righe :
|a
ii
| >

k=i
|a
ik
| C

< 1
A diagonalmente dominante per colonne :
|a
ii
| >

k=i
|a
ki
| C
1
< 1
18
Esempio
Si consideri il sistema
[A|b] =
_

_
1 2 2 0
1 1 1 1
2 2 1 1
_

_
La soluzione del sistema `e x = (2, 6, 7)
T
[C
J
|q] =
_

_
0 2 2 0
1 0 1 1
2 2 0 1
_

_
19
Si assuma x
(0)
= q = (0, 1, 1)
T
Prima iterata
x
(1)
=
_

_
0 2 2
1 0 1
2 2 0
_

_
_
_
_
0
1
1
_
_
_ +
_
_
_
0
1
1
_
_
_ =
_
_
_
4
0
1
_
_
_
Seconda iterata
x
(2)
=
_

_
0 2 2
1 0 1
2 2 0
_

_
_
_
_
4
0
1
_
_
_ +
_
_
_
0
1
1
_
_
_ =
_
_
_
2
6
7
_
_
_
Il metodo di Jacobi non solo converge, ma con la scelta fatta per x
(0)
raggiunge la soluzione in un numero nito di iterate.
20
In nessuna delle norme canoniche viste (norma 1,...,F) risulta vericata
C
J
< 1 (C.S.).
Autovalori di C
J
:
det(C
J
I) = (
2
2) = 0 = 0, = 1/

2
(C
J
) =
1

2
< 1 (C.N.e S.)
21
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 02.02.2007
Argomenti
Metodo di Gauss-Seidel
Matrici denite positive e C.S. di convergenza
Esercizi sui metodi iterativi (Jacobi, Gauss-Seidel)
Metodi diretti.
Algoritmi per i metodi di sostituzione
Il metodo di eliminazioni di Gauss
Tecnica del pivot
1
Il metodo di Gauss Seidel
Struttura iterativa del metodo di Jacobi:
x
(k+1)
i
=
a
i1
a
ii
x
(k)
1

a
i,i1
a
ii
x
(k)
i1

a
i,i+1
a
ii
x
(k)
i+1

a
in
a
ii
x
(k)
n
+
b
i
a
ii
, i = 1, 2, , n
Perch`e non usare via via le componenti gi`a aggiornate?
x
(k+1)
i
=
a
i1
a
ii
x
(k+1)
1

a
i,i1
a
ii
x
((k+1)
i1

a
i,i+1
a
ii
x
(k)
i+1

a
in
a
ii
x
(k)
n
+
b
i
a
ii
, i = 1, 2, , n
2
In forma matriciale: A = L +D +U
x
k+1
= D
1
(L)x
k+1
+D
1
(U)x
k
+D
1
b
da cui
x
k+1
= (D +L)
1
Ux
k
+(D +L)
1
b
C
GS
= (D +L)
1
U
Il nuovo metodo `e diverso dal metodo di Jacobi e non si pu` o considerare
un suo miglioramento.
3
Esempio Sistema (v. lezione precedente - m. di Jacobi)
[A|b] =
_

_
1 2 2 0
1 1 1 1
2 2 1 1
_

_
Utilizziamo la C.N.e S. (C
GS
) < 1
D +L =
_

_
1 0 0
1 1 0
2 2 1
_

_ (D +L)
1
=
_

_
1 0 0
1 1 0
4 2 1
_

_
C
GS
=
_

_
1 0 0
1 1 0
4 2 1
_

_
_

_
0 2 2
0 0 1
0 0 0
_

_ =
_

_
0 2 2
0 2 1
0 8 6
_

_
4
Gli autovalori della matrice di iterazione di Gauss-Seidel sono

1
= 0,
2
= 2

2,
1
= 2 +

2 (C
GS
) = 2 +

2 > 1
Il m. di Jacobi converge
Il metodo di Gauss Seidel non converge
5
Matrici denite positive
Denizione: A R
nn
`e denita positiva se:
1. A = A
T
(A simmetrica)
2. x
T
Ax =

i,j
a
ij
x
i
x
j
> 0, x = 0
Teorema Criterio di Sylvester: A simmetrica `e denita positiva
M
k
> 0, k = 1, , n
M
k
= det[a
ij
], i, j = 1, 2, , k minori principali di testa di A:
Teorema Propriet`a degli autovalori: A simmetrica `e denita positiva
i suoi autovalori sono tutti reali e positivi.
una matrice denita positiva `e regolare (invertibile)
6
C. S. di convergenza del metodo di Gauss-Seidel
Teorema 1 Se A `e (simmetrica) denita postiva, il metodo di Gauss-
Seidel converge per ogni scelta di x
0
Teorema 2 Se A `e diagonalmente dominante (per righe e/o per colonne),
il metodo di Gauss-Seidel converge per ogni scelta di x
0
ovvero:
le condizioni di diagonale dominanza sono sufficienti per la conver-
genza sia del m. di Jacobi che del m. di Gauss-Seidel
7
Esercizio Sia assegnato il sistema lineare Ax = b dipendente dal para-
metro reale
A =
_

_
3 1 0
1 1 2
0 2 2
_

_
1. Per quali valori di sussistono le condizioni sucienti di convergenza
del metodo iterativo di Gauss-Seidel?
2. Per i valori di determinati al punto precedente sono vericate il
metodo di Jacobi risulta convergente?
Soluzione 1. A = A
T
, non diagonalmente dominante (vedi ultima
riga/colonna).
Dal criterio di Sylvester:
M
1
= 3 > 0, M
2
= 3(1 ) 1 > 0 <
2
3
M
3
= det(A) = 6(1 ) 12 2 > 0 <
4
3
8
Il metodo di Gauss-Seidel converge per <
4
3
(C.S.)
2. Occorre vericare se (C
J
) < 1
C
J
=
_

_
0
1
3
0

1
1
0
2
1
0 1 0
_

_
det(C
J
I) =
3
+
7
3(1)
Autovalori: 0,

7
3(1 )

(C
J
) =

7
3(1 )
< 1

7
3(1 )

< 1
9
1 0.5 0 0.5 1 1.5 2 2.5 3
25
20
15
10
5
0
5
10
15
20
25
y=7/[3(1x)]
Ricaviamo i valori di per cui
7
3(1)
= 1
(C
J
) < 1 >
10
3
, <
4
3
Il m. di Jacobi converge per gli stessi valori di trovati per il m. di
Gauss-Seidel (e non solo)
10
Nota C.N.e S. di convergenza al m. di Gauss-Seidel
(D +L)
1
U =
_

_
1
3
0 0

1
3(1)
1
1
0

1
3(1)
1
1
1
2
_

_
0 1 0
0 0 2
0 0 0
_

C
GS
=
_

_
0
1
3
0
0
1
3(1)

2
1
0
1
3(1)

2
1
_

_
autovalori 0, 0,
7
3(1)
Pertanto linsiemi degli per cui il m. di Gauss-Seidel converge coin-
cide con linsieme di convergenza del m. di Jacobi.
11
I metodi diretti
Trasformiano, con un numero nito di passi, Ax = b in

Ax =

b
sistema equivalente

A strutturata (triangolare, diagonale, prodotto di matrici triango-


lari).
12
Soluzione di sistemi triangolari
Sistemi triangolari superiori: Ux=b
_

_
u
11
x
1
+ u
12
x
2
+ + u
1n
x
n
= b
1

u
kk
x
k
+ + u
kn
x
n
= b
k

u
nn
x
n
= b
n
Algoritmo di sostituzione allindietro:
_

_
x
n
=
b
n
u
nn
x
k
=
1
u
kk
_
_
b
k

i=k+1
u
ki
x
i
_
_
, k = n 1, n 2, ..., 2, 1
13
Sistemi triangolari inferiori: Lx=b
_

11
x
1
= b
1

11
x
1
+ +
kk
x
k
= b
k

n1
x
1
+
n2
x
2
+ +
nn
x
n
= b
n
Algoritmo di sostituzione in avanti:
_

_
x
1
=
b
1

11
x
k
=
1

kk
_
_
b
k

k1

i=1

ki
x
i
_
_
, k = 2, , n
14
Metodo di eliminazione di Gauss

A = U triangolare superiore
Passo ksimo A
(k1)
A
(k)
_

_
u
11
u
12
u
nn
0 u
22
u
2n
0 0
.
.
. u
3n
0
.
.
.
0 0
kk

kn
0 0
k+1,k

k+1,n
0 0
.
.
.
0 0
n,k

n,n
_

_
u
11
u
12
u
nn
0 u
22
u
2n
0 0
.
.
. u
3n
0
.
.
.
0 0 u
kk
u
k,k+1

kn
0 0 0

k+1,k+1

k+1,n
0 0
.
.
.
0 0 0

n,k+1

n,n
_

_
riga i-ma riga i-ma -

ik

kk
riga k-ma, i = k +1, , n
15
Ipotesi:
kk
= 0 ad ogni passo k
(
kk
valore attuale dellelemento della matrice)
Se
kk
= 0 si deve fare uno scambio di righe
(
jk
= 0, j = k n A non `e regolare).
Teorema Se M
k
= 0 k = 1, 2, , n, M
k
i minori principali di testa
della matrice A R
nn
, allora il m. di eliminazioni di Gauss pu`o essere
eseguito senza scambi di righe.
Teorema Se A `e regolare `e sempre possibile con scambi di righe su A
ottenere una matrice che soddisfa le ipotesi precedenti.
16
Ridurre la propagazione degli errori: la tecnica del pivot
Ad ogni passo, si massimizza il denominatore
kk
(
kk
elemento attuale
della matrice)
Ricerca del pivot al passo k
si determina lelemento
rk
t.c. |
rk
| = max
i=k, ,n
|
ik
|
a) se |
rk
| det(A) 0 e il sistema non `e numericamente
risolubile
b) |
rk
| > si scambia la riga k-ma con la riga r-ma
17
Il passo ksimo in simboli matriciali
A
(k)
= L
(k)
A
(k1)
L
(k)
=
_

_
1 0 0
0 1 0
0
.
.
. 0
0 1 0 0
0

k+1,k

k,k
1 0
0
.
.
. 0 0
0

n,k

k,k
0 1
_

_
Le eliminazioni in simboli matriciali
U = L
(n1)
L
(2)
L
(1)
A = A
(Servono n 1 passi)
triangolare inferiore a diagonale unitaria det = 1
18
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 05.02.2007
Argomenti
Metodi diretti per sistemi lineari
Fattorizzazione LU
Fattorizzazione di Choleski
Sistemi simultanei, calcolo del determinante e dellinversa
Il condizionamento del problema
Indice di condizionamento
Determinante normalizzato
Esercizi
1
Fattorizzazione LU
Il metodo di eliminazioni di Gauss in simboli matriciali
U = L
(n1)
L
(2)
L
(1)
A = A
triangolare inferiore a diagonale unitaria det = 1
U triangolare superiore a diagonale u
kk
,= 0

1
= L

Teorema Una matrice regolare A ammette una sola fattorizzazione


A = LU nel prodotto di una matrice triangolare inferiore a diagonale
unitaria e di una matrice triangolare superiore ( Fattorizzazione di
Banachiewicz-Doolittle )
2
Teorema
i
1
A = A
T
denita positiva
t
1
! L triangolare inferiore t.c. A = LL
T
(fattorizzazione di Cholesky)
Dim. Per il teorema precedente A = LU
Siano: D = diag(u
11
, , u
nn
), u
kk
elementi diagonali di U, B t.c.
U = DB (B a diagonale unitaria).
A = LDB, A
T
= B
T
D
T
L
T
, ma (i
1
) A = A
T
, D = D
T

A = LDB = B
T
DL
T
L = B
T
(unicit`a della fattorizzazione)
Osserviamo che: /
k
=

k
1
u
jj
(i
2
) u
jj
> 0j (criterio di Sylvester),
si pu` o porre D =

D.
A = L

DL
T
= (L

D)(L

D)
T
.
3
Il caso delle matrici tridiagonali
A =
_

_
d
1
s
1
0 0
a
2
d
2
s
2
0

.
.
.
.
.
.
.
.
.
0 0 d
n1
s
n1
0 0 a
n
d
n
_

_
=
=
_

_
1 0 0 0

2
1 0 0
0
2
1 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0
n
1
_

_
_

_
u
1
v
1
0 0
0 u
2
v
2
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 u
n1
v
n1
0 0 0 u
n
_

_
= LU
4
Algoritmo di Thomas
_

_
v
i
= s
i
i = 1, 2, . . . , n 1
u
1
= d
1

i
= a
i
/u
i1
i = 2, 3, . . . , n
u
i
= d
i

i
v
i1
i = 2, 3, . . . , n
Algoritmi di sostituzione
y
1
= b
1
y
i
= b
i

i
y
i1
i = 2, 3, . . . , n
x
n
= y
n
/u
n
x
i
= (y
i
v
i
x
i+1
)/u
i
i = n 1, . . . , 1
5
Costo computazionale di un algoritmo
Algoritmi niti, in particolare nel caso dei m. diretti per la soluzione
numerica del sistema Ax = b si introduce
Costo computazionale:
C
c
= numero di moltiplicazioni e divisioni
C
c
dellalgoritmo di sostituzione allindietro
Ad ogni passo ci sono
n k moltiplicazioni (n. degli addendi), k = 1, , n
1 divisione
C
c
=
n

k=1
(n k +1) =
n

k=1
k =
(n +1)
2
n

=
n
2
2
Vericare che lalgoritmo delle sostituzioni in avanti ha lo stesso C
c
6
Costi computazionali
Eliminazione di Gauss e Fattorizzazione C
c
=
n
3
3
+O(n
2
) .
Fattorizzzazione di Choleski C
c
=
n
3
6
+O(n
2
) .
Sostituzioni (in avanti o allindietro) C
c
=
n
2
2
+O(n) .
Esercizio: Calcolare il costo computazionale dellalgoritmo di Thomas
7
Soluzione di sistemi lineari simultanei
sistemi lineari simultanei= sistemi aventi stessa matrice dei coecienti
e diversi vettori termini noti
Ax
i
= b
i
i = 1, 2, . . . , r
Si fattorizza A = LU
Si risolvono, per ogni vettore b
i
, i due sistemi triangolari
_

_
Ly
i
= b
i
i = 1, 2, . . . , r
Ux
i
= y
i
Costo computazionale
C
c
=
n
3
3
+O(n
2
)
. .
1fattorizzazione
+r 2
_
n
2
2
+O(n)
_
. .
sostituzioni
C
c

n
3
3
+r n
2
8
Calcolo del determinante di A
detA = det(L U) = detL
. .
=1
detU =
n

k=1
u
kk
Se durante la fattorizzazione sono stati fatti s scambi di righe, allora
detA = (1)
s
n

k=1
u
kk
Il calcolo del determinante ha il costo computazionale della fattoriz-
zazione (o delle eliminazioni di Gauss): C
c

n
3
3
9
Calcolo dellinversa di A
A e regolare, la matrice inversa A
1
`e per denizione
A A
1
= I I : matrice identita
I :=
_

_
1 0 0
0 1 0

0 0 1
_

_
= [e
1
e
2
e
n
]
e
i
= [0, 0, , 1
..
i
, 0, , 0]
T
Vettori della base canonica
A A
1
= I A x
i
= e
i
i = 1, 2, , n
A
1
= [x
1
x
2
x
n
]
Il calcolo dellinversa equivale alla soluzione di n sistemi simultanei
C
c

n
3
3
+n n
2

4n
3
3
10
Perch`e no il metodo di Cramer
Il m. di Cramer `e un metodo diretto
x
i
=
D
i
detA
, i = 1, 2, ..., n
n +1 determinanti + n divisioni (trascurabili)
C
c
= (n +1)
n
3
3

n
4
3
+O(n
3
)
Luso del m. di Cramer equivale a risolvere n+1 sistemi (indipendenti)
11
Indice di condizionamento di una matrice
Sistema assegnato: Ax = b, x
v
soluzione
Sistema perturbato: Ax = b + b, x
v
+ x soluzione
A(x
v
+ x) = b + b A x = b x = A
1
b
| x| |A
1
| | b|
Ax
v
= b |b| |A| |x
v
|
1
|x
v
|
|A|
1
|b|
e inne
| x|
|x
v
|
|A| |A
1
|
. .
,
| b|
|b|
Indice di condizionamento
12
Propriet`a
cond(A) = |A| |A
1
| [1, +)
|A| |A
1
| |AA
1
| = |I| = 1 (norma indotta)
Se detA 0 (A non invertibile), gli elementi di A
1
e quindi |A
1
|
tendono ad .
Norma di Hilbert e matrici simmetriche A = A
T
A
1
=
_
A
1
_
T

|A|
2
=
_
(A
T
A) =
_
(A
2
) =
_

2
(A) = (A) =
max
|A
1
|
2
=
_

_
(A
1
)
2
_
=
_

2
(A
1
) = (A
1
) =
1

min

min
autovalore di modulo minimo: cond
2
(A) =

max

min
13
Determinante normalizzato di una matrice
T
N
=
detA
|a
1
|
2
|a
n
|
2
a
i
= (a
i1
, , a
in
)
T
(riga i-ma di A)
Propriet`a
E invariante rispetto alle moltiplicazioni delle righe di A per costanti
non nulle
T
N
[1, 1]
T
N
= 0 (condizionamento pessimo) detA = 0
[T
N
[ = 1 (condizionamento ottimo) per esempio quando i vettori a
i
sono ortogonali.
14
Osservazioni
Lindice di condizionamento fornisce una stima di quanto si possono
propagare sul risultato gli errori sui dati (di input o ottenuti durante i
calcoli).
NOTA In presenza di una perturbazioni, A su A, si dimostra che,
purch`e sia |A
1
| |A| < 1 si ha
| x|
|x|

cond(A)
1 cond(A)
|A|
|A|
_
| b|
|b|
+
|A|
|A|
_
Il determinante normalizzato pu`o essere interpretato come una misura
del parallelismo fra gli iperpiani che costituiscono il sistema.
15
Esercizio 1 Si consideri la matrice di Hilbert di ordine n = 3 e la sua
inversa
A =
_

_
1 1/2 1/3
1/2 1/3 1/4
1/3 1/4 1/5
_

_ A
1
=
_

_
9 36 30
36 192 180
30 180 180
_

_
a) Si valuti lindice di condizionamento di A
b) Sapendo che det(A) = 1/2160 si valuti il determinante normalizzato
di A.
16
a) cond(A) = |A| |A
1
| in una norma compatibile.
Norma 1 (Norma ) |A| = 1 +
1
2
+
1
3
, |A
1
| = 36 +192 +180
cond(A) = 748
Norma F |A|
2
F
= 1 +2/4 +2/9 +2/16 +1/25
|A
1
|
2
F
= 9 +192
2
+180
2
+2 36
2
+2 30
2
+2 180
2

cond(A) = 526.02
b) T
N
(A) =
det(A)
|a
1
|
2
|a
2
|
2
|a
3
|
2
|a
1
|
2
= 1 +
1
4
+
1
9
, |a
2
|
2
=
1
4
+
1
9
+
1
16
|a
3
|
2
=
1
9
+
1
16
+
1
25
T
N
(A) = 0.13e 2;
1
T
N
= 758.05
17
Esercizio 2 Sia assegnata la matrice
A =
_

_
1 1
1 2 1
1 1 2
_

_ , R.
a) Individuare per quali valori di la matrice ammette la fattorizzazione
di Cholesky.
b) Per i valori di diversi da quelli individuati al punto a) la matrice
ammette sempre una fattorizzazzione?
c) Per quali valori di A pu` o essere fattorizzata senza scambi di righe?
18
a) C.N. per applicare Cholesky: A denita positiva. A `e simmetrica;
C.N.e S. di Sylvester:
/
1
= > 0, /
2
= 2 1 > 0 > 1/2, /
3
= 3 2 > 0
> 2/3 A `e denita positiva e quindi ammette la fattorizzazione di
Cholesky > 2/3.
b) A `e fattorizzabile, in generale nella forma LU se det(A) ,= 0
,= 2/3.
c) C.S. per eseguire la fattorizzazzione senza scambi di righe `e /
k
,= 0
e quindi (v. punto a)) oltre a ,= 2/3 (matrice singolare)
,= 0, ,= 1/2
19
Esercizio 3 Si consideri il sistema Ax = b con
A =
_

_
1 1 1
1 1.01 1
1.01 0.99 1
_

_ , b = b
1
= (2, 2, 2)
T
, b = b
2
= (2.01, 2, 2)
T
la cui soluzione `e x
1
= (0, 0, 2)
T
e x
2
= (2, 1, 5.01)
T
, rispettiva-
mente
a)Si stimi lindice di condizionamento di A utilizzando le informazioni
disponibili.
b) Sapendo che A
1
=
_

_
200 100 100
100 100 0
301 200 100
_

_ stimare lindice di con-


dizionamento di A mediante la denizione e confrontare il risultato con
quello ottenuto al punto a).
20
a) Da
|x|
|x|
cond(A)
|b|
|b
| cond(A)
|x|/|x|
|b|/|b|
b = (0.01, 0, 0)
T
, x = (2, 1, 3.01)
T
Norma cond(A)
3.01
2

2
0.01
cond(A) 301
b) |A|

= 3.01; |A
1
|

= 601 cond(A) = 1809.01


La stima ottenuta al punto a) suggerisce che la matrice `e mal con-
dizionata, pur fornendo un valore molto inferiore al valore corretto
Si suggerisce di eseguire i calcoli anche utilizzando le altre norme
canoniche
21
Sistemi non lineari
Sistema in forma matriciale
F(x) = 0, x R
n
, F = (f
1
, f
2
, , f
n
)
Metodo del punto unito in R
n
Si passa al sistema equivalente x = (x)
Le propriet`a di convergenza si riportano al teorema generale del punto
unito.
Si utilizza il metodo di Newton (in R
n
)
22
Il metodo di Newton per sistemi
Si linearizza ogni equazione del sistema F(x) = 0 mediante lo sviluppo
di Taylor di punto iniziale x

troncato ai termini del primo ordine


(x
v
t.c. F(x
v
) 0)
f
i
(x) = f
i
(x

) +

n
j=1
f
i
(x)
x
j

x=x

(x
j
x

j
) = 0, i = 1, 2, , n

n
j=1
f
i
(x)
x
j

x=x

(x
j
x

j
) = f
i
(x

), i = 1, 2, , n
sistema lineare di ordine n nellincognita x x

. In forma matriciale
J(x

, F)(x x

) = F(x

)
23
Procedimento iterativo di Newton
x
(k+1)
= x
(k)
J
(1)
(x
(k)
, F) F(x
(k)
)
SE J(, F) ,= 0.
Il metodo di Newton `e , sotto questa forma, un metodo del punto
unito.
Il metodo converge se lapprossimazione iniziale x
(0)
`e sucientemente
vicina alla soluzione.
In pratica non si passa per il calcolo dellinversa J
(1)
, ma si risolve il
sistema lineare con un metodo diretto.
24
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 06.02.2007
Argomenti
Autovalori di nmatrici quadrate.
Denizione e principali propriet`a
Trasformazioni per similitudine
Teorema di diagonalizzazione e di Schur (enunciati)
Teoremi di Gershgorin
Metodo delle potenze e delle potenze inverse
1
Autovalori di matrice: alcuni richiami
Denizione Si dice autovalore di A, matrice di ordine n, uno scalare
C t.c.
Ax = x
per almeno per un vettore x ,= 0. x autovettore
autovalore di A risolve dellequazione caratteristica
det(A I) = (1)
n
_

n
+a
1

n1
+ +a
n
_
= 0
A ammette n autovalori (non necessariamente distinti)
NOTA a
1
=

i
(traccia di A)
(1)
n
a
n
= (1)
n

i
= det(A) = 0 A ammette almeno un autova-
lore nullo.
2
molteplicit`a algebrica di ()= molteplicit`a con cui `e soluzione
dellequazione caratteristica.
molteplicit`a geometrica di (
g
) = numero di autovettori indipendenti
soluzione del sistema Ax = x
(rango di AI = n
g
)
Relazione fra le molteplicit`a :
g

Ad ogni autovalore semplice ( = 1) corrisponde un solo autovettore.
Se x `e autovettore corrispondente a anche cx, c ,= 0 `e autovettore.
Ad autovalori distinti corrispondono autovettori linearmente indipen-
denti.
3
A simmetrica ammette tutti autovalori reali.
A denita positiva ammette tutti autovalori reali e positivi.
A simmetrica ha n autovettori linearmente indipendenti
NOTA Tali autovettori possono essere scelti in modo che siano ortog-
onali.
Ax = x A
k
x =
k
x, k > 0
A regolare A
k
x =
k
x, k > 0
NOTA Le propriet`a possono essere estese al caso A C
nn
4
Metodi numerici per determinare gli autovalori
Sono tutti metodi iterativi e si dividono in due gruppi:
Metodi che approssimano un solo autovalore
in alcuni casi richiedono una localizzazione dellautovalore
Metodi che approssimano tutti gli autovalori simultaneamente
si basano su trasformazioni per similitudine
5
Trasformazione per similitudine
A si dice simile a B, A B se esiste una matrice regolare S t.c.
B = S
1
AS
La similitudine `e una relazione di equivalenza:
riessiva (A B), simmetrica (A B B A), transitiva (A
B, B C A C)
Teorema A B A e B hanno gli stessi autovalori con la stessa
molteplicit`a algebrica
Dim. det(B I) = det(S
1
AS S
1
S) = det
_
S
1
(A I)S
_
=
= det(S
1
)det(A I)det(S) = det(A I)
_ T. di Binet
6
Teoremi fondamentali
Una matrice A si dice diagonalizzabile se D diagonale t.c. A D
Teorema di diagonalizzazione C.N.e S. anch`e A R
nn
sia diago-
nalizzabile `e che ammetta n autovettori lineramente indipendenti. Le
colonne della matrice S di similitudine sono gli autovettori di A.
Corollario 1 Se A ammette autovalori distinti `e diagonalizzabile.
Corollario 2 Ogni matrice A simmetrica `e diagonalizzabile.
7
Teorema Ogni matrice A R
nn
ammette una matrice simile H
R
nn
, H di Hessemberg superiore
Teorema di Schur Data A, U C
nn
unitaria (U
H
= U
1
) tale che
A = U
1
TU, T triangolare superiore.
NOTA 1 H di Hessemberg se h
ij
= 0, j = 1, , i 2, i > 2
NOTA 2 Se A R
nn
non si pu` o assicurare che la riduzione in forma
diagonale e in forma triangolare possa essere eseguita nel campo reale.
Lo si potr`a fare solo se A ha autovalori tutti reali.
8
Localizzazione degli autovalori
I
0
Teorema di Gershgorin Sia A = ((a
ij
)). Posto:

i
=

j,=i
[a
ij
[, R
i
= [z a
ii
[
i

gli autovalori di A appartengono tutti allinsieme: R =


n
_
i=1
R
i
II
0
Teorema di Gershgorin Ogni insieme massimale di R contiene tanti
autovalori quanti sono i cerchi che lo compongono.
NOTA Si chiama massimale un sottoinsieme di R che `e dato dallunione
di r cerchi (componenti) ed `e disgiunto dagli altri cerchi che concorrono
a formare R.
9
Poich`e A e A
T
hanno gli stessi autovalori, i teoremi di Gershgorin si
ripetono scambiando righe e colonne: posto

i
=

j,=i
[a
ji
[, C
i
= [z a
ii
[
i

gli autovalori di A appartengono tutti allinsieme: C =


n
_
i=1
C
i
e ogni
insieme massimale di C contiene tanti autovalori quante sono le sue
componenti.
Corollario Gli autovalori di A appartengono allinsieme
=
_
_
n
_
i=1
R
i
_
_

_
_
n
_
i=1
C
i
_
_
.
10
Esempio A =
_

_
1 0.5 0 0.5
0 2 0.5 1
1.5 0.5 4 0
1 0 1.5 3.5
_

_
Costruiamo i cerchi di Gershgorin:
per righe per colonne Note
R
1
= [z 1[ 1 C
1
= [z 1[ 2.5 R
1
C
1
R
2
= [z +2[ 1.5 C
2
= [z +2[ 1 C
2
R
2
R
3
= [z 4[ 2 C
3
= [z 4[ 2 R
3
C
3
R
4
= [z 3.5[ 2.5 C
4
= [z 3.5[ 1.5 C
4
R
4
11
4
04
4
(2,0)
(4,0)
(3.5,0)
(1,0)
4
0
4
(2,0)
(1,0)
(3.5,0)
(4,0)
Cerchi di G. per righe Cerchi di G. per colonne
un autovalore semplice (quindi reale)
1
C
2
= [z +2[ 1
12
Considerando linsieme

1
[3, 0.5]
gli altri cadono nellaltra unione massimale (ce ne sar`a almeno un
altro reale)
4
0
4
Autovalori: 4.475055036, 1.002828387, 3.079701560, 2.057584982
13
Esercizio Data la matrice A dipendente da un parametro reale > 0
A =
_

_
4 1 0
1 1
0 1 1
_

_
Fornire una condizione su suciente ad assicurare che gli autovalori
di A siano distinti.
A simmetrica autovalori reali e C
i
= R
i
. Si applicano i teoremi di
Gershgorin considerando lintersezione dei cerchi con lasse delle x
[a
1
, b
1
] = [3, 5], [a
2
, b
2
] = [ 2, +2], [a
3
, b
3
] = [0, 2]
Per il secondo teorema di Gershgorin C.S. a garantire autovalori distinti
`e che gli intervalli abbiano intersezione nulla
2 > 5, > 7 oppure +2 < 0, < 2
14
Approssimare lautovalore di modulo massimo
Metodo delle potenze
Data A R
nn
, .
Ipotesi:
i
1
x
1
, , x
n
autovettori di A linearmente indipendenti
i
2
lautovalore di modulo massimo `e unico
[
1
[ > [
2
[ [
3
[ [
n
[
1
`e reale
i
1
u
0
=
n

j=1
a
j
x
j
u
0
R
n
a
i
R, a
1
,= 0
Si costruisce la successione di vettori
u
k
= Au
k1
= A
k
u
0
, k = 1, 2, . . .
15
u
k
=
n

j=1
a
j
A
k
x
j
=
n

j=1
a
j

k
j
x
j
u
k
=
k
1
_
_
a
1
x
1
+
n

j=2
a
j
_

1
_
k
x
j
_
_

j=2
( )
k
0

[ [ < 1per i
2
u
k

k
1
a
1
x
1
(asintoticamente)
e anche u
k+1

k+1
1
a
1
x
1

1
(
k
1
a
1
x
1
)
u
k+1

1
u
k

1

u
T
k
u
k+1
u
T
k
u
k
=
k
16

k
=
u
T
k
u
k+1
|u
k
|
2
2
_
converge allautovalore
1
(per costruzione);

la successione di vettori u
k
converge allautovettore x
1
.

velocit`a di convergenza= velocit`a con cui tende a zero


_

1
_
k
oppure
_

1
_
2k
nel caso di matrici simmetriche

Criterio di arresto: [
k+1

k
[
17
Algoritmo del metodo delle potenze
u
0
tale che [[u
0
[[
2
= 1
v
k+1
= Au
k
k = 0, 1, . . .

k+1
= u
T
k
v
k+1
u
k+1
=
v
k+1
[[v
k+1
[[
2

La normalizzazzione evita che le componenti dellautovettore pos-


sano crescere in modulo, con conseguente instabilit`a dellalgoritmo.

In alcuni casi `e conveniente assumere u


0
= e
r
con r tale che [a
rr
[ =
max([a
ii
[).
18
Osservazioni
Anche se non si pu` o vericare che a
1
,= 0, nella pratica, a causa degli
errori di arrotondamento, si utilizza in realt`a un vettore

U
0
per il quale
a
1
,= 0
La successione
k
converge a
1
anche se > 1
La successione
k
non converge se lautovalore di modulo massimo
non `e unico
19
Approssimare lautovalore di modulo minimo
Metodo delle potenze inverse

j
autovalore di A, a buona approssimazione di
j
, j ssato
Sia B = A aI 0 = (B I)x = [A (a +)I]x

i
autovalore di A
i
autovalore di B verica
i
=
i
a
i) [a
j
[ _[a
i
[ i ,= j
Autovalore di modulo massimo di B
1
= (A aI)
1
:

j
= (
j
a)
1
Pu` o essere approssimato con il metodo delle potenze applicato a B
1
(purch`e siano vericate le ipotesi richieste)
20
Algoritmo del metodo delle potenze inverse
u
0
tale che [[u
0
[[
2
= 1
v
k+1
= B
1
u
k
k = 0, 1, . . . Bv
k+1
= u
k

j
(u
T
k
v
k+1
)
1
+a
u
k+1
=
v
k+1
[[v
k+1
[[
2
Per risolvere il sistema Bv
k+1
= u
k
si fattorizza la matrice B = LU
una volta: ad ogni passo si appliacno solo le sostituzioni in avanti e
allindietro (C
c
n
2
)
21
Osservazioni
Se a = 0 si approssima lautovalore di modulo minimo di A
Se lapprossimazione iniziale a non `e molto buona la convergenza `e
lenta. Conviene allora dopo qualche iterata assumere lapprossimazione
attuale come nuova approssimazione iniziale a e sostituire la matrice
B.
Se lapprossimazione iniziale a `e molto buona la matrice B `e quasi
singolare e mal condizionata, ma la convergenza `e molto rapida.
22
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 09.02.2007
Argomenti
Metodo di Sturm. Esempio
Metodi basati sulla similitudine
Metodo di Jacobi
Metodo di Housolder e metodo QR
Condizionamento: Teorema di Buer-Fike
1
Il metodo di Sturm per matrici tridiagonali simmetriche
A =

d
1
s
1
0 0
v
1
d
2
s
2
0

.
.
.
.
.
.
.
.
.
0 0 d
n1
s
n1
0 0 v
n1
d
n

Si dimostra per induzione che, indicato con /


k
il minore principale di
testa di ordine k (determinante)
/
k
= d
k
/
k1
s
k1
v
k1
/
k2
, k = 2, , n;
/
0
= 1, /
0
= d
1
2
Caso simmetrico: s
k
= v
k
, k. Consideriamo I A la sequenza dei
minori di testa `e data da:
p
0
() = 1, p
1
() = d
1
p
k
() = ( d
k
)p
k1
() s
2
k1
p
k2
(), k = 2, , n
Propriet`a
p
0
`e a segno costante
Gli zeri di p
k
e p
k+1
si interlacciano
Gli zeri di p
n
sono semplici
ovvero p
k
costituisce una successione di Sturm.
NOTA: p
n
() coincide (a meno del segno) con il polinomio caratteristico di A.
3
TeoremaSia A tridiagonale simmetrica con s
j
,= 0, j. Se p
n
(t) ,= 0
allora il numero di autovalori di A t.c. > t `e pari al numero di
variazioni di segno nella successione p
0
(t), p
1
(t), , p
n
(t).
Il terema consente di separare gli autovalori di A.
Poi si applica un metodo delle potenze o il metodo di Newton.
NOTA: Se s
j
= 0 per qualche j (A riducibile) si spezza la matrice e
si procede sulle due sottomatrici (di ordine j e n j) separatamente.
4
Esempio A =

1 1 0 0
1 2 1 0
0 1 3 1
0 0 1 4

1. Separare gli autovalori


2. Fornire le prime due iterate del metodo delle potenze per approssi-
mare lautovalore di modulo massimo.
3. Discutere luso del metodo di Newton per approssimare lautovalore
di modulo minimo
Cerchi di Gershgorin:
[z 1[ 1, [z 2[ 2, [z 3[ 2, [z 4[ 1

i
[0, 5]
5
1. Si applica lalgoritmo di Sturm
p
0
() = 1
p
1
() = 1
p
2
() = ( 2)p
1
() p
0
()
p
3
() = ( 3)p
2
() p
1
()
p
4
() = ( 4)p
3
() p
2
()
t p
0
p
1
p
2
p
3
p
4
n.
i
> t
0 1 -1 1 -2 7 4 (tutti)
5 1 4 11 18 7 0
2 1 1 -1 0 1 2
1
,
2
(0, 2];
3
,
4
(2, 5]
1 1 0 -1 2 -5 3
1
[0, 1],
2
(1, 2];
3
,
4
(2, 5]
4 1 3 5 2 -5 1
1
[0, 1],
2
(1, 2];
3
(2, 4],
4
(4, 5]
6
2. A simmetrica n autovettori indipendenti; dalla separazione

max
(4, 5] si pu` o applicare il metodo delle potenze.
Approssimazione iniziale u
0
t.c. |u
0
|
2
= 1.
Una scelta conveniente: u
0
= e
j
, versore jmo con j indice dellelemento
diagonale di massimo modulo
u
0
= (0, 0, 0, 1)
T
v
1
= Au
0
= (0, 0, 1, 4)
T

1
= u
T
0
v
1
= 4
(Si ottiene il centro del cerchio contenete lautovalore di modulo mas-
simo)
|v
1
| =

17, u
1
= (0, 0, 1/

17, 4/

17)
T
7
v
2
= Au
1
= (0, 0, 1/c, 4/c)
T
, c =

17

2
= u
T
1
v
2
=
7
c
2
+
4 17
c
2
4.411765
3. Gli autovalori sono semplici, il metodo di Newton per approssimare

1
[0, 1) si pu` o applicare con
0
= 0 e converge con ordine p 2.
Formula di Newton:
k+1
=
k

p
4
(
k
)
p
t
4
(
k
)
p
4
(
k
) si calcola con lalgoritmo di Sturm; p
t
4
(
k
) si calcola dalla legge
di ricorrenza dedotta, derivando, dallalgoritmo di Srurm:
8
p
t
0
() = 0, p
t
1
() = 1
p
t
k
() = p
k1
() +( d
k
)p
t
k1
s
2
k1
p
t
k2
(), k = 2, , n
per =
0
= 0 si ha:
p
t
2
(0) = p
1
(0) +(2)p
t
1
p
t
0
= 3
p
t
3
(0) = p
2
(0) +(3)p
t
2
p
t
1
= 9
p
t
4
(0) = p
3
(0) +(4)p
t
3
p
t
2
= 35

1
=
7
35
= 0.2
9
Metodo di Jacobi
Consente di trasformare una matrice A simmetrica in una matrice D
diagonale: ad ogni passo si azzera una coppia di elementi extra-
diagonali a
ij
= a
ji
(a

elemento attuale) utilizzando una matrice di


rotazione
Matrice di rotazione R
hk
, h < k
r
ii
= 1, i ,= h, k; r
hh
= r
kk
= cos ; r
hk
= r
kh
= sin
R
1
hk
= R
T
hk
A
new
= R
T
hk
A
old
R
hk
10
Algoritmo:
scegliere i ,= j t.c. a
ij
`e lelemento di massimo modulo
costruire la matrice di rotazione R
ij
con denito da
tan2 =
2a
ij
a
ii
a
jj
, [[

4
Calcolare A
new
Nellapplicazione dellalgoritmo si ottimizzano i calcoli evitando la divi-
sione per a
ii
a
jj
(che potrebbe essere anche prossimo a 0) e calcolando
direttamente sin e cos
11
Osservazioni
La coppia a
ij
= a
ji
azzerata ad una iterata pu`o ritornare ad essere
non nulla in una delle iterate successive.
Si dimostra che ad ogni passo risulta
|EXA(A
new
)|
F
|EXA(A
old
)|
F
dove EXA(B) `e la matrice ottenuta da B ponendo b
kk
= 0
Questa propriet`a garantisce che
Teorema La successione di matrici generata dal metodo di Jacobi con-
verge alla matrice diagonale simile ad A
12
Costruzione di una matrice di Hessemberg:
Metodo di Householder
Matrice di Householder H = I 2v v
T
, |v|
2
= 1
Propriet`a
H = H
T
= H
1
x R
n
|Hx|
2
= |x|
2
x R
n
, x ,= 0 H di Householder t.c. Hx = e
1
Il vettore v che genera la matrice H e lo scalare sono individuati da
x
13
passo 1 A
1
= Q
1
AQ
1
A , Q
1
di Householder
A =

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

A
1
=

a
11
a
12
a
nn

1
a
t
22
a
t
2n
0
0 a
t
n2
a
t
nn

Q
1
=

1 0 0
0
.
.
. I
n1
2v
1
v
T
1
0

14
passo p A
p
= Q
T
p
A
p1
Q
p
A
p1
, Q
p
di Householder
A
p1
=



0




.
.
.

A
p
=



0


0

.
.
.
0

Q
p
=

I
p
0
0 I
np
2v
p
v
T
p

Dopo n 2 passi si ottiene H A di Hessemberg


Il m. di Householder mantiene la simmetria: A `e simmetrica H
tridiagonale .
15
Da una matrice di Hessemberg a una triangolare
Metodo QR
Il metodo si basa sul Teorema di Schur e sulla fattorizzazione (QR)
Data A di ordine n Q, unitaria, R triangolare superiore t.c. A = QR
Si genera la successione di matrici
A
1
= H, A
k
= Q
k
R
k
A
k+1
= R
k
Q
k
k 1

R
k
= Q
1
k
A
k
A
k+1
= Q
1
k
A
k
Q
k

A
k+1
A
k
A H

propriet`a transitiva
16
Teorema (di convergenza) Se gli autovalori di A sono t.c. [
i
[ ,= [
j
[
per i ,= j allora il metodo QR converge ed il limite `e una matrice
T triangolare superiore simile ad A. In particolare se A `e simmetrica
(hermitiana) la matrice T `e diagonale
Se la condizione sugli autovalori non `e vericata il m. QR non con-
verge.
17
Condizionamento del problema del calcolo degli autovalori
Tutti i metodi basati sulla trasformazione di similitudine introducono
errori: si ottengono in pratica autovalori di una matrice che `e una
perturbazione della matrice data A.
Teorema di Bauer-Fike Sia | | una norma di matrice canonica veri-
cante la propriet`a :
|D| = max [d
i
[ D = diag(d
i
)
e sia A diagonalizzabile: S
1
DS, A+A una perturbazione di A e un
suo autovalore. Allora
min
1kn
[
i
[ cond(S)|A|
Dim. Caso a) =
i
(per qualche i) [
i
[ = 0 e la tesi `e vera.
18
Caso b) ,=
i
i (A I) `e regolare. Per denizione:
(A +A)y = y Ay = (A I)y (A I)
1
Ay = y
|y| |(A I)
1
A| |y| |(A I)
1
A| 1
(A I)
1
= (S
1
DS S
1
S)
1
=

S
1
(D I)S

1
=
= S
1
(D I)
1
S, D = diag(
i
)
1 |(A I)
1
A| = |S
1
(D I)
1
S A|
cond(S)|(D I)
1
| |A| =
= cond(S)
1
min
1kn
[
i
[
|A|
avendo adottato una norma canonica da cui la tesi.
19
Esempio
A =

a 1 0 0
0 a 1 0
0 0 a 1
0 0 0 a

, A =

0 0 0 0
0 0 0 0
0 0 0 0
0 0 0

, A +A =

a 1 0 0
0 a 1 0
0 0 a 1
0 0 a

Autovalori di A:
i
= a, i = 1 , 4
det(A +A I) = (a )
4
[

[ =
4

Esempio: = 10
8
[

[ = 10
2
Il problema `e fortemente mal condizionato!
NOTA: autovalore di A: = 4, = 4,
g
= 1
( autovettore x = c(1, 0, 0, 0)
T
)
A non `e diagonalizzabile.
20
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 12.02.2007
Argomenti
Il problema dellapprossimazione
Interpolazione polinomiale
Esistenza e unicit`a del polinomio interpolatore
La rappresentazione di Lagrange
Lerrore di propagazione
1
Approssimazione di dati e funzioni
Dati x
i
, i = 0, 1, , n, x
i
[a, b] (nodi)
y
i
, i = 0, 1, , n, y
i
f(x
i
), f generalmente non nota
Output g C
0
[a, b] (funzione approssimante) che sia una buona ap-
prossimazione di f
Cosa si deve fissare per costruire una funzione approssimante
1 La classe (spazio lineare) di funzioni cui appartiene g
2 un criterio quantitativo per misurare il concetto qualitativo di
buona approssimazione
2
Alcune applicazioni:

y
i
provengono da misure (ambientali, chimiche , biomediche,...) e
si vogliono ricostruire i valori del fenomeno tra una misura
e laltra (per esempio per visualizzare in modo continuo landamento
del fenomeno misurato)
prevedere il comportamento del fenomeno in istanti successivi
(metereologia, accrescimento delle popolazioni,...)

`e nota f e si deve eseguire una operazione funzionale, tipicamente


_
b
a
f(x) dx e si vuole sostituire a f una funzione pi`u facilmente integrabile
(per esempio perch`e non esiste la primitiva in forma chiusa)
3
1 Fissare la classe (spazio lineare) di funzioni cui appartiene g
Per risolvere il problema in modo numerico g deve essere identicata
da un numero nito di parametri:
si ssa una base di funzioni
k
e si vuole
g(x) =
m

i=0
c
k

k
(x)
ovvero
g span
k
(x), k = 0, , n spazio lineare generato dalla base
k
(x).
( Approssimazione lineare)
4
Classi di funzioni approssimanti
Polinomi algebrici di grado m
p
m
(x) = a
0
+a
1
x + +a
m1
x
m1
+a
m
x
m
a
k
R
Polinomi trigonometrici di ordine N
t
N
(x) =

N
k=0
(a
k
cos(kx) +b
k
sin(kx)) a
k
, b
k
R
Funzioni razionali
r
,m
(x) =
p

(x)
p
m
(x)
p

, p
m
polinomi
Funzioni esponenziali
g
n
(x) =

m
k=1
a
k
exp(b
k
x) a
k
, b
k
R
Funzioni splines di ordine m+1 (polinomi a tratti)
s(x) =

k
a
k
B
m+1,k
(x) a
k
R
5
Due Criteri per costruire lapprossimante
Interpolazione: la funzione approssimante g verica
g(x
i
) = y
i
i = 0, 1, . . . , n Condizioni di interpolazione
Si usa quando i dati y
i
sono accurati e pochi .
Approssimazione ai minimi quadrati discreti: la funzione approssi-
mante g minimizza la quantit`a
n

i=0
[g(x
i
) y
i
]
2
Scarto quadratico
oppure, introducendo i pesi w
i
,
n

i=0
w
i
[f
M
(x
i
) y
i
]
2
Scarto quadratico pesato
Si usa quando i dati y
i
sono poco accurati (eventualmente in numero
elevato).
6
Interpolazione polinomiale
Tabella: x
i
, y
i
i = 0, . . . , n
F. approssimante: p
n
(x) = a
0
+a
1
x + +a
n1
x
n1
+a
n
x
n
Condizioni di interpolazione: p
n
(x
i
) = y
i
, i = 0, 1, . . . , n
a
0
+a
1
x
i
+ +a
n1
x
n1
i
+a
n
x
n
i
= y
i
, i = 0, . . . , n
p
n
polinomio interpolatore `e individuato da
Wa = y
(sistema lineare nellincognita a = coecienti di p
n
)
7
Matrice del sistema
W =
_
_
_
_
_
_
1 x
0
x
2
0
x
n
0
1 x
1
x
2
1
x
n
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 x
n
x
2
n
x
n
n
_
_
_
_
_
_
. .
Matrice di Vandermonde
det W =

j>i
(x
i
x
j
) = 0 x
i
= x
j
, per qualche i ,= j
Teorema Data la tabella x
i
, y
i
, i = 0, 1, , n con nodi x
i
distinti,
esiste ed `e unico il polinomio p
n
di grado massimo n interpolante i
dati.
Corollario Se f P
n
allora p
n
f
(Linterpolazione polinomiale riproduce i polinomi)
Il corollario discende dal teorema fondamentale dellalgebra: f p
n
`e
un polinomio di grado massimo n che si annulla in n +1 punti (per le
condizioni di interpolazione) f p
n
.
8
Costruzione di p
n
Il sistema lineare Wa = y pu`o essere malcondizionato.
Esempio: N nodi equidistanti in [0, 1], norma
N 2 3 4 5 6 7
cond(W) 4 24 216 1.7067e+003 1.2500e+004 9.8784e+004
N 8 9 10 11
cond(W) 8.1271e+005 6.2915e+006 4.8184e+007 4.0042e+008
La matrice di Vandermonde pu`o essere malcondizionata gi`a per N
piccolo.
La matrice di Vandermonde dipende dal fatto che si rappresenta p
n
nella base dei monomi
1, x, x
2
, . . . , x
n1
, x
n

Conviene individuare una nuova base e altri algoritmi.


9
Polinomi di base di Lagrange
L
k
(x) :=
n

j = 0
j ,= k
x x
j
x
k
x
j
=
=
x x
0
x
k
x
0

x x
1
x
k
x
1

x x
k1
x
k
x
k1

x x
k+1
x
k
x
k+1

x x
n
x
k
x
n
L
k
(x), k = 0, . . . , n, `e un polinomio di grado n
L
k
(x
i
) =
_
1 se i = k
0 se i ,= k
ovvero L
k
(x
i
) =
ik
L
k
(x) dipende solo dai nodi x
i

10
Espressione di Lagrange del polinomio interpolatore
/
n
(x) =
n

k=0
L
k
(x)y
k
Condizioni di interpolazione:
/
n
(x
i
) =
n

k=0
L
k
(x
i
)y
k
=
n

k=0
y
k

ik
= y
i

/
n
(x):

`e un polinomio di grado n

soddisfa le condizioni di interpolazione


/
n
(x) p
n
(x) (per lunicit`a del polinomio interpolatore).
11
Una propriet`a della base di Lagrange
f(x) = 1 (linterpolazione polinomiale riproduce i polinomi P
n
)
1 = f(x) = p
n
(x) =
n

k=0
1 L
k
(x) =
n

k=0
L
k
(x)
La somma delle funzioni della base di Lagrange `e uguale ad 1 qualunque
sia il numero dei nodi e la loro distribuzione (partizione dellunit`a )
12
Esempio 1 Costruire il polinomio p
n
interpolante i dati
i 0 1 2
x
i
-1 0 1
y
i
0 4 2
N. dei nodi (dati) n +1 = 3 degp
n
2
L
0
(x) =
(x x
1
)(x x
2
)
(x
0
x
1
)(x
0
x
2
)
=
x(x 1)
(1)(1 1)
=
1
2
x(x 1)
L
1
(x) =
(x x
0
)(x x
2
)
(x
1
x
0
)(x
1
x
2
)
=
(x +1)(x 1)
(1)(1)
= (x
2
1)
L
2
(x) =
(x x
0
)(x x
1
)
(x
2
x
0
)(x
2
x
1
)
=
(x +1)x
(1 +1)(1)
=
1
2
(x +1)x
13
L
0
(x) =
1
2
x(x 1), L
1
(x) = (x
2
1) L
2
(x) =
1
2
(x +1)x

p
2
(x) =
2

k=0
y
k
L
k
(x) = 0 L
0
(x) +4 L
1
(x) +2 L
2
(x)
= 4(x +1)(x 1) +(x +1)x = 3x
2
+x +4
y=p
2
(x)
y=f
1
(x)
y=f
2
(x)
(1,0)
(0,4)
(1,2)
f
1
(x) = (x +1)
_
x +
_
16 15x
2
_
f
2
(x) = (x +1)
_
3
logx
log2
+1
_
E
t
(x) = f
i
(x) p
2
(x)
14
Lerrore nellinterpolazione polinomiale
Tabella dei dati: x
i
, y
i
y
i
= f(x
i
) +
i
i = 0, . . . , n
Errore di discretizzazione:(o troncamento) dovuto allaver approssi-
mato la funzione f, appartenente in generale ad uno spazio, T, di
funzioni a dimensione innita, con un polinomio P
n
.
Misura la distanza fra T e P
n
Errore di propagazione: dovuto agli errori sui dati di input (errori di
misura o di arrotondamento)
Errore totale p polinomio ideale

E
t
(x) = f(x) p
n
(x) = f(x) p
n
(x)
. .
errore di discretizzazione
+ p
n
(x) p
n
(x)
. .
errore di propagazione
= E
n
(x) + E

n
(x)
15
Lerrore di propagazione
E

n
(x) = p(x) p
n
(x)
p
n
= polinomio ideale (dati esatti f(x
i
))
p
n
= polinomio costruito ( dati y
i
= f(x
i
) +
i
)
E

n
(x) =
n

k=0
L
k
(x) y
k

k=0
L
k
(x) f(x
k
) =
n

k=0
L
k
(x)
k

[E

n
(x)[
n

k=0
[L
k
(x)[ = max([
k
[)
Funzione di Lebesgue: (x) =
n

k=0
[L
k
(x)[
(coeciente di amplicazione degli errori sui dati )
Costante di Lebesgue:
n
= max
x
0
xx
n
(x)
16
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 13.02.2007
Argomenti
Propiet`a dell afunzione di Lebesgue
Errore di discretizzazione nellinterpolazione polinomiale
Convergenza dei polinomi interpolatori
1
Propriet`a della funzione e della costante di Lebesgue
(x) dipende solo dalle distanze fra i nodi e, quindi, dalla distribuzione
dei nodi

k=0
L
i
(x) = 1 (x) 1
qualunque sia il numero dei nodi e la loro distribuzione
(x)
n


n
>
2

logn +c c 0.9625
Problema: Quali sono le distribuzioni dei nodi pi` u favorevoli dal punto
di vista della propagazione dellerrore sui dati?
2
Nodi equispaziati
x
i
= a +ih i = 0, . . . , n

n

=
2
n+1
enlogn
( n )
1 0 1 2 3 4 5 6 7 8
0
1
2
3
4
5
6
7
8
9
10
x

7
(x)
Nodi di Chebyshev
x
i
=
b a
2
cos
2i +1
n +1

2
+
b +a
2

n

2

logn +1
1 0 1 2 3 4 5 6 7 8
0
1
2
3
4
5
6
7
8
9
10
x

7
(x)
n = 7 Intervallo: [a, b] = [0, 7]
3
Lerrore di discretizzazione (o troncamento)
E
n
(x) = f(x) p
n
(x)
p
n
= polinomio ideale (ottenuto dai dati esatti f(x
i
))
Propriet`a dellerrore di discretizzazione
1. E
n
(x
i
) = f(x
i
) p
n
(x
i
) = 0 i = 0, . . . , n
da p
n
(x
i
) = f(x
i
) (condizioni di interpolazione)
2. E
n
(x) = 0 f P
n
da p
n
= f f P
n
4
Una espressione dellerrore di discretizzazione
1. E
n
(x) = f(x) p
n
(x) =
n

i=0
(x x
i
)
. .

R(x)
(x) polinomio nodale
Ipotesi f C
n+1
[a, b], x
i
[a, b], i = 0, . . . , n
x [a, b], x = x
i
, i,ssato
G(t) = f(t) p
n
(t) (t)R(x)
Propriet`a di G

G C
n+1
[a, b]

G(t) = 0 per t = x
i
, i = 1, . . . , n, t = x (per costruzione)
5
Applicando ripetutamente il Teorema di Rolle
G(t) ha n +2 zeri in t = x
i
, i = 1, . . . , n, t = x [a, b]
G

ha (almeno) n +1 zeri in [a, b]


G
(2)
ha (almeno) n zeri in [a, b]
G
(3)
ha (almeno) n 1 zeri in [a, b]

G
(n+1)
ha (almeno) 1 zero in [a, b]
Sia uno degli zeri di G
(n+1)

G
(n+1)
() = f
(n+1)
() +0 +(n +1)!R(x) = 0
R(x) =
f
(n+1)
()
(n +1)!
Se si varia x [a, b] si ripete il ragionamento varia .
6
Teorema Siano assegnati i nodi x
i
[a, b], i = 0, 1, . . . , n e i valori f(x
i
)
che una funzione f assume nei nodi e sia p
n
il polinomio interpolatore
costruito su tali dati. Se
i
1
x
i
= x
j
, i = j
i
2
f C
n+1
[a, b]
allora, per ogni x [a, b]
t
1
esiste un punto [a, b], dipendente da x tale che lerrore di di-
scretizzazzione E(x) = f(x) p
n
(x) pu`o essere posto nella forma
E(x) =
(x)
(n +1)!
f
(n+1)
((x))
(x) polinomio nodale.
7
Esempio 2 Si consideri la seguente tavola dei valori della funzione
f(x) =
1

2
_
x
0
e
t
2
/2
dt
x
i
0.19 0.20 0.21 0.23
y
i
0.0753454 0.0792592 0.0831662 0.0909541
Si vuole approssimare il valore f(0.203) con un polinomio interpolatore
di grado 2, dando una stima dellerrore di discretizzazione. Si vuole poi
confrontare tale errore con quello associato al polinomio interpolatore
di grado 3.
8
Nodi:
x
0
= 0.19, x
1
= 0.20, x
2
= 0.21 x = 0.203 [x
0
, x
2
]
L
0
=
(0.203 0.20)(0.203 0.21)
(0.19 0.20)(0.19 0.21)
= 0.105
L
1
=
(0.203 0.19)(0.203 0.21)
(0.20 0.19)(0.20 0.21)
= 0.91
L
2
=
(0.203 0.19)(0.203 0.20)
(0.21 0.19) (0.21 0.20)
= 0.195
p(0.203) = 0.0753454(0.105) +0.0792592 0.91 +0.0831662 0.195
p(0.203) .8043201e 1
9
Stima dellerrore di discretizzazione
f C

(R) possiamo usare la formula


E
n
(x) =
2
(x)
f
(3)
((x))
3!
Ma non `e noto: come si utilizza la formula?
Si calcolano maggioranti e minoranti dellerrore, si determina un
intervallo di variabilit`a dellerrore stesso (= dare una stima).
10

2
(0.023) = (0.203 0.19)(0.203 0.20)(0.203 0.21)

2
(0.023) = .273e 6
f

(x) =
1

2
e
x
2
/2
, f(x) = xf

(x)
f
(3)
(x) = (x
2
1)f

(x), f
(4)
(x) = x(x
2
3)f

(x)
f
(4)
(x) > 0, x [0.19, 0.21] f
(3)
monotona
min(f
(3)
(0.19), f
(3)
(0.21)) f
(3)
(x) max(f
(3)
(0.19), f
(3)
(0.21))
0.378 f
(3)
(x) 0.373
L approssimazione `e per difetto (E
2
(0.023) > 0)
.373
6
.273e 6 E
2
(0.023)
.378
6
.273e 6
|E
2
(0.023)| .17e 7
11
Il polinomio interpolatore su 4 nodi
x
i
0.19 0.20 0.21 0.23
y
i
0.0753454 0.0792592 0.0831662 0.909541

L
0
= .070875,

L
1
= .819

L
2
= .26325,

L
3
= .011375
p
3
(0.203) = .8043207884e 1
Stima dellerrore

3
(0.203) = .7371e 8
f
(4)
(x) = x(x
2
3)f

(x) `e monotona e varia in [0.22, 0.26]


|E
3
(0.203)| .81e 10
Lapprossimazione fornita da p
3
`e veramente migliore della precedente?
Bisogna stimare anche lerrore di propagazione
12
Caso 1. n = 2 , nodi {0.19, 0.20, 0.21} , |E
2
(0.023)| .17e 7
L
0
= 0.105, L
1
= 0.91, L
2
= 0.195
Stima dellerrore di propagazione:
=
1
2
10
7
, (0.203) = (0.105 +0.91 +0.195) = 1.21
|E

2
|
1
2
10
7
(0.203) = 0.605e 7
|E
t
| .17e 7 +0.605e 7 = .78e 7
Caso 2. n = 3 , nodi {0.19, 0.20, 0.21, 0.23} , x = 0.203
L
0
(0.203) = .070875, L
1
(0.203) = .819, L
2
(0.203) = .26325, L
3
(0.203) =
.011375
Stima dellerrore di propagazione: =
1
2
10
7
(0.203) = (.070875 +.819 +.26325 +.011375) 1.1534
|E

3
|
1
2
10
7
(0.203) 0.582e 7
|E
t
| .81e 10 +0.582e 7 = 0.582e 7
Lerrore sui dati iniziali `e dominante!
13
Lerrore di discretizzazione per n
Ipotesi:
i
1
[a, b] ssato
i
2
n > 0 `e dato un insieme di nodi
_
x
(n)
i
= x
i
_
, i = 0, 1, , n
x
i
= x
j
[a, b]
i
3
sono disponibilii valori esatti di f(x), x [a, b]
n ! p
n
, interpolante i dati {(x
i
, f(x
i
))}.
Si ottiene {p
n
}

n=0
Si pu` o assicurare che
lim
n
p
n
(x) = f(x) ovvero lim
n
E
n
(x) = 0 ?
14
Lesempio di Runge
[a, b] = [5, 5] f(x) =
1
1 +x
2
Allaumentare di n il
polinomio interpolatore
oscilla sempre di pi` u
in prossimit`a dei bordi
(indipendentemente dagli
errori di arrotondamento)
5 4 3 2 1 0 1 2 3 4 5
0.5
0
0.5
1
1.5
2
2.5
3
x
p
2
(x)
p
50
(x)
p
4
(x)
p
10
(x) f(x)
15
Teoremi di convergenza (C.S.)
Teorema 1. Se
i
1
n > 0 x
i
= x
j
[a, b] (nodi)
i
2
f C

[a, b]
i
3
lim
k
(b a)
k
k!
max
axb
|f
(k)
(x)| = 0,
allora
t
1
lim
k
p
n
(x) = f(x) uniformemente in [a, b].
Dim. i
2
M
k
= max
axb
|f
(k)
(x)|, k 0.
i
1
|x x
i
| b a, i = 0, . . . , n, x [a, b]
E
n
(x) =

n
(x)
(n +1)!
f
(n+1)
(x) |E
n
(x)|
(b a)
n+1
(n +1)!
M
n+1
da cui la tesi.
16
Nota. Esempi di funzioni che vericano le ipotesi del teorema:
Funzioni con derivate equilimitate:
esiste M > 0 t.c. |f
(k)
(x)| M, k 0, x [a, b] (per esempio sinx,
cos x, e
x
)
Funzioni ad andamento esponenziale:
esistono due costanti C, A > 0 t.c. |f
(k)
(x)| C
k
e
Ax
, x [a, b]
17
Teorema 2. Sia F(z) lestensione di f(x) nel piano complesso. Se
i
1
F(z) H(A) (olomorfa), A C, [a, b] A
i
2
d > b a, d = dist(A, [a, b])
allora
t
1
lim
n
p
n
(x) = f(x) uniformemente in [a, b].
Nota. Lesempio di Runge: F(z) =
1
1 +z
2
H(C/ {z = }).
[a, b] = [5, 5] b a = 10, d = 1: non sussiste la C.S. di conver-
genza (e la successione non converge).
[a, b] = [2, 3] ba = 1, d =

5 il Teorema assicura la convergenza.


18
Nei Teoremi precedenti:
f C

e scelta dei nodi arbitraria.


Per distribuzioni dei nodi particolari si pu` o garantire la convergenza
della successione {p
n
} anche in ipotesi meno restrittive su f
Teorema 3. Se
i
1
x
i
=
b a
2
cos
_
2i +1
n +1

2
_
+
b +a
2
i = 0, 1, . . . , n
(Nodi di Chebyshev)
i
2
L > 0 t.c. |f(x

) f(x

)| L|x

|, x

, x

[a, b]
(f lipschitziana in [a, b])
allora
t
1
lim
n
p
n
(x) = f(x), uniformemente in [a, b].
19
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 16.02.2007
Argomenti
Dierenze nite
Stima dellerrore E
n
con le dierenze nite
Esercizi
1
Esercizio Sia f(x) C

[1, 1.5] t. c.
|f
(k)
(x)| 3
k
e
x
, k 1 e signf
(k)
(x) = (1)
k
, x [1, 1.5].
Siano assegnati i valori di f nei nodi {1, 1.3, 1.5} e sia P il polinomio
interpolante f su tali nodi.
I. Per quali valori di x [1, 1.5] lapprossimazione fornita da P `e per
eccesso e in quali per difetto?
II. Dare una stima dellerrore di discretizzazione, E(x), che si commette
interpolando f con P, per ogni x [1, 1.5].
III. Sia p
n
il polinomio interpolante f su n nodi equidistanti in [1, 1.5]
(supponnedo di poter disporre dei valori che f assume in ogni punto
dellintervallo): si pu`o assicurare che la successione {p
n
} converge a f
in [1, 1.5]?
2
I. E(x) =
(x 1)(x 1.3)(x 1.5)
3!
f
(3)
(), f
(3)
< 0
(x) = (x 1)(x 1.3)(x 1.5)

> 0 x (1, 1.3)


< 0 x (1, 1.5)

E(x) < 0, x (1, 1.3) approssimazione per eccesso
E(x) > 0, x (1, 1.5) approssimazione per difetto
3
II. |E(x)|
1
6
max
1x1.5
|(x 1)(x 1.3)(x 1.5)| max
1x1.5
|f
(3)
(x)|

(x) = 3x
2
7.6x +4.75 = 0 t
1
1.12137t
2
1.41196
max
1x1.5
|(x)| = max(|(t
1
)|, |(t
2
)|) = 0.82e 02
max
1x1.5
|f
(3)
(x)| = 3
3
e
1.5
121.006
|E(x)| 0.166
III. |E
n
(x)|
(1.5 1)
n
n!
3
n
e
1.5
=
(0.5 3)
n
n!
e
1.5

lim
n
|E
n
(x)| e
1.5
lim
n
(1.5)
n
n!
= 0
e quindi la successione converge uniformemente a f in [1, 1.5].
4
Stima di E
n
(x) in assenza di informazioni su f
(n+1)
Nodi equidistanti si introducono le dierenze nite
Nodi non equidistanti si introducono le dierenze divise
Considereremo il caso di nodi equidistanti:
x
i
= x
0
+ih i = 0, 1, . . . , n, h =
x
n
x
0
n
h passo di tabulazione
5
Dierenze nite(in avanti)
Dierenza nita di ordine 0 di f
0
f(x) = f(x)
Dierenza nita di ordine 1 di f f(x) = f(x +h) f(x)
Le dierenze di ordine superiore si deniscono ricorsivamente:

2
f(x) = [f(x)] = [f(x +h) f(x)] =
= [f(x +h)] [f(x)] = f(x +2h) 2f(x +h) +f(x)
Dierenza nita di ordine k di f

k
f(x) = [
k1
f(x)]
Per induzione:

k
f(x) =
k

r=0
(1)
kr

k
r

f(x +rh) k = 0, 1, . . . , n
6
Tavola delle dierenze nite
Si costruisce utilizzando la ricorsione:
k
f(x) = [
k1
f(x)]
x
0
f
0
f
0
x
1
f
1

2
f
0
f
1

3
f
0
x
2
f
2

2
f
1

4
f
0
f
2

3
f
1

5
f
0
x
3
f
3

2
f
0

4
f
1
f
3

3
f
2
x
4
f
4

2
f
3
f
4
x
5
f
5
Per calcolare
k
f(x) servono k +1 informazioni in avanti
I nodi che concorrono a formare
k
f(x
j
) sono

x
j
, x
j+1
, . . . , x
j+k

.
Con n + 1 nodi si possono costruire n k + 1 dierenze nite di
ordine k.
7
Propriet`a delle dierenze nite

k
(af(x) +bg(x)) = a
k
(f(x)) +b
k
(g(x)) operatore lineare
f(x
i
) = g(x
i
), i = 0, 1, . . . , n ,
k
f(x
i
) =
k
g(x
i
), i, k
f P
n
f(x) P
n1
.
Corollario 1. c = 0, c R
Corollario 2. degf = n
k
f(x) = 0, k > n
Se f C
n+1
[x
0
, x
n
]
k
[x
0
, x
n
] t.c.
k
f
j
= h
k
f
(k)
(
k
).
Questultima propriet`a `e quella che interessa per stimare lerrore di
discretizzazione nellinterpolazione polinomiale.
8
Stimare E
n
(x) con le dierenze nite
E
n
(x) =

n
(x)
(n +1)!
f
(n+1)
((x)), = (x) [a, b]
Per il legame fra dierenze e derivate:
f
(n+1)
((x))
1
h
n+1

n+1
f
j

E
n
(x)

n
(x)
h
n+1
(n +1)!

n+1
f
j
NOTA: La stima ha signicato SE:
f
n+1
non varia troppo nellintervallo di interpolazione;
La colonna delle
n+1
f non presenta oscillazioni (indicative di una
perdita di cifre sui valori calcolati)
9
Una espressione alternativa
Sfruttiamo il fatto che i nodi sono equidistanti.
Cambiamento di variabile x = x
0
+hs
Nodi sullasse x: x
0
, x
1
= x
0
+h, x
2
= x
0
+2h, x
n
= x
0
+nh
Nodi sullasse s: 0, 1, 2, n
x x
k
= h(s k)

n
(x
0
+hs) =
n

k=0
h(s k) = h
n+1
n

k=0
(s k) = h
n+1
s
[n+1]

polinomio fattoriale
E
n
(x
0
+hs)
s
[n+1]
(n +1)!

n+1
f
j
10
Formula ricorsiva per il calcolo di q
n+1
=
s
[n+1]
(n +1)!
q
n+1
=
s(s 1) (s n))
(n +1)!
=
=
s(s 1) (s n +1)
n!
s n
n +1
=
=
s
[n]
n!
s n
n +1
=
s n
n +1
q
n
11
Esempio
f(x) =
logx +1
x +1
x
i
f(x
i
) f(x
i
)
2
f(x
i
)
3
f(x
i
)
4
f(x
i
)
5
f(x
i
)
2.0 .564382
2467
2.1 .561915 555
3022 111
2.2 .558893 444 20
3466 91 5
2.3 .555427 353 15
3819 76
2.4 .551608 277
4096
2.5 .547512
Stimare lerrore che si commette approssimando f(2.24) con i polinomi
p
n
, di grado crescente, interpolanti sui nodi x
i
, i = 0, 1, n, n > 0
12
h = 0.1, x = 2.24 s = (2.24 2)/0.1 = 2.4
n = 1
E
1
(2.24)
2.4(2.41)
2!
(.555e 3) = 1.68(.555e 3) .93e 3
n = 2
E
2
(2.24)
2.4(2.41)(2.42)
3!
(.111e 3) = 0.224(.111e 3) .249e 4
n = 3
E
3
(2.24)
2.4(2.41)(2.42)(2.43)
4!
(.20e 4) = 0.0336(.20e 4) .672e 6
13
Confronto con la stima mediante f
n+1
f C

[2, 2.5]. f
(k)
, k monotone e a segno costante (in accordo con
la tavola).
Ricordiamo che x = x
0
+hs
n
(x) = s
[n+1]
h
n+1
n = 3 f
(4)
(x) = 2
13x
4
48x
3
36x
2
16x3+12x
4
log(x)
x
4
(x+1)
5
0.328 f
(4)
(x) 0.107
0.0336(0.1)
4
(0.107) E
3
(2.24) 0.0336(0.1)
4
(0.328)
0.36e 6 E
3
(2.24) 0.11e 5
La stima calcolata con le dierenze appartiene a questo intervallo
14
La formula di Newton
Le dierenze nite consentono di scrivere ilpolinomio interpolatore con
unaltra rappresentazione
x = x
0
+hs
p(x
0
+hs) = g(s) = f
0
+sf
0
+
s(s 1)
2!

2
f
0
+
+
s(s 1) (s n +1)
n!

n
f
0
+E(s)
=
n

k=0
s
[k]
k!
+E(s)

Si procede lungo una diagonale discendente della tavola alle dif-


ferenze

Lerrore di discretizzazione pu` o essere stimato con il primo termine


omesso
15
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 19.02.2007
Argomenti
Le funzioni spline: esempi
Lo spazio S
m+1
()
Le potenze troncate
La partizione innita e le B-splines
1
Le funzioni spline
Cosa serve per costruire una spline:
La partizione dellintervallo [a, b]:
a = t
0
< t
1
< t
2
< < t
n
1 < t
n
< t
n+1
= b
Lordine della spline: m+1, m 0
Che cos`e una spline:
Una funzione s che

`e localmente un polinomio di grado m

s C
m1
(R)
2
Primi esempi
Spline di ordine 1 m = 0
Sono le funzioni costanti a tratti, non sono continue:
s(x) = c
k
, x [t
k
, t
k+1
), k = 0, 1, , n
Spline di ordine 2 o spline lineare m = 1
Sono le spezzate, continue ma non derivabili nei punti angolosi:
s(x) = s
k
(x) = c
k
x +d
k
, x [t
k
, t
k+1
), k = 0, 1, , n
s
k+1
(t
k+1
) = s
k
(t
k+1
)
3
Spline lineare
0 1 2 3 4 5 6
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
s
0
(x)
s
1
(x)
s
2
(x)
Partizione: t
0
= 1 < 2 < 3 < 5 = t
3
4
Spline di ordine 3 o spline quadratica m = 2
Sono curve costituite da archi di parabola, continue e derivabili
s(x) = s
k
(x) =
k
x
2
+
k
x +
k
, x [t
k
, t
k+1
), k = 0, 1, , n
s
k+1
(t
k+1
) = s
k
(t
k+1
)
s

k+1
(t
k+1
) = s

k
(t
k+1
)
Spline di ordine 4 o spline cubica m = 3
Sono le spline pi` u usate, continue e derivabili no al secondo ordine:
sono quindi sucientemente regolari
s(x) = s
k
(x) =
k
x
3
+
k
x
2
+
k
x +
k
, x [t
k
, t
k+1
), k = 0, 1, , n
s
(r)
k+1
(t
k+1
) = s
(r)
k
t
k+1
), r = 0, 1, 2
5
La denizione di spline
Data la partizione dellintervallo [a, b]:
=

a = t
0
< t
1
< t
2
< < t
n
1 < t
n
< t
n+1
= b

si dice spline di ordine m+1 una funzione s tale che


s(x) = s
k
(x), s
k
(x) P
m
x [t
k
, t
k+1
), k = 0, 1, , n
s(x) C
m1
(R)
Lo spazio delle spline di ordine m + 1 associatate alla partizione
viene indicato col simbolo S
m+1
()
Si ha (evidentemente) P
m
S
m+1
().
6
La dimensione di S
m+1
()
Da quanti parametri dipende una spline di ordine m+1 associata a ?
m = 0
In ogni [t
k
, t
k+1
), k = 0, 1, n, s `e un polinomio di grado 0, ovvero
dipende da 1 parametro;
condizioni di continuit`a : nessuna
s dipende da n +1 parametri arbitrari.
m = 1
In ogni [t
k
, t
k+1
), k = 0, 1, n, s `e un polinomio di primo grado (2
parametri); nei nodi interni t
1
, t
2
, t
n
si devono imporre le condizioni
di continuit`a
n. totale di parametri 2(n +1) ;
n. totale di condizioni C
0
n
s dipende quindi da 2(n +1) n = n +2 parametri arbitrari.
7
m = 2
In ogni [t
k
, t
k+1
), k = 0, 1, n s `e un polinomio di secondo grado (3
parametri); nei nodi interni t
1
, t
2
, t
n
si devono imporre le condizioni
di continuit`a per s e s

n. totale di parametri 3(n +1) ;


n. totale di condizioni C
1
2n
s dipende quindi da 3(n +1) 2n = n +3 parametri arbitrari.
m 1
In ogni [t
k
, t
k+1
), k = 0, 1, n, s `e un polinomio di grado m (m + 1
parametri); nei nodi interni t
1
, t
2
, t
n
si devono imporre le condizioni
di continuit`a per s, s

, . . . , s
m1
n. totale di parametri (m+1)(n +1) ;
n. totale di condizioni C
1
mn
s dipende quindi da (m+1)(n+1)mn = n+m+1 parametri arbitrari.
Si dimostra che i parametri arbitrari che restano sono indipendenti
quindi
8
Teorema Data la partizione dellintervallo [a, b]
=

a = t
0
< t
1
. . . < t
n
< t
n+1
= b

risulta
dimS
m+1
() = n +m+1 (ordine + numero di nodi interni)
Questo vuol dire che deve essere possibile trovare una base di S
m+1
()
costituita da m+n +1 elementi.
9
Alcune premesse: la potenza troncata....
Denizione: si dice potenza troncata la funzione
p(x) = (x t)
r
+
=

0 se x < t
(x t)
r
se x t
Propriet`a
(x t)
r
+
`e un polinomio di grado r con breakpoint in x = t
se r = 0 p ha in x = t un salto di ampiezza 1
se r > 0 p C
r1
(R) e p
r
ha in x = t un salto di ampiezza r!
10
... e il supporto
Denizione: si dice supporto di una funzione f linsieme
suppf = {x R t.c. f(x) = 0}
Nota La base storica dello spazio S
m+1
() `e costituita dalle potenze
troncate:
s(x) =
m

k=0
c
k
x
k
+
n

j=1

j
(x t
j
)
m
+
.
Vantaggi:

Si ricava facilmente lespressione dei polinomi locali


Svantaggi

`e instabile,

utilizza un numero di addendi maggiore di quello richiesta per un


polinomio di grado m
11
Spline a supporto compatto
La possibilit`a di avere basi di S
m+1
() a supporto compatto e quindi,
in generale stabili, `e assicurata dal seguente
Teorema Dati comunque r > m+1 punti t
i
1
, t
i
2
, , t
i
r
esiste una spline
s

(x) =
r

j=1

j
(x t
i
j
)
m
+
con le
j
non tutte nulle, tale che s

(x) = 0, x / [t
i
1
, t
i
r
]
Il teorema suggerisce che m + 2 `e il minimo numero di nodi per
costruire una spline a supporto compatto.
12
La partizione innita e le B-splines
Per introdurre la base cercata ssiamo una partizione innita su
(, ):

: < y
r
< y
2
< y
1
< y
0
< y
1
< < y
r
<
Si ssano m+2 nodi (consecutivi) y
i
, y
i+1
, . . . , y
i+m+1

(v. teorema precedente) esiste una spline s S
m+1
(

) a supporto
compatto in [y
i
, y
i+m+1
]
Denizione: B-spline (normalizzata) di ordine m+1 la funzione B
i,m+1
(x)
S
m+1
(

) denita da
B
i,m+1
(x) = (1)
m+1
(y
i+m+1
y
i
)
m+1

j=0
(x y
i+j
)
m
+

m+1
k=j,k=0
(y
i+j
y
i+k
)
13
Propriet`a principali delle B-spline
1 B
i,m+1
(x) > 0 x (y
i
, y
i+m+1
); B
i,m+1
(x) = 0 altrove
suppB
i,m+1
= [y
i
, y
i+m+1
]
2

iZ
B
i,m+1
(x) = 1, x R ( partizione dellunit`a )
3 Le propriet`a 1, 2 0 B
i,m+1
(x) 1
4 vale la seguente legge di ricorrenza
B
i,m+1
(x) =
(x y
i
)B
i,m
(x) (y
i+m+1
x)B
i+1,m
(x)
y
i+m+1
y
i
14
Esempi m = 0 (Funzione di Haar) , suppB
i,1
= [y
i
, y
i+1
]
B
i,1
=

1 se x [y
i
, y
i+1
)
0 se x < y
i
, x y
i+1
B
i,1
(x) = (1)(y
i+1
y
i
)

(x y
i
)
0
+
y
i
y
i+1
+
(x y
i+1
)
0
+
y
i+1
y
i

Ricordando la denizione di potenza troncata


Se x < y
i
B
i,1
(x) = 0 (entrambe le potenze troncate sono nulle);
Se y
i
x < y
i+1
B
i,1
(x) = (1)(y
i+1
y
i
)
1
y
i
y
i+1
;
Se x y
i+1
B
i,1
(x) = (1)(y
i+1
y
i
)

1
y
i
y
i+1
+
1
y
i+1
y
i

15
m = 1 (Funzione tetto) , suppB
i,2
= [y
i
, y
i+2
]
B
i,2
=

0 se x < y
i
, x y
i+2
x y
i
y
i+1
y
i
se y
i
x < y
i+1
y
i+2
x
y
i+2
y
i+1
se y
i+1
x < y
i+2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
nodi
16
Si procede come prima a partire da
B
i,2
(x) = (y
i+2
y
i
)

(x y
i
)
+
(y
i
y
i+1
)(y
i
y
i+2
)
+
+
(x y
i+1
)
+
(y
i+1
y
i
)(y
i+1
y
i+2
)
+
(x y
i+2
)
+
(y
i+2
y
i
)(y
i+2
y
i+1
)

Se x < y
i
B
i,2
(x) = 0 (le potenze troncate sono tutte nulle);
Se y
i
x < y
i+1
B
i,1
(x) = (y
i+2
y
i
)
(x y
i
)
+
(y
i
y
i+1
)(y
i
y
i+2
)
;

Labase ora costruita genera lo spazio di dimensione innita, S
m+1
(

).
E possibile ottenere una base di B-splines per lo spazio di dimensione
nita (m+n +1) S
m+1
()?
17
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 20.02.2007
Argomenti
La base delel B-spline per S
m+1
()
Interpolazione mediante spline
Propriet`a della spline cubica interpolante
Esempio
1
La base delle B-spline per S
m+1
()
Data =
_
a = t
0
< t
1
< t
2
< < t
n1
< t
n
< t
n+1
= b
_
Quali sono le B-spline con supporto interamente contenuto in [a, b] ?
suppB
i,m+1
= [y
i
, y
i+m+1
]

lultima spline possibile `e t.c.


i +m+1 = n +1 i = n m
1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
B
0,m+1
(x), B
1,m+1
(x), B
nm,m+1
(x)
(in totale n m+1)
2
B-splines costruite n m+1
mancano 2m B-splines
dimS
m+1
() = n +m+1
Si ssano,in modo arbitario, dei nodi aggiunti: m nodi a sinistra di t
0
,
m nodi destra di t
n+1
e si genera la
partizione estesa

t
m
t
1
t
0
< < t
n
< t
n+1
t
n+2
t
m+n+1
Restano quindi individuate le B-spline B
i,m+1
t.c.
B
i,m+1
, i = m, . . . , n t.c. suppB
i,m+1

[a, b] ,=
3
Base B-spline per S
m+1
()
Teorema Il sistema delle B-spline
B
m,m+1
, B
m+1,m+1
, , B
1,m+1
B
0,m+1
(x), B
1,m+1
(x), B
nm,m+1
(x)
B
nm+1,m+1
, B
nm+2,m+1
, , B
n,m+1
costruito a partire dalla partizione estesa

di costituisce una base


delle spazio S
m+1
().
Pertanto ogni funzione s S
m+1
() ammette una sola rappresen-
tazione del tipo:
s(x) =
n

k=m
c
k
B
k,m+1
(x)
4
Nota
La propriet`a di supporto nito delle B-spline implica che

per ogni ssato x, la sommatoria contiene al pi` u m+1 addendi non


nulli
ovvero

in ogni intervallo [t
i
, t
i+1
), la spline `e individuata da m + 1 coe-
cienti, concordemente col fatto che localmente `e un polinomio di grado
massimo m.
5
Linterpolazione in S
m+1
()
Il problema di interpolare, e pi` u in generale di approssimare, mediante
splines polinomiali, una funzione f, nota in un insieme nito di punti
x
j
si pu` o porre come detto in generale e visto (per quanto riguarda
linterpolazione) nel caso polinomiale.
Problema:Dati i valori
_
x
j
, y
j
f(x
j
)
_
, j = 1, 2, , N determinare (se
esiste) una spline s S
m+1
()
s(x) =
n

k=m
c
k
B
k,m+1
(x)
che
Caso a) interpoli i dati: s(x
j
) = y
j
, j
Caso b) approssimi ai minimi quadrati i dati:
N

j=1
[s(x
j
) y
j
[
2
= min
6
Interpolazione nodale
I valori di f sono noti solo nei nodi della partizione , (nodi della
spline nodi dellinterpolazione): y
j
f(t
j
), j = 0, 1, , n + 1 : si
vuole s S
m+1
() tale che
s(t
j
) = y
j
, j = 0, 1, ..., n +1, Condizioni di interpolazione
n +2 Condizioni di interpolazione m+n +1 coecienti

m-1 parametri liberi


e quindi sono richieste m 1 condizioni aggiuntive che coinvolgono,
in generale, i valori delle derivate negli estremi a = t
0
e b = t
n+1
(condizioni al contorno).
7
Casi particolari
m = 1 Interpolante spline lineare (Ordine 2)
Nessuna condizione aggiuntiva.
s
i
(x) `e il segmento della retta per (t
i
, y
i
), (t
i+1
, y
i+1
) ;
s
i
(x) p
i,1
(x), p
i,1
polinomio interpolatore sui nodi [t
i
, ti +1]
m = 2 Interpolante spline quadratica (Ordine 3)
1 condizione aggiuntiva.
Per esempio:

Si assegna il valore s
t
(a) oppure s
t
(b)

Si impone una condizione di periodicit`a : s


t
(a) = s
t
(b)

Si aumenta la regolarit`a su un nodo interno (tipicamente t


1
o t
n
)
s
tt
k
(t
k+1
) = s
tt
k+1
(t
k+1
) ( condizione di not-a-knot )
8
m = 3 Interpolante spline cubica (Ordine 3)
2 condizioni aggiuntive.
Per esempio:

Si assegnano il valore s
t
(a), s
t
(b) oppure s
tt
(a), s
tt
(b)

Si impone una condizione di periodicit`a : s


t
(a) = s
t
(b), s
tt
(a) =
s
tt
(b)

Si aumenta la regolarit`a su un nodo interno (tipicamente t


1
o t
n
)
s
(3)
k
(t
k+1
) = s
(3)
k+1
(t
k+1
) ( condizione di not-a-knot )
Propriet`a di convergenza della spline cubica interpolante s
3
(x):
Se f C
4
[a, b], posto h = max[t
k+1
t
k
] si ha
max
x[a,b]
[s
(k)
3
(x) f
(k)
(x)[ = O(h
4k
), k = 0, 1, 2
quindi la spline cubica approssima anche le prime derivate della f.
9
Un caso particolare: Spline cubica naturale s
3
(x)
Condizioni aggiuntive: s
tt
3
(a) = 0, s
tt
3
(b) = 0
Propriet`a della spline cubica naturale s
3
(x):
Spline cubica naturale s
3
`e fra tutte le funzioni g C
2
[a, b] tali che
g(t
i
) = y
i
lunica che minimizza
_
b
a
[g
tt
(x)[
2
dx
ovvero fra tutte le interpolanti di classe 2, la spline cubica naturale `e
quella a curvatura minima.
10
Interpolazione non nodale
I valori di y
j
f(x
j
) sono assegnati in n+m+1 punti x
j
, j = 0, . . . m+1
tutti o in parte diversi dai t
i
a)
_
x
j
_

t
k
= (nodi della spline e nodi di interpolazione disgiunti)
b)
_
x
j
_

t
k
,= (almeno un nodo della spline `e nodo di interpo-
lazione)
si vuole s S
m+1
() tale che
s(x
j
) = y
j
, j = 0, 1, ..., n +m, Condizioni di interpolazione
ovvero
n

k=m
c
k
B
k,m+1
(x
j
) = y
j
( sistema lineare di m+n +1 equazioni e m+n +1 incognite).
Si pu` o garantire che comunque si scelgano i nodi di interpolazione il
sistema ammette ( una sola ) soluzione?
11
Osservazione:
Per ogni j nella sommatoria compaiono al pi` u m + 1 addendi (non
nulli), essendo le B-spline a supporo nito.
Bisogna innanzi tutto assicurarsi che ogni B-spline compaia almeno in
una equazione: in caso contrario non sarebbe possibile determinare il
corrispondente coeciente, ma anche che non ci siano equazioni in cui
B
k,m+1
(x
j
) =,k = k
j
, k
j
+ m, perch`e sparirebbe una equazione (=
una condizione di interpolazione).
In altre parole i nodi di interpolazione x
j
devono essere distribuiti in
[a, b] =, [t
0
, t
n+1
] in modo che in ogni supporto delle B-spline cada
almeno un x
j
.
La relazione fra nodi della partizione e nodi di interpolazione `e formal-
izzata dal seguente teorema.
12
Teorema (di Witney Schoenberg) La spline s S
m+1
() interpolante
sui nodi x
j
, j = 0, . . . , m+n esite ed `e unica se e solo se x
j
(t
m+j
, t
j+1
)
NOTA 1 nel caso dellinterpolazione nodale (x
j
= t
j
) tale teorema `e
evidentemente soddisfatto
NOTA 2 Il sistema fornito dalle condizioni di interpolazione `e un si-
stema con matrice dei coecienti strutturata (gli elementi non nulli
sono solo su m+1 percosrsi diagonali)
13
Esercizio Sia =
_

1
2
, 0,
1
4
, 1
_
e f(x) = sinx. Costruire s S
2
()
che interpola f nei punti di .
La spline lineare interpolante nodale `e unica.
Metodo 1 Il polinomio locale s
i
coincide con il polinomio interpolatore
sui nodi t
i
, t
i+1
:
s
i
(x) = L
0
(x)f
i
+L
1
(x)f
i+1
=
x t
i+1
t
i
t
i+1
f
i
+
x t
i
t
i+1
t
i
f
i+1

i t
i
t
i+1
s
i
(x)
0
1
2
0 2xsin
1
2
1 0
1
4
4xsin
1
4
2
1
4
1
1
3
[4(1 x) sin(
1
4
) +(4x 1) sin1]
14
In questo caso particolare si pu` o anche dare una stima dellerrore di
discretizzazione, utilizzando la formula nota per linterpolante polino-
miale.
In [t
i
, t
i+1
), i = 0, 1, 2 si ha E
i
(x) =
(x t
i
)(x t
i+1
)
2
f
tt
(
i
)
[E
i
(x)[
(t
i+1
t
i
)
2
2
max
x[t
i
,t
i+1
]
[sinx[
. .
1
[f(x) s(x)[ max [E
i
(x)[ = max
i
(t
i+1
t
i
)
2
=
9
16
15
Metodo 2 Si scrive s nella base delle B-spline e quindi bisogna aggiun-
gere 2 nodi esterni.
Partizione estesa.

_
1 = t
1
,
1
2
, 0,
1
4
, 1, 2 = t
4
_

(B
k
= B
k,2
)
B
1
(x) =
_
2(x +1) x [1,
1
2
)
2x x [
1
2
, 0)
B
0
(x) =
_
2x +1 x [
1
2
, 0)
1 4x x [0,
1
4
)
B
1
(x) =
_
4x x [0,
1
4
)
4
3
(1 x) x [
1
4
, 1)
B
2
(x) =
_
1
3
(4x 1) x [
1
4
, 1)
2 x x [1, 2)
16
s(x) =
2

k=1
a
k
B
k
(x)
s(t
j
) =
2

k=1
a
k
B
k
(t
j
),
j = 0, 1, 2, 3
1.5 1 0.5 0 0.5 1 1.5 2 2.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
B
0
B
1
a
1
B
1
(
1
2
) = sin
_

1
2
_
a
0
B
0
(0) = sin0
a
1
B
1
(
1
4
) = sin
1
4
a
2
B
2
(1) = sin1
I valori delle B-spline sono tutti = 1
s(x) = sin(
1
2
)B
1
(x) +sin(
1
4
)B
1
(x) +sin(1)B
2
(x)
17
Due possibili spline cubiche interpolanti nodali
s C
3
in t
1
, t
n
5 4 3 2 1 0 1 2 3 4 5
0.2
0
0.2
0.4
0.6
0.8
1
1.2
nodi=7
p
6
s
4
f(x)=1/(x
2
+1)
s
t
(t
0
) = s
t
(t
n+1
) = 0
(spline completa)
5 4 3 2 1 0 1 2 3 4 5
0.2
0
0.2
0.4
0.6
0.8
1
1.2
nodi=7
p
6
sc
3
f(x)=1/(x
2
+1)
18
Aumentando il numero di dati
s C
3
in t
1
, t
n
5 4 3 2 1 0 1 2 3 4 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
nodi = 8
p
7
s
3
f(x)=1/(x
2
+1)
s
t
(t
0
) = s
t
(t
n+1
) = 0
(spline completa)
5 4 3 2 1 0 1 2 3 4 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
nodi=8
p
7
sc
3
f(x)=1/(x
2
+1)
19
Riferimenti bibliograci
Si indicano qui due testi considerati di base se si vogliono approfondire
le conoscenze sulle funzioni spline
C.De Boor, A pratical guide to splines. Series in Applied Mathematical
Sciences, Springer (2001)
L.L. Schumacher Spline functions: basic theory. Wiley & Sons (1981)
20
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 23.02.2007
Argomenti
Approssimazione ai minimi quadrati
Il caso polinomiale
Esercizio: la regolarizzazione dei dati (smoothing)
1
Approssimazione ai minimi quadrati
Dati x
i
, y
i
, i = 0, 1, , N
Approssimante: g(x) =
m

k=0
a
k

k
(x)
Linterpolazione (m =
N
) non `e consigliata (per esempio un polinomio
di grado elevato potrebbe presentare delle oscillazioni) ed `e improponi-
bile se si sa a priori che i dati sono poco accurati
Si cerca g con m << N che passi vicino ai dati:
e = (g(x
i
) y
i
) , i = 0, 1, . . . , N vettore degli errori
Condizione di approssimazione
|e|
2
=
_
_
N

i=0
[g(x
i
) y
i
]
2
_
_
1/2
= min
(scarto quadratico medio)
2
|e|
2
2
=
N

i=0
[g(x
i
) y
i
]
2
=
N

i=0
_
_
m

j=0
a
j

j
(x
i
) y
i
_
_
2
. .
F(a
0
,a
1
, ,a
m
)
= min
F C

(R
m+1
), F 0 il minimo esiste.
F
a
k
=
N

i=0
2
_
_
m

j=0
a
j

j
(x
i
) y
i
_
_

k
(x
i
) = 0
m

j=0
a
j
N

i=0

j
(x
i
)
k
(x
i
) =
N

i=0
y
i

k
(x
i
), k = 0, 1, , m
Sistema delle equazioni normali
! la soluzione
_
a
j
_
la matrice del sistema ha determinante non
nullo.
C.N. Nodi distinti.
Se la soluzione `e unica `e di minimo.
3
(x) =
_

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

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

0
(x
N
)
1
(x
N
)
m
(x
N
)
_

_
Il sistema delle equazioni normali `e allora esprimibile in forma matriciale

T
a =
T
y
Teorema Se la matrice `e a rango massimo allora il sistema delle
equazioni normali ammette una sola soluzione. Tale soluzione `e il
punto di minimo della funzione F(a
0
, a
1
, , a
m
) .
Per quanto riguarda questultimo punto consideriamo

2
F
a
k
a
r
= 2
N

i=0

r
(x
i
)
k
(x
i
) l Hessiano `e
T

a rango massimo
T
denita positiva la soluzione `e di
minimo.
4
Errore di discretizzazione: R
m,N
=
_
_
N

i=0
[g(x
i
) y
i
]
2
_
_
1/2
(Residuo)
R
m,N
= 0 lapprossimante ai minimi quadrati coincide con linterpolante
Caso dei polinomi g P
m
:
j
(x) = x
j
, j = 0, 1, , m
Vale la condizione di rango massimo se x
i
sono distinti.
Caso delle spline g S
+1
():
j
(x) = B
j,+1
, j = , , n
Vale la condizione di rango massimo se x
i
sono distinti e vericano il
Teorema di Witney-Schoenberg.
5
Approssimazione polinomiale ai minimi quadrati
g = p(x) =
m

k=0
a
k
x
k
R
(n+1)(m+1)
matrice di Vandermonde dei nodi x
i
W
T
Wa =
_

_
N +1

x
i

x
2
i

x
m1
i

x
m
i

x
i

x
2
i

x
m
i

x
m+1
i

x
m
i

x
m+1
i

x
2m
i
_

_
_

_
a
0
a
1


a
n
_

_
=
_

y
i

x
i
y
i

x
m
i
y
i
_

_
= W
T
y
(

N
i=0
)
6
Esempi
m = 0 P(x) = a
0
Equazioni normali
(n +1)a
0
=

N
i=0
y
i

P(x) =
1
N +1
N

i=0
y
i
Il polinomio costante approssimante ai minimi quadrati `e la media a-
ritmetica dei dati.
7
m = 1 P(x) = a
0
+a
1
x Retta di regressione
Equazioni normali
_

_
N +1

x
i

x
i

x
2
i
_

_
_

_
a
0
a
1
_

_ =
_

y
i

x
i
y
i
_

_
da cui
a
0
=

y
i

x
2
i

x
i
y
i

x
i
(N +1)

x
2
i
(

x
i
)
2
, a
1
=
(N +1)

x
i
y
i

x
i

y
i
(N +1)

x
2
i
(

x
i
)
2
Si verichi che il baricentro dei punti assegnati
_

x
i
N +1
,

y
i
N +1
_
giace
sulla retta ai minimi quadrati.
8
m = 2: un caso numerico
Dati:
x y x y x y
8. 0.88 16 2.72 40 11.96
10 1.22 20 3.96 60 21.56
12 1.64 30 7.66 100 43.16
Equazioni normali
_

_
9 296 17064
296 17064 1322336
17064 1322336 116590368
_

_
_

_
a
0
a
1
a
2
_

_
=
_

_
94.76
6479.44
537940.80
_

_
da cui
P(x) = 0.001739x
2
+0.4661x 18.1764
9
0 10 20 30 40 50 60 70 80 90 100
0
5
10
15
20
25
30
35
40
45
Polinomio LS m=2
0 10 20 30 40 50 60 70 80 90 100
0
100
200
300
400
500
600
700
800
900
1000
Polinomio di Lagrange
10
Il condizionamento del problema
Generalmente W
T
W `e malcondizonata anche per valori piccoli di m.
Nellesempio: cond

(W
T
W) = .87e8, 1/T = 0.77e7
Come superare il problema:
lavorando in una precisione molto alta (nellesempio si sono usate
14 cifre decimali)
usando tecniche di precondizionamento
scegliendo una base favorevole
Una tecnica semplice, spesso utile in caso di nodi equidistanti o nodi
quasi equidistanti consiste nel traslare i nodi rispetto al loro punto
medio:
x
t
= x c, c =
x
0
+x
N
2
11
Esercizio La tecnica di smoothing (regolarizzazione)
Si adopera per ridurre le variazioni presenti in dati sperimentali e dovute
a errori casuali di misura.
Un dato viene corretto (regolarizzato) utilizzando informazioni vicine
(accurate)
Dati x
j
, y
j
, j = 0, , n
Dato da regolarizzare y
i
:
si sostituisce con y = p(x
i
) p(x) = a
0
+a
1
x
p retta di regressione su tre dati consecutivi:
(tecnica della media mobile)
(x
i1
, y
i1
), (x
i
, y
i
), (x
i+1
, y
i+1
) se 0 < i < N
(x
0
, y
0
), (x
1
, y
1
), (x
2
, y
2
) se i = 0
(x
N2
, y
N2
), (x
N1
, y
N1
), (x
N
, y
N
) se i = N
12
x
j
x
j1
= h (nodi equidistanti)
a
0
=

y
j

x
2
j

x
j
y
j

x
j
(n +1)

x
2
j
(

x
j
)
2
, a
1
=
(n +1)

x
j
y
j

x
j

y
j
(n +1)

x
2
j
(

x
j
)
2
n +1 = 3, x
i1
= x
i
h, x
i+1
= x
i
+h

x
j
= 3x
i
,

x
2
j
= 3x
2
i
+2h
2
,

x
j
y
j
= x
i

y
j
+h(y
i+1
y
i1
)
a
0
=
2h

y
j
3x
i
y
6h
, a
1
=
3y
6h

y = p(x
i
) =
1
h

y
j
media dei dati
Esercizio. Vericare che nel caso i = 0 (i = N), il valore regolarizzato
`e una media pesata.
13
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 26.02.2007
Argomenti
Formule di quadratura interpolatorie
Costruzione, parte approssimante, resto
Grado di precisione
Errore di propagazione
Comportamento asintotico del resto
Formule di Newton-Cotes
Espressione del resto
Esempi
1
Formule di quadratura
Problema: calcolare 7[f] =
_
b
a
w(x)f(x) dx
Ipotesi

[a, b] limitato o illimitato

F(x) = w(x)f(x) L[a, b] , L[a, b] spazio delle funzioni con integrale


nito in [a, b]

w funzione peso:
1. w(x) 0, e w(x) = 0 in punti isolati per x [a, b]
2. w(x)x
k
L[a, b], k = 0, 1, 2,
Nota Se [a, b] `e limitato, w L[a, b] implica 2.
2
Formule di quadratura
x
i
, i = 0, 1, , n nodi (ssati)
p
n
polinomio interpolatore (esatto) di f sui nodi x
i

f(x) = p
n
(x) +E
n
(x)
7[f] =
_
b
a
w(x)f(x) dx =
_
b
a
w(x)[p
n
(x) +E
n
(x)] dx =
_
b
a
w(x)
n

i=0
/
i
(x)f(x
i
) dx +
_
b
a
w(x)E
n
(x) dx
Applicando di nuovo la linearit`a dellintegrale ...
3
si ricava la formula di quadratura interpolatoria (o lagrangiana)
7[f] =
_
b
a
w(x)f(x) dx =
n

i=0
c
i
f(x
i
)
. .
,
+R[f]
. .
_
A[f] Parte Approssimante Resto
dove
c
i
= c
i,n
=
_
b
a
w(x)/
i
(x) dx,
R[f] =
_
b
a
w(x)E
n
(x) dx =
1
(n +1)!
_
b
a
w(x)
n
(x)f
n+1
((x)) dx
Propriet`a del resto: Linterpolazione polinomiale riproduce i polinomi:
f P
n
E
n
(x) = 0 R[f] = 0
4
Grado di precisione della formule di quadratura
Denizione Una formula di quadratura ha grado di precisione se
R[x
k
] = 0, k = 0, 1, , , R[x
+1
] ,= 0
ovvero se la formula `e esatta q P

e non `e esatta per almeno un


polinomio q P
+1
Teorema Una formula di quadratura interpolatoria ha grado di preci-
sione
n
..
,
2n +1
. .
_
n. nodi -1 doppio n. nodi -1
5
Dim Per la propriet`a di riproducibilit`a dei polinomi n.
Sia f(x) =
n

i=0
(x x
i
)
2
= (x)
2
polinomio di grado 2n +2:
_
b
a
w(x)f(x) dx =
n

i=0
c
i
f(x
i
)
. .
_
+R[f] = R[f]
f(x
i
) = (x
i
)
2
= 0
Ma w(x)f(x) > 0 a meno di punti isolati, quindi lintegrale `e non nullo
e R[f] ,= 0.
6
Esempio 1
_
1
1
_
1 x
2
. .
w(x)
f(x) dx =

4
(f(1) +f(1))
. .
A[f]
+R[f]
Grado di precisione minimo = 1:
_
1
1
_
1 x
2
dx =

2
, A[1] =

4
2, OK
_
1
1
_
1 x
2
xdx = 0, A[x] =

4
(1 +1), OK
_
1
1
_
1 x
2
x
2
dx =

8
, A[x
2
] =

2
La formula ha grado di precisione = 1
7
Esempio 2
_
0
2
f(x) dx = f
_
1
1

3
_
+f
_
1 +
1

3
_
. .
A[f]
+R[f]
Grado di precisione minimo = 1:
_
0
2
x
2
dx =
8
3
, A[x
2
] =
_
1
1

3
_
2
+
_
1 +
1

3
_
2
=
8
3
OK
_
0
2
x
3
dx = 4, A[x
3
] =
_
1
1

3
_
3
+
_
1 +
1

3
_
3
= 4 OK
Grado di precisione massimo = 3
_
0
2
x
4
dx =
32
5
, A[x
4
] =
_
1
1

3
_
4
+
_
1 +
1

3
_
4
=
56
9
8
Comportamento asintotico del resto
Sia p
n
una successione di polinomi interpolatori di grado crescente.
lim
n
p
n
(x) = f(x) lim
n
_
b
a
w(x)p
n
(x) dx = 7[f]?
Si pu` o applicare il teorema del limite sotto il segno di integrale:
Teorema Se la successione dei polinomi interpolatori converge uni-
formemente alla funzione integranda, allora il resto delle formule di
N-C a N nodi, tende a zero N .
9
Errore di propagazione nella quadratura interpolatoria
Formula esatta
7[f] =
_
b
a
w(x)f(x) dx =
N

i=0
c
i
f(x
i
) +R[f]
Formula applicata
7

[f] =
_
b
a
w(x)f(x) dx =
N

i=0
c
i
f
i
f(x
i
) f
i
=
i
, = max [
i
[
E

=
N

i=0
c
i
f(x
i
)
N

i=0
c
i
f
i
=
N

i=0
c
i

i

[E

[
N

i=0
[c
i
[
10
Da 0 per f(x) = 1
_
b
a
w(x)dx =
N

i=0
c
i
, N
SE c
i
> 0, i
N

i=0
[c
i
[ =
N

i=0
c
i

[E

[
_
b
a
w(x) dx
In questo caso `e quindi assicurata la stabilit`a dellalgoritmo: il fat-
tore di propagazione degli errori iniziali `e indipendente dal numero di
operazioni.
11
Formule di Newton-Cotes
Ipotesi [a, b] limitato, w(x) = 1
x
i
= a +ih, i = 0, 1, . . . , n
nodi equidistanti con passo h =
b a
n
Formule di N-C chiuse: il polinomio interpolatore si costruisce su
tutti gli N = n +1 nodi inclusi gli estremi dellintervallo
Formule di N-C aperte: il polinomio interpolatore si costruisce sugli
N = n 1 nodi interni, esclusi gli estremi dellintervallo
12
Struttura delle formule di N-C
Dal cambiamento di variabile: x = a +hs dx = hds
c
i,N
= h
_ ba
h
0
/
i
(a +hs) ds = hC
i,N
= hC
i
A[f] = h
N

i=1
C
i
f(x
i
)
Teorema Se f C
+1
[a, b] il resto della formula di N-C su N nodi pu` o
essere posto nella forma
R[f] =
N
h
+2
f
(+1)
(), [a, b]
con = N se il numero di nodi `e dispari
= N 1 se il numero di nodi `e pari
13
Esempio I =
_
/2
0
log(x +1) dx 0.856589941
Formula del trapezio (N-C chiusa):
N = 2, x
1
= a, x
2
= b, h = b a
_
b
a
f(x) dx =
h
2
(f(x
1
) +f(x
2
))
h
3
12
f
tt
()
I =

4
log(

2
+1) 0.741585
Stima del resto f
tt
(x) =
1
(x +1)
2
1 f
tt
(x) f
tt
(/2)
R
2
[f] =
1
12
_

2
_
3
f
tt
()
0.0489 R
2
[f] 0.323
14
Formula di Cavalieri-Simpson (N-C chiusa):
N = 3, x
1
= a, x
2
=
a +b
2
x
3
= b h =
b a
2
_
b
a
f(x) dx =
h
3
(f(x
1
) +4f(x
2
) +f(x
3
))
h
5
90
f
(4)
()
I .8541942
Stima del resto f
(4)
(x) =
6
(x +1)
4
.375 f
(4)
(x) f
(4)
(/2) .137
R
3
[f] =
1
90
_

4
_
5
f
(4)
()
.45e 3 R
3
[f] .12e 2
15
Formula del punto centrale (N-C aperta):
N = 1, x
0
= a, x
1
=
a +b
2
x
2
= b h =
b a
2
_
b
a
f(x) dx = 2hf(x
1
) +
h
3
3
f
tt
()
I .9104987
Stima del resto 1 f
tt
(x) f
tt
(/2) .1513
R
C
[f] =
1
3
_

2
_
3
f
tt
()
.40e 1 R
C
[f] .24e 1
16
Formula aperta a 2 nodi (N-C aperta):
n = 2, x
0
= a, x
1
= a +h x
2
= a +2h, x
3
= b h =
b a
3
_
b
a
f(x) dx =
3
2
h(f(x
1
) +f(x
2
)) +
3h
3
4
f
tt
()
I .8934273
Stima del resto
R
A
[f] =
3
4
_

3
_
3
f
tt
()
.27e 1 R
A
[f] .16e 1
17
Errore di propagazione e convergenza nelle F. di N.C.
Le f. di Newton -Cotes non vericano la propriet`a c
i
> 0, x al variare
di n; anzi, al crescere del numero di nodi i coecienti assumono valori
di segno alterno.

Non si pu` o assicurare la stabilit`a dellalgoritmo.

Nel caso di nodi equidistanti non si pu`o assicurare la convergenza


uniforme dei polinomi interpolatori (v. fenomeno di Runge)
Non si pu` o assicurare la convergenza a zero di R[f].
Pertanto al crescere del numero di nodi non `e assicurato che lapprossi-
mazione migliori.
Come ottenere formule per le quali sia assicurata la convergenza?
18
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 27.02.2007
Argomenti
Formule generalizzate
Estrapolazione di Richardson e schema di Romberg
Polinomi ortogonali
1
Formule di quadratura generalizzate
Si divide lintervallo [a, b] in m parti uguali:
[
i
,
i+1
],
i+1

i
=
b a
m
In ciascun intervallo [
i
,
i+1
] si applica una formula di N-C chiusa a
n +1 nodi
7[f] =
_
b
a
f(x) dx =
m1

i=0
_

i+1

i
f(x)dx =
=
m1

i=0
A
n
_
f, [
i
,
i+1
]
_
. .
parte approssimante di N-C
+
m1

i=0

n
h
+2
f
(+1)
(
i
)
. .
resto di N-C
con h =
(b a)/m
n
=
b a
mn
2
Struttura della formula di quadratura generalizzate
7[f] =
_
b
a
f(x) dx =
N

i=0
H
i
f(x
i
) +R[f]
Analizziamo lespressione del resto:
R[f] =
m1

i=0

n
h
+2
f
(+1)
(
i
) =
n
h
+1
b a
n
1
m
m1

i=0
f
(+1)
(
i
)
. .
,
media aritmetica di m valori di una funzione continua
Per il teorema della media
R[f] =
n
b a
n
h
+1
f
(+1)
(), [a, b]
3
Teorema Il resto nelle formule di quadratura generalizzate dedotte dalle
formule di N-C tende a zero per h 0
Nellespressione
R[f] =
n
b a
n
h
+1
f
(+1)
(), [a, b]
`e sso una volta scelta la f. di Newton-Cotes elementare da applicare

n
b a
n
non dipendono da h =
b a
mn
;
h 0 perch`e si fa tendere m
4
Formule di quadratura generalizzate: esempi
Formula dei trapezi, n = 1
_
b
a
f(x) dx = h
_
f
0
2
+f
1
+ +f
n1
+
f
n
2
_

h
2
12
(b a)f
tt
()
Formula delle parabole, n = 2
_
b
a
f(x) dx =
h
3
_
f
0
+4f
1
+2f
2
+ +4f
n1
+f
n
_

h
4
180
(b a)f
(4)
()
Con un ragionamento analogo si ottengono le formule generalizzate
dalle formule di N-C di tipo aperto.
5
Esempio Si consideri I =
_
/2
0
log(x +1) dx
Si vuole approssimare I con la formula dei trapezi e delle parabole:
quanti nodi sono sucienti, nei due casi, ad assicurare che sia [R[f][
5 10
5
?
Formula dei trapezi: R[f] =
h
2
12
(b a)f
tt
()
f
tt
(x) =
1
(1+x)
2
[f
tt
(x)[ 1
[R[f][
h
2
12
(/2) 5 10
5
h 1.96 10
2
e quindi N =
(b a)
h
+1 81.
6
Formula delle parabole: R[f] =
h
4
180
(b a)f
(4)
()
f
(4)
(x) =
6
(1+x)
4
[f
(4)
(x)[ 6
[R[f][
h
4
180
(/2)6 5 10
5
h 0.176
e quindi N =
(b a)
h
+1 10.
NOTA: la formula delle parabole richiede un numero dispari di
nodi, quindi la precisione richiesta sar`a certamente assicurata se si
applica la formula utilizzando 11 nodi.
7
Esercizio 1 Si consideri I =
_
1
0
e
x
2
dx.
I. Si stimi lerrore di discretizzazione che si commette approssimando
I con la formula di Cavalieri-Simpson.
II. Ricavare il numero di nodi sucienti anch`e la formula dei trapezi
approssimi I con con la stessa accuratezza ottenuta al punto I., nellipotesi
che gli errori sui dati siano trascurabili.
I. F. di Cavalieri-Simpson: R
CS
[f] =
h
5
90
f
(4)
().
f
(4)
(x) = 4(2 +7x
2
+2x
4
)f(x)
monotona crescente (prodotto di funzioni crescenti)
[R
CS
[f][
1
90
1
2
5
f
(4)
(1) 0.4 10
1
.
8
II. F. dei trapezi: R
T
[f] =
h
2
12
(b a)f
(2)
().
f
(2)
(x) = 2(1 +x
2
)f(x)
monotona crescente (prodotto di funzioni crescenti)
[R
T
[f][
h
2
12
f
(2)
(1) =
h
2
3
e 0.4 10
1

h 0.13 ovvero N 9 (numero di nodi)


9
Esercizio 2 Si consideri I =
_
3
1
x
1/2
logxdx
I Si stimi il numero di nodi sucienti ad assicurare che lerrore di
discretizzazione del metodo delle parabole sia non superiore, in modulo,
a 10
4
.
II Sapendo che i valori di f sono noti con un arrotondamento sulla
4
a
cifra decimale, utilizzando il passo ottenuto al punto precedente, `e
possibile ottenere lapprossimazione di I con una precisione sulla terza
cifra decimale?
Si tenga conto che, posto f(x) = x
1/2
logx si ha
f
(k)
(x) = 2
k
x
(2k+1)/2
(c
k
+d
k
logx), k 1,
con d
k
= (1)
k
(2k 1)!!, c
0
= 0, c
k
= (1 2k)c
k1
+2d
k1
10
I Applicando la legge di ricorrenza si ricava
f
t
(x) =
2 logx
2x
3/2
; f
tt
(x) =
2 +3logx
4x
5/2
f
(3)
(x) =
46 15logx
8x
7/2
; f
(4)
(x) =
352 +105logx
16x
5/2
f
(5)
(x) =
3378 945logx
32x
7/2
> 0, x [1, 3]
f
(4)
crescente [f
(4)
(x)[ max([f
(4)
(1)[, [f
(4)
(3)[ = 22
F. delle parabole: R[f] =
h
4
180
(b a)f
(4)
()
[R[f][
h
4
180
2 22 10
4
h 0.71e 1
11
II
[E

[ (b a) perch`e la formula `e a coecenti positivi.


[E
tot
[ [R[f][ +[E

[ 10
4
+0.5 10
4
2 = .2e 3
che garantisce unapprossimazione di I[f] con un arrotondamento sulla
3
a
cifra decimale.
12
Estrapolazione di Richardson
Applichiamo una f. di Newton-Cotes generalizzata a
7[f] =
_
b
a
f(x) dx
a) con passo h
7[f] = A
h
[f] +
n
b a
n
h
+1
f
(+1)
(
1
)
. .
R
h
[f]
b) con passo h/2
7[f] = A
h/2
[f] +
n
b a
n
_
h
2
_
+1
f
(+1)
(
2
)
. .
R
h/2
[f]
Se f
(+1)
non varia troppo in [a, b],
f
(+1)
(
1
) f
(+1)
(
2
) R
h
[f] 2
+1
R
h/2
[f]
13
e sostituendo
7[f] A
h
[f] +2
+1
R
h/2
[f]
7[f] = A
h/2
[f] +R
h/2
[f]
Sottraendo membro a membro
R
h/2
[f] =
A
h/2
[f] A
h
[f]
2
+1
1
Regola di Runge

si pu` o stimare il resto di una formula di quadratura attraverso le


parti approssimanti

si pu` o migliorare lapprossimazione ottenuta con passo h/2:


7[f] A
h/2
[f] +
A
h/2
[f] A
h
[f]
2
+1
1
14
Casi particolari
Formula dei trapezi = 1
R
h/2
[f] =
A
h/2
[f] A
h
[f]
3
Formula delle parabole = 3
R
h/2
[f] =
A
h/2
[f] A
h
[f]
15
Nota Ricordando che `e il gardo di precisione della formula di quadratura
e quindi sempre dispari, il denominatore `e dato da
2
+1
1 = 4
r
1, r 1
15
Esempi
Si consideri lintegrale I =
_
/2
0
log(x +1) dx
h =
b a
2
=

4
: A
h
= 0.8541942 (f. di Cavalieri-Simpson)
h =
h
2
=

8
A
h/2
= 0.8563824 (f. delle parabole)
R
h/2
=
0.8563824 0.8541942
15
0.14588e 3 (R.di Runghe)
A

= 0.8563824 +0.14588e 3 = 0.8565283


Errore totale I[f] A

.61e 4
16
La tecnica di Romberg
E la ripetizione sistematica della regola di Runge applicata a partire
dalla formula dei trapezi.
d
k,j
= T
k,j
T
k,j1
passo Trapezi T
0,j
+
d
0,j
3
T
1,j
+
d
1,j
15
T
2,j
+
d
2,j
63
h = b a T
0,0
T
1,0
h/2 T
0,1
T
2,0
T
1,1
T
3,0
h/2
2
T
0,2
T
2,1
T
1,2
T
3,1
h/2
3
T
0,3
T
2,2
T
1,3
h/2
4
T
0,4
.
.
.
.
.
.
17
Esempio Si consideri I =
_
3
1
f(x) dx, f(x) = x
1/2
logx
I 0.8775013740
h = b a T
0,0
= h
f(1) +f(3)
2
. .
s
0
= 0.6342841005
h h/2 T
0,1
= h
_
f(1)
2
+f(x
m
) +
f(3)
2
_
= h(s
0
+f(2))
. .
s
1
=
= 0.8072711220
h h/2 T
0,2
= h(s
1
+f(1.5) +f(2.5))
. .
s
2
= 0.8589225700
18
Schema di Romberg
0.6342841005
0.8649334625
0.8072711220 0.8768868031
0.876139719 0.8774849878
0.8589225700 0.8774756412

0.8773921489
0.8727747542
** Per migliorare laccuratezza si calcola T
0,3
e si prolunga lo schema
19
Polinomi ortogonali

come ottenere f. di quadratura a grado di precisione massimo

come costruire f. di quadratura se w(x) ,= 1

come costruire f. di quadratura se [a, b] `e illmitato


Denizione Una successione P
n
(x)

n=0
si dice sistema ortogonale in
[a, b] rispetto al peso w se
_
b
a
w(x)P
m
(x)P
n
(x) dx =
mn

n
(condizione di ortogonalita)
La condizione `e equivalente a:
_
b
a
w(x)(x)P
n
(x) dx = 0, P
n1
I polinomi P
n
si diranno polinomi ortogonali
20
Teorema(di esistenza) Fissati [a, b], w e una successione di reali a
n

n=0
a
n
,= 0n esiste ed `e unica la successione di polinomi ortogonali tale
che P
n
(x) = a
n
x
n
+....
ovvero
- Il polinomio ortogonale P
n
`e esattamente di grado n
- I polinomi ortogonali sono individiati a meno di una costante molti-
plicativa (,= 0)
Casi particolari
a
n
= 1n: successione di polinomi monici
a
n
t.c
_
b
a
w(x)P
2
n
(x) dx =
n
= 1n:
successione di polinomi ortonormali
21
Propriet`a dei polinomi ortogonali
Vericano una legge di ricorrenza a tre termini:
P
n+1
(x) = (A
n
x +B
n
)P
n
(x) +C
n
P
n1
(x), P
1
= 0, P
0
= 1
Se [a, b] = [c, c] (intervallo simmetrico), w(x) = w(x) (f. peso
pari ) allora P
n
(x) = (1)
n
P
n
(x)
I polinomi ortogonali costituiscono una successione di Sturm
Gli zeri del polinomio P
n
, ortogonale, sono tutti semplici interni
ad [a, b].
22
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 02.03.2007
Argomenti
Formule di quadratura gaussiane
Tecnica dei coecienti indeterminati. Esempi
Soluzione numerica di ODE
Esempi di costruzione dei metodi
Classicazione dei metodi
1
Formule di quadratura gaussiane
Teorema La formula di quadratura interpolatoria
_
b
a
w(x)f(x) dx =
N

i=1
H
i
f(x
i
) +R[f]
avente come nodi x
i
gli zeri del polinomio P
N
ortogonale in [a, b]
rispetto a w, ha grado di precisione massimo e se f C
2N
[a, b] si pu`o
porre
R[f] = K
N
f
2N
(), [a, b], K
N
=

N
(2N)!a
2
N
a
N
= coeciente direttore di P
N
,
N
=
_
b
a
w(x)P
2
N
(x) dx
Si ha poi H
i
> 0 i, N
2
Teorema(di convergenza) Sia {S
N
[f]},
S
N
[f] =
N

i=1
C
N
i
f(x
N
i
)
una successione di formule di quadratura interpolatorie:
I[f] =
_
b
a
w(x)f(x)dx = S
N
[f] +R
N
[f]
tale che
N

i=1
|C
N
i
| M , M indipendente da N, allor a R
N
[f] 0, N
Le f. gaussiane vericano lipotesi del teorema:
H
i
> 0
N

i=1
H
i
=
_
b
a
w(x) dx
3
Esempi classici
[a, b] = [1, 1] w(x) = (1 x)

(1 +x)

, , > 1 (Peso di Jacobi )


Casi particolari

= = 0 w(x) = 1 (Peso di Legendre)

= =
1
2
w(x) =
1
_
1 x
2
(Peso di Chebychev)
[a, +) w(x) = e
x
(Peso di Laguerre)
(, +) w(x) = e
x
2
(Peso di Hermite)
Per i dati numerici (zeri dei polinomi, pesi delle f. di quadratura,...),
si rimanda al testo consigliato e alle tavole numeriche.
4
Come costruire una formule di quadratura
La tecnica delle costanti indeterminate
_
b
a
w(x)f(x) dx =
N

i=1
A
i
f(x
i
) +R[f]
Dati x
i
, determinare i pesi della formula, A
i
.
N 1
_
b
a
w(x)x
k
dx =
N

i=1
A
i
x
k
i
, k = 0, 1, . . . , N 1
I pesi A
i
sono la soluzione di un sistema lineare, ammesso di disporre
dei valori

k
=
_
b
a
w(x)x
k
dx (momenti della funzione peso),
NOTA La matrice dei coecienti del sistema `e la matrice di Wandermonde dei nodi,
quindi il sistema pu`o risultare mal condizionato
5
Esercizio 1 Si consideri la formula di quadratura (interpolatoria):
_
2
2
f(x) dx = A
1
f(
3
2
) +A
2
f(
8
9
) +R[f].
I. Determinare i pesi A
1
, A
2
.
II. Vericare il grado di precisione della formula di quadratura ottenuta.
I. La formula a due nodi ha grado di precisone 1
= 0,
_
2
2
dx = 4 = A
1
+A
2
= 1,
_
2
2
xdx = 0 = A
1
(
3
2
) +A
2
(
8
9
)
6
da cui si ricava: A
1
=
64
43
, A
2
=
108
43
II. Verichiamo se la formula ha grado di precisione = 2
_
2
2
x
2
dx =
16
3
A[f] =
4
43
_
16(
3
2
)
2
+27(
8
9
)
2
_
=
16
3
Ha grado di precisione = 3? Anche senza fare i calcoli la risposta `e
NO: = 3 (massimo grado di precisione) i nodi x
1
, x
2
sono gli zeri
del polinomio ortogonale di Legendre (w(x) = 1) traslati in [2, 2], che
sono simmetrici rispetto allorigine.
7
Esercizio 2 Si assuma w(x) = (1x)
1/2
, come funzione peso in [0, 1].
I. Si determini il polinomio P
2
, di grado 2, ortogonale in [0, 1] ripetto
a w.
II. Si costruisca la formula di quadratura gaussian a due nodi.
III. Il polinomio di grado 2, ortogonale a w in [1, 1] si pu`o ottenere a
partire da P
2
trasformando [0, 1] nel nuovo intervallo?
8
I. P
2
(x) = x
2
+ Ax + B `e individuato dalle condizioni di ortogonalit`a
dove
j
=
_
1
0
1

1 x
x
j
dx, j 0
_
1
0
1

1 x
(x
2
+Ax +B)dx =
2
+A
1
+B
0
= 0
_
1
0
1

1 x
x(x
2
+Ax +B)dx =
3
+A
2
+B
1
= 0
Osserviamo che:

j
=
_
1
0
x
j

1 x
dx = 2x
j

1 x

1
0
+2j
_
1
0
x
j1

1 xdx
e scrivendo nellultimo integrale

1 x =
1x

1x
si ricava

j
=
2j
1 +2j

j1
, j 1,
0
= 2.
9
Sistema che identica P
2
:
4
3
A +2B =
16
15
16
15
A +
4
3
B =
32
35
da cui A =
8
7
, B =
8
35
.
II. I nodi della formula gaussiana
_
1
0
1

1 x
f(x) dx = H
1
f(x
1
) +H
2
f(x
2
) +R[f]
sono gli zeri di P
2
: x
1
= 0.2584442529, x
2
= .8844128900 e i pesi si
ottengono da
10
_
1
0
w(x)dx =
0
= H
1
+H
2
_
1
0
xw(x)dx =
1
= H
1
x
1
+H
2
x
2
da cui si ricava:
H
1
=
2(3x
2
2)
3(x
1
x
2
)
0.6957, H
2
=
2(3x
1
2)
3(x
1
x
2
)
1.3043.
II.No, il polinomio ortogonale a w in [1, 1] non pu`o essere dedotto
da P
2
con un cambiamento di riferimento: x

= 2x 1 perch`e tale
trasformazione muta il peso w nel nuovo peso w = 0.5(1x

)
1/2
= w
11
Equazioni dierenziali ordinarie
Problema di Cauchy
y

= f(x, y)
y(x
0
) = y
0
Soluzione
y(x) C
1
[x
0
, x
0
+a] t.c
y

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


0
) = y
0
Soluzione numerica
h > 0 passo di tabulazione (dato)
x
i
= x
0
+i h I nodi di tabulazione
si determinano i valori y
i
tali che y
i
y(x
i
)
12
Teorema (di Cauchy)
Sia f(x, y) C
0
(D) , D = [x
0
, x
0
+ ] [y
0
, y
0
+ ] e lipscitziana
rispetto a y, ovvero |f(x, y

)f(x, y)| L|y

y|. Posto M = max |f(x, y)|


in D e a = min(, /M), allora esiste una funzione y C
1
[x
0
, x
0
+ a]
soluzione unica del problema di Cauchy in [x
0
, x
0
+a].
Osservazioni

Se esiste f
y
, continua f `e di Lipschitz rispetto a y.

La funzione y(x) pu`o essere denita anche al di fuori dellintervallo


[x
0
, x
0
+a], ma generalmente `e soluzione del problema di Cauchy solo
in questo intervallo.
13
Discretizzazione del problema
Come vengono generati i valori y
i
che costituiscono a soluzione
numerica?
Si pu`o assicurare che approssimano y(x
i
)? Quali errori si intro-
ducono ( e in che misura)
Cominciamo a vedere alcuni esempi per costruire la sequenza {y
i
}
14
Esempio 1 Si Sviluppa y(x) con la formula di Taylor di punto iniziale
x
i
y(x) = y(x
i
) +y

(x
i
)(x x
i
) +R
i

calcolando in x = x
i+1
y(x
i+1
) = y(x
i
) +hf(x
i
, y(x
i
)) +R
i
Esempio 2 Si sostituisce a y

il rapporto incrementale:
y(x
i+1
) y(x
i
)
h
+E
i
= f(x
i
, y(x
i+1
))
y(x
i+1
) = y(x
i
) +hf(x
i+1
, y(x
i+1
)) +E
i
15
Esempio 3 Dal Teorema fondamentale dellintegrale:
_
x
i+1
x
i1
y

(x) dx = y(x
i+1
) y(x
i1
) =
_
x
i+1
x
i1
f(x, y(x)) dx
Applicando allultimo integrale la formula aperta del punto centrale
y(x
i+1
) = y(x
i1
) +2hf(x
i
, y(x
i
)) +R
i
[f]
oppure applicando la formula chiusa di Cavalieri-Sympson
y(x
i+1
) = y(x
i1
) +
h
3
_
f(x
i1
, y(x
i1
)) +4f(x
i
, y(x
i
))+
f(x
i+1
, y(x
i+1
))
_
+R
i
[f]
16
Esempio 4 Ancora dal Teorema fondamentale dellintegrale:
_
x
i+1
x
i
y

(x) dx = y(x
i+1
) y(x
i
) =
_
x
i+1
x
i
f(x, y(x)) dx
Applicando allultimo integrale la formula chiusa del trapezio
y(x
i+1
) = y(x
i
) +
h
2
_
f(x
i
, y(x
i
)) +f(x
i+1
, y(x
i+1
))
_
+R
i
[f]
Esempio 5 Ma si possono costruire metodi basati su formule di quadratura
non classiche. Sostituiamo a f(x, y(x)) il polinomio interpolante sui
nodi x
i2
, x
i1
, x
i
:
y(x
i+1
) y(x
i
) =
_
x
i+1
x
i
P
2
(x) dx +R[f] =
= Af(x
i2
, y(x
i2
)) +Bf(x
i1
, y(x
i1
)) +Cf(x
i
, y(x
i
)) +R[f]
17
e per determinare i pesi A, B, C si applica la tecnica delle costanti
indeterminate.
Nodi equidistanti possiamo assumere x
i
= 0, x
k
= hk
_
x
i+1
x
i
dx = h = A+B +C
_
1
0
xdx =
h
2
2
= 2hA hB
_
1
0
x
2
dx =
h
3
3
= 4h
2
A+h
2
B
da cui A =
5
12
h, B =
4
3
nh, C =
23
12
h
y(x
i+1
) = y(x
i
) +
h
12
_
5f(x
i2
, y(x
i2
)) 8f(x
i1
, y(x
i1
))+
+23f(x
i
, y(x
i
))] +R
i
[f]
18
Costruzione degli algoritmi
Dalle formule esatte che discretizzano il problema si ottengono gli
algoritmi applicativi:
Trascurando il resto

Errore locale di troncamente


Sostituendo y
i
y(x
i
)

Errore di propagazione
+
Errore totale e
i
= y(x
i
) y
i
19
Struttura dellalgoritmo
Metodi One-step: Nella legge di calcolo intervengono solo y
i
, y
i+1
y
i+1
= (h, x
i
, y
i
)
Metodo esplicito
y
i+1
= (h, x
i
, y
i
, y
i+1
)
Metodo implicito
Metodi Multi-step: Nella legge di calcolo intervengono un certo
numero di valori precedenti y
i
, , y
i
y
i+1
= (h, x
i
, y
i
, , y
i
)
Metodo esplicito
y
i+1
= (h, x
i
, y
i
, y
i
, y
i+1
)
Metodo implicito
20
Esempi
1. y
i+1
= y
i
+hf(x
i
, y
i
) one-step/esplicito
2. y
i+1
= y
i
+hf(x
i
, y
i+1
) one-step/implicito
3. y
i+1
= y
i1
+2hf(x
i
, y
i
) multistep/esplicito
4. y
i+1
= y
i1
+
h
3
_
f(x
i1
, y
i1
) +4f(x
i
, y
i
) +f(x
i+1
, y
i+1
)
_
multi-
tep/implicito
5. y
i+1
= y
i
+
h
2
_
f(x
i
, y
i
) +f(x
i+1
, y
i+1
)
_
one-step/implicito
21
Caratteristiche operative degli algoritmi
Metodi One-step: richiedono solo la condizione iniziale del problema
di Cauchy.
Metodi Multi-step: hanno bisogno oltre al valore iniziale y
0
di
coordinate di innesco, che vengono generate con un metodo one-step
accurato almeno quanto il metodo multistep.
Metodi espliciti: forniscono direttamente (in modo esplicito, ap-
punto) il valore della successione {y
i
}.
22
Metodi impliciti: la funzione che genera y
i+1
dipende essa stessa da
y
i+1
. Il metodo viene allora applicato come un procedimento iterativo:
y
(k+1)
i+1
= G(, y
(k)
i+1
)

a partire da un valore iniziale y


(0)
i+1
generato da un metodo esplicito:
la coppia dei due metodi (esplicito/implicito) costituisce un metodo
predictor-corrector.

il indica le altre variabili: h, x


i
, y
i
, ed eventualmente altri valori y
ij
se
il metodo `e multistep, e che restano sse al progredire delle iterazioni
23
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 05.03.2007
Argomenti
Lerrore nella soluzione del problema di Cauchy
Consistenza, ordine,zero stabiliot`a
Metodi one-step
Metodi basati sulla formula di Taylor
Metodi Runge-Kutta
Analisi dellerrore nel metodo di Eulero
Metodi multistep: introduzione
1
Costruzione degli algoritmi
Formule esatta: Es. y(x
i+1
) = y(x
i1
) +2hf(x
i
, y(x
i
)) +R
i
[f]
Algoritmo applicativo: Es. y
i+1
= y
i1
+2hf(x
i
, y
i
)
Trascurando il resto

Errore locale di troncamente


Sostituendo y
i
y(x
i
)

Errore di propagazione
+
Errore totale e
i
= y(x
i
) y
i
2
Convergenza delle approssimazioni
Consideriamo un algoritmo di tipo esplicito (ma quanto diremo si pu`o
ripetere per gli algoritmi di tipo implicito)
Algoritmo:
y
i+1
= (h, x
i
, y
i
, y
i
)
Formula esatta:
y(x
i+1
) = (h, x
i
, y(x
i
), , y(x
i
))) +R(x
i+1
; h)
Errore totale:
y(x
i+1
) y
i+1
=
(h, x
i
, y(x
i
), , y(x
i
))) (h, x
i
, y
i
, y
i
)
. .
e. di propagazione
+ R(x
i+1
; h)
. .
e. di troncamento
3
x I, ssato, h resta individuato un indice i = i(h) t.c.
x = x
i(h)
= x
0
+i h y
i(h)
se si fa variare h, varia i ma `e i h = x x
0
costante.
0 0.5 1 1.5 2 2.5 3 3.5 4
x
4
(h=0.5)
x
2
(h=1)
x
6
(h=0.2)
Problema:
lim
h0
y
i(h)
= y(x) ?
4
Consistenza e ordine
C.N. lim
h0
R(; h) = 0, ma la convergenza deve essere abbastanza
veloce
Denizione Un metodo `e consistente se lim
h0
R(; h)
h
= 0
Denizione Un metodo si dice di ordine p se p `e il massimo intero per
cui R(h) = O(h
p+1
)
La consistenza da sola non basta per la convergenza: anche lerrore di
propagazione deve tendere a zero con h 0.
5
Un esempio
Problema di Cauchy: y
t
= f(x, y), y(x
0
) = y
0
Metodo di Eulero: y
i+1
= y
i
+hf(x
i
, y
i
)
Formula esatta: y(x
i+1
) = y(x
i
) +hf(x
i
, y(x
i
)) +R(x
i+1
; h)
Passo 1 y
1
= y
0
+hf(x
i
, y
0
)
y(x
1
) = y(x
0
) +hf(x
0
, y(x
0
)) +R(x
1
; h)
ma y(x
0
) = y
0
e
1
= y(x
1
) y
1
= R(x
1
; h)
Passo 2 y
2
= y
1
+hf(x
1
, y
1
)
y(x
2
) = y(x
1
) +hf(x
1
, y(x
1
)) +R(x
2
; h)
e
2
= y(x
1
) y
1
+h[f(x
1
, y(x
1
)) f(x
1
, y
1
)] +R(x
2
; h) =
= e
1
+hf
y
(x
1
,
1
)e
1
+R(x
2
; h) = C
1
e
1
+R(x
2
; h)
6
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
1
0
1
2
3
4
(x
1
,y
1
)
(x
1
,y(x
1
))
R
1
(x
2
,y
2
)
(x
2
,y(x
2
))
R
2
E*
2
Passo 3 y
3
= y
2
+hf(x
2
, y
2
)
y(x
3
) = y(x
2
) +hf(x
2
, y(x
2
)) +R(x
3
; h)
e
3
= y(x
2
) y
2
+h[f(x
2
, y(x
2
)) f(x
2
, y
2
)] +R(x
3
; h) =
= e
2
+hf
y
(x
2
,
2
)e
2
+R(x
3
; h) = C
2
e
2
+R(x
3
; h)
7
e
3
= C
2
C
1
e
1
+C
2
R(x
2
; h)) +R(x
3
; h)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
3
2
1
0
1
2
3
4
(x
1
,y
1
)
(x
1
,y(x
1
))
R
1
R
2
R
3
E
2
E
3
Se la componente dovuta
allerrore di propagazione non
tende a zero, non si avr`a con-
vergenza.
Denizione Un metodo `e zero-stabile se lerrore di propagazione ten-
dere a zero per h 0
convergenza consistenza + zero-stabilit`a
8
Metodi one step espliciti: esempi
1. Metodo di Eulero
y
i+1
= y
i
+hf(x
i
, y
i
) ordine p = 1
come segue dal resto della formula di Taylor R[h] =
h
2
2
y
tt
(
i
)
Metodi di ordine superiore a partire dalla formula di Taylor richiedono
le derivate di f.
2. Taylor di ordine 2
y(x
i+1
) = y(x
i
)+
_
f
x
(x
i
, y(x
i
)) +f
y
(x
i
, y(x
i
))y
t
((x
i
)

(x
i+1
x
i
)+R(x
i+1
, h),
da cui
y
i+1
= y
i
+h[f
x
(x
i
, y
i
) +f
y
(x
i
, y
i
)f(x
i
, y
i
)]
ed R(x
i+1
, h) = O(h
3
) p = 2
9
Confronto fra ordine e costo computazionale (inteso come numero di
valutazioni di funzioni) per i metodi basati sulla formula di Taylor
ordine costo computazionale
1 1
2 3
3 6
Il costo computazionale cresce molto velocemente.
E possibile avere metodi il cui ordine `e uguale la costo com-
putazionale?
Come costruire metodi di ordine p > 1, in cui invece delle derivate si
usano valori della funzione?
10
Una struttura particolare:
y
i+1
= y
i
+h
r

j=1
a
j
k
j
, k
j
(x
i
, y
i
; h)
k
1
= f(x
i
, y
i
)
k
j
= f(x
i
+h
i
, y
i
+h
j1

=1

j,
k

)
Tecnica di costruzione: si sviluppa in serie di punto iniziale x
i
, y
i
e si confronta con
il metodo di Taylor di ordine pressato.
Si ottiene una classe di metodi conosciuti come metodi di Runge-
Kutta (a r stadi)
11
Metodo di Heun o Runge-Kutta di ordine p = 2
y
i+1
= y
i
+h(k
1
+k
2
)
k
1
= f(x
i
, y
i
), k
1
= f(x
i+1
, y
i
+hk
1
)
Metodo di Runge-Kutta classico ordine p = 4
y
i+1
= y
i
+
h
6
(k
1
+2k
2
+2k
3
+k
4
)
k
1
= f(x
i
, y
i
)
k
i
= f(x
i
+
h
2
, y
i
+
h
2
k
i1
), i = 2, 3
k
4
= f(x
i+1
, y
i
+hk
1
)
12
Un altro modo per ottenere il metodo di Heun
Integrando e applicando la formula del trapezio:
y(x
i+1
) = y(x
i
) +
_
x
i+1
x
i
f(x, y(x)) dx =
y(x
i
) +
h
2
_
f(x
i
, y(x
i
)) +f(x
i+1
, y(x
i+1
))
_

h
3
12
M
i
(conferma che `e p = 2)
Nella formula esatta vanno sostituiti i valori della y con delle approssi-
mazioni:
y(x
i
) y
i
y(x
i+1
) y
i
+hf(x
i
, y
i
) ( metodo di Eulero)
13
Ordine vs Costo computazionale nei m. Runge-Kutta
Si dimostra che per i metodi di Runge-Kutta la relazione fra ordine e
costo computazionale `e la seguente
p = r r = 1, 2, 3, 4
p = r 1 r = 5, 6, 7
p = r 2 r = 8, 9
p r 2 r 10
quindi metodi di ordine elevato sono poco ecienti.
Il metodo classico `e il pi` u usato.
14
Esempio
Problema di Cauchy: y
t
(x) = y x x [0, 2], y(0) = 2
Soluzione esatta: y(x) = e
x
+x +1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
2
3
4
5
6
7
8
9
10
11
x
y
Metodo di Eulero
Metodo di Heun
Metodo di RK classico
Graco della soluzione
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
Metodo di RK classico
Metodo di Heun
Metodo di Eulero
x
Graco dellerrore
15
Tutti i metodi one-step visti sono
consistenti: lerrore di troncamento `e il resto della formula di Taylor
o dierisce da questo per una costante (rispetto al passo h), quindi
esprimibile con R[x
i
; h] = Ch
r+1
zero-stabili: vedremo tra breve come si riconosce tale propriet`a

i metodi basati sulla formula di Taylor e i metodi Runge-Kutta sono


convergenti
16
Propagazione dellerrore di calcolo: un esempio
Formula esatta del metodo di Eulero
y(x
i+1
) = y(x
i
) +hf(x
i
, y(x
i
)) +
h
2
2
y
tt
(
i
)
i
[x
i
, x
i+1
] I
Metodo di Eulero inserendo lerrore di arrotondamento
y
i+1
= y
i
+hf(x
i
, y
i
) +
i+1
e
i+1
= y(x
i+1
) y
i+1
= e
i
+h[f(x
i
, y(x
i
)) f(x
i
, y
i
)] +
h
2
2
y
tt
(
i
)
i+1
Ipotesi [f(x, y

) f(x, y

)[ L[y

[
y C
2
[I], [y
tt
(x)[ M, x I
[
j
[ , j
17
[e
i+1
[ (1 +hL)[e
i
[ +
h
2
2
M +
Si dimostra che
[e
i
[
e
L(x
i
x
0
)
1
L
_
M
2
h +

h
_
che comprende un termine decrescente per h 0 (dovuto allerrore
locale di troncamento e allerrore di propagazione) e un termine che
amplica gli errori di arrotondamento per h 0 (fattore 1/h).
18
h
ott
h
Errore globale
Errore di troncamento
Errore di arrotondamento
In corrispondenza del valore
ottimale h
ott
=

2
M
lerrore
di troncamento `e uguale a
quello di arrotondamento e la
maggiorazione dellerrore ha un
minimo:
per h < h
ott
predomina
lerrore di arrotondamento;
per h > h
ott
predomina
lerrore di troncamento.
19
Unaltra osservazione
Riprendiamo la maggiorazione dellerrore, trascurando il termine dovuto
agli errori di arrotondamento
[e
i
[
e
L(x
i
x
0
)
1
L
_
M
2
h +

h
_
h, ssato.
Problema Come si propagano gli errori per i +? Si mantengono
limitati?
Si pu` o assicurare che la soluzione numerica y
i
segua la soluzione
analitica y(x), quando ci si allontana da x
0
?.
Nella maggiorazione compare e
L(x
i
x
0
)
1 (esponenziale crescente con
x
i
x
0
): bisogna aspettarsi che non sempre le cose vadano bene.
20
Metodi multistep lineari
Lalgoritmo ha la struttura:
y
i+1
=
m

j=0

j
y
ij
+h
n

j=0

j
f(x
ij
, y
ij
) +
1
f(x
i+1
, y
i+1
)

1
= 0 Metodo multistep esplicito

1
,= 0 Metodo multistep implicito
Una particolare insieme di metodi apparteneti a questa classe si ottiene
applicando il teorema fondamentale dellintegrale e utilizzando formule
di quadratura interpolatorie.
21
Costruzione di metodi multistep per integrazione
0 0.5 1 1.5 2 2.5 3 3.5 4
1.5
1
0.5
0
0.5
1
1.5
x(i+1)
x(i) x(im) x(in)
integra
interpola
Metodo multistep esplicito
0 0.5 1 1.5 2 2.5 3 3.5 4
1.5
1
0.5
0
0.5
1
1.5
x(i+1)
x(i) x(im) x(in)
integra
interpola
Metodo multistep implicito
Fissati n, m > 0
_
x
i+1
x
im
y
t
(x) dx = y(x
i+1
) y(x
im
) =
_
x
i+1
x
im
f(x, y(x)) dx =
y(x
i+1
) = y(x
im
) +
_
x
i+1
x
im
P(x) dx +R
i
[f]
P = polinomio interpolante f(x, y(x)) nei nodi
_
x
in
, x
in+1
, . . . , x
i
_
metodo eplicito
_
x
in
, x
in+1
, . . . , x
i+1
_
metodo implicito
22
Parte approssimante della formula:
_
x
i+1
x
im
P(x) dx = h
n

j=0

j
f(x
ij
, y
ij
) +
1
f(x
i+1
, y
i+1
)
Resto (Ipotesi che f C
N
(D)):
R
i
[f] =
_
x
i+1
x
im
(x)
N!
D
N
f(, y()) dx
N = (numero dei nodi di interpolazione)
_

_
n +1 metodo esplicito
n +2 metodo implicito
N.B. (x) = polinomio nodale, D
N
derivata totale della funzione com-
posta = y
(N+1)
()
23
Cambiamento di variabile x = x
0
+hs (nodi equidistanti)
R
i
[f] =
_
i+1
im
h
N
s
[N]
N!
D
N
f(, y()) hds
R
i
[f] = h
N+1
_
i+1
im
s
[N]
N!
D
N
f(, y()) ds = h
N+1
C
i
C
i
indipendente da h
Un metodo multistep dedotto da una formula di quadratura interpola-
toria a N nodi ha ordine p = N (almeno).
24
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 06.03.2007
Argomenti
Metodi multistep:
Esempi
Metodi predictor-corrector
Scelta delle coordinate di innesco
Analisi della stabilit`a del metodo del punto centrale
Condizioni di zero stabilit`a e di assoluta stabilit`a
1
Esempi
Esempi: Punto centrale, Cavalieri-Sympson... (v. Lezione 02-03)
Le formule di Adams
m = 0 intervallo di integrazione. [x
i
, x
i+1
]
Stuttura della formula:
f. di Adams-Bashforth esplicite
y
i+1
= y
i
+h

n
j=0

j
f(x
ij
, y
ij
)
f. di Adams-Moulton implicite
y
i+1
= y
i
+h

n
j=0

j
f(x
ij
, y
ij
) +
1
f(x
i+1
, y
i+1
)
2
La formula di A-B di ordine p = 4
y
i+1
= y
i
+
h
24
_
55f
i
59f
i1
+37f
i2
9f
i3
_
R
i
[f] =
251
720
h
5
y
(v)
()
E confrontabile con Runge-Kutta classico:

hanno entrambi ordine p = 4

hanno lo stesso costo computazionale

la costante moltiplicativa nel resto(1/90, 251/720, rispettivamente)


`e pi` u favorevole per R-K

i pesi della parte approssimante (coecienti degli f


j
) sono pi`u fa-
vorevoli per R-K

A-B tiene conto del comportamento della soluzione anche in punti


lontani, R-K utilizza solo stime locali
3
Le coordinate di innesco
Teorema Dato un metodo multistep lineare consistente di ordine p 1,
se le coordinate di innesco vericano la condizione
|y(x
j
) y
j
)| = O(h
q+1
), h 0, j = 1, ..., r
allora |y(x
j
) y
j
)| = C
j
h
p+1
+O(h
q+1
), h 0, j r +1.
se q < p decade il comportamento asintotico dellerrore nel metodo
multistep
se q > p si aumenta il costo computazionale nella fase di innesco, ma
il metodo multistep rimane di ordine p.
scelta migliore: q = p
4
Metodi predictor-corrector
y
0
i+1
=
m

j=0

j
y
ij
+h
n

j=0

j
f(x
ij
, y
ij
) =
= (y
i
, y
i1
, . . . , y
ir
; h) predictor, m. esplicito
y
k
i+1
=
m

j=0

j
y
ij
+h
n

j=0

j
f(x
ij
, y
ij
) +h
1
f(x
i+1
, y
k1
i+1
) =
= (y
k1
i+1
, y
i
, y
i1
, . . . , y
is
; h) corrector, m. implicito
Il corrector viene usato iterativamente: y
i+1
`e il punto sso della fun-
zione di iterazione (y
i+1
, ).
Punto iniziale: y
0
i+1
ottenuto dal predictor.
E possibile assicurare che lim
k
y
k
i+1
= y
i+1
?
5
Si ricorre al Teorema del punto sso : C.S. di convergenza al punto
sso per z
k
= g(z
k1
):
|g

(z)| , (0, 1) o pi` u in generale se |g(z

) g(z

)| |z

|
|(z

, ) (z

, )| = |h
1
f(x
i+1
, z

) h
1
f(x
i+1
, z

)| =
= h|
1
| | f(x
i+1
, z

) f(x
i+1
, z

)
. .
fLipschitziana per Ip.
| h|
1
|L|z

|
Il corrector verica la condizione di contrazione se
= h|
1
|L < 1
6
Teorema Se f verica la condizione di Lipschitz ripetto a y, il proced-
imento iterativo dato dal corrector converge se il passo h verica la
limitazione
h <
1
|
1
|L
Quindi pur di prendere h sucientemente piccolo, almeno in teoria, il
procedimento iterativo basato sul corrector converge.
7
Modalit`a di applicazione
Criteri darresto del procedimento iterativo y
k
i+1
= (y
k1
i+1
, ): quelli
visti per i metodi iterativi.
Numero massimo di iterate: deve essere ragionevolmente piccolo (il
metodo perde competitivit`a ) quindi si itera per 3/4 volte: se non viene
raggiunta laccuratezza pressata, si riduce il passo h e si ricomincia.
Poich`e il metodo `e multistep (escluso il caso di Eulero modicato) il
cambio di passo comporta il calcolo delle nuove coordinate dinnesco.
Se lapprossimazione iniziale fornita dal predictor `e sucientemente
accurata, in genere, basta una iterata per raggiungere unaccuratezza
ragionevole.
8
Esempi
1. Metodo di Eulero modicato p = 2
y
i+1
= y
i
+hf
i
Predictor
y
k
i+1
= y
i
+
h
2
_
f
i
+f(x
i+1
, y
k1
i+1
)
_
Corrector
2. Metodo di Adams Bashforth-Moulton p = 3
y
i+1
= y
i
+
h
12
_
23f
i
16f
i1
+5f
i2
_
Predictor
y
k
i+1
= y
i
+
h
12
_
8f
i
f
i1
+5f(x
i+1
, y
k1
i+1
)
_
Corrector
2. Metodo di Milne p = 4
y
i+1
= y
i
+
4h
3
_
2f
i
f
i1
+2f
i2
_
Predictor
y
k
i+1
= y
i
+
h
3
_
f
i
+4f
i1
+f(x
i+1
, y
k1
i+1
)
_
Corrector
9
Un esempio di comportamento delle approssimazioni
y

= 3(x y) +1, y(0) = 1


Metodi a confronto, entrambi con p = 2
y
i+1
= y
i1
+2hf
i
(punto centrale)
y
i+1
= y
i
+
h
2
(k
1
+k 2) (Heun)
k
1
= f
i
, k
2
= f(x
i+1
, y
i
+h k
1
)
10
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
punto centrale
RK 2
y(x)=exp(3x)+x
Graco della soluzione
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
punto centrale
RK 2
Graco dellerrore
Nel metodo basato sulla f. del punto centrale lerrore domina la
soluzione!
11
Il comportamento cambia se si aumenta lordine?
Metodi a confronto, entrambi con p = 4
y
i+1
= y
i3
+
4h
3
_
2f
i
f
i1
+2f
i2
_
(aperta a 3 nodi)
y
i+1
= y
i
+
h
24
_
55f
i
59f
i1
+37f
i2
9f
i3
_
(Adams-Bashforth)
12
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
y(x)=exp(3x)+x
aperta a 3 nodi
AdamsBash
Graco della soluzione
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.25
0.2
0.15
0.1
0.05
0
0.05
0.1
0.15
Errore aperta a 3 nodi
Errore AdamsBash.
y(x)=exp( 3x)+x
Graco dellerrore
Anche nel metodo basato sulla f. aperta lerrore domina la soluzione.
Il fenomeno si verica solo pi` u tardi rispetto al caso precedente.
13
Analisi dellerrore nel metodo del punto centrale
Problema test: y

= y, y(0) = 1 Soluzione. y(x) = e


x
Metodo del punto centrale: y
i+1
= y
i1
+2hy
i
, i 1, h > 0
y
i+1
2hy
i
y
i1
= 0
equazione alle differenze di ordine 2 a coefficienti costanti omogenea
Ordine= max indice-min indice
Polinomio caratteristico associato: p(t; h) = t
2
2ht 1
Siano
1
,
2
le radici di p(t; h) = 0
Soluzione dellequazione alle dierenze:
y
i
= c
1

i
1
+c
2

i
2
, c
1
, c
2
costanti
Problema: y
i
y(x
i
) = e
x
i
= e
ih
, i 2 ?
14

1,2
= h

, = 1 +h
2

y
i
= c
1
_
h +
_
1 +h
2

2
_
i
+c
2
_
h
_
1 +h
2

2
_
i
Determinazione delle costanti dalle condizoni iniziali :
i = 0 c
1
+c
2
= 1
i = 1 c
1

1
+c
2

2
= e
h
da cui : c
1
=
(
2
e
h
)
2

, c
2
= 1 c
1
Comportamento asintotico delle costanti
lim
h0
c
1
= 1; lim
h0
c
2
= 0
15
Espressione della soluzione y
i
Tenendo conto che: (1 +v)
1/2
= 1 +
1
2
v +O(v
2
)

1
= h +1 +
1
2
h
2

2
+O(h
4

4
),
2
= h 1
1
2
h
2

2
+O(h
4

4
)
e confrontando con e
h
= 1 +h +
1
2
h
2

2
+O(h
3

3
)

1
e
h

2
e
h

y
i
c
1
e
ih
. .
componente principale
+ c
2
(1)
i
e
ih
. .
componente spuria o parassita
Componente principale: approssima la soluzione del problema di Cauchy
(converge per h 0)
Componente spuria o parassita Rappresenta una componente derrore
dovuta al fatto che si sostitisce all equazione dierenziale di primo
ordine, una equazione alle dierenze di ordine > 1
16
Caso a) > 0 e
ih
= e
x
i
< 1: la componente spuria introduce un
errore trascurabile rispetto alla componente principale (che approssima
la soluzione)
Caso b) < 0 e
ih
= e
x
i
> 1: la componente spuria introduce
un errore ad andamento oscillante e a modulo crescente (per x
i
x
0
crescente), dominante rispetto alla soluzione del problema di Cauchy
(che `e decrescente, < 1, per x
i
x
0
crescente).
ATTENZIONE: Per h 0 si ha c
2
0, y
i(h)
e
x
: il metodo `e
convergente e quindi `e consistente e zero stabile, ma non `e assicurato
che sia stabile
17
Condizioni di zero-stabilit`a e stabilit`a
Consideriamo un metodo multistep:
y
i+1
=
m

j=0

j
y
ij
+h
n

j=0

j
f(x
ij
, y
ij
) +h
1
f(x
i+1
, y
i+1
)
Applicato al problema test: y

= y
y
i+1
=
m

j=0

j
y
ij
+h
n

j=0

j
y
ij
+h
1
y
i+1
equazione alle dierenze lineare di ordine n + 1 (supponiamo che sia
n m )
Polinomio caratteristico p(t; h) = t
n+1
(t) h(t)
(t) =
m

j=0

j
t
nj
, (t) = h
n

j=0

j
t
nj
+h
1
t
n+1

j
(h), j = 0, . . . , n le radici del polinomio caratteristico
18
Soluzione dellequazione alle dierenze
y
i
= c
0

i
0
(h) +
n

k=1
c
k

i
k
(h)

Solo una delle radici, sia


0
, segue landamento della soluzione
esatta (soluzione principale) y(x) = e
x

Le altre radici (soluzioni parassite) sorgono perch`e il modello discreto


`e unequazione alle dierenze di ordine > 1

Le costanti c
j
sono univocamente determinate dalle condizioni iniziali
e c
0
1, (h 0)

Per h 0 le radici
j
(h) di p tendono alle radici t
j
=
j
(0) di
R(t) = t
n+1
(t) (primo polinomio caratteristico)
19
Condizione di zero-stabilit`a :
Un metodo `e zero-stabile se le radici t
j
=
j
(0) del polinomio R(t) =
t
n+1
(t) appartengono al cerchio unitario: |t
j
| 1 e le radici a
modulo 1 sono semplici.
Condizione di assoluta stabilit`a :
Un metodo `e assolutamente stabile se le radici
j
(h) del polinomio
P(t; h) sono tali che |
j
(h)| < 1, j = 0, . . . , n. La regione del piano
(complesso) dei valori h che assicurano questa condizione sulle radici
si chiama regione di stabilit`a asssoluta.
20
Esempio
y
i+1
= y
i3
+
4h
3
_
2f
i
f
i1
+2f
i2
_
(aperta a 3 nodi)
R(t) = t
4
1 = 0 Radici t
j
= 1, , j = 0, 1, 2, 3 ( unit`a immagi-
naria)
|t
j
| = 1, j, ma le radici sono semplici il metodo `e zero-stabile.
In qualche caso bisogna accontentarsi della stabilit`a relativa : un
metodo `e relativamente stabile se le radici
j
(h) del polinomio P(t; h)
sono tali che
|
j
(h)|
|
0
(h)|
1, j = 1, . . . , n.
La regione del piano (complesso) dei valori h che assicurano questa
condizione sulle radici si chiama regione di stabilit`a relativa.
21
Un caso particolare di metodi zero-stabili
Consideriamo un metodo implicito o esplicito, one-step o multistep del
tipo
y
i+1
= y
i
+h

j
f
ij
R(t) = t
n+1
t
n
, Radici t = 1, t = 0 (multipla): il metodo `e zero-
stabile.
Tutti i metodi one-step (n = 0) e i multistep di tipo Adams sono
zero-stabili.
22
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 09.03.2007
Argomenti
Condizioni di consistenza
Costruzuione di metodi con pressato ordine
Problemi sti: cenni sui metodi di Gear
1
Condizioni di consistenza
Consideriamo ancora il metodo
(nellipotesi m n
y
i+1
=
m

j=0

j
y
ij
+h
n

j=1

j
f
ij
R(t) = t
n+1

j=0

j
t
nj
Teorema Il metodo `e consistente se `e esatto quando la soluzione del
problema di Cauchy `e un polinomio P
1
.
1.y

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

j=0

j
1
2.y

= 1, y(x) = x x
i+1
=
m

j=0

j
x
ij
+h
n

j=1

j
2
con la trasformazione x = x
in
+ hs x
in
= 0, x
i+1
= h(n +
1), x
ij
= h(n j)
1. R(1) = 0
2. R

(1) =
n

j=1

j
che sono le due condizioni da imporre sui coecienti per avere un
metodo consistente.
NOTA. La prima condizione assicura che R(t) ammette la soluzione
principale t = 1.
ATTENZIONE: non `e detto che le condizioni di consistenza diano
luogo a metodi zero-stabili. La condizione sulle radici di R `e una
ulteriore condizione da imporre sui coecienti.
3
Esercizio
Si consideri lequazione alle dierenze
y
i+1
= Ay
i
+By
i1
+h
_
(2 )f
i
+2f
i1
+2( 1)f
i2

.
I. Determinare i pesi della formula che consentono di ottenere metodi
consistenti.
II. Fra i metodi determinati al punto I., fornire almeno 2 metodi zero-
stabili.
I. Ordine del metodo: max indice-min indice
p = i +1 (i 2) = 3, R(t) = t
3
At
2
Bt
Condizioni di consistenza
R(1) = 1 AB = 0
2 +2 +2( 1) = R

(1) 3 = 3 2A B
4
da cui si ricava B = 1 A, =
1
3
(2 A)
II. Polinomio di zero-stabilit`a associato alla classe
R(t) = t
3
At
2
(1 A)t
A = 1 R(t) = t
3
t
2
= 0 t = 0 (radice doppia) t = 1 (metodo di
tipo Adams)
A = 0 R(t) = t
3
1 = 0 t = 1, t .5 .8660254 tutte semplici
a modulo 1.
NOTA R(t) = t(t 1)(t + 1 A): radici t = 1 (principale), t = 0,
t = A 1. Il metodo `e zero-stabile se 1 A 1 < 1 (la radice t = 1
deve essere semplice).
5
Ordine e condizione sui coecienti
y
i+1
=
n

j=0

j
y
ij
+h
n

j=1

j
f
ij
`e di ordine p se `e esatto per y(x) P
p
La condizione di consistenza richiede che il metodo sia almeno di
ordine1.
Costruzione di metodi multistep consistenti di ordine p > 1
Assumiamo y(x) = x
k
, f(x, y(x)) = kx
k1
e applichiamo il metodo
multistep
x
k
i+1
=
n

j=0

j
x
k
ij
+h
n

j=1

j
kx
k1
ij
Poniamo x
i
= 0 x
i+1
= h, x
ij
= jh e sostituendo
6
h
k
=
n

j=0

j
h
k
(j)
k
+h
n

j=1

j
kh
k1
(j)
k1
da cui
1
n

j=0

j
(j)
k
= k
n

j=1

j
(j)
k1
, k = 2, 3, . . . , p
Esercizio
Si riprenda la classe di metodi prima individuata:
E possibile determinare A in modo che il metodo sia di ordine p = 2?
In caso aermativo il metodo cos` ottenuto `e zero-stabile?
7

0
= A,
1
= 1 A,
2
= 0

0
= 2 ,
1
= 2,
2
= 2( 1),
1
= 0, =
1
3
(2 A),
Condizione da imporre 1
2

j=0

j
(j)
2
= 2
n

j=1

j
(j)
1
1
= 2(
1
2
2
) A = 0
che abbiamo visto fornisce un metodo `e zero-stabile.
Lunico metodo della classe di ordine p = 2, consistente e zero-stabile,
si ha per A = 0, per 0 < A < 2 si hanno metodi consistenti e zero-
stabili, ma di ordine p = 1
8
Cenni sui problemi sti
Un problema dierenziale si dice sti quando la soluzione decade molto
velocemente. Nel caso di sistemi di equazioni dierenziali il problema
si dice sti se almeno una componente del vettore soluzione decade.
Dopo pochi passi lerrore diventa dominante e per controllarlo andrebbe
usato un passo molto piccolo (0).
Caso lineare: problema test y

= y, y(0) = 1
per h > 0 la soluzione decade se < 0.
La condizione sti `e legata certamente al segno del coeciente, ma
dipender`a anche da quanto ci si allontana da x
0
= 0 ovvero dallampiezza
b a dellintervallo [a = 0, b] in cui si cerca la soluzione.
9
Caso non lineare y

= f(x, y), y(x


0
) = y
0
Dallo sviluppo di Taylor:
y

= f(x

, y

) +[f
x
(x

, y

)(x x

) +f
y
(x

, y

)(y y

)] +R
y

f
y
(x

, y

)y
. .

+F(x) y

f
y
(x

, y

)
. .

parte lineare non dipende da y


Il problema sar`a sti se f
y
< 0 . Questa condizione, nel caso non
lineare, potrebbe essere vericata anche solo localmente.
10
Per evitare limitazioni su h la regione di assoluta stabilit`a dovrebbe
contenere tutti i valori per cui h < 0.
E stato dimostrato che i problemi sti non possono essere ecace-
mente risolti dai metodi espliciti, n`e dai metodi impliciti con p > 2,
visti nora. Inoltre lunico metodo applicabile di ordine 2 `e il metodo
(implicito) del trapezio.
Una classe di metodi stabili specica per problemi sti `e costituita dai
metodi di Gear:
y
i+1
=
p1

j=0

j
y
ij
+hf(x
i+1
, y
i+1
)
i cui coecienti vengono determinati imponendo che il metodo abbia
ordine p
11
Esempi
M. di Gear di ordine 1
y
i+1
=
0
y
i
+hf
(
x
i+1
, y
i+1
)
Devono essere imposte le condizioni di consistenza ( =
1
)
R(t) = t
0
, R

(t) = 1 1
0
= 0, = 1
y
i+1
= y
i
+hf(x
i+1
, y
i+1
)
Il metodo `e zero-stabile
12
M. di Gear di ordine 2
y
i+1
=
0
y
i
+
1
y
i1
+hf(x
i+1
, y
i+1
)
R(t) = t
2

0
t
1
, R

(t) = 2t
0

_
1
0

1
= 0
= 2
0
1
1
= 2
da cui
0
=
4
3
,
1
=
1
3
=
2
3
R(t) = 0 t = 1, t =
1
3
e quindi il metodo `e zero-stabile
13
Questi metodi sono impliciti quindi vanno applicati come corrector in
un procedimento iterativo
y
(k)
i+1
=
p1

j=0

j
y
ij
+hf(x
i+1
, y
(k1)
i+1
)
per il quale `e assicurata la convergenza se h <
1
||L
.
Se il problema `e sti L `e molto grande e quindi si dovrebbe usare un
passo molto piccolo. Si preferisce allora applicare il metodo di Newton.
Nella formula del metodo di Gear poniamo y
i+1
= z: si deve deter-
minare il punto unito dellequazione:
z = hf(x
i+1
, z) +G() , G() indipendente da z
14
ovvero la soluzione dellequazione
z hf(x
i+1
, z) G() = 0
Procedimento iterativo di Newton
z
k
= z
k1

_
1 hf
y
(x
i+1
, z
k1
)
_
1
_
z hf(x
i+1
, z
k1
) G(),
_
z = y
i+1
Alcune manipolazioni consento di dimostrare che si pu` o generare una
opportuna approssimazione iniziale, mentre si dovranno generare le
eventuali coordinate di innesco con un metodo dello stesso ordine del
m. di Gear che si intende usare, applicato con un passo suciente-
mente piccolo.
15
Esercizi
1. Si consideri il metodo per la soluzione numerica del problema di
Cauchy:
y
i+1
= y
i
+
h
12
[5(1 )f
i+1
+(15 +8)f
i
(15 +1)f
i1
+
+5f
i2
]
1. Studiare la consistenza e la zero-stabilit`a del metodo al variare di
.
2. Stabilire qual`e lordine massimo che si pu` o ottenere in funzione di
.
3. Precisare se il metodo di ordine massimo `e esplicito o implicito.
16
1. Il metodo `e zero-stabile : R(t) = t
3
t
2
(tipo Adams).
Condizioni di consistenza: R(1) = 0 vericata ,
R

(1) = 3t
2
2t

t=1
= 1 =

j
=
1
12
[5(1 ) +15 +8 (15 +1) +5] = 1
Il metodo `e consistente
2. Consistenza p = 1. Condizioni che assicurano ordine > 1:
1
m

j=0
(j)
k

j
= k
n

j=1
(j)
k1

j
Nel caso in esame
0
= 1,
j
= 0, j > 1
il primo membro si riduce a 1

m
j=0
(j)
k

j
= 1, k
17
Si deve vericare la relazione 1 = k
n

j=1
(j)
k1

j
k = 2
2
12
[5(1 ) +(15 +1) 2 5] = 1
k = 3
3
12
[5(1 ) (15 +1) +4 5] = 1
k = 4
4
12
[5(1 ) +(15 +1) 8 5] = 1 = 0.1
Tutti i metodi della classe hanno ordine p = 3; per = 0.1 si ottiene
un metodo di ordine p = 4.
3. Per = 0.1 il metodo `e implicito. Si ottiene un metodo esplicito
solo per = 1.
18
CALCOLO NUMERICO
Laurea Specialistica Ingegneria Elettronica, Gestionale, Informatica
Prof. M.L. Lo Cascio
(A.A. 2006-2007)
Lezione del 12.03.2007
Argomenti
Esercizi
1. Interpolazione-quadratura
2. Zeri di equazioni
1
Esercizio 1 Sia f(t) =

t
0
g(x) dx, g(x) = xe
x
. Si vuole approssimare
y = f(0.4) con le seguenti procedure:
a) mediante un polinomio interpolante f nei nodi {0, 0.2, 0.6} ricavando
i valori di f nei nodi ( = 0) con una formula di quadratura a due nodi;
b)utilizzando una formula dei trapezi a tre nodi.
I. Stimare lerrore totale che si commette con la procedura a).
II. Stimare lerrore totale che si commette con la procedura b) e con-
frontare il risultato con quello ottenuto al punto I.
Si supponga di disporre dei valori dellesponenziale in x = 0 arrotondati
alla 5
a
cifra decimale
2
Procedura a) Nodi: x
0
= 0, x
1
= 0.2, x
2
= 0.6
Errore totale nellinterpolazione: E
tot
(x) = E(x) +E

(x)
Errore di discretizzazione: E(0.4) =
(0.4)
3!
f

()
Errore di propagazione: E

(0.4) = L
1
(0.4)
1
+L
2
(0.4)
2
( f(0) = 0 `e esatto e comunque non contribuisce alla parte approssi-
mante)
Cosa serve: f

(x),
i
f

(x) = g

(x) = (x 2)e
x

i
= lerrore totale che si commette approssimando

x
i
0
g(x) dx con la
formula del trapezio: b a = x
i
, g(0) = 0
R
i
=
x
3
i
12
g

(
i
),
i
[0, x
i
], E
i
=
x
i
2
0.5 10
5
3
Maggiorante di g

: g

(x) = (3 x)e
x
> 0 g

monotona
2 = g

(0) g

(x) g

(x
i
), |g

(x)| 2
|R
1
| 0.13e 02, |E
1
| 0.5e 06 (trascurabile)

1
0.13e 02
|R
2
| 0.36e 01, E
2
(trascurabile)
2
0.36e 01
|E(0.4)|
0.16e01
6
2 0.53e 02
L
1
(0.4) =
0.4(0.40.6)
0.2(0.20.6)
= 1.
L
2
(0.4) =
0.4(0.40.2)
0.6(0.60.2)
= 0.33
|E
tot
(0.4)| 0.53e 02+1. 0.13e 02+0.33 0.36e 01 0.18e 01
4
Procedura b) f(0.4)) =

0.4
0
xe
x
dx, nodi di quadratura 0, 0, 2, 0.4
h = 0.2
R[f] =
0.2
2
12
0.4g

() |R[f]| 0.27e 02
E

= 0.2(
1
+

2
2
) = 0.2
3
2
0.5e 05 = 0.15e 05
|E
tot
| 0.27e 02
La procedura b) assicura almeno due cifre decimali esatte, mentre la
prima procedura ne garantisce una sola, ed ha un costo computazionale
molto minore. E pertanto preferibile la procedura b).
5
Esercizio 2 Si consideri lequazione f(x) = (x 1)
3
log
5x
2
.
1. Quanti zeri ha la funzione f?
2. Si individui quale zero di f pu`o essere approssimato con il metodo
del punto unito con funzione di iterazione (x) =
2
5
e
(x1)
3
. Si stimi
il numero di iterate sucienti ad ottenere una approssimazione esatta
alla 6
a
cifra decimale.
3. Sia lo zero approssimato dal metodo del punto unito (Punto
2.). Si indichino le modalit`a di applicazione del metodo di Newton
per approssimare e si confrontino i due metodi tenendo conto di una
stima del costo computazionale totale.
6
1. lim
x0
+
f(x) = , f(1) = log
5
2
< 0, lim
x
f(x) =
2 zeri (almeno). Un graco anche sommario conferma che gli zeri sono
solo 2, semplici:
[0.2, 1],
1
[2, 3].
2.

(x) =
6
5
(x 1)
2
e
(x1)
3
.

(x) > 1, x 2 il m. del punto unito non pu` o convergere a


1
.
x [0.2, 1]:

(x) 0 (= 0 in x = 1)e monotona (prodotto di funzioni


crescenti)

(0.2) 0.46: il metodo converge con ordine p = 1 e costante asin-


totica dellerrore = 0.46.
7
Stima delle iterate:
a) Da |x
k
|

k
1
|x
1
x
0
| 0.5 10
06
Per x
0
= 0.2, x
1
= 0.2397 k 15.3
a) Da |x
k
|
k
(b a) 0.5 10
06
k 18.4
3. Conviene restringere lintervallo f(0.5) < 0 [0.2, 0.5].
Si pu` o applicare Newton utilizzando il Teorema generale di convergenza
(esiste un intorno...).
Per x
0
= 0.3 si ottiene x
1
0.27031 (2 `e la prima cifra conquistata):
poich`e la radice `e semplice Newton ha ordine almeno p = 2:
alla 2
a
iterata guadagna 2 cifre, alla 3
a
guadagna 4 cifre, alla 4
a
rag-
giunge la precisione richiesta.
Newton: 2 valutazioni a iterata costo computazionale totale 8
Punto unito: 1 valutazione a iterata costo computazionale totale
15/16
8

Potrebbero piacerti anche