Sei sulla pagina 1di 48

Quaderno di Antonio Lorenzin del corso di

Analisi Numerica 1
Tenuto da Paola Zanolli

1
INTRODUZIONE
1.1 Buona posizione e numero di condizionamento di un problema

In Analisi Numerica ogni problema può essere visto come segue:

F ( x , d)=0

dove F esprime la relazione funzionale fra i dati d e la soluzione x . Si indicherà con D l'insieme dei dati
ammissibili.
Un problema si dice ben posto o stabile se:
1) ∃! x soluzione
2) Stabile, ovvero se ∃η0=η0 (d), ∃ K 0=K 0 (d) t.c. se ‖δ d‖≤η0 ⇒‖δ x‖≤K 0‖δ d‖
In modo che si abbia
F (x+ δ x , d+ δ d)=0
In altre parole, se ammette un'unica soluzione x la quale dipende con continuità dai dati; altrimenti si parla
di problema mal posto .

Per esprimere al meglio la misura della dipendenza continua dai dati, introduciamo la definizione seguente:
Il numero di condizionamento relativo è definito come

K (d)=sup { ‖δ x‖/‖x‖
‖δ d‖/‖d‖
, d , x , δ d≠0, d+ δ d∈D }
Nel caso in cui d=0 o x=0, si considererà il numero di condizionamento assoluto :
K abs (d )={‖δ x‖
‖δ d‖
, δ d≠0, d+ δd ∈D }
Il problema si dirà mal condizionato se K (d ) è “grande” per ogni dato d∈D .

Anche nel caso in cui il numero di condizionamento non esista, non è necessariamente vero che il problema
sia malposto. Infatti possono esistere problemi ben posti di modo che K (d)=+∞ , ma riformulabili con un
problema equivalente che ha numero di condizionamento finito.

Se il problema ammette unica soluzione, allora ∃G applicazione risolvente :

x=G (d)⇔ F (G (d ), d)=0

Con questa osservazione, otteniamo che x+δ x=G(d+ δ d)=G(d)+G ' (d)δ d +o(δ d). Trascurando gli
infinitesimi, otteniamo che:
‖d‖ ‖δ x‖
K (d)≃‖G ' (d )‖ , K abs (d )≃‖G ' (d)‖≃
‖G (d)‖ ‖δ d‖

1.2 Metodi numerici

Un metodo numerico per la risoluzione approssimata del problema F( x , d )=0 consisterà nel costruire una
successione di problemi approssimati

2
Fn ( x n , d n)=0 n≥1

Se il dato d del problema è ammissibile per F n , un metodo si dice consistente se


F n (x , d)= F n (x , d)− F (x , d)→0 per n→+∞
Un metodo è “fortemente consistente” se F n (x , d)=0 ∀ n

Analogamente a quanto detto per F (x , d)=0 , il metodo numerico viene detto ben posto o stabile se, per
ogni n fissato,
1) esiste la soluzione x n in corrispondenza del dato d n ;
2) il calcolo di x n in funzione di d n sia unico;
3) xn dipende con continuità dai dati.

Possiamo riconsiderare le scritture analoghe viste per il problema F (x , d)=0 ed inoltre definire in maniera
naturale K n (d n) e K abs, n (d n). Anche in questo caso, un problema sarà ben condizionato se K n (d n ) sarà
“piccolo”.
Del tutto naturalmente, presa G n applicazione risolvente di F n , otterremo:
‖d n‖ ‖δ x n‖
K n (dn )≃‖G ' n (d n )‖ , K abs ,n (dn )≃‖G n ' (d )‖≃
‖Gn (dn )‖ ‖δ dn‖

Il metodo numerico è convergente se e solo se


∀ ϵ>0 ∃n0 (ϵ), ∃δ=δ(n0 ,ϵ)>0 t.c. ∀ n>n0 (ϵ), ∀ δd n :‖δ d n‖≤δ⇒‖x (d)−x n (d+δ d n )‖≤ϵ
dove d ∈D , x(d) la soluzione corrispondente a d , xn (d+ δ dn ) la soluzione del problema numerico con
dato d+δ d n .

Una condizione sufficiente per avere convergenza è che


‖x(d+ δn )−x n (d+ δn )‖≤ ϵ .
2
Infatti, ‖x (d)−x n (d+δ n )‖≤‖x (d)−x (d +δ n )‖+‖x(d +δ n)−x n (d +δ n)‖≤ K 0‖δ d n‖+ ϵ
2
Scelto δ=min {η0 , ϵ/2 K 0 }, ho finito.

Le misure di convergenza dei metodi sono fornite dall' errore assoluto , in formula
E( x n )=‖x−x n‖,
e dall' errore relativo , in formula
‖x−x n‖
Erel (x n)= se x≠0.
‖x‖

I concetti di stabilità e convergenza sono fortemente interconnessi fra loro. Innanzitutto, dato un problema
ben posto, una condizione necessaria per la convergenza è la stabilità. Inoltre, se ho un metodo convergente,
esso sarà anche stabile.
Oltretutto, la stabilità di un metodo diventa condizione sufficiente per la convergenza se il problema è anche
consistente.
Dunque, per un metodo numerico consistente, la stabilità è equivalente alla convergenza.

3
1.3 Rappresentazione dei numeri al calcolatore

Fissata una base β∈ℕ con β≥2, sia x∈ℝ . La rappresentazione posizionale di x in β è

±0. x 1 x 2 ... x m x m+1 ...β±e e ... con x1≠0


1 2

ove 0≤ x i <β ; la mantissa indica il numero di x i utilizzati per rappresentare i vari numeri. Ogni numero
reale può essere rappresentato in questo modo, tranne lo 0.
Le macchine utilizzano questa scrittura, ma non possono avere input di infinite cifre: occorre studiare
l' arrotondamento di un numero reale nella sua rappresentazione di macchina: preso x∈ℝ visto, la sua
approssimazione sarà
±0. x 1 x 2 ... x~m β
1 ±e ... e
s

{ x
con x~m = m
se x m+1 <β/2
x m +1 se x m+ 1≥β/2

Si noti che con questo metodo non valgono più le proprietà delle operazioni, essendo i numeri approssimati.

4
MATRICI
2.1 Classificazione delle matrici

Una matrice diagonale è t.c. aij =0 ∀ i≠ j . Denoteremo con D l'insieme di queste matrici.

Una matrice a banda è t.c. aij =0 ∀ i> j+ p e ∀ j> i+ q per alcuni p , q . La lunghezza della banda è
p+ q+1. Nel caso in cui p=q=1, si parla di matrice tridiagonale .

Una matrice triangolare superiore è t.c. aij=0 ∀ i> j . Denoteremo con U l'insieme di queste matrici.
Una matrice triangolare inferiore è t.c. aij=0 ∀ j>i . Denoteremo con L l'insieme di queste matrici.

n
Una matrice a dominanza diagonale (per righe) è t.c. |aii|≥ ∑ |aij| con i=1,... , n. Si dice a dominanza
j=1 , j≠i
diagonale stretta se vale il maggiore stretto ∀ i=1,. .. , n

Una matrice è definita positiva se tutti i suoi autovalori sono positivi; se ne esistono alcuni nulli, la matrice è
semidefinita positiva . Analoga la definizione per definita negativa e semidefinita negativa .

I minori principali sono det ( A i ) con i=1,. .. , n con Ai =(a kj ) con k , j=1,. .. ,i .
Se A è a dominanza stretta, allora tutti i minori principali sono diversi da 0 . In particolare, det ( A )≠0.
Una matrice si dice singolare se λi =0 per qualche i.

2.2 Autovalori, autovettori e raggio spettrale

Denotando con λ i gli autovalori di A , si ha che


n n
det( A)= ∏ λi , tr ( A )=∑ λ i
i=1 i=1
Tramite gli autovalori possiamo definire il raggio spettrale :
ρ( A )=max |λ i|
1≤i≤n

T k k
Se con λ( A ) intendiamo l'insieme degli autovalori di A , allora λ ( A)=λ( A ), λ( A )=[λ ( A)] con
−k −k
k ∈ℕ, λ (α A )=α λ( A ), λ (I−α A )=1−α λ( A). Inoltre, se det ( A )≠0⇒ λ( A )=[λ ( A)] con
k ∈ℕ .

2.3 Norme di vettori e di matrici

n n + n×n
Una norma è una funzione ‖⋅‖:ℝ ×ℝ →ℝ ∪{0} t.c., preso A ∈ℝ :
1) ‖A‖≥0 e ‖A‖=0⇔ A=0
2) ‖α A‖=|α|‖A‖
3) ‖A + B‖≤‖A‖+‖B‖

Una norma si dice submoltiplicativa se ‖AB‖≤‖A‖‖B‖

5
Una norma matriciale ‖⋅‖M si dice compatibile o consistente con una norma vettoriale se
‖Ax‖V ≤‖A‖M ‖x‖V , dove ‖⋅‖V indica la norma vettoriale

‖Ax‖
Una norma matriciale si dice indotta da una norma vettoriale se ‖A‖=sup
x≠0 ‖x‖
Data norma, detta anche norma matriciale naturale , assume le seguenti proprietà:
1) ‖Ax‖≤‖A‖‖x‖
2) ‖AB‖≤‖A‖‖B‖
3) ‖I‖=1

Norme utili per le matrici:


n n
‖A‖∞= max ∑ |aij|, ‖A‖1= max
i=1,. ., n j=1
∑ |aij|, ‖A‖2= √ ρ( AAT );
j=1,. .. ,n i=1

Si noti che A=A T ⇒‖A‖2=ρ( A ). Inoltre, si può dimostrare che


ρ( A)=inf ‖A‖
‖⋅‖
dato che, presa ‖⋅‖ norma matriciale consistente, allora ρ( A )≤‖A‖

Norme utili per i vettori:

(∑ | | )
n 1
p p
‖v‖p := vi , ‖v‖∞ := max |v i|
i=1 i=1,. .. ,n

2.4 Numero di condizionamento di una matrice

−1
Presa la norma ‖⋅‖, K ( A )=‖A‖‖A ‖; se det ( A )=0, allora K ( A)=+∞. Si noti che K ( A) dipende
dalla norma scelta.

6
SISTEMI LINEARI
3.1 Analisi a priori e a posteriori

Analisi a priori . Questo metodo parte con delle perturbazioni iniziali: la soluzione sarà dunque

( A +δ A)(x +δ x)=(b+δ b)

Si verifica che
‖δ x‖

K (A)
‖x‖ 1−K ( A)‖δ A‖/‖A‖ ‖b‖ ‖A‖
‖δ b‖ ‖δ A‖
+ ( )
Per rendere meglio condizionato il mio problema, cerco una matrice P e risolvo PAx= Pb invece di Ax=b

Analisi a posteriori . Approssimo l'inversa di A con una matrice C con cui trovare una soluzione x̄ che si
avvicina ad x . Sia e=x− x̄ ; se indico con r= A x̄−b il residuo, ho che

‖e‖ ‖r‖
≤K ( A )
‖x‖ ‖b‖

L'obiettivo di questa analisi è cercare di diminuire il valore di e .

3.2 Sistemi triangolari

Si noti che le matrici triangolari sono singolari se e solo se almeno un elemento della diagonale principale è
uguale a 0. Inoltre, se A è una matrice triangolare, allora λ i ( A)=aii .
Il prodotto di due matrici triangolari inferiori (rispettivamente superiori) è una matrice triangolare inferiore
(rispettivamente superiore).

Nel caso in cui A=L, i.e. A matrice triangolare inferiore, utilizzeremo la sostituzione in avanti (forward):

{
b1
x 1=
l 11

( )
i−1
1
x i = bi−∑ l ij x j per i=2,. .., n
lii j=1

Nel caso in cui A=U (triangolare superiore), utilizzeremo invece la sostituzione all'indietro (backward):

{
bn
x n=
unn

( )
n
1
xi = b−∑ u x
uii i j=i+1 ij j

n n
Calcoliamo il numero di operazioni che richiedono questi metodi: 1+ ∑i=2 (1+i−1)=∑i=1 i=n(n+1)/2

7
Per calcolare l'inversa di una matrice triangolare inferiore L=(lij ), considero B=(bij ) tale che
i

∑ lik bkj=δij (delta di Kronecker) con {i=1,. .. , n


j=1,... ,i
k= j

Dunque ottengo B risolvendo il sistema

{
1
bii= con i=1,. .., n
l ii
i−1

k= j
{
bij =−b ii ∑ lik b kj con i=2,. .. , n
j=1,. .. , i−1
Analogamente possiamo trovare il metodo per calcolare l'inversa di una matrice triangolare superiore.

3.3 Metodo di eliminazione di Gauss

Tale metodo si propone di giungere a matrici triangolari superiori tramite trasformazioni con combinazioni
lineari.

{
A(1)= A , b( 1)=b
a( k) ( k)
mik = (ikk) con a kk ≠0
akk per k=1,. .., n−1
b(k+
i
1)
=b(k) i −mik b k
(k)
con i=k+1,. .. , n
( k+ 1) (k) (k)
aij =aij −mik akj con i , j=k +1,. .., n

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


Quindi A =M A ; alla fine di tutti passaggi avremo che A =U , matrice triangolare superiore.
Si noti che M (k)=I −m k e Tk ; inoltre, preso M := M ( n−1) ... M (1) , abbiamo che A (n)= M A .

∑k=1 ∑i=k +1 (2+ ∑ j=k +1 1 )+n(n+1)/2 , ovvero


n−1 n n
Il numero di operazioni richieste con questo metodo è:
all'incirca n3 /3+ n2+ o(n) operazioni.

Fattorizzazione . Si noti che M è una matrice triangolare inferiore; dunque il metodo di Gauss può essere
utilizzato anche per la fattorizzazione LU , considerando A=M −1 A( n)=L U . Calcolare M −1 è immediato:

( )
1 0 ... ... 0
m21 1 0
M −1= ⋮ m32 ⋱ ⋮
⋮ ⋮ ⋱ 0
mn 1 mn 2 ... mn ,n−1 1

A questo punto, note L= M −1 , U =A (n) , si risolvono i sistemi Ly=b ed Ux= y tramite sostituzione.
( )
n−1 n n
Dato metodo richiede ∑k=1 ∑i=k+ 1 1+ ∑ j=k+1 1 +n(n+1)≃n3 /3+ n2 +o(n) operazioni.
Questo metodo richiede le stesse operazioni di Gauss; tuttavia è preferibile quando si hanno più sistemi da
risolvere con gli stessi coefficienti.

Esistono altri metodi di fattorizzazione, che sono delle forme compatte.

8
Doolittle . Considerata A= LU , allora pongo l kk =1 ed utilizzo il seguente sistema:

{(
k−1
ukj =akj −∑ l kr urj con j=k , ..., n
r=1
per k=1,... , n

)
k−1
1
l ik = aik −∑ l ir urk se ukk ≠0 con i=k+ 1, ..., n
r =1 ukk

Crout . Ponendo ukk =1 , considero il sistema:

{
k−1
l ik =a ik − ∑ l ir u rk con i=k ,... , n
r =1
per k=1,..., n

( )
k−1
1
ukj =akj − ∑ l kr urj se l kk ≠0 con j=k +1,..., n
r=1 l kk

Fattorizzazione di Cholesky per matrici simmetriche e definite positive . Essendo A simmetrica, la posso
scrivere come A=LDLT . Inoltre, dato che λ( A)>0 , A=(LD 1 /2)( D1 /2 LT )=( LD1/2 )(LD 1 /2)T .
T 1 /2
A questo punto possiamo considerare A=HH con H =LD . Per i=2,... , n, Posso quindi considerare il
sistema

{
h11= √ a11

( )
j−1
1
hij = aij −∑ h ir h jr con j=1,. .. ,i−1
r =1 h jj


j−1
hii = aii −∑ hir h jr
r=1

Pivoting . Supponiamo di essere arrivati al k -esimo passaggio del metodo di Gauss con det ( A)≠0 e di aver
trovato che a kk =0; allora prendiamo
pk t.c. |a pk|=max |a ik |
a(k) (k) (k)

k≤i≤n
Dato metodo in realtà non si applica solo se akk =0, ma anche per rendere inferiore il coefficiente di
condizionamento.
Per scambiare la riga k -esima con la riga p -esima, considero

{
1 se i= j≠ p , k
P : pij = 1 se (i= p∧ j=k )∨(i=k∧ j= p)
0 altrove
−1 ( k+1) (k) ( k) (k)
Si verifica che P =P . La formula del metodo di Gauss diventa dunque A =M P A .
Si noti che, similmente a quanto visto con il metodo di Gauss senza pivotazione, otteniamo
A (n)=(M P−1 )P A
(n−1) (1) −1 ( n)
Ove P=P ... P ; presa dunque L= P M (triangolare inferiore), U =A , si ha la fattorizzazione
PA= LU
Possiamo applicare il pivoting anche per colonne, ottenendo AQ= LU , ove Q è la matrice di modifica per

9
colonne.
Nel caso di PA= LU , dovremmo risolvere Ly= Pb , Ux= y ; nel caso di AQ=LU , la soluzione si ricaverà
da Ly=b, Uz= y , x=Qz. Si possono usare entrambe le pivotazioni, ottenendo
PAQ=LU
da cui dovrò risolvere Ly=Pb , Uz= y , x=Qz .

Se A è una matrice simmetrica e vogliamo mantenere la simmetria, dovremmo utilizzare delle pivotazioni
dette “totali” della forma PAP T , anche se ciò può solo produrre un riordinamento degli elementi diagonali
di A .

Gauss per matrici a banda . Se A è una matrice a banda ed ha banda superiore di larghezza q e inferiore di
larghezza p , L ha banda inferiore di larghezza p ed U ha banda superiore di larghezza q . Sarà dunque
inutile ricavare gli altri coefficienti matriciali.
Nel caso particolare delle matrici tridiagonali, utilizzando Gauss si ha, per k=1,..., n−1

{
u11 =a11
a k +1 k
mk+ 1 k =
ukk con ukk ≠0
( k)
uk+1 k +1=ak+1 k+ 1−mk +1 k akk+1
ukk+1=akk+ 1

{
1 se i= j
Essa è una fattorizzazione LU con l ij = mij se i= j+1
0 altimenti
Il costo computazionale in questo caso sarà ridotto a 2(n−1); in più, le sostituzioni risultano essere

Ly=b ⇒
{ y 1=b1
y k =bk −mkk−1 y k−1
per k=2,. .., n . “Costa” n−1 operazioni

Ux= y ⇒
{ x n= y n /unn
x k =(bk −akk +1 y n)/ukk
per k=n−1 , ..., 1. “Costa” 2 n−1 operazioni

Perciò, per risolvere l'intero sistema, dovrò fare 2(n−1)+n−1+2 n−1=5 n−4 operazioni.
Questo metodo viene detto “di Thomas”.

Osservazioni e teoremi . Si può dimostrare che le condizioni necessarie e sufficienti affinchè


(n) (n) (n)
∃! A con det ( A )≠0 e ∃!b
è che tutti i minori principali di A siano diversi da 0.
La validità del metodo di Gauss è sempre vera:
1) Per le matrici a dominanza diagonale stretta, ovvero che soddisfano
n k−1 n

|aii|> ∑ |aij|⇔|akk|> ∑ |aij|+ ∑ |aij|


j=1 , i≠ j j=1 j=k+1
T
2) Se A= A , λ( A)>0 , Gauss “funziona”.

10
(n)

Se i vari metodi funzionano, ho che det( A)=det ⏟
( A ) =det ⏟
(U )=det (L)
Gauss Doolittle Crout
Si osservi che per trovare l'inversa di una matrice A tramite i metodi prima analizzati, posso risolvere
Ax=e k ∀ k=1,... , n
dove e k è la k -esima colonna della matrice identità. Le x trovate mi daranno infatti A−1 .

3.4 Metodi iterativi

( k)
Un metodo iterativo convergente è tale che lim k→+∞ x = x ; l'intenzione sarà quella di fermarsi ad n tale
che ‖x (n)− x‖<ϵ, ove ϵ è una tolleranza fissata e ‖⋅‖ una opportuna norma vettoriale.

Occupiamoci per ora dei metodi iterativi di questo tipo:

(0 ) (k+ 1) ( k)
x assegnato, x =Bx + f , k≥0

con f dipendente dal termine noto b e B matrice di iterazione del metodo.

In questo caso, un metodo si dice consistente se Ax=b ⇔ x=Bx + f con det (I−B)≠0 , dato che
( I−B) x=f .

TEOREMA 3.4.1: Condizione necessaria e sufficiente affinchè un metodo consistente converga per ogni
scelta del vettore iniziale, i.e. ∀ x (0 )∈ℝ n , è che

ρ(B)= max|λi (B)|<1


1≤i≤n

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


Dimostrazione: x =Bx + f e x=Bx + f per ipotesi di consistenza ⇒e =Be =B (Be )=...=
=...=Bk +1 e( 0) ; B k+1 e (0) →0⇔ρ(B)<1, condizione assunta nelle ipotesi.

TEOREMA 3.4.2: Condizione sufficiente affinchè un metodo consistente converga ∀ x (0) ∈ℝ n è che

∃‖⋅‖:‖B‖<1

Dimostrazione: ρ(B)=inf ‖B‖⇒ρ(B)≤‖B‖<1 ⇒ per teorema precedente, concludo.


‖⋅‖

Chiamiamo:
1) ‖Bm‖ il fattore di convergenza dopo m iterazioni;
2) ‖B m‖1/m il fattore medio di convergenza dopo m iterazioni;
1 m
3) Rm (B)=− m log‖B ‖ la velocità media di convergenza dopo m iterazioni;
4) R (B)=lim k→+∞ Rk (B)=−log ρ(B) la velocità asintotica di convergenza .

Per la relazione appena vista, ρ(B) è detto anche fattore asintotico di convergenza .

11
Metodi iterativi lineari . Per costruire metodi iterativi lineari consistenti, si usa lo “splitting”, strategia che
consiste nella decomposizione additiva della matrice A della forma A=P−N , dove P ed N sono due
matrici opportune e P non è singolare. La matrice P è detta anche matrice di precondizionamento o
precondizionatore ; essa sarà anche tale che K (P)< K ( A ).
I metodi di questo tipo sono della forma:

{ x (0 ) assegnato
Px (k+ 1)=Nx (k) +b

La matrice di iterazione per tali metodi è B=P−1 N , mentre f =P−1 b. Possiamo riscrivere il metodo in
questo modo:
(k+ 1) (k) −1 (k)
x =x + P r
(k) (k)
ove r =b−Ax è il residuo al passo k .
Possiamo vedere il metodo anche in questa forma:

x (0 ) dato , r (k)=b−Ax (k ) , Pz (k)=r(k ) , x( k+1 )= x(k )+ z ( k) , k≥0

T
TEOREMA 3.4.3: Primo teorema di convergenza. Se A , P+ P − A sono simmetriche e definite positive,
allora det (P)≠0, ρ(P−1 N )< 1.

TEOREMA 3.4.4: Secondo teorema di convergenza. Se A , P , 2 P− A sono simmetriche e definite positive,


allora ρ(P−1 N )<1 , i.e. il metodo converge.

{
Siano D=diag( A ), E : e ij = 0 se i≤ j ed F : f ij = 0 se i≥ j
−aij se i> j −aij se i< j {
Ipotizziamo che det ( D)≠0; ciò si può ottenere riordinando le righe di A , dato che det ( A)≠0.

Metodo di Jacobi . Prendiamo P=D ed N =E+ F . Si nota che P−N = A . La matrice di iterazione è
−1 −1
B J =P N =D (E+ F )

(k +1) −1 ( k)
Visto che il metodo è x =D [( E+ F) x + b]; visto per componenti, risulta

( )
n
1
x (ki )=x (ki )+ bi −∑ aij x (jk) per i=1,... , n e k≥0
aii j=1

n
da cui si vede il residuo r =bi −∑ j=1 aij x j e z =r /a ii .
(k) ( k) ( k) (k)

Metodo JOR (o del rilassamento simultaneo) . Generalizzando il metodo di Jacobi, otteniamo JOR:

x (k+1)=x (k )+ω D−1 r (k)=ω (x (k)+ D−1 r (k))+(1−ω) x (k)

12
Da questa relazione ricaviamo la matrice di iterazione:

B JOR =I −ω D−1 A (=ω B J +(1−ω) I )

Questo metodo è consistente per ogni ω≠0 e coincide con Jacobi per ω=1.

Metodo di Gauss-Seidel . La differenza fra questo metodo e quello di Jacobi visto precedentemente è l'uso
dei valori di x (ki +1) appena essi sono disponibili. Per componenti risulta:

( )
i−1 n
1
x (i k+1)=x (ki )+ b −∑ a x ( k+1)−∑ aij x (jk) per i=1,. .. ,n e k≥0
aii i j=1 ij j j=i

(k +1) ( k)
Ovvero, ( D− E) x =F x + b. Dunque la matrice di iterazione del metodo è data da

−1
BGS =(D− E) F

Metodo SOR (o del rilassamento successivo) . Generalizzando il metodo di Gauss-Seidel, otteniamo SOR:
(k+ 1) −1 (k +1) −1 ( k) −1 ( k)
x =ω (D E x + D Fx + D b)+(1−ω) x . Ricordando che A=D−( E+ F ), ritroviamo la
seguente forma:

−1
x
(k+1) (k)
(1
=x + ω D− E ) r
(k )

ove r (k)=b−Ax (k) . La matrice di iterazione corrispondente è


−1
−1 −1 −1 1
B(ω)=B SOR=(I −ω D E) [(1−ω) I +ω D F]=I − ω D− E ( ) A

Il metodo risulta consistente per ogni ω≠0 e per ω=1 coincide con il metodo di Gauss-Seidel.

TEOREMA 3.4.5: Se A è a dominanza diagonale stretta, i.e. |aii|> ∑ j≠i |aij|, allora il metodo di Jacobi ed il
metodo di Gauss-Seidel convergono.

−1
Dimostrazione: ‖BJ‖∞=‖D (E+ F )‖∞ , dove (BJ )ij =−aij /aii se i≠ j , 0 altrimenti. Nell'i -esima riga, ho
n n n
che ∑ j=1 |(BJ )ij|=∑ j=1 , j≠i |aij|/|aii|=1/|aii|∑ j=1, j≠i |a ij|<1 poichè A è a dominanza diagonale stretta.
Dato che ho preso una i generica, il ragionamento vale ∀ i ⇒Dunque ho che

( )
n
1
‖BJ‖∞= max ∑ |aij| <1
i=1 , ... ,n |a ii| j=1, j≠i

da cui si ricava che il metodo di Jacobi converge. Da teorema 3.4.8, segue che anche Gauss-Seidel converge.

TEOREMA 3.4.6: Se A= AT , λ( A )> 0, allora Gauss-Seidel converge.


T
Dimostrazione: P+ P − A=(D−E)+(D−F )− A=2 D−E−F− A=D+( D−E−F )−A =D
Valgono le ipotesi del primo teorema di convergenza (teorema 3.4.3).

13
T
TEOREMA 3.4.7: Se A= A , λ( A )> 0 e se λ(2 D− A )> 0, allora Jacobi converge

Dimostrazione: Segue dal secondo teorema di convergenza, dato che P=D .

TEOREMA 3.4.8: Se A è tridiagonale, allora ρ(BGS )=ρ2 (BJ )

Conseguentemente, i metodi di Jacobi e Gauss-Seidel o convergono entrambi o divergono entrambi. Se


convergono, la velocità di convergenza di Gauss-Seidel è doppia rispetto a quella di Jacobi, ovvero,
(k )
considerato x=lim k→+∞ x ho che

∃ K :∀ k≥K , ‖x−x (k)‖≤ϵ, K J = K GS /2.

TEOREMA 3.4.9: Se A= AT , λ( A )> 0⇒ JOR converge se 0< ω<2/ρ( D−1 A)

Dimostrazione: det(λ (BJOR ) I −BJOR )=det(λ (BJOR )I −( I−ω D−1 A ))=

=det((λ(B JOR )−1) I +ω (D−1 A ))=det ω ω[


λ (BJOR )−1
]
I + D−1 A =ω det (λ (−D−1 A )I −(−D−1 A))
dato che λ (−D−1 A )=(λ (BJOR )−1)/ω ; λ(B JOR )=ω λ(−D−1 A)+1=1−ω λ(D−1 A)
Dunque il metodo converge se |1−ω λ(D−1 A)|<1, i.e. 0<ω λ( D−1 A)<2⇒ 0<ω ρ( D−1 A)<2

TEOREMA 3.4.10: Se Jacobi converge, allora JOR converge se 0<ω≤1

TEOREMA 3.4.11: ρ(B (ω))≥|1−ω|.Ovvero, una condizione necessaria per la convergenza di SOR è che
0<ω <2
T
TEOREMA 3.4.12: Di Ostrowski. Se A=A , λ ( A)> 0⇒ condizione necessaria e sufficiente affinchè SOR
converga è che
0<ω <2

TEOREMA 3.4.13: Se A è a dominanza diagonale stretta, allora SOR converge per 0<ω≤1.

Metodi di Richardson stazionari . Considerata la matrice di iterazione

−1
B R =I −α P A con P invertibile e α∈ℝ∖ {0}

Otteniamo la famiglia di metodi tali che x (0 ) è dato, x (k +1)=x ( k)+ α P−1 r( k) , r (k)=b− Ax( k) . Analogamente,

{
x (0) assegnato
r(0 )=b− Ax( 0)
Pz =r
( k) ( k) per k≥0
(k +1) (k) ( k)
x =x + α z
(k +1) (k) (k)
r =r −α A z

Di questi metodi fanno parte Jacobi, Gauss-Seidel e JOR.

14
Metodi di Richardson non stazionari . Questi metodi hanno come matrice di iterazione

−1
Bα =I −α k P A
k

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


E sono dati da x =x + αk P r per k ≥0 . Altra forma analoga per indicare questi metodi è

{
x (0) assegnato
(0) ( 0)
r =b− Ax
(k ) ( k)
Pz =r per k≥0
(k +1) (k) (k )
x =x + αk z
r(k +1)=r( k)−αk A z(k)
calcolo di α k

TEOREMA 3.4.14: Un metodo di Richardson è convergente se e solo se, dati α≠0 , P : det( P)≠0 e
indicati con λi =λi (P−1 A)∈ℂ con i=1,. .., n , si ha

2 ℜ(λ i)
2
>1
α|λi|

Dimostrazione: λi (BR )=1−α λi ; |1−α λi|<1⇔(1−α ℜ(λi ))2 +(α ℑ(λi ))2<1 ⇔
2 α ℜ(λ )
⇔ 1−2 α ℜ(λ i )+ α2|λi|2<1⇔ 2α ℜ(λ i )>α 2|λi|2 ⇔ 2 2 i >1
α |λi|

Come corollario, otteniamo che una condizione necessaria per la convergenza è che tutti gli autovalori di
P−1 A abbiamo ℜ(λ i ) con lo stesso segno di α .

−1
TEOREMA 3.4.15: Se λ i =λ i (P A)>0 con i=1,. .., n ordinati, i.e. λ 1≥λ2≥...≥λ n , allora Richardson
stazionario converge se e solo se vale

0<α< 2/ λ1

Il valore ottimale di α è α opt=2/(λ 1 +λ n). Otteniamo che il raggio spettrale della matrice B R è minimo se
α=α opt , con ρopt =(λ 1−λn )/(λ 1 +λ n).

T n
Metodo del gradiente . Consideriamo A=A , λ ( A)>0 con i=1,..., n , la funzione Φ: ℝ →ℝ t.c.

1 T T
Φ( y)= y Ay− y b
2

1 n n n
che in forma esplicita risulta Φ( y)=
2
∑i=1 yi ∑ j=1 aij y j −∑i=1 y i bi . Si nota che Φ( y)=0⇔ y=0
Questa funzione rappresenta un paraboloide n -dimensionale che ha un unico punto di minimo dato che A

15
è simmetrica e definita positiva.

TEOREMA 3.4.16: Risolvere il sistema lineare Ax=b equivale a trovare il punto di minimo di Φ( y).

1 T T
Dimostrazione: Φ( y)= (x+( y−x)) A (x+( y− x))−( x+( y− x)) b=
2
1 T
= [ x Ax+ x T A ( y−x)+( y− x)T A ( y−x)+( y− x)T Ax]−x T b−( y−x)T b=Φ(x)+( y−x)T A ( y−x)
2
Gli altri termini danno 0, infatti
A simmetrica
1 T T T T T T
(x A ( y−x)+( y− x) A x)−( y− x) b = ( y−x) Ax−( y−x) b=( y− x) ( Ax−b)=0
2
Da cui Φ( y)≥Φ(x), ed è uguale se e solo se y= x , da cui si ricava che x è il punto di minimo di Φ( y).
Partendo dal fatto che Φ( y) abbia minimo in x , calcoliamo ∇ Φ:

( )
n n n
∂ Φ =−b + 1
∂ yk k
2
∑ aik y i+ ∑ akj y j =∑ akj x j−bk ⇒ ∇ Φ( y)= Ay−b=0⇔ x= y ⇔ Ax−b=0
i=1 j=1 j=1

⇔ Ax=b
(0 ) (k)
Partendo da x , si vuole creare una successione x che si avvicini sempre di più al punto di minimo di Φ .
Ottengo il sistema:

{
( 0)
x dato
r (0)=b−Ax (0 )
(r (k) )T r ( k)
αk = (k) T con k≥0
(r ) A r(k)
( k+1) (k ) (k )
x =x +α k r
r (k+ 1)=r (k)−α k Ar(k)

Questo metodo converge sempre, ma è lento a convergere.

(0 ) (0) (0 )
Metodo del gradiente coniugato . Questo metodo riprende quello del gradiente. Presi x , r =b− Ax ,
(0 ) ( 0)
p =r , considero il sistema seguente:

{
( p (k ))T r (k)
α k = (k ) T
( p ) A p( k)
( k+1) (k ) (k )
x =x +α k r
r (k+ 1)=r ( k)−α k Ap(k )
(k+1) T (k)
(r ) Ap
β k = (k) T
( p ) A p(k)
p(k +1)=r ( k+ 1)−βk p(k)

(k) T ( k+1) (k ) T k ( k) T (k) (k ) (k+ 1) (k+ 1) ( j)


Se considero ( p ) r =( p ) r −αk ( p ) A p =0 , ottengo che p ⊥r . Dunque r ⊥p

16
( j) (i) (0 ) (n−1) n n
con j=0,. .. , k e p ⊥ p con i≠ j. Quindi lo spazio generato da p , ..., p ∈ℝ è ℝ e, sapendo che
(n) (0 ) (n−1) ( n)
r ⊥ p , ..., p , ricaviamo r =0, da cui

x(n)=x

Questo metodo converge dopo n passi. Tuttavia potrebbero esserci errori al calcolatore. In ogni caso, esso
rimane il miglior metodo per le matrici simmetriche definite positive.

Precondizionamento. Queste matrici servono per riformulare i problemi in modo che essi siano più semplici
a
( )
n 1 /2
1) Se A≠ A , considero P=D con d ii= ∑ j=1 aij ⇒(P A)ij = ij . Tuttavia (P A ) ≠( P A )
T 2 −1 −1 T −1

aii
2) Se A= A , λ( A)>0 , prendo P=(diag( A)) e considero P A P−1 y=P−1 b
T 1 /2 −1

aij
(P−1 AP−1)ij =
√ aii √ aij
3) Se A= A , per mantenere la simmetria, cerco precondizionatori destri e sinistri tali che P D =P ST .
T

4) Un altro modo per precondizionare una matrice sono le fattorizzazioni LU incomplete, ovvero cercare
una matrice triangolare inferiore Lin ed una superiore U in tali che il residuo A− Lin U in soddisfi qualche
particolare proprietà.

Criteri d'arresto per metodi iterativi . Per semplicità, assumeremo la monotonia come ipotesi.
(k +1) (k) (k) ( k+1) (k)
Criterio basato sull'incremento: partendo dalla relazione e =Be =B ((x− x )+(x − x ))
( k+1) ( k+1 ) ( k+1 ) (k )
Otteniamo che ‖e ‖≤‖B‖(‖e ‖+‖x −x ‖). Dunque, ipotizzando ‖B‖, <1
‖B‖
‖e( k+1)‖≤ ‖x(k+1 )−x (k )‖
1−‖B‖
Da cui
‖B‖k +1 (1) (0)
‖x (k +1)−x ( k)‖≤ ‖x − x ‖
1−‖B‖

Questa disuguaglianza può essere usata per stimare il numero di iterazioni necessarie: fissato ϵi e posto
‖x (k+1)− x (k )‖≤ϵi , abbiamo che
k+ 1 1−‖B‖
‖B‖ ≤ϵi (1) (0)
‖x −x ‖

( k) −1 −1 ( k) −1 (k) (k) −1 (k )
Criterio basato sul residuo: x−x =A b− A ( Ax )= A r ⇒‖x− x ‖≤‖A ‖‖r ‖
(k) −1 (k)
Considerato Ax=b ⇒‖b‖≤‖A‖‖x‖⇒1/‖x‖≤‖A‖/‖b‖. Da cui ‖x−x ‖/‖x‖≤‖A ‖‖r ‖‖A‖/‖b‖.
Dunque
‖x−x (k)‖ ‖r ( k)‖
≤K ( A )
‖x‖ ‖b‖

(k)
Arresto il sistema quando ‖r ‖/‖b‖<ϵr ; è un buon test se la matrice è ben condizionata.

17
EQUAZIONI NON LINEARI
4.1 Convergenza, velocità, ordine e fattore di convergenza

0
Dati I=[a , b]⊆ℝ, f ∈C (I ), supponiamo ∃! α∈I t.c. f (α)=0 ; in questo caso α si dice “radice” di f .
Studieremo generalmente metodi iterativi; ovvero creeremo successioni x ( k) t.c. lim k→+∞ x (k)=α .

L'ordine di convergenza di un metodo numerico è p se ∃C≥0 ,∃ k 0 > 0: ∀ k≥k 0 si ha

|xk +1−α|
≤C
|xk −α|p

Il più piccolo valore di C per cui è vera la relazione qui sopra si chiama “fattore di convergenza”.

4.2 Approccio geometrico

Metodo di Bisezione . Questo metodo si basa sul seguente teorema:

0
TEOREMA 4.2.1: Degli zeri per le funzioni continue. Sia f ∈C ([a , b]). Se f (a)f (b)<0 , allora esiste
α∈(a , b) t.c. f (α)=0

Siano a=a0 e b=b 0 . Nell'ipotesi in cui f (a0 )f (b0 )<0 , si consideri x 0 =(a+b)/2. Se x 0≠0 , si supponga
f (x 0) f (a)< 0. Si chiami quindi x 0=b1 , a=a1 ; allora x k =(ak +bk )/2. Dunque:

{
f (a0 )f (b0 )<0
a+b
x 0=
2
f (x k )=0⇒ α=x k
f (ak )f (x k )<0 ⇒ak +1=ak , bk+ 1=x k
f (x k ) f (bk )> 0⇒ak +1= x k , b k+1=bk
a +b
x k+ 1= k +1 k+1 con k≥0
2

Questo metodo converge sempre, ma non in modo monotono poichè non vale sempre che

|xk +1−α|<|x k −α| ∀ k≥k 0

Dunque il metodo non ha ordine poichè non può esistere C . Si noti però che
2
|x 0−α|≤(b0−a0 )/2 ; |x1−α|≤(b1−a1 )/2=(b−a)/2
Da cui
1
|ek|=|xk −α|≤ k+ 1 (b−a)
2

18
1 k +1
Dato risultato permette di predeterminare l'errore. Si consideri |e k|≤ (b−a)≤ϵ , allora 2 ≥(b−a)/ϵ
2k +1
k≥log 2 ( b−a
ϵ ) −1

Se, avendo e j , voglio trovare |e k|≤|e j|/10 , uso la relazione(b−a)/2k +1≤(b−a)/(10⋅2 j+1 ), per cui si ha che

k− j≥ log 2 10≃3.32

Per essere sicuro della cifra successiva, si devono dunque fare 4 passaggi in più.
Il metodo è quindi lento a convergere ed è efficiente solo per radici semplici. Se considero una funzione con
numero di radici dispari, il metodo converge ad una sola radice.

1
Per avere proprietà di convergenza migliori, si supponga f ( x)∈C ([a , b]) e che ∃!α ∈[a , b]: f (α)=0
Si può quindi scrivere che f (x )=f (α)+( x−α) f ' (ξ) con ξ∈I (α) (intorno di α ). L'idea è di creare due
successioni {x k }: xk →α ed {mk }: mk ≃f ' ( x k )→f ' (ξ). Si consideri quindi:

{
x 0 assegnato
1
x k+1=x k − f ( x k ) con mk ≠0
mk
k ≥0

Metodo delle corde . Si pone mk =m=(f (b)−f (a))/(b−a) per ogni k≥0 , ottenendo il sistema

{
b−a
x 0=a− f (a)
f (b)−f (a) con k≥0
b−a
x k+ 1=x k − f (x k )
f (b)−f (a)

Se la radice α è tale che f ' (α )≠0, allora l'ordine del metodo è p=1, altrimenti non si hanno informazioni
utili sulla convergenza.

Metodo delle secanti . Posto mk =(f (x k )−f (x k−1 ))/(x k −x k−1 ) per k ≥1, si ottiene

{
x 0 , x1 dati
x k −x k−1 con k≥1
x k +1=x k − f ( xk )
f ( x k )−f (x k−1)

Dato metodo ha ordine p=(1+ √ 5)/2≃1.63 se f ∈C 2 (I α ) ed è possibile assumere f ' (α)≠0 .

Metodo Regula Falsi . Scegliendo mk =(f ( x k )−f (x k ' ))/(x k −x k ' ), dove k ' è il più grande indice per cui
f (x k ) f ( x k ' )<0 , si ottiene un metodo simile a quello delle secanti. Si noti anzitutto che k ' è semplice da
trovare: se f (x k ) f ( x k−1)<0 , allora k ' =k−1 ; altrimenti k ' =(k−1)' .
Il sistema del metodo è il seguente:

19
{
x 0 , x 1 dati
x k − xk ' con k≥0
x k+1=x k − f (x k )
f ( x k )−f (x k ' )

Questo metodo, pur avendo una complessità computazionale simile a quella del metodo delle secanti, ha
ordine di convergenza lineare, ovvero p=1.

Metodo di Newton(-Rhapson) o delle tangenti . Supponendo f ' (α)≠0 (ovvero α radice semplice), si pone
mk =f ' ( x k ) ∀ k≥0, da cui si ottiene

{
x 0 dato
f (x k ) con k≥0
x k +1=x k − per f ' (x k )≠0
f ' ( xk )

Dato metodo ha un costo computazionale più elevato, che tuttavia è compensato dall'ordine, che è p=2.
Se invece α è tale che f ' (α)=0 , il metodo diventa di ordine p=1 e dunque non è preferibile rispetto agli
altri metodi.

0
Metodo delle iterazioni di punto fisso . Si consideri il seguente approccio generale: data f ∈C ([a , b]), è
sempre possibile trovare Φ funzione tale che il problema f ( x)=0 sia equivalente a Φ(x)=x , ovvero ad un
problema di punto fisso. Da questo ragionamento possiamo ottenere i metodi della forma

{ x 0 dato
x k +1=Φ(x k )
con k≥0

TEOREMA 4.2.2: Di esistenza e convergenza globale. Si considerino le seguenti ipotesi:


I1) Φ:[a , b]→[a , b]
1
I2) Φ∈C ([a , b])
I3) ∃ K :0< K <1 t.c. |Φ '( x)|≤K ∀ x∈[a, b]
Valgono i seguenti fatti:
T1. ∃!α ∈[a , b] t.c. α=Φ(α)
T2. x k+1=Φ(x k ) converge ad α ∀ x 0 ∈[a , b]
xk+ 1−α
T3. lim =Φ' (α)
k →+∞ x k −α

|Φ '(α)| è detto fattore asintotico di convergenza , mentre R=−log (|Φ ' (α)|) è la velocità di convergenza.

TEOREMA 4.2.3: Di Ostrowski (o convergenza locale). Sia Φ∈C0 ( I α ) derivabile tale che ∃α : α=Φ(α).
Se |Φ ' (α)|< 1, allora
k→+ ∞
∃δ>0 :∀ x 0 t.c. |x 0−α|<δ , x k+1=Φ( x k ) → α

TEOREMA 4.2.4: Se Φ∈C p+1 (I α ), Φ( j) (α )=0 con j=1,..., p , Φ( p +1) (α)≠0 , allora il metodo iterativo
x k+1=Φ(x k ) converge ed è di ordine p+1 e si ha:

20
( p +1)
x k+1−α Φ (α )
lim p +1
=
k→+∞ ( x k −α) ( p+1)!

Si osservi che i metodi della corda e di Newton possono essere visti come metodi delle iterazioni di punto
fisso, considerate rispettivamente Φ( x)= x−f ( x)(b−a)/(f (b)−f (a)) e Φ(x)= x−f ( x)/ f ' (x); si
possono dunque utilizzare i teoremi sulle iterazioni di punto fisso per studiare la convergenza dei metodi.

1
Si consideri il metodo delle corde ( m=(f (b)−f (a))/(b−a)) e Φ( x)= x−m f ( x). Sia f ∈C (I α ). Allora
Φ '( x)=1−mf ' (x). Si nota facilmente che se α è doppia, cioè se f ' (α)=0 , Φ ' (α)=1 e non si può
dunque garantire la convergenza del metodo. Altrimenti, se α è semplice, ovvero f ' (α)≠0 , si ha
|1−m−1 f ' (α)|<1, da cui 0<m−1 f ' (α)<2 . Dunque m deve essere concorde a f ' (α) e converrà prendere
f (b)−f (a)
b−a<2
f ' (α)

Considerando l'ordine, si ha p=1 se e solo se m≠1/f ' (α ), altrimenti p=2.

Per il metodo di Newton, presa f ∈C 1 ([a , b]) tale che f ' ( x)≠0, si ottiene

f (x) f ' (x)


Φ ' (x)= 2
(f ' (x))

II II
Da cui si ha Φ' (α )=0; inoltre, Φ (α )=f (α)/f ' (α ). Quindi il metodo di Newton è di ordine p=2.
Newton possiede tuttavia dei limiti: esistono situazioni in cui x k+ 1=x k+3 e x k = x k+ 2 , quindi si continua a
tornare sugli stessi punti. La convergenza è certa se f è monotona e non ha punti di flesso.
Inoltre, se α non è una radice semplice, Newton risulta poco utile. Si ottiene infatti Φ ' (α)=1−1/m , per
cui Φ' (α)≠0 . Se conosco m , ovvero la molteplicità di α , a priori, allora posso introdurre il metodo di
Newton modificato, che ripristina la convergenza:

f (x k )
x k+1=x k −m
f ' (x k )

4.3 Radici di polinomi algebrici

Si consideri il caso in cui f sia un polinomio di grado n≥0, cioè della forma

n
p n (x)= ∑ a k x k
k=0

con a k ∈ℝ. Denotate con α j ∈ℂ le radici di dato polinomio, vale il seguente risultato:

TEOREMA 4.3.1: Di Cauchy. α j ∈Γ={z∈ℂ ||z|≤1+ η} con η= max |ai /an| e j=0,..., n .
0≤i≤n−1

Da questo risultato si deduce che le radici reali appartengono a Γ∩ℝ.

21
La deflazione è un metodo per la valutazione di tutte le radici di un polinomio tramite un procedimento
automatico. Algebricamente, è equivalente alla rappresentazione seguente:

pn (x)=a0 + x(a1+ x(a2+...+ x(a n−1+ an x)...))

n
la quale richiede n addizioni ed n moltiplicazionied è quindi preferibile alla forma ∑k=0 ak x , che richiede
k

n addizioni e 2n−1 moltiplicazioni.

Metodo di Horner . L'espressione appena vista sta alla base del metodo di Horner, il cui procedimento è

{ bn =an
b k =ak +b k+1 z
con k=n−1,..., 0

n−1
Da cui si ottiene b0= pn (z). Dunque, il polinomio qn−1 ( x ; z)= ∑k=1 bk x k−1 risulta essere il quoziente
della divisione di pn per x−z :

p n (x )=b 0 +(x−z)qn−1 (x ; z)

Se z è una radice di pn , allora si ha b0= p n (z)=0 e quindi pn (x)=( x− z)q n−1( x ; z). Ponendo qn−1 (x ; z)
uguale a 0, posso ripetere il procedimento.
Per rendere più veloce l'algoritmo, individuiamo qn−1 (che poi equivale a pn '( x)) aggiungendo al sistema
precedente

{
c n=0
c k =bk+ 1+ c k+ 1 x
con k=n−1 , ..., 0

Da cui, analogamente a prima, ottengo c 0 =q n−1 (x ; z)= pn ' (x).

Per quanto osservato, conviene adottare il seguente procedimento di deflazione: per m=n, n−1,..., 1
1) si trova una radice r di p m con un opportuno metodo di approssimazione;
2) si calcola qm−1 (x ; r) con il procedimento su c n ;
3) si pone pm−1=qm−1 ;

Metodo di Newton-Horner . Come opportuno metodo di approssimazione (punto 1) è possibile applicare il


metodo di Newton al procedimento di Horner, ottenendo quindi

{
x 0 ∈ℂ dato e tale che ℑ(x 0)≠0
b (x ) per k≥0
x k+ 1=x k − 0 k
c 0 (x k )

dove per c 0 (x k ) si intende c 0 come visto, ma con x k al posto di x , e per b0 (x k ) si intende b0 con x k invece
di z .

22
4.4 Criteri d'arresto

Controllo dell'incremento . Sia e k+ 1 :=x k+1−α . Se si considerano i metodi di iterazione del punto fisso,
e k +1=Φ(x k )−Φ(α)=Φ(ξ k )(x k −α )
Da cui |e k +1|≃|Φ ' (α)||e k|. Inoltre,
x k +1− x k = x k +1−α+α− x k =e k+1−e k =Φ ' (ξ k )e k −e k =(Φ(ξ k )−1) ek
Dunque è possibile fare la seguente approssimazione:

1
|ek|≃ |x − x |
|1−Φ ' (α)| k+1 k

Se |Φ' (α)|≠0 , è possibile approssimare l'errore con la relazione |e k+1|≃|x k+ 1−x k||Φ ' (α)|/|1−Φ ' (α)|. Se
non si ha una stima precisa di Φ' (α), si può considerare la costante K o la relazione T3 di teorema 4.2.2.
Con l'utilizzo di K , si ottiene |e k+1|≃|x k +1−x k| K /(1−K ).

Altri criteri d'arresto derivano immediatamente dai teoremi studiati.

4.5 Cenni al metodo di Newton per sistemi non lineari

Si consideri il problema

{
f 1 (x 1 , x 2 ,... , x n)=0
f 2 (x 1 , x 2 ,... , x n)=0

f n (x 1 , x 2 ,... , x n)=0

n n
Ovvero F (x)=0 con F :ℝ →ℝ . Posto (J (F ))ik =∂ f i ( x 1 , x 2 ,... , x n )/∂ x k con i , k=1,. .. , n, il metodo di
Newton può essere visto nei seguenti due modi:

{ {
(0) (0 )
x dato ⇔ x dato(k) ( k+1) (k )
(k +1) (k) −1 ( k) (k) (k)
x =x −(J (F )) ( x ) F (x ) J (F )(x )(x − x )=−F ( x )

Poichè qualunque approccio visto sulle equazioni si può estendere al caso di sistemi, F ( x)=0⇔ x=Φ(x)
Per Φ opportuna. Inoltre, considerato F ( x)=Ax −b=0 , allora J (F )= A . Si ha

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


A (x −x )=−Ax + b⇒ Ax =b

Dunque con il metodo di Newton si ottiene che x (1) è la soluzione del sistema.

23
INTERPOLAZIONE
Si supponga di avere un intervallo [a ,b ]⊂ℝ e si chiami Rn +1={a≤ x0 ≤x 1≤...≤x n≤b}reticolo. Vengono
dati y 0 , y 1 , ... , y n ∈ℝ . A questo punto, si considerano le coppie

(x i , y i ) con i=0,..., n

che formano quella che si chiama funzione discreta . L'obiettivo dell'interpolazione è cercare una funzione
I ∈C0 ([a , b]) t.c. I (x j )= y j con j=0,... , n. Questo procedimento è detto interpolazione.

n n
Se, invece, considero Q ∈ P m t.c. ∑i=0 (Q( x i )− y i )2= min ∑i=0 (P( x i )− y i )2 , si tratta del metodo dei
P∈P m

minimi quadrati . Quando il minimo dei quadrati è 0 , ottengo il metodo di interpolazione.

5.1 Interpolazione polinomiale

Voglio costruire un polinomio Pn ( x)∈ P n , detto interpolatore , tale che P n (x i )= y i con i=0,... , n.
I punti x i si dicono nodi di interpolazione . Si ha il seguente risultato:

TEOREMA 5.1.1: Di Langrange, sull'interpolazione di Lagrange. Siano (x i , y i ) con i=0, ..., n con x i ≠x j
per i≠ j , i , j=0,..., n . Allora
∃! Pn ( x)∈ P n (x ): P n (x i )= y i con j=0,... , n

Dimostrazione: Sia
n
x−x j
l i ( x):= ∏ ∈Pn
j=0 x i −x j
j≠i
detto polinomio caratteristico di Lagrange . Si ha chel i (x k )=1 se i=k , 0 se i≠k
A questo punto si consideri
n
P n (x):= ∑ y i l i (x)
i=0
detto polinomio interpolatore di Lagrange . Allora Pn ( x k )= y k per k=0, ..., n
Verifichiamo una diversa costruzione del polinomio per verificare l'unicità. Pn ( x i )= y i con i=0,..., n :
n
allora Pn (x k )=∑ j=0 a j x k = y k per k=0 , ..., n . Si ha dunque
j

( )[ ] [ ]
2 n
1 x 0 x 0 ... x 0 a0 y0
1 x 1 x 21 ... x 1n a1 = y 1
Ma=
⋮ ⋮ ⋮ ⋮ ⋮ ⋮
1 x n x n ... x nn
2 an yn

Per l'unicità, supponiamo che Pn ( x)≠Q n (x) con Pn ( x i )=Qn ( x i )= y i con i=0 , ..., n
Considero D n (x)=Pn ( x)−Q n (x)∈ P n . Poichè D n (x i )=0 con i=0,..., n , allora D n (x)=0 , altrimenti

24
sarebbe un polinomio di grado n con n+1 radici. Dunque P n (x)=Qn ( x).

Il metodo di interpolazione di Langrange fa quindi riferimento a

n n
x−x j
l i (x):= ∏ , Pn (x)=∑ y i l i (x)
j=0 xi − x j i=0
j≠i

In alcuni casi, sarà utile supporre di avere una funzione f (x) t.c. f ( x i )= y i in modo da poter scrivere

(x i , f ( x i )) con i=0,... , n

TEOREMA 5.1.2: Sia dato un reticolo Rn+ 1={a≤x 0 < x 1<...< x n≤b} e x∈ℝ e si indichi con I x il più
n +1
piccolo intervallo contente x e [a ,b ]. Si consideri ora f ( x)∈C ([a , b]) e la funzione discreta ( x i , f (x i ))
con i=0,... , n. Sia inoltre Pn f ( x)∈ P n polinomio di Lagrange che interpola la funzione discreta data.
Allora ∃ξ∈I x t.c.
(n +1)
f (ξ)
En f (x):=f (x)− Pn f ( x)= ω (x)
(n+1)! n +1
n
dove ω n+1 (x)=∏ j=0 (x− x j )∈ P n +1 è detto polinomio nodale .

Dimostrazione: Se ∃ k : x=x k , allora E n f (x k )=C ωn ( x k )=0; la tesi è verificata. Se ∄k : x=x k , si prenda

E n f (x) E f (x)
G (t):=E n f (t)− ω n+1 (t)=f (t )−P n f (t)− n ω n+1 (t )∈C n+1 ([a , b])
ω n+1 (x ) ω n+1 (x)

Considerato t= x k , G (x k )=0 per k=0,..., n . Inoltre, per t=x , G (x)=0 . Allora G(t) ha n+2 zeri,
(n+1 ) (n+ 1)
G ' (t ) ha n+1 zeri; quindi G (t) ha 1 zero. Si chiami ξ lo zero di G (t). Allora
E f (x) ( n+1)
G(n+1) (t )=f ( n+1) (t )−P n f (n+1) (t )− n ω (t )
ω n+1 ( x) n+1
Poichè Pn f ∈ P n , allora Pn f (n+1)=0 ; inoltre ω(n+1)
n+1 (t )=(n+1)!. Si ottiene

En f ( x)
0=G( n+1) (ξ)=f (n +1) (ξ)− (n+1)!
ωn+ 1( x)

Da cui la tesi.

0
TEOREMA 5.1.3: Si consideri la funzione discreta (x i , f (x i )) per i=1,..., n con f ∈C ([a, b]) e Pn f ( x).
Allora ∀ n ∃C n (f ) t.c.

‖f −Pn f‖∞≤C n (f )[1+ Λ n (Rn +1)]

‖∑ ‖
n
dove Λ n ( Rn+ 1)= i=0
|l i (x)| ∞ , che è detta la costante di Lebesgue .

25
2
TEOREMA 5.1.4: Vale che ∀ Rn+ 1⊂[a ,b ] con xi ≠x j ∃C >0 :Λ n ( Rn+ 1)> π ln (n+1)−C ; allora

lim Λ(R n+1)=+∞


n→+∞

Scelto un reticolo R n+1 di nodi equidistanti, i.e. h=(b−a)/n e x i=a+ih con i=0,..., n , allora
2 n+1
Λ n (Rn+ 1)≈
e n ln (n)
Dunque con nodi equidistanti non si ha la convergenza di Pn f a f .

Controesempio di Runge . Si voglia approssimare f (x)=1/(1+ x 2) per −5≤x≤5 con l'interpolazione di


Lagrange su nodi equispaziati. Si verifica che esistono dei punti x interni all'intervallo tali che

lim |f (x)−Pn f ( x)|≠0


n →+∞

In particolare, il metodo diverge per |x|>3.63 ...Questo fenomeno è particolarmente marcato agi estremi
dell'intervallo.

Si consideri ( x i , y i ) con i=0,..., n e ( x i , ~


y i ) con i=0,..., n . Sia δ:=max |y i − ~
y i| si ha
0≤i≤n
n n n
~
Pn (x)− Pn ( x)=∑ y i l i ( x)−∑ ~
y i li ( x)=∑ ( y i −~
y i )l i ( x)
i=0 i=0 i=0
Da cui
n n

|Pn ( x)− P~n (x)|≤∑ |yi − ~


y i||li (x)|≤δ ∑ |li (x )|
i=0 i=0
Dunque
~
‖Pn ( x)− P n (x)‖∞≤Λ n (Rn +1)δ
Il metodo risulta ben condizionato e stabile se n è sufficientemente piccolo; nel caso dei nodi equidistanti,
se n<10.

Interpolazione composita di Lagrange . Per il condizionamento, è possibile suddividere l'intervallo [a ,b ] in


( j)
M parti [ x j , x j+ 1] con j=0,... , M −1. Presi Pk con j=0,... , M −1, si possono considerare

(x (i) (i) (k ) (0 )
j , y j ) con i=0,... , k (x j = x j+1 )

Da cui si ricava Pk , M (x)∈C 0 ([a , b]) : Pk , M (x)|[ x , x ]=P(kj) con j=0 ,... , M −1
j j +1

Verifichiamo se il metodo è ben condizionato: presi(t h , y h ), (t h , ~


y h) con h=0 , ..., n , si consideri [x j , x j+1 ]
per j=0 , ..., M −1 . Si ottengono le funzioni discrete ( x j , y j ) e ( x j , ~
(i) (i) ( i) (i)
y j ) con i=0,..., k ; si definisca
δ =max |y j − ~ y j |. Allora:
( j) (i) (i)

0≤i≤k

~( j)
‖P ( j)
k ‖ ( j) ( j)
− Pk ∞≤Λ k (R k+1 )δ con j=0 , ..., M −1

26
Quindi il metodo risulta ben condizionato prendendo k sufficientemente piccolo.

Si fissi j=0,..., M −1, x ∈[ x j , x j+1 ], f ∈C k+1 ([a , b]). Allora

(k +1) ( j)
f (ξ ) ( j)
E k f (x )=P(kj) (x)−f (x )= ω (x)
(k +1)! k +1

n
con ω(k j)+1 (x)= ∏i=0 (x− x(ji)). Si osservi che vale |ω(k+1
j)
(x )|≤hkj +1 , dove h j =x j+1−x j . Quindi |x−x(i)
j |≤h j .

Poichè |f ( k+1 )(ξ)|≤‖f ( k+1 )‖∞ , si ha |E(k j) f ( x)|≤‖f (k +1)‖∞ hk+1


j /[(k +1)!] ∀ x∈[ x j , x j+1 ]. Dunque

( j) ‖f (k +1)‖∞ k+1
‖E k f‖∞≤ h
(k+1)! j

Generalizzando il risultato,

( j) ‖f ( k+1)‖∞ k+ 1
‖Ek ,M f ‖∞=‖Pk , M −f‖∞= max ‖E k ‖∞≤ h
0≤ j≤M −1 (k+ 1)!

dove h= max h j . Perciò


0≤ j≤M −1

lim ‖E k , M f‖∞=0
M →+∞

Poichè k rimane fissato ed h→0 , dato che dipende da M . Tuttavia, anche se si giunge alla soluzione, la
funzione non è unica e la derivata può diventare discontinua.

Si riprenda il metodo di interpolazione di Lagrange; P n (x) può essere scritto in due modi alternativi:

n n
x−x j
1) Pn (x)=∑ y i ∏
i=0 j=0 xi −x j
j≠i
n n
yi
2) Pn ( x)=∑ n ∏ ( x−x j)
i=0
∏ j=0 , j≠i (xi− x j ) j=0
j≠i

Nella prima uguaglianza, calcolare i fattori costa n divisioni e n−1 prodotti; dopodichè rimane un'ultima
moltiplicazione esterna prima di calcolare la sommatoria. Ho quindi 2n(n+ 1) operazioni.

La seconda uguaglianza mostra invece una costante moltiplicata per un polinomio: il polinomio richiede
n−1 moltiplicazioni a cui se ne aggiunge 1 per moltiplicare il risultato con la costante. Dunque si ha
∑ (1+n−1)=n(n+1)
Il calcolo della costante costa n(n+1) operazioni, quindi se si cercano più valori dello stesso polinomio,
conviene considerare la seconda uguaglianza; se invece bisogna trovare solo un valore, è ininfluente quale
uguaglianza si scelga fra le due.

27
5.2 Spline cubiche interpolatorie

Spline . Considerati [a, b], Rn+ 1={a=x 0 < x 1< x 2< ...< xn =b}, ( x i , yi ) con i=0,... ,n , si vuole trovare una
funzione S(x)∈C k−1([a , b]) t.c. S (xi )= y i per i=0,... ,n e S( x)|[ x , x ] ∈ P k per i=0,... , n−1. Queste
i i+1

funzioni si chiamano spline di grado k .

Sia k=3 (spline cubiche) e si fissi i. Bisogna trovare Si (x i )= y i e S i ( x i+1)= y i+1 . Vale ovviamente che

II
Si (x)∈ P 3 ⇒ Si ' (x)∈ P 2 ⇒ Si ( x)∈ P 1

Si supponga di sapere SiIII (x i )=M i , SiIII (x i+1 )=M i+ 1=Si+1


III
(x i+1). Posto hi+1=x i+1− x i , integrando si
ottiene:

x−x i x−x i+ 1
SiII ( x)= M i+1− Mi
hi+1 hi+1
2 2
( x− x i ) ( x− xi+1 )
Si ' (x)= M i+ 1− M i +C i
2 hi+1 2 hi+ 1
3 3
(x− x i ) ( x− x i+ 1)
Si (x)= M i+ 1+ M i +C i ( x−x i )+ D i
6 hi+1 6 hi+1

Si noti che S i ( xi )=hi+12 M i /6+ Di = y i , da cui Di = yi −hi+ 12 M i /6 . Inoltre,


2 2
h i+1 hi+1
Si (x i+1)= M i+1 +h i+1 C i + y i− M i = y i+1
6 6
Dunque

C i=
1
[
hi+1
h 2
] y −y h
y i+1− y i − i+1 (M i+1−M i ) = i+1 i − i+1 (M i+1−M i )
6 hi+1 6
Si può scrivere quindi che

[ ] [ ]
2 2 2 2
(x i+ 1−x) −hi+1 y (x− x i ) −hi+1 y i+ 1
S i ( x)=(x i+1−x) M i + i +(x− xi ) M i+1 +
6 hi+1 hi+1 6 hi+1 hi+ 1

Si imponga ora la continuità della derivata prima al fine di trovare i valori di M i−1 , M i , M i+1 . Poichè
(x−x i )2 (x−x i+1)2 y i+1− y i hi+1
S i ' ( x)= M i+1− Mi + − ( M i+1− M i ),
2h i+1 2hi+1 hi+1 6
posta l'uguaglianza Si ' ( x)=S i−1 ' ( x), si ha:

h i+1 hi+ 1 hi hi y i+1− y i y i− y i−1


M i+1 +( + ) M i + M i−1= − con i=1,..., n−1
6 3 3 6 hi+1 hi

Per trovare i valori è possibile creare un sistema lineare ove M i sono i valori incogniti, i coefficienti formano
la matrice A , mentre la parte a destra dell'uguale è il vettore termine noto b . Si noti che la soluzione del
sistema AM=b esiste poichè A è tridiagonale a dominanza diagonale stretta.

28
Poichè la relazione vista sopra vale per i=1 , ..., n−1, rimangono fuori i valori di M 0 ed M n . Un modo per
ovviare a questo problema è assegnare ad essi dei valori: con M 0 =M n=0 , si parla di spline naturali . Un
altro metodo è imporre M 0 =f II (a) ed M n=f II (b). Vale il seguente teorema:

TEOREMA 5.2.1: Sia f ∈C 4 ([a ,b ]) e sia S (x) la spline cubica ottenuta interpolando la funzione discreta

(x i , f ( x i )) per i=0 , ..., n

II II
Siano inoltre M 0=f (a) e M n=f (b). Allora:

(k) ( k) 4−k (4 )
‖f −S ‖∞≤C k h ‖f ‖∞ con k=0,1,2,3

−1
ove h=max hi , C 0=5/384 , C 1=1/24 , C 2=3 /8, C3 =(β+β )/2 con β=h/ min hi
1≤i≤n 1≤i≤n
Nel caso di spline naturali, invece,

‖f ( k)−S(k )‖∞≤D k h2−k ‖f II (x)‖∞ con k=0,1

( k) (k) (k) (k)


Si noti che ‖f −S ‖∞= max ‖f −Si ‖∞
0≤i≤n−1

29
INTEGRAZIONE NUMERICA
b
In questo capitolo si considererà f ∈C ([a , b]) e si cercherà di approssimare I (f )=∫a f (x)dx , che può
0

non essere sempre valutabile in forma esplicita o comunque può risultare difficile da calcolare.
Cercheremo di “avvicinarci alla funzione”, i.e. presa f n→ f , considereremo I (f n)= I n (f )∼I (f ). Si ottiene
che l' errore di quadratura En (f )=I (f )−I n (f ) soddisfa

|En (f )|≤∫|f −f n|dx≤‖f −f n‖∞(b−a)


a

6.1 Formule di quadratura interpolatorie

Un modo di scegliere f n consiste nel prendere il polinomio interpolatore di Lagrange, dunque f n =Pn f .
In dato caso si ha

n b

I n (f )=∑ f (x i )∫ l i (x)dx
i=0 a

La consistenza per questi metodi avviene quando I n (c)=I (c) con c∈ℝ

Formula del rettangolo . Considerando il caso in cui n=0 , f 0 (x)=f ( x 0 ) e si ottiene la seguente formula:

I 0 (f )=f (x 0 )(b−a)

dove x 0 =(a+b)/2. Considerata h=b−a, risulta che I 0 (f )=h f (x 0 ). Poichè I 0 (c)=f (x 0)(b−a)=
=c(b−a)=I (f ), il metodo è consistente.

Formula del rettangolo composita . Diviso l'intervallo [a , b] con un reticolo R M +1 e preso x j ∈R M +1 , si usi
la formula del rettangolo sull'intervallo [x j , x j+1 ]. Definiti h j = x j+1−x j e x j+1 /2=(x j + x j+1 )/2, si ha

M −1
I C0 (f )= ∑ h j f ( x j+1/ 2)
j=0

M−1
Si verifica che I 0 (c)=∑ j=0 ( x j+1− x j )c=(b−a) c= I (c). Dunque anche questa formula è consistente.
C

Formula del trapezio . Nel caso in cui n=1, denotati con x 0=a , x 1=b , h=b−a, si approssima f con
f 1 (x)=a+[ f (b)−f (a)](x−a)/(b−a), da cui

h
I 1 (f ) [ f ( x 0 )+ f (x 1)]
2

Dato che I 1 (c)=(b−a)(c+c)/2= I (c), il metodo è consistente.

30
Formula del trapezio composita . Considerato R M +1 , [x j , x j+1 ], h j =x j+ 1−x j , si ha

M −1
hj
I (f )= ∑
C
1 [f (x j )+ f ( x j+1)]
j=0 2

Anche in questo caso si verifica che I C1 (c)= I (c); dunque il metodo è consistente.

Formula di Cavalieri-Simpson . Dati n=2 , x0 =a, x 1=(a+b)/2, x 2=b , h=(b−a)/2, si ottiene

h
I 2 (f )= [f (x 0 )+ 4 f (x 1)+ f ( x 2)]
3

Anche questo metodo è consistente e lo si prova con lo stesso metodo visto precedentemente.

Formula di Cavalieri-Simpson composita . Introducendo x k =a+ kH /2 con H =(b−a)/m e k=0,. .. ,2 m


per m≥1 , si ha

[ ]
m−1 m−1
H
I 2, m= f (x 0)+2 ∑ f (x 2 r )+ 4 ∑ f (x 2 s+1)+ f (x2 m )
6 r=1 s=0

Dato metodo è consistente.

6.2 Formule di Newton-Cotes

Le formule che verranno studiate sono un caso particolare delle formule di quadratura che seguono la
forma generale seguente:

n
I n (f )=∑ α i f ( x i )
i=0

dove x i sono i nodi e α i i pesi.


Le formule di Newton-Cotes sono basate sul metodo di interpolazione di Lagrange con nodi equispaziati in
[a , b]. Le formule viste precedentemente sono di Newton-Cotes e si possono riottenere ponendo n=0,1,2 .
Esse si dividono in:

- formule chiuse se a , b∈Rn +1 . In questo caso x 0=a , x n=b, h=(b−a)/n con n≥1;
- formule aperte se a, b∉R n+1 . In questo caso x 0 =a+h , x n=b−h, h=(b−a)/(n+ 2) con n≥2 .

Nel caso di formule chiuse, si ha


b b n nn
x−x j t− j
α i =∫ li (x )dx=∫ ∏ dx=h∫ ∏ dt
a a j=0, j≠i xi −x j 0 j=0 , j≠i i− j
n n
Per comodità, si introduce wi =∫0 ∏ j=0 , j≠i (t− j)/(i− j) dt , che dipende solo da n . Dunque

αi =h wi

31
n b
Presa f ( x)=c , P n (x)=∑i=0 c l i ( x)=c . Dunque ∫a Pn ( x)dx=c(b−a)=I (c); il metodo è consistente.
n
Da questa uguaglianza si evince anche che ∑i=0 αi =b−a; vale che

∑ w i=n
i=0

Considerate invece le formule aperte,


b n n+1 n
x− x j
α i =∫ ∏
x i −x j
dx=h ∫ ∏ t− j
i− j
dt
a j=0 −1 j=0
j≠i j≠i
n+1 n
Analogamente a quanto fatto con le formule chiuse, si consideri wi =∫−1 ∏ j=0 , j≠i (t− j)/(i− j)dt da cui
α i=h w i

n
Se il metodo è consistente, vale che ∑i=0 w i=n+2.

Il grado di esattezza è il massimo intero positivo r per cui si ha che I (f )=I n (f ) ∀ f ∈P r con un reticolo
Rn+1 .

n
TEOREMA 6.2.1: Dell'errore. Siano I (f ), I n (f )=h ∑i=0 wi f ( x i ), E n (f )=I (f )−I n (f ). Sia inoltre
n
Πn +1 (t)=∏i=0 (t−i). Allora:

n+2
1) Se n pari e f ∈C ([a , b]),
M n n+3 (n +2)
En (f )= h f (ξ)
(n+ 2)!
dove ξ∈(a , b) e vale

{
n

∫ t Π n+1 (t )dt <0 per le formule chiuse


M n= 0
n+ 1

∫ t Πn +1 (t )dt >0 per le formule aperte


−1

n+1
2) Se n dispari e f ∈C ([a , b]),
Kn n +2 (n+1)
E n (f )= h f (η)
(n+1)!
dove η∈(a , b) e vale che

{
n

∫ Πn+1 (t)dt <0 per le formule chiuse


Kn= 0
n+1

∫ Π n+1 (t )dt >0 per le formule aperte


−1

32
Dal teorema precedente si ricavano direttamente i seguenti corollari:

1) Il grado di esattezza è r=n+1 se n è pari, r=n se n dispari.


2) l'ordine è p=n+3 se n è pari, p=n+2 se n dispari.
3) Considerata f ∈C ∞ ([a , b]), per n→+∞ ,
hn+3 (n +2) n→+∞
f (ξ) → 0, M n→+∞ con n pari
(n+2)!
hn+2 (n+ 1) n→+ ∞
f (ξ) → 0 , K n →+∞ con n dispari
(n+1)!
Dunque non si può dire nulla sulla convergenza.

1
Per la formula del rettangolo, n=0, formula aperta, f ∈C 2 ([a ,b ]), h=(b−a)/2, M 0 =∫−1 t 2 dt =2/3>0 ,
si ottiene
1
E 0 (f )= h3 f II (ξ) con ξ∈(a ,b)
3
1
Per la formula del trapezio, n=1, formula aperta, f ∈C 2 ([a ,b ]), K 1=∫0 t (t−1)dt=−1/6<0, si ha
1 3 II
E1 (f )=− h f (η) con η∈(a , b)
12

Infine, per la formula di Cavalieri-Simpson, n=2, formula chiusa, f ∈C 4 ([a , b]), si ottiene che
2
M 2=∫0 t (t−1)(t−2)dt =−4/15< 0
2

Da cui
1 5 IV
E 2 (f )=− h f (ξ) con ξ∈(a , b)
90
M
Formule di Newton composite . Si considerino [a , b]= ∪ [ x j , x j+1 ], H j = x j+1−x j con x 0=a, x M =b e
j=0
( j) (0) (1) (k) ( i) ( i)
[ x j , x j+1 ]. Si costruisca R ={x j ≤x < x <...< x ≤x j+1 } onde risolvere (x j , f ( x j )) con i=0,... , k .
k+1 j j j
Da Lagrange si ottiene il polinomio
k
P(k j) (x )=∑ f (x (i) ( j)
j )l i ( x)
i=0
Quindi
b M −1 x j +1 M −1 x j+ 1
I (f )=∫ f (x)dx = ∑ ∫ f (x)dx≃ ∑ ∫ P(k j)( x)dx=: I k ,M (f )
a j=0 x j j=0 xj

L'integrale che approssima la soluzione può essere dunque scritto nel seguente modo:

M −1 k
I k , M (f )= ∑ ∑ f ( x j )αi
( i) ( j)

j=0 i=0

x j+ 1
ove α(i j) :=∫x l(i j) (x)dx .
j

Nel caso delle formule di Newton-Cotes (nodi equidistanti), H j =H =(b−a)/n. Si ricordi l'uguaglianza

33
x j +1

α = ∫ l i x dx=h w i con i=0 , ..., M


( j) ( j)
i
xj
k k
Perciò, se ho una formula chiusa, si ricava h=H / k e wi =∫0 ∏q =0 , q ≠i (t−q)/(i−q)dt ; con una formula
k +1 k
aperta si avrà invece che h=H /(k +2) e w i =∫−1 ∏q=0 , q ≠i (t−q)/(i−q)dt :
M −1 k
I k , M (f )=h ∑ ∑ wi f (x(ji) )
j=0 i=0

Nel caso del rettangolo, H =(b−a)/M , h=H /2 , w 0=2.


M −1 M −1
H x j + x j+1 x +x
I R (f )=I 0, M (f )= ∑ 2 f ( )=H ∑ f ( j j+1 )
2 j=0 2 j=0 2
Nel caso del trapezio, k=1, formula chiusa: H =(b−a)/ M , h=H , w 0=w1=1/2.
M−1 M −1
I T (f )=I 1, M (f )=H ∑ ( 12 f ( x j)+ 12 f ( x j+1))= H2 ∑ [f (x j)+f (x j+1 )]
j=0 j=0
Per Cavalieri-Simpson, k=2 , chiusa, H =(b−a)/ M , h=H /2, w0 =w2=1/3 , w1=4 /3.

( )
M −1 M −1
H 1 4 x j +x j+1 1 H x +x
I CS (f )=I 2, M (f )= ∑ f (x j )+ f ( )+ f ( x j+1) = ∑ [f (x j )+ 4 f ( j j+1 )+f (x j+ 1)]
2 j=0 3 3 2 3 6 j=0 2

0
TEOREMA 6.2.2: Del valor medio discreto. Siano u∈C ([a , b]), Rn +1⊂[a , b] punti distinti, δi con
i=0,... , n concordi di segno. Allora

n n
∃μ ∈(a , b) t.c. ∑ δ i u( x i )=u(μ)∑ δ i
i=0 i=0

Dimostrazione: si supponga δi >0 ∀ i ; il ragionamento è analogo se δi < 0. Si considerino


x m :u( x m )=min u(x), x M :u(x M )=max u(x)
[a ,b ] [a ,b ]
Allora:
n n n
u(x m ) ∑ δ i≤∑ δ i u(x i )≤u(x M ) ∑ δ i
i=0 i=0 i=0
n
n
Per comodità, sia σ :=∑i=0 δi u(x i ). Si prenda U ( x):=u(x)∑ δ i ∈C 0 ([a , b]); dunque
i=0
U (x m )=min U (x), U ( x M )=max U ( x)
[a , b ] [a , b]
Si può quindi notare, per Weierstrass, che
U (x m )≤σ≤U (x M )⇒ ∃μ ∈[a , b]:U (μ)=σ
Da qui la tesi.

Questo risultato è utile per trovare l'errore delle formule composite; si veda l'esempio seguente.

H M−1
Ricosiderata la formula composita dei trapezi I T (f )=
2 ∑ j=0 [f ( x j )+ f ( x j+1)] con h=H , si ricordi che
3 II 2
nell'interpolazione semplice era stato trovato che E 1(f )=−h f (ξ)/12 con ξ∈(a , b) con f ∈C ([a ,b ])

34
Da questo errore, si può vedere che
x j +1
H 1 3 II
E (f )= ∫ f dx −
( j)
1 [f (x j )−f (x j+1 )]=− H f (ξ j ) ove ξ j ∈[x j , x j+1 ]
xj 2 12
M −1 M −1
Per cui ET (f )=∑ j=0 E (f )=−H 3 /12 ∑ j=0 f II (ξ j ). Applicando il teorema con δi =1, si ottiene
( j)
1

1 3 II (b−a) II
E T (f )=− H f (ξ) M =− f (ξ) H 2
12 12

b−a 2
M →+ ∞
ove ξ∈(a , b). Si può notare che |E T (f )|≤ ‖f ''‖∞ H → 0 ; il metodo è quindi di ordine 2 e il grado
12
di esattezza rimane invariato. Generalizzando, vale il seguente teorema:

TEOREMA 6.2.3: Sull'errore composito. Sia R M +1={x j=a+ jH , H =(b−a)/ M , j=0,..., M }. Preso
l'intervallo [ x j , x j+1 ] e considerata la formula di Newton-Cotes di grado k , si definisca

{
γk := k +2 formula aperta
k formula chiusa
e si ricordino M k , K k , le costanti del teorema sull'errore per Newton-Cotes (la prima quando k pari, la
seconda quando k dispari). Inoltre, sia Ek , M =I (f )−I k ,M (f ) l'errore. Allora:

k +2
1) Per k pari e f ∈C ([a , b]), si ha
b−a M k ( k+2) k+ 2
Ek , M = f (ξ) H , con ξ∈(a , b)
k +3
(k +2)! γk

k +1
2) Per k dispari e f ∈C ([a, b]), si ha
b−a K k (k +1) k +1
Ek , M = k +2
f (μ ) H con μ ∈(a, b)
(k +1)! γk

Con le stesse ipotesi del teorema appena visto, per k pari si ottiene che
b−a |M k| ( k+2) k+ 2 M →+∞
|E k ,M (f )|≤ ‖f ‖∞ H → 0
(k +2)! γ k
k+3

Ed analogamente per k dispari,


b−a |K k| ( k+1) k+1 M →+∞
|E k ,M (f )|≤ ‖f ‖ ∞ H → 0
(k+1)! γk+2
k

Ciò assicura la convergenza dell'integrale numerico al valore esatto I (f ). Il grado di esattezza delle formule
composite coincide con quello delle formule semplici, mentre l'ordine di infinitesimo risulta diminuito di 1
rispetto all'ordine di infinitesimo delle formule semplici.
In generale, per le f di Newton-Cotes si ha un grado k< 8.

35
DERIVAZIONE NUMERICA
7.1 Metodi alle differenze per la derivata prima

1
Supposto di avere [a ,b ], y ∈C ([a , b]), ci si pone il problema di approssimare y ' (x)attraverso valori di
y . Si definisca un reticolo di nodi fra loro equidistanti R n+1={x i=a+ih , i=0,..., n , h=(b−a)/n} e si
utilizzino i valori y( x i ), i=0,..., n . Per definizione di derivata, si ha che
y( x i+1 )− y( x i ) y (x i )− y (x i−1 ) y( x i+1)− y( x i−1)
y ' (x i )=lim =lim =lim
h →0 h h→0 h h →0 2h
Da cui otteniamo immediatamente i seguenti tre metodi:

Differenza in avanti . Si approssimi y ' ( xi ) con

FD y( x i+1)− y( x i )
ui =
h

Vale che y ' (x i )−uiFD =−h y II ( x i + α h)/2 con 0< α<1 .

Differenza all'indietro . Si considera y ' ( xi ) approssimata con

BD y( x i )− y (x i−1 )
ui =
h

In dato caso, y ' ( x i )−uBD II


i =h y (x i −β h)/2 con 0<β<1.

Differenza centrata . Un'altra approssimazione di y ' ( x i ) è

CD y (x i+1 )− y (xi−1 )
ui =
2h

Considerando il polinomio di Taylor centrato in xi per valutare y( x i+1) e y( x i−1), si ottiene che
3
h III
y( xi+1 )− y( x i−1)=2 h y ' (x i )+ y (x i )+...
3
CD 2 III
Da cui si ricava banalmente y ' ( x i )−ui =−h y (x i + γ h)/6 con 0< γ<1 .

7.2 Metodo alle differenze centrate per la derivata seconda

Considerati i punti medi degli intervalli [ xi−1 , x i ], [ x i , x i+1 ], allora, per le differenze centrate,
II y ' (x i +h/2)− y ' ( x i −h/2)
y (x i )≃
h
Se inoltre si approssimano le derivate prime con lo stesso metodo, si ha:
y (x i+1 )− y (x i ) y (x i )− y (xi−1 )
y ' ( x i + h/2)≃ , y ' (x i −h/2)≃
h h

36
II
Perciò vale che y (x)≃{[ y (x i+1)− y (x i )]/h−[ y( x i )− y (x i−1 )]/h }/h . Da questo risultato si ottiene il
metodo alle differenze centrate:

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


uCD
i
2
= 2
h

L'errore vale quindi


y II ( x i )−u CD2
i =−h2 /24 [ y IV (x i +θi h)+ y IV (x i−ωi h) ]
con 0<θi , ωi <1 se f ∈C 4 ([a , b]).

37
EQUAZIONI DIFFERENZIALI ORDINARIE
8.1 Introduzione e richiami analitici

In questo capitolo si considererà il problema di Cauchy

{ y ' =f (t , y) con t ∈I , y= y(t)∈C 1( I )


y (t 0)= y 0

con f ∈C0 (I×ℝ).

TEOREMA 8.1.1: Di esistenza e unicità in piccolo. Supposto che:

∃ J⊂I intorno centrato in t 0 di raggio r J


∃ Σ intorno centrato in y 0 di raggio r Σ
∃ L>0 t.c. ∀ t ∈J e ∀ y1 , y 2∈Σ, |f (t , y 1 )−f (t , y 2)|≤L|y1− y 2|

rΣ 1
Allora, posti M =max|f (t , y )| e r 0=min {r J , , }, esiste una e una sola soluzione y( x) del problema
J×Σ M L
di Cauchy nell'intorno di t 0 di raggio r 0 .

Si noti che, se ∂ f (t , y )/∂ y è continua in I×ℝ , allora L=max|∂ f (t , y)/∂ y|.


J×Σ

TEOREMA 8.1.2: Di esistenza e unicità in grande. Se valgono le ipotesi del teorema di esistenza e unicità in
piccolo con J=I e Σ=ℝ , allora la soluzione y (x) esiste ed è unica in I .

f è uniformemente lipschitziana rispetto a y con le ipotesi del teorema di esistenza e unicità in grande.

Stabilità secondo Liapunov . Si consideri il problema perturbato

{ z ' (t)=f (t , z(t))+δ(t )


z(t 0 )= y 0+ δ0

con t ∈I intervallo limitato, δ 0 ∈ℝ e δ(t)∈C 0 (I ) che soddisfa |δ 0|<ϵ , |δ(t )|<ϵ con ϵ>0 tale che esista
un'unica soluzione z(t). Il problema di Cauchy è stabile secondo Liapunov se, con le ipotesi appena viste,

∃C >0 :|z (t)− y (t )|≤C ϵ

con C =C (t 0 , y 0 , f , I) che non dipende da ϵ .

Nel caso in cui I sia superiormente illimitato, si dice che il problema di Cauchy è asintoticamente stabile se

lim |y(t)− z(t )|=0


t→+∞

38
quando lim |δ(t)|=0 .
t →+∞

Si noti che se f è uniformemente lipschitziana e I è un intervallo limitato, allora y (x) è stabile secondo
Liapunov. Inoltre, C (la costante nella stabilità secondo Liapunov) cresce con l'ampiezza dell'intervallo I .

D'ora in avanti, si pensi al problema di Cauchy

{ y ' =f (t , y)
y (t 0 )= y0

dove t ∈I=(t 0 , t 0 +T ] con T >0, y= y (t) e, fissato h> 0, detto passo di discretizzazione , il reticolo sarà
RN ={t n=t 0 +nh , n=0 , ..., N h }, ove N h è tale che t N ≤t 0 +T e t N +h>t 0 +T e, dato t n , si considererà
h h h

un≃ y(t n )=: y n

Dove non specificato, si assumerà u0 = y 0 .

8.2 Esempi e classificazione dei metodi numerici

Eulero in avanti (o esplicito) . Dal metodo alle differenze in avanti per le derivate, si ottiene, per le EDO,

un+1=un+ h f (t n ,un ) con n=0 ,... , N h−1

Eulero all'indietro (o implicito) . Con il metodo alle differenze all'indietro, si ha invece

un=un−1+ h f (t n ,u n ) con n=1 , ..., N h

Alle differenze centrate . Come naturale, questo metodo deriva dalle differenze centrate per le derivate:

{u n+1=un−1+ 2h f (t n , un)
u 1 dato
con n=1 ,... , N h−1

t n+1
Crank-Nicolson (o metodo del trapezio) . Considerata l'eguaglianza y (t n+ 1)− y (t n )=∫t f (t , y (t))d t ed
n

approssimato l'integrale con il metodo dei trapezi, si ottiene

h
un +1=un + [ f (t n , un )+ f (t n+1 , un+1 )]
2
t n+ 1
Cavalieri-Simpson . Come deducibile dal nome, considerato y(t n +1)− y(t n−1)=∫t f (t , y (t ))dt ,
n−1

h
un +1=un−1 + [ f (t n−1 , un−1 )+ 4 f (t n ,un )+f (t n+ 1 , un+ 1)]
3

39
Eulero modificato . Dal metodo di Eulero all'indietro e dal metodo di Eulero in avanti:

un=un−1+ h f (t n ,un−1 +hf (t n−1 ,un−1))

Heun . Dal metodo di Crank-Nicolson e dal metodo di Eulero in avanti:

h
u n+ 1=un + [f (t n , un)+ f (t n +1 ,un +h f (t n , un ))]
2

Onde classificare i metodi, si considerino le definizioni seguenti.

I metodi a un passo sono i metodi in cui un+1 dipende solo da u n .


I metodi a p+1 passi sono tali che un+1 dipende da u n , u n−1 , ...un−p . Sarà indispensabile avere come dati i
valori di y0 =u0 , u1 , ..., u p come dati iniziali.
Tra i metodi appena visti, quelli a più passi sono il metodo alle differenze centrate e Cavalieri-Simpson; gli
altri dipendono solo da un e sono dunque a un passo.

Un metodo si dice esplicito se un+1 non è argomento della f e si calcola con una formula ricorsiva esplicita.
Al contrario, un metodo è detto implicito se un+1 è argomento della f ; in generale è richiesta la soluzione di
un'equazione non lineare.
Tra i metodi precedenti, Eulero all'indietro, Crank-Nicolson e Cavalieri-Simpson sono impliciti.

8.3 Metodi numerici ad un passo

Espliciti . I metodi ad un passo espliciti sono della forma

un +1=un +h Φ(t n , un , f (t n ,un ), h) con n=0 , ..., N h−1

dove Φ è detta funzione di incremento.

*
Supponendo di conoscere y n e compiendo un passo del metodo, si avrà un+ 1= y n +h Φ(t n , y n , f (t n , y n), h)
* *
Da cui y n+1 =un+1 +ϵn+1 . Il residuo soddisfa l'uguaglianza ϵn+1=h τ n+ 1 , ove τ n+ 1(h)(=( y n+ 1−un+ 1)/h) è
l' errore di troncamento locale nel nodo t n +1 . Da esso, si definisce l' errore di troncamento globale

τ(h)= max |τ n+1 (h)|


0≤n≤N h −1

Si ha che il metodo è consistente se lim h→0 τ (h)=0 ed ha ordine di consistenza p se τ(h)=O(h p ).

Si consideri Eulero in avanti: u*n+1= y n+ hf (t n , y n)= y n +h y ' (t n ). Grazie al polinomio di Taylor vale anche
2 II 2
y n+1= y n+ h y ' n+ h y (ξ n)/2, nell'ipotesi di y ∈C ( I). Dunque
h II
τn+1 (h)= y (ξn )
2
dove t n <ξ n <t n+1 . Posto M =maxi|y (t)|, si ottiene
II

40
M
τ(h)= h
2
Perciò l'ordine di consistenza è p=1.

Considerato il problema perturbato

{ z 0= y 0+ δ 0
zn+ 1=zn + hΦ(t n , zn , f (t n , z n), h)+ hδ n +1

Il metodo si dice zero-stabile quando ∃h 0 >0 , C =C (Φ, T ) t.c. |zn −un|≤C ϵ ∀ h≤h0 , con ϵ= max |δ n|
0≤n≤N h

TEOREMA 8.3.1: Sulla zero-stabilità. Se Φ è uniformemente lipschitziana in t n e h rispetto al secondo


argomento, cioè se ∃ Λ> 0 t.c.
|Φ(t n , un , f (t n , un), h)−Φ(t n , z n , f (t n , z n), h)|≤Λ|un −z n| con n=0,... , N h

Allora il metodo è zero-stabile.

Dal teorema 8.3.1 si ricava banalmente che:


1) Eulero è zero-stabile ∀ h
2) Considerata f funzione y -lipschitziana, con Eulero modificato si ottiene che
|f (t n+1 , un+ h f (t n ,un ))−f (t n+1 , zn +h f (t n , zn ))|≤L[|un −zn|+hL|un− zn|]=L(1+ hL)|un−z n|
Poichè h≤T , allora |f (t n+1 , un+ h f (t n , un ))−f (t n+1 , z n +h f (t n , zn ))|≤L(1+TL)|un−z n| e quindi il metodo
è zero-stabile per ogni h ( h0 =T ).

Come ipotizzabile, se un metodo è consistente e zero-stabile, allora è anche convergente. Inoltre, il metodo
è convergente di ordine q (q=1 indica la convergenza) se ∃C >0 t.c.
|un− yn|≤C hq per 0≤n≤N h

TEOREMA 8.3.2: Dell'errore. Se il metodo è consistente e Φ è uniformemente lipschitziana rispetto al


secondo argomento con costante Λ , allora

⇒|e n|=|y n−un|≤(|u 0− y 0|+nh τ(h))e nh Λ per n=1,..., N h

p p p
Inoltre, se τ(h)=O(h ) e |y 0−u0|=O(h ), vale che |e n|=O(h ).

Dimostrazione per il metodo di Eulero in avanti: poichè


* *
e n+1= y n+1−un+1=( y n+1−un +1)+(un+1−un+1 )=h τ n+1 (h)+[ y n +h f (t n , y n)−un−h f (t n ,un )]=
=h τ n+1 (h)+( y n−un )+h[f (t n , y n)−f (t n , un )]
passando al valore assoluto si ottiene che
|en+1|≤h|τn+1 (h)|+(1+hL)|en|≤h|τ (h)|+(1+ hL)|e n|≤h|τ(h)|+(1+hL)[h|τ(h)|+(1+hL)|en−1|]≤
n
≤...≤h τ(h)+(1+hL)h τ(h)+...+(1+hL) h τ(h)+(1+hL) |e 0|=h τ (h) ∑ (1+ hL) +(1+hL) |e 0|
n n +1 j n+1

j=0

41
Dunque
(1+hL)n+1−1
|en+1|≤h τ(h)
1+ hL−1
+(1+hL)n +1|e 0|≤
τ(h)
L (
+|e 0| (1+ hL)n+1 )
Poichè (1+b)≤e 0 +b+b 2 e 0 /2+...=e b se b≥0 , allora si ottiene che

|en+1|≤ ( τ(h)
L
+|e |) e
0
(n +1)hL

TL
Da cui, considerato τ(h)≤Mh/2, si ha |en|≤(Mh/(2 L)+|e 0|)e converge con q=1 se |e 0|=O(h).

Nel caso in cui |e 0|≠0, allora ū0= y 0 +r 0 e si ha un+


¯ 1=u¯n +f (t n , u¯n)+r n+1 ; si consideri |r n+1|≤R .
¯ |=|( y n+ 1−un+ 1)+(un +1−un¯+1)|≤|y n+1−un+1|+|un +1−un¯+1|
* * * *
|y n+1− un+1
Poichè si ha che
|u*n+1− un¯+1|=|yn +h f (t n , y n )−(u¯n+ hf (t n , u¯n)+r n+1 )|≤|yn− u¯n|+ hL|y n−u¯n|+|rn +1|≤(1+hL)|y n− u¯n|+ R
Allora
|y n+1− u¯n+1|≤h τ(h)+(1+hL)|y n−u¯n|+ R=(h τ(h)+ R)+(1+ hL)|yn −u¯n|≤
≤(h τ(h)+ R)+(1+ hL)[h τ(h)+ R+(1+hL)|y n−1− un¯−1|]≤...
n
...≤(h+ τ(h)+ R)∑ (1+hL) +(1+hL) |y0− u¯0|
j n +1

j=0
n
(1+hL) −1
Da cui si ricava che |y n −u¯n|≤ (h τ (h)+ R)+(1+ hL)n|r 0|; analogamente a prima,(1+ hL)n ≤e nhL
1+ hL−1
Dunque

(
|yn −u¯n|≤ |r 0|+
τ(h) R nhL
L
+
hL ) (
e ≤ |r0|+
1 M
L 2
h+
h (
R nhL h→0
e → +∞ ))
Quindi non si ha convergenza, però ∃h opt in cui l'errore è minimo. Se h<hopt , l'errore di arrotondamento
risulterà preponderante sull'errore di troncamento e l'errore globale tenderà perciò a crescere.

Assoluta stabilità . Fissato h, sia t n →+∞, ovvero T →+∞. Si consideri il problema di Cauchy

{ yy (0)=1
' =λ y con t> 0

ove λ ∈ℂ e ℜ(λ)< 0. Naturalmente, la soluzione effettiva è y(t)=eλ t . Un metodo è assolutamente stabile


se ∃h 0 t.c.
lim |un|=0 ∀ h≤h 0
t n →+∞

Per il metodo di Eulero in avanti u0=1, un +1=(1+ h λ)un=(1+h λ)n+1 u 0 . Per cui un+1=(1+h λ)n+1 ed
2 2 2
inoltre limn →+∞ u n=0 se |1+ h λ| < 1. Se ne deduce che [1+ ℜ(h λ)] +[ℑ(h λ)] <1; si ha
−2 ℜ(λ)
h< 2
=:h0
|λ|

42
Quindi il metodo di Eulero in avanti è condizionatamente assolutamente stabile. Se λ∈ℝ - ⇒h<2/|λ|=h0

Con Eulero all'indietro, un+1=un+ h λ un+1 ; ciò implica che un +1=un /(1−h λ)=1/(1−h λ)n +1 . Dato che
|1−h λ|> 1 ∀ h , il metodo è incondizionatamente assolutamente stabile.

Per Crank-Nicolson, un +1=un +h(λ un + λ un+1 )/2. Da ciò, (2−h λ)un+ 1=(2+h λ)un ; si ha

un+1= (
2+ h λ n+ 1
2−h λ )
Se ne desume che 2 h ℜ(λ)≤−2 ℜ(λ), ovvero che h≥−1 , che è una condizione sempre verificata.

θ -metodo. Si consideri la famiglia di metodi

un+ 1=un +h[(1−θ) f (t n ,un )+ θ f (t n+1 , un+1 )] con 0≤θ≤1

Per θ=0 si ottiene Eulero in avanti, θ=1/2 Cavalieri-Simpson, θ=1 Eulero all'indietro.
Studiando l'assoluta stabilità, si ottiene

u n+ 1= (
1+(1−θ)h λ n+1
1−θ h λ )
2 2
Da cui (1−2 θ)h |λ| <−2h ℜ(λ).
Se 0≤θ<1/2 si ha un metodo condizionatamente assolutamente stabile; se 1/2≤θ≤1 si ha un metodo
incondizionatamente assolutamente stabile.

Metodi di Runge-Kutta . Di metodi, si esamineranno solo quelli espliciti, che sono della forma

s
un +1=un +h ∑ bi K i
i=1

( )
i−1 i−1
dove s indica il numero di stadi , K i =f t n +ci h ,un +h ∑ j=1 aij K j con 0≤c i ≤1 t.c. c i =∑ j=1 a ij

Se s=1 , allora un+1=un +hb1 K 1 ; dovendo valere c 1=0, K 1=f (t n , un). Dunque un +1=un +h b1 f (t n , un)
Con b1=1 abbiamo Eulero in avanti; se b1≠1, il metodo non è consistente.

Se s=2 , allora K 1=f (t n ,un ), K 2= f (t n + c 2 h ,un +h a11 K 1 ) con a11=c 2 per definizione.
un+1=un+ h[b 1 f (t n ,un )+ b2 f (t n+ c 2 h ,un +h c 2 f (t n ,un ))]
I metodi dipendono quindi da b 1 , b2 , c 2 .
Studiando la consistenza, si trovano infiniti metodi di ordine p=2 e si nota anche che b1 +b2=1. Inoltre, si
possono ottenere:
1) Heun con b1=b2=1/2, c 2=1 e K 2=f (t n+1 , un+ hK 1)
2) Eulero modificato con b1=0, b2=1 , c 2=1/2 ed K 2=f (t n +h/2 ,u n +h K 1 /2)

2 II
Per lo studio della consistenza, si noti che il secondo termine di y n+ 1= y n +h y ' n +h y n /2+... si annulla con
s s
un+1 solo se vale l'equivalenza di h y ' n con h ∑i=1 b i f (t n , y n), dunque se ∑i=1 bi =1.
*

43
s
Perciò un metodo di Runge-Kutta è consistente se e solo se ∑i=1 bi=1.

Per vedere che un metodo di Runge-Kutta è zero-stabile, devo considerare


s

∑ bi K i=Φ(t n , un , f (t n , un), h)
i=1
Se i metodi sono consistenti e ad un passo, si ha direttamente la zero-stabilità, dunque la convergenza.
Vale inoltre il seguente teorema sull'ordine di consistenza:

TEOREMA 8.3.3: Se s≤4 , allora l'ordine massimo risulta pmax =s ; se s> 4 , allora pmax <s

Per l'assoluta stabilità, con s=1 si ha |1+h λ|<1, da cui h<−(2 ℜ(λ))/|λ|2 ; con s=2, K 1=λ un ,
2
K 2=λ u n +h λ c 2 K 1=λ un + c 2 h λ(λ un )=λ un +c 2 h λ u n . Dunque
2 2 2
un+ 1=un +h[b 1 λ u n +b 2 (λ un +c2 h λ un)]=un (1+b1 h λ+b2 h λ +b2 c 2 h λ )=
=un [1+(b1 +b 2 )h λ+b2 c 2 (h λ)2 ]
n +1
Potendo dimostrare che b2 c 2=1/2 e che vale la consistenza, si ottiene u n+ 1=[ 1+h λ+(h λ)2 /2 ] , da cui si
ha assoluta stabilità se |1+ h λ+(h λ) /2|<1 . Si può dimostrare che, per i metodi di Runge-Kutta,
2

( )
s n +1
(h λ) j
u n+1= ∑ per s=1,2,3,4
j=0 j!

8.4 Metodi multistep

I metodi multistep a p+1 passi sono della forma

{
p p
u n+1=∑ a j un− j + h ∑ b j f (t n− j , un − j )
j=0 j=−1 con n=p ,... , N h−1
u 0= y 0
u 1 , ... ,u p

Se b−1≠0, si ottiene un metodo implicito; altrimenti, se b−1=0 , allora si tratta di un metodo esplicito.
Con p=0 si può ottenere Eulero in avanti, ponendo a0 =1, b−1=0 e b 0=1 . Scelti invece a0=0, b−1=1 ,
b0=0 si ricava il metodo di Eulero all'indietro.
Si possono ottenere anche Crank-Nicolson ( a0=1, b−1=b0=1/2 ) e i θ -metodi ( a0 =1 , b−1=θ ,b0 =1−θ ).
Con p=1, si hanno le differenze centrate ( a0=0 , a1=1, b−1=b1=0 , b0=2), Cavalieri-Simpson ( a0=0 ,
a1=1, b−1=b1=1/3 , b 0=4 /3 ).

Si considerino ora gli errori già visti di troncamento locale e di troncamento globale , che restano invariati,
*
anche se cambiano le informazioni su un+1 ; si ricordi che
*
y n+1−un+1
τ n+1 (h)=
h
p p
ed in questo caso, u*n+1= ∑ j=0 a j y n− j + h ∑ j=−1 b j f (t n −j , y n− j ) per n=p ,... , N h−1;

44
τ (h)= max |τ n +1 (h)|
p ≤n≤N h−1

Analogamente al caso dei metodi ad un passo, la consistenza vale se e solo se lim h →0 τ(h)=0 ed ha ordine q
q
soltanto se τ(h)=O(h ).
Tramite queste considerazioni, si vuole arrivare a delle condizioni di consistenza più immediati: si ha
2 3
h II h III 4
yn +1= yn + h y ' n + y n + y n +O (h )
2 3!
II 2 III 3
Inoltre, considerando che f (t n− j , y n− j )= y ' n− j= y ' n− jh y n +( jh) y n /2+O(h ), se ne deduce

(∑ ) ( ∑ ) (∑ )
p p p 2 p p
h
ja j + ∑ b j y ' n + j a j −2 ∑ j b j y n +
* 2 II
u n +1 = a j y n +h −
j=0 j=0 j=−1 2 j=0 j=−1

(∑ )
p p
h3
− j a j +3 ∑ j b j y n +O (h )
3 2 III 4
+
6 j=0 j=−1

Perciò, studiato τ n +1 (h) e dunque τ (h), come ipotesi per la consistenza si ottengono le due uguaglianze

p p p

∑ a j =1 , −∑ j a j+ ∑ b j=1
j=0 j=0 j=−1

Che vengono dette condizioni di consistenza . Se valgono solo queste, l'ordine è q=1.
Affinchè il metodo sia di ordine q>1, deve verificarsi anche che

p q

∑ (− j) a j + k
k
∑ (− j)k−1 b j=1 con k=2,... , q
j=0 j=−1

Grazie a queste due relazioni, è immediato ricavarsi l'ordine di convergenza di un metodo; Crank-Nicolson
ha per esempio ordine 2.

Si consideri ora

Π(r)=ρ(r)−h λ σ (r)

p p
dove ρ(r)=r p +1−∑ j=0 a j r p− j ∈ P p +1 e σ (r)=∑ j=−1 b j r p− j ∈ P p +1 . Risulta immediato notare che, se il
metodo è implicito, b−1≠0 e dunque σ (r) è di grado p+1; altrimenti, se il metodo è esplicito, b−1=0 e si
ha σ(r) al massimo di grado p .
Per la prima condizione di consistenza, si ottiene subito che se il metodo è consistente r0=1 è radice di ρ.

La condizione delle radici è soddisfatta se vale che

{|r j|≤1
se |r j|=1, allora ρ' (r j )≠0
con j=0,..., p

La condizione assoluta delle radici risulta valida se ∃h0 >0 tale che |r j (h λ)|<1 per 0≤h<h0 e j=0,..., p .

45
Si chiami u j =w j per j=1,..., p e si consideri il problema

{
p p
z n+1=∑ a j zn− j +h ∑ b j f (t n− j , zn− j )+ h δn +1
j=0 j=−1 con j=1 ,... , p
z 0= y 0 +δ 0
z j =w j +δ j

Il metodo è zero stabile quando, indicato con δ= max |δ n|, ∃h0 >0 , ∃C=C (T , f ) t.c.
0≤n≤N h

|z n−un|≤C δ con n=0,..., N h


per ogni h≤h 0 .

TEOREMA 8.4.1: Per un metodo consistente, la condizione delle radici è necessaria e sufficiente per avere
la zero stabilità; è quindi condizione necessaria e sufficiente per la convergenza, a patto che

|u j− y j|=O(h) per j=0,..., p


q q q
Inoltre, se τ (h)=O (h ) e se |u j − y j|=O(h ) per j=0, ..., p , allora |un− y n|=O(h ) per ogni n, ovvero il
metodo converge con ordine q .

TEOREMA 8.4.2: Prima barriera di Dahlquist. Non esistono metodi multistep lineari a q passi, consistenti
e zero stabili con ordine maggiore di
- q+1 se q dispari;
- q+2 se q pari.

Si analizzi ora l' assoluta stabilità , che viene valutata tramite il sistema

{ yy (0)=1
' =λ y con λ∈ℂ , ℜ(λ)<0

p
Si può dimostrare che un=∑ j=0 β j [r j (h λ)]n per n= p+1 , ..., N h , dove r j (h λ) sono le radici di Π (r) e
β j dipendono dai dati iniziali.
L'assoluta stabilità si ha quando lim n→+∞ u n=0 , ovvero quando vale la condizione assoluta delle radici.
Si può vedere che il metodo alle differenze centrate è zero stabile ed assolutamente instabile.

TEOREMA 8.4.3: Seconda barriera di Dahlquist. Non esistono metodi multistep lineari consistenti espliciti
e zero-stabili che siano incondizionatamente assolutamente stabili. Inoltre, non esistono neanche metodi
multistep lineari consistenti ed incodizionatamente assolutamente stabili di ordine q>2.

Metodi di Adams . Si consideri la seguente uguaglianza:


t n+ 1 t n +1

y n+1− y n=∫ y ' dt =∫ f (t , y (t))dt


tn tn

Per ottenere un metodo esplicito a p+1 passi, che verrà detto di Adams-Bashforth, si può approssimare nei

46
punti t n , t n−1 , t n−p con un polinomio appartenente a P p .
Se invece si prendono i punti t n +1 ,t n , ..., t n−p , si ottiene un metodo implicito, detto di Adams-Moulton, a
( p+2) punti di interpolazione; in questo caso si avrà quindi un polinomio in P p +1 .
In generale, i metodi di Adams sono quindi della forma

t n+ 1 p
u n+1=un+ ∫ P(t )dt=u n +h ∑ b j f (t n− j , un− j )
tn j=−1

Si ha dunque che questi metodi sono tali che a0=1 e a j =0 per j=1,..., p . Per la consistenza bisognerà
perciò avere che

∑ b j=1
j=−1

Questa relazione vale per costruzione. Ne è addirittura una proprietà: infatti per verificare che un metodo sia
p
di Adams, basta vedere se soddisfa ∑ j=−1 b j =1 .
Per avere ordine di consistenza q servirà la seguente relazione :

p
k ∑ (− j)k−1 b j =1 per k=2, ..., q
j=−1

Si prenda il caso dei metodi di Adams-Bashfort (ovvero i metodi di Adams espliciti); con p=0 si ricava
t n+ 1 t n +1

un+1=u n+ ∫ P0 (t )=un + ∫ f (t n , un )=un+ h f (t n ,un )


tn tn

ovvero il metodo di Eulero in avanti. Con p=1,


t n+ 1 t n+ 1
f (t n , yn )−f (t n−1 , y n−1 ) f (t , y )− f (t n−1 , y n−1 ) 2
∫ P1 (t )dt=∫ f (tn , y n )+ t n−t n−1
=h f (t n , yn )+ n n
2h
h=
tn tn
h
= [3 f (t n , y n )−f (t n−1 , y n−1 )]
2
Si ottiene quindi il metodo
h
un +1=un + [3 f (t n ,un )−f (t n−1 , un−1)]
2
Per k=2 , la sommatoria per l'ordine di consistenza risulta uguale ad 1 , mentre per k=3 non può valere
l'uguaglianza.
Si può dimostrare che i metodi di Adams-Bashforth a p+1 passi hanno ordine q=p+1.

Si considerino i metodi di Adams-Moulton; con p=−1 si ha il metodo


(t n+1 , f (t n +1 , yn +1))⇒ P0 (t )=(f (t n +1 , y n +1))⇒ un +1=un +h f (t n+1 , un +1)
che non è altro che Eulero all'indietro. Si noti che l'ordine q=1= p+2
h
Con p=0, si ottiene u n +1=un + (f (t n ,un )+f (t n +1 ,un+ 1)) di ordine q=2=p+2
2

47
h
Con p=1, u n +1=un + [5 f (t n+1 , un+1 )+8 f (t n , un )−f (t n−1 , un−1)]; dato metodo ha ordine q= p+2=3 .
12
Nel caso dei metodi di Adams-Moulton a p+1 passi, l'ordine è q= p+2.

Metodi predictor-corrector . Un metodo implicito per il problema di Cauchy richiede la risoluzione di una
equazione non lineare. Per esempio, considerato Crank-Nicolson,
h
un+ 1=un + [f (t n , un)+ f (t n +1 ,un +1)]=Ψ(un +1)
2
si può riscrivere il metodo nella forma Φ(un+1 )=0 , essendo Φ(un+1 )=u n +1−Ψ (un+1) ed utilizzare Newton
per risolvere
(k)
Φ(un+1 )
u(kn +1+1)=u(k)n+ 1 − con k=0, 1,...
Φ ' (u(n+1
k)
)
(0)
fino a convergenza, avendo richiesto un +1 sufficientemente vicino a un+1 ; alternativamente, si può usare una
iterazione di punto fisso della forma
u(k+1) ( k)
n+1 =Ψ (u n+1 )

Il metodo predictor-corrector lavora seguendo lo schema:

(0)
1) predictor , fase in cui si calcola u n +1 tramite un metodo esplicito;
(0)
2) fase di valutazione , che avviene valutando f (t n +1 ,u n +1);
3) corrector , dove si esegue una iterazione del metodo di punto fisso trovando u(1)
n +1 .

48