1
Tracce di calcolo numerico
Lauree scientifiche (Astronomia, Matematica)
Prof. Marco Vianello - Dipartimento di Matematica, Università di Padova
aggiornamento: 13 aprile 2015 (sulle costanti di Lebesgue)
testo di approfondimento: G. Rodriguez, Algoritmi numerici, Pitagora, Bologna, 2008
argomenti e quesiti contrassegnati da ∗ sono più impegnativi, se non si è in grado di
fare la dimostrazione bisogna comunque sapere (e saper usare) gli enunciati e capire
di cosa si sta parlando; quelli contrassegnati da ∗∗ sono approfondimenti difficili e
facoltativi
1.1
Sistema floating-point e propagazione degli errori
1. si ricordi che, fissata una base (un numero naturale β > 1), ogni numero x ∈ R
si può scrivere (rappresentazione a virgola fissa) come
x = sign(x) (αm . . . α1 α0 .α−1 . . . α−n . . .)β
!
m
∞
X
X
= sign(x)
αj β j +
α−j β −j
j=0
j=1
dove αj , α−j ∈ {0, 1, . . . , β − 1} sono le cifre della rappresentazione
Pn in jbase β
(ad esempio {0, 1} in base 2, {0, . . . , 9} in base 10); chiamiamo j=0 αj β parte
P
−j
parte frazionaria del numero
intera del numero e ∞
j=1 α−j β
2. perché la serie che rappresenta la parte frazionaria converge? si osservi che la
parte frazionaria sta in [0, 1]
3. la parte frazionaria di un numero razionale può essere finita o infinita a seconda
della base
4. si mostri (con qualche esempio) che ogni numero reale diverso da zero si può
anche scrivere (rappresentazione normalizzata a virgola mobile) come
p
x = sign(x)β (0.d1 . . . dt . . .)β = sign(x)β
p
∞
X
dj β −j
j=1
P
−j
mantissa e p ∈ Z
dj ∈ {0, 1, . . . β − 1}, d1 6= 0, dove chiamiamo ∞
j=1 dj β
esponente della rappresentazione normalizzata a virgola mobile in base β; a cosa
serve la normalizzazione d1 6= 0?
5. la mantissa di un numero reale sta in [0, 1], ma non è la sua parte frazionaria
6. i numeri irrazionali hanno parte frazionaria (e mantissa) infinita
1
7. ∗ si dimostri, usando le serie, che l’errore di troncamento ad n cifre della parte
frazionaria in base β è ≤ β −n
8. si dia un’interpretazione geometrica (con un disegno) del fatto che il massimo
errore di arrotondamento ad n cifre è la metà del massimo errore di troncamento
(∗∗ è possibile dare una dimostrazione rigorosa di questo fatto utilizzando la
serie che rappresenta la parte frazionaria)
9. si studi l’insieme dei numeri floating-point F(β, t, L, U) = {µ ∈ Q : µ =
±(0.µ1 µ2 . . . µt )β p , µj ∈ {0, 1, . . . , β − 1} , p ∈ [L, U] ⊂ Z}
(traccia: determinare cardinalità, estremi, variazione di densità, intorni di approssimazione assoluti e relativi, precisione di macchina, ...); quali sono i reali
rappresentabili (ovvero approssimabili per arrotondamento a t cifre di mantissa)
tramite questi numeri floating-point?
10. si disegnino F(10, 1, −1, 1) e F(10, 2, −2, 2)
11. i numeri floating-point “grandi” (in modulo) sono interi e hanno moltissime cifre
nulle; in un sistema floating-point con t cifre di mantissa in base β, i numeri
interi con più di t cifre vengono arrotondati (se rappresentabili)
12. la precisione di macchina, εM = β 1−t /2, non è il più piccolo numero floatingpoint positivo; che cos’è invece?
13. si discuta un modello di codifica dei reali in base 2 con una sequenza di 64 bit, la
cosiddetta “precisione doppia” (traccia: riservando un bit per i segno, 52 (+1)
bit per la mantissa che è come avere 53 bit perché la prima cifra di mantissa
deve essere 1, e 11 bit per l’esponente, ...)
14. in un’aritmetica a base 10 con 16 cifre di mantissa, 1 + 10−15 viene calcolato
correttamente ma 1 + 10−16 = 1; perché? (si osservi che questo è un esempio di
non unicità dell’elemento neutro)
15. ∗∗ si dimostri che vale anche εM = min {µ ∈ F+ : 1 + µ > 1}; quali numeri
floating-point si comportano come elemento neutro nell’addizione con un dato
numero floating-point µ?
16. detti εx = |x− x̃|/|x| e εy = |y− ỹ|/|y|, x, y 6= 0, gli errori relativi sui dati si studi
la stabilità delle operazioni aritmetiche con numeri approssimati, mostrando che
per ciascuna operazione aritmetica ⋆ si ha una stima del tipo “somma pesata
degli errori”
εx⋆y =
|(x ⋆ y) − (x̃ ⋆ ỹ)|
≤ w1 (x, y)εx + w2 (x, y)εy , , x ⋆ y 6= 0 ,
|x ⋆ y|
calcolando w1 , w2 nei vari casi (moltiplicazione, divisione, addizione, sottrazione;
traccia: si utilizzi la disuguaglianza triangolare); quali operazioni si possono
considerare “stabili”? in quali situazioni la sottrazione fa perdere precisione? si
facciano esempi
2
17. detto εf l’errore relativo su una funzione (differenziabile) con variabili approssimate, si ricavi la “formula degli errori”
εf (x) ≈ |xf ′ (x)/f (x)| εx
εf (x,y) ≈ |(xfx′ (x, y)/f (x, y)) ∆x/x + (yfy′ (x, y)/f (x, y)) ∆y/y|
≤ |xfx′ (x, y)/f (x, y)| εx + |yfy′ (x, y)/f (x, y)| εy
partendo dal caso di funzioni di una variabile (traccia: si utilizzi la formula di
Taylor; ∗∗ per dare una veste più rigorosa alla stima si utilizzi il teorema del
valor medio e nel caso di due variabili si assuma f di classe C 1 in un aperto
convesso)
18. utilizzando la formula degli errori, si studi la stabilità (risposta agli errori sui
dati) delle operazioni aritmetiche
19. in Matlab si ha che ((1 + 10−15 ) − 1)/10−15 = 1.110223024625157, invece ((1 +
2−50 ) − 1)/2−50 = 1, dove 2−50 ≈ 10−15 ; perché?
20. si facciano esempi in cui la proprietà associativa non è valida in aritmetica di
macchina per overflow oppure per effetto dell’arrotondamento
21. la formula risolutiva classica per le equazioni di secondo grado ax2 + bx + c = 0,
a 6= 0, ∆ = b2 − 4ac > 0, perde precisione in aritmetica di macchina se b2 ≫
4|ac|; si quantifichi la perdita di precisione calcolando i pesi della sottrazione corrispondente e si ricavi una formula “stabilizzata”
√
√ (traccia:
√ per la stabilizzazione,
√
si osservi ad esempio che per b > 0, ∆−b = ( ∆−b)( ∆+b)/( ∆+b) = ...)
22. ∗ si trovino esempi di funzioni “instabili”, cioè tali che per certi punti x si ha
εf (x) ≫ εx qualunque sia la rappresentazione di f , e di funzioni “stabili” per
cui l’instabilità nel calcolo dipende dalla rappresentazione
23. si riscrivano, se necessario, le seguenti espressioni per ovviare a possibili instabilità in aritmetica di macchina:
E1 (x) = x5 /(2 + x4 + 0.1|x|) − x + 100(x4 + 5)1/4
√
E2 (x) = x2 + 1 − |x| + 100x
√
E3 (x) = 3 x4 + 2 − (10x7 + 1)/(x5 + 1) + 10x2
q
p
24. la successione definita da x2 = 2, xn+1 = 2n−1/2 1 − 1 − 41−n x2n , n =
2, 3, . . ., soddisfa limn→∞ xn = π, ma se usata per approssimare π diventa instabile in aritmetica di macchina (qual’è la sottrazione che fa perdere precisione?
si calcolino i fattori di amplificazione dell’errore in funzione di n); come può
essere stabilizzata?
25. ∗ la formula di ricorrenza in avanti
In = 1 − nIn−1 , n = 1, 2, . . ., I0 = 1 −
R
−1
−1 1 n x
e , soddisfatta da In = e
x e dx, è fortemente instabile in aritmetica
0
di macchina (perché?), ma può essere stabilizzata usandola all’indietro; ∗∗ si
dimostrino convergenza e stabilità della formula all’indietro analizzando l’errore
relativo
3
1.2
Costo computazionale degli algoritmi numerici
1. si discuta l’algoritmo di Hörner per il calcolo dei valori di un polinomio
2. esiste un algoritmo veloce per il calcolo di unaPpotenza Q
tramite codifica binaria
j
n
cj 2j
dell’esponente, basato sulla proprietà a = a
=
acj 2 , dove {cj } sono
le cifre della codifica binaria di n ∈ N; qual’è il costo computazionale (come
numero di operazioni aritmetiche floating-point) in funzione di n? qual’è il
costo nel caso l’algoritmo venga applicato al calcolo di una potenza di matrice?
3. ∗ perché il calcolo di exp (x) (per x > 1) usando la formula exp (x) = (exp (x/m))m ,
m > [x] e la formula di Taylor per exp (x/m), è più efficiente dell’utilizzo diretto
della formula di Taylor?
(traccia: si stimi il modulo del resto della formula di Taylor di exp (x) per
|x| ≤ 1 e per |x| > 1; qual’ è il comportamento per n → ∞?)
4. il metodo di eliminazione gaussiana può essere usato per calcolare il determinante di una matrice quadrata (come?), con costo computazionale O(n3 ) flops
(da confrontare con il costo O(n!) flops della regola di Laplace, che la rende
inutilizzabile già per valori relativamente piccoli di n)
5. ∗ si dimostri che il costo computazionale asintotico del metodo di eliminazione
gaussiana è 2n3 /3 flops (traccia: si incastri il costo tra due integrali)
1.3
Soluzione numerica di equazioni non lineari
1. data una funzione f ∈ C[a, b] (ovvero, f è continua in [a, b]), tale che f (a)f (b) <
0, si dimostri che la successione x0 , x1 , . . . , xn , . . ., costruita col metodo di bisezione
(utilizzando iterativamente il teorema degli zeri) soddisfa la stima a priori dell’
errore
b−a
en = |ξ − xn | ≤ n+1 , n = 0, 1, 2, . . .
2
dove ξ è uno zero di f in (a, b); si diano ipotesi su f che garantiscono l’unicità
dello zero
2. data una funzione continua f tale che f (ξ) = 0 e successione {xn } tale che
limn→∞ xn = ξ, perché in generale il “residuo” |f (xn )| non è una buona stima
dell’errore? (si faccia un disegno sul possibile andamento locale di f , se il grafico
è “piatto” ...); come va corretto il residuo?
(traccia: assumendo f derivabile con derivata continua e non nulla in [c, d],
dove xn ∈ [c, d] almeno per n abbastanza grande, si utilizzi il teorema del valor
medio, f (xn )−f (ξ) = . . . ; si osservi che per la permanenza del segno la derivata
è sicuramente non nulla in un intorno [c, d] di uno zero semplice, ovvero ξ tale
che f ′ (ξ) 6= 0)
4
3. utilizzando i risultati dell’esercizio precedente, si discuta la seguente stima a
posteriori dell’errore (con correzione del residuo)
xn − xn−1 en = |ξ − xn | ≈ |f (xn )| f (xn ) − f (xn−1 ) 4. si dia un’interpretazione geometrica del metodo di Newton
xn+1 = xn −
f (xn )
, f ′ (xn ) 6= 0 , n = 0, 1, 2, . . .
′
f (xn )
5. un risultato di convergenza globale del metodo di Newton: sia f ∈ C 2 [a, b],
f (a)f (b) < 0, f ′′ di segno costante in (a, b); scelto x0 tale che f (x0 )f ′′ (x0 ) < 0,
il metodo di Newton è ben definito e convergente all’unico zero di f in [a, b]
(traccia: le tangenti alla curva grafico stanno sempre sopra o sotto la curva,
quindi la successione {xn } è monotona e limitata, ...)
6. detto en = |ξ − xn | l’errore assoluto del metodo di Newton per f (x) = 0, in
ipotesi di convergenza e per f ∈ C 2 (I), dove I ⊃ {xn } è un intervallo chiuso
e limitato in cui f ′ (x) 6= 0, si dimostri la disuguaglianza en+1 ≤ Ce2n con C
costante opportuna
(traccia: utilizzare la formula di Taylor calcolata nella radice e centrata in xn ,
insieme alla definizione di {xn }, ...)
approfondimento ∗: partendo da tale disuguaglianza, perchè ci si aspetta convergenza locale? ∗∗ si enunci e dimostri rigorosamente un risultato di convergenza
locale
√
7. si giustifichi il fatto che nel calcolo di 2 risolvendo l’equazione x2 − 2 = 0
nell’intervallo (1, 2), il metodo di bisezione guadagna in media 1 cifra decimale
significativa ogni 3-4 iterazioni, mentre il metodo di Newton raddoppia il numero
di cifre significative ad ogni iterazione; questo comportamento vale in generale
per entrambi i metodi?
(traccia: si ragioni sull’errore relativo, ρn = en /|ξ|; col metodo di Newton
ρn+1 ≤ C|ξ|ρ2n , ...)
8. si mostri che il metodo di Newton per il calcolo di a1/k , a > 0, assume la forma
xn+1 =
k−1
a
xn + k−1 , n = 0, 1, 2, . . .
k
kxn
(già nota in antichità come metodo di Erone nel caso della radice quadrata),
dove x0 va scelto tale che xk0 > a
9. un metodo convergente ha ordine di convergenza almeno p ≥ 1 se esiste C > 0
tale che
en+1 ≤ Cepn
5
e ordine esattamente p se vale
en+1
p = L 6= 0 ;
n→∞ en
lim
quindi il metodo di Newton nel caso di uno zero semplice ha ordine almeno 2;
quando ha ordine esattamente 2, e quando maggiore di 2?
∗ per p = 1 si osservi in generale che necessariamente L ≤ 1 e che L < 1 oppure
C < 1 sono condizioni sufficienti per la convergenza
10. ∗ si dimostri che se un metodo ha ordine di convergenza almeno p > 1 vale la
stima
1
pk
1
C p−1 eν+k ≤ C p−1 eν
, ν≥0, k≥0
2
(traccia: si dimostri che eν+k ≤ C C p C p . . . C p
k−1
k
epν = . . . )
11. si dimostri che in ipotesi di convergenza il numero di iterazioni che garantiscono
un errore assoluto ≤ ε (dove ε è una tolleranza) è n ≥ c1 log (ε−1 ) + c2 per il
metodo di bisezione e n ≥ c3 log (log (ε−1 )) + c4 per il metodo di Newton, dove
c1 , c2 , c3 , c4 sono opportune costanti
12. perché la quantità |xn+1 − xn | (detta “step”) è una buona stima dell’errore
assoluto per il metodo di Newton (almeno per n abbastanza grande)?
13. data una stima sn dell’errore di un metodo iterativo convergente, en ≤ sn oppure
en ≈ sn , si discuta il significato di un test di arresto delle iterazioni del tipo
sn ≤ |xn |εr + εa , dove εa è una tolleranza assoluta ed εr una tolleranza relativa
14. si verifichi l’applicabilità dei metodi di bisezione e di Newton all’equazione
x − e−x/5 = 0
15. si studino numericamente le seguenti equazioni “storiche”:
• x3 − 2x − 5 = 0 (su questa equazione Newton illustrò il suo metodo)
• m = x−E sin x (equazione di Keplero: m è l’anomalia media di un pianeta,
E l’eccentricità della sua orbita, x l’anomalia eccentrica; si assuma ad
esempio m = 0.8, E = 0.2)
(traccia: isolare gli zeri anche graficamente, verificare l’applicabilità dei metodi
di bisezione e di Newton, ...)
16. se si applica il metodo di Newton con x0 6= 0 all’equazione sign(x)|x|1/2 = 0 si
ottiene una successione “stazionaria”, mentre per sign(x)|x|1/3 = 0 la successione è addirittura divergente; dove sta il problema?
6
17. un risultato di convergenza delle iterazioni di punto fisso: sia φ : I → R derivabile nell’intervallo chiuso I ⊆ R, con (i): φ(I) ⊆ I, e (ii): |φ′(x)| ≤ θ < 1
per ogni x ∈ I; scelto un qualsiasi x0 ∈ I, la successione xn+1 = φ(xn ),
n = 0, 1, 2, . . ., converge all’unico punto fisso di φ in I (si faccia vedere usando (ii) e il teorema del valor medio che φ “contrae le distanze” e che il punto
fisso è unico in I; si osservi anche che I può essere non limitato, ovvero una
semiretta chiusa o anche tutta la retta)
(∗∗ traccia della dimostrazione: si provi che valgono le disuguaglianze |xn+p −
xn | ≤ (1 + θ + θ2 + . . . + θp−1 )|xn+1 − xn | ≤ (θn /(1 − θ))|x1 − x0 |, da cui si vede
che la successione {xn } è di Cauchy, ...)
18. corollario (convergenza locale): sia ξ punto fisso di una funzione φ di classe C 1
in un intorno di ξ, con |φ′(ξ)| < 1; allora la successione delle iterazioni di punto
fisso converge a ξ a partire da qualsiasi x0 in un intorno opportuno di ξ
(∗ traccia: detto I = [ξ − δ, ξ + δ] un intorno chiuso di ξ in cui |φ′(x)| < 1, che
esiste per la permanenza del segno, si applichi il risultato precedente mostrando
che φ(I) ⊆ I; chi è θ?)
19. in ipotesi di convergenza, per le iterazioni di punto fisso valgono le stime di
errore
|xn − ξ| ≤ θn |x0 − ξ| (a priori)
|xn − ξ| =
|xn+1 − xn |
1
≤
|xn+1 − xn | (a posteriori)
′
1 − φ (zn )
1−θ
dove zn ∈ int(xn , ξ); quando ha senso usare il solo step |xn+1 − xn | come stima
a posteriori dell’errore?
(traccia: per la prima si osservi che |xn+1 − ξ| = |φ(xn ) − φ(ξ)| = |φ′(zn )| |xn −
ξ| ≤ . . .; per la seconda si osservi che xn+1 − xn = xn+1 − ξ + ξ − xn =
φ′ (zn )(xn − ξ) + ξ − xn , ...)
20. si studi la soluzione delle equazioni x = e−x/5 e x = e−x con le iterazioni di
punto fisso (∗∗ per la seconda si isoli la soluzione col teorema degli zeri per
applicare un risultato di convergenza locale); con la prima equazione, quante
iterazioni occorrono per garantire un errore assoluto < 10−8 ?
21. ordine di convergenza delle iterazioni di punto fisso: si dimostri che un’iterazione
di punto fisso xn+1 = φ(xn ), con φ ∈ C p in un intorno di ξ, ha ordine 1 se e
solo se φ′ (ξ) 6= 0, e ha ordine p > 1 se e solo se φ(p) (ξ) 6= 0 e φ(j) (ξ) = 0,
j = 1, . . . , p − 1
22. perché il metodo di Newton si può interpretare come iterazione di punto fisso?
quando ci si aspetta ordine di convergenza p > 2?
(traccia: si osservi che il metodo di Newton corrisponde a xn+1 = φ(xn ) con
φ(x) = . . . )
23. ∗ dato il sistema non lineare f (x) = 0, dove f : (Ω ⊆ Rm ) → Rm è un campo
vettoriale differenziabile definito su un aperto Ω contenente ξ tale che f (ξ) = 0,
7
il metodo di Newton corrisponde alla linearizzazione iterativa
f (xn ) + Jn (x − xn ) = 0 , n ≥ 0
a partire da un opportuno vettore iniziale x0 , dove Jn = Jf (xn ) è la matrice
Jacobiana (purché xn ∈ Ω e Jn sia invertibile ad ogni iterazione), ovvero
xn+1 = xn − Jn−1 f (xn ) , n ≥ 0 ;
in pratica, il metodo viene implementato risolvendo un sistema lineare ad ogni
iterazione, Jn vn = −f (xn ), xn+1 = xn + vn ; si dimostra (non richiesto) che vale
un risultato di convergenza locale
1.4
Interpolazione e approssimazione di dati e funzioni
1. problema algebrico dell’interpolazione (costruzione): dati n+1 punti (xi , f (xi )),
i = 0, . . . , n, sul grafico di una funzione f : [a, b] → R, determinare se esiste ed
è unica una funzione fn in una opportuna famiglia di funzioni Fn , tale che
fn (xi ) = f (xi ) , i = 0, . . . , n
(nel caso di Fn = Pn , lo spazio vettoriale dei polinomi di grado ≤ n, si parla di
interpolazione polinomiale, e chiameremo Πn (x) = fn (x) il polinomio interpolatore)
2. problema analitico dell’interpolazione (convergenza): per quali scelte dei nodi
{xi } e in quali ipotesi su f si ha convergenza uniforme degli interpolatori, cioè
max |fn (x) − f (x)| → 0 , n → ∞ ?
x∈[a,b]
3. perché il polinomio interpolatore Πn (x) di grado ≤ n di una funzione f su n + 1
nodi distinti {x0 , x1 , . . . , xn } è unico?
4. si mostri che
Πn (x) =
n
X
i=0
Q
k6=i (x − xk )
f (xi ) ℓi (x) , ℓi (x) = Q
k6=i (xi − xk )
è il polinomio interpolatore su n + 1 nodi distinti {x0 , x1 , . . . , xn } (si tratta della
coiddetta “forma di Lagrange” del polinomio interpolatore)
5. il problema di interpolazione polinomiale di grado n su n+1 nodi è equivalente al
sistema lineare V a = y, dove V = (vij ) = (xji ), 0 ≤ i, j ≤ n è detta “matrice di
Vandermonde” dei nodi di interpolazione, a = (a0 , . . . , an )t e y = (y0 , . . . , yn )t ,
yi = f (xi )
8
6. ∗ perché nell’interpolazione polinomiale esistenza per ogni vettore di valori campionati nei nodi ed unicità sono equivalenti?
(traccia: il problema è equivalente ad un sistema lineare con matrice V , l’unicità
significa che l’applicazione lineare associata a V è iniettiva cioè il nucleo di V è
il vettore nullo, ...)
7. ∗ si ricavi la forma di Lagrange dell’errore di interpolazione di grado n per
f ∈ C n+1 [a, b] (si noti l’analogia con il resto della formula di Taylor)
En (x) = f (x) − Πn (x) =
f (n+1) (η)
(x − x0 ) . . . (x − xn )
(n + 1)!
dove η ∈ int(x, x0 , . . . , xn )
(traccia: si utilizzi la funzione (di variabile z) G(z) = En (z)−ω(z)(En (x)/ω(x)),
x 6∈ {x0 , x1 , . . . , xn } fissato, e si applichi ripetutamente il teorema di Rolle)
8. ∗ partendo dalla forma di Lagrange dell’errore di interpolazione polinomiale di
grado n per f ∈ C n+1 [a, b], si può dimostrare (dim. non richiesta) che il massimo
errore nel caso di nodi equispaziati è ≤ maxx∈[a,b] {|f (n+1) (x)|} hn+1 /(4(n + 1))
dove h = (b − a)/n; perché da questa stima non si può dedurre la convergenza
per f ∈ C ∞ [a, b]? (vedi controesempio di Runge, f (x) = 1/(1+x2 ), x ∈ [−5, 5])
9. interpolazione di Chebyshev: abbiamo visto che in generale i polinomi interpolatori non convergono alla funzione campionata (controesempio di Runge su
nodi equispaziati); scelte speciali dei nodi però assicurano tale convergenza, è il
caso ad esempio dell’interpolazione polinomiale su nodi di Chebyshev, del tipo
iπ
b+a b−a
, 0≤i≤n
−
cos
xi =
2
2
n
oppure
b+a b−a
(2i + 1)π
xi =
, 0≤i≤n;
−
cos
2
2
2n + 2
si noti che tali nodi non sono equispaziati ma si accumulano più rapidamente
agli estremi dell’intervallo [a, b]; la prima famiglia corrisponde alla proiezione su
[a, b] di punti equispaziati sulla semicirconferenza di centro (a + b)/2 e raggio
(b − a)/2, la seconda agli n + 1 zeri (opportunamente traslati e scalati) della
funzione Tn+1 (t) = cos((n + 1) arccos(t)), t ∈ (−1, 1), che è un polinomio (∗∗),
il cosiddetto polinomio di Chebyshev di grado n + 1. Per questo tipo di nodi si
può dimostrare (dim. non richiesta) che per ogni f ∈ C k [a, b], k ≥ 1, esiste una
costante Mk tale che
max |f (x) − Πn (x)| ≤ Mk
x∈[a,b]
log(n)
,
nk
e quindi si ha convergenza uniforme per n → ∞ (in particolare per la funzione
del controesempio di Runge)
9
10. ∗ si mostri che la “risposta alle perturbazioni”
Pn su f dell’interpolazione polinomiale è legata alla quantità Λn = maxx∈[a,b] i=0 |ℓi (x)| (costante di Lebesgue),
dove gli {ℓi } sono i polinomi elementari di Lagrange; si osservi che Λn dipende
solo dai nodi di interpolazione; si può dimostrare (dim. non richiesta) che la
crescita di Λn è esponenziale in n per i nodi equispaziati (instabilità), mentre è
logaritmica per i nodi di Chebyshev
(traccia: P
si utilizzi la forma di Lagrange del polinomio interpolatore, detto
Π̃n (x) = ni=0 f˜(xi )ℓi (x) il polinomio interpolatore sui dati perturbati {f˜(xi )}
dove |f˜(xi ) − f (xi )| ≤ ε, si ha |Π̃n (x) − Π(x)| ≤ ...)
11. è noto che per qualsiasi distribuzione di nodi la costante di Lebesgue ha crescita
2n
almeno logaritmica, Λn ≥ c1 log n, che per i nodi equispaziati Λn ∼ c2 n log
(inn
stabilità), mentre per i nodi di Chebyshev Λn = O(log n) (c1 e c2 sono opportune
costanti)
12. si dimostri che l’interpolazione lineare a tratti (disegnarla) converge uniformemente per f ∈ C 2 [a, b] con un errore O(h2 ), dove x0 = a < x1 < . . . < xn = b,
h = maxi ∆xi , ∆xi = xi+1 − xi , i = 0, . . . , n − 1
13. ∗ si dimostri che l’interpolazione quadratica a tratti (disegnarla) converge uniformemente per f ∈ C 3 [a, b] con un errore O(h3 ), dove h = maxi ∆xi ; c’è
qualche vincolo sul numero di nodi? si utilizzi poi la stima trovata per decidere
a priori quanti nodi usare nell’interpolazione quadratica a passo costante di
f (x) = sin x in [0, π] per avere un errore < 10−8
(traccia: si utilizzi localmente la stima dell’errore di interpolazione polinomiale
a passo costante)
14. nell’interpolazione spline di grado k su x0 = a < x1 < . . . < xn = b, si cerca
Sk ∈ C k−1 [a, b] tale che Sk ristretta a [xi , xi+1 ] sia un polinomio di grado al più
k e Sk (xi ) = f (xi ); chi sono le incognite in questo problema, quante sono le
equazioni (vincoli)? nel caso cubico, come si ottiene un sistema quadrato?
15. dato un campionamento {(xi , yi )}1≤i≤N , nell’approssimazione ai minimi quadrati
invece di interpolare si P
cerca un polinomio p di grado m < N tale che la somma
2
degli scarti quadratici N
i=1 (yi − p(xi )) sia minima, ovvero si risolve il problema di minimo in m + 1 variabili
min
m+1
a∈R
N
X
i=1
2
(yi − (a0 + a1 xi + . . . + am xm
i ))
Si può dimostrare che questo problema ha soluzione unica, calcolabile risolvendo
sistema lineare V t V a = V t y, dove V = (vij ) = (xji ), 1 ≤ i ≤ N, 0 ≤ j ≤ m
è una matrice di Vandermonde rettangolare N × (m + 1) e V t V è una matrice
(m+1)×(m+1) simmetrica e definita positiva (traccia: si tratta della soluzione
ai minimi quadrati del sistema sovradeterminato V a = y, vedi la sezione 1.6)
10
1.5
Integrazione e derivazione numerica
16. ∗ si dimostri che, per f ∈ C s+1[a, b], le formule di quadratura “composte”
ottenute integrando un’interpolante polinomiale a tratti di grado locale fissato
s costruita su un campionamento {(xi , f (xi ))}, i = 0, . . . , n, sono convergenti
con un errore che è almeno O(hs+1 ), dove h = max ∆xi (c’è qualche vincolo sul
numero di nodi?)
17. ∗ si verifichi che le formule di quadratura interpolatorie (quelle ottenute integrando un unico
Pn polinomio interpolatore su tutti i nodi) hanno la forma di
somma pesata i=0 wi f (xi ), dove i {wi } sono opportuni pesi
(traccia: si utilizzi la formula di interpolazione di Lagrange; ∗∗ lo stesso vale
anche per le formule composte, che sono localmente “interpolatorie”, cioè ottenute integrando un singolo polinomio interpolatore di grado s in [xks , x(k+1)s ],
k = 0, . . . , (n : s) − 1) con n multiplo di s)
18. si ricavino la formula di quadratura composta di grado 1, detta dei trapezi, e
∗ la formula di quadratura composta di grado 2, detta di Cavalieri-Simpson (o
delle parabole), nel caso di campionamento a passo costante
19. l’interpolazione spline cubica può essere usate per approssimare integrali e
derivate di una funzione campionata?
(traccia.: si ricordi la stima dell’errore in norma infinito per f ∈ C 4 [a, b]
(j)
max |f (j) (x) − S3 (x)| ≤ cj h4−j , 0 ≤ j ≤ 3
x∈[a,b]
dove cj sono costanti (in h = max ∆xi ) dipendenti da f ; si osservi che le derivate
di S3 approssimano le derivate di f ma non sono in generale interpolanti)
20. data una formula di approssimazione φ(h) di una quantità φ0 , con la struttura
φ(h) = φ0 + chp + O(hq ), q > p > 0, utilizzando opportune combinazioni lineari
di φ(h) e φ(h/2) si ricavino:
• una stima a posteriori della parte principale dell’errore chp
• una nuova approssimazione con errore di ordine O(hq ) (estrapolazione)
approfondimento ∗∗: come si potrebbe iterare il procedimento di estrapolazione
per φ(h) = φ0 +c1 hp1 +c2 hp2 +. . .+cm hpm +O(hq ), 0 < p1 < p2 < . . . < pm < q?
(traccia: si utilizzi una sequenza di passi h, h/2, h/4, . . .)
21. si verifichi che il rapporto incrementale standard δ+ (h) = (f (x + h) − f (x))/h
e quello “simmetrico” δ(h) = (f (x + h) − f (x − h))/(2h) hanno la struttura
dell’esercizio precedente per f sufficientemente regolare
(traccia: si utilizzi la formula di Taylor; in particolare, chi sono p e q per δ(h)
con f ∈ C 5 )? si applichi l’esercizio precedente a vari esempi, controllando
l’accuratezza delle approssimazioni e delle stime dell’errore
11
22. perché
√ nella derivazione numerica con δ+ (h) conviene prendere un passo dell’ordine
di ε, dove ε è il massimo errore su f ? e nel caso si usi δ(h)?
23. si rifletta sull’instabilità intrinseca dell’operazione funzionale di derivazione (fare
un esempio) e sul fatto che l’operazione di integrazione invece è stabile; perchè
l’effetto dell’instabilità viene mitigato usando formule di derivazione numerica
con errore di ordine maggiore? ad es. con δ(h) invece di δ+ (h), oppure applicando l’estrapolazione
(∗ traccia: detto ε l’errore su f , l’errore effettivo delle formule ha una stima del
tipo E(h) = O(hp ) + O(ε/h), ...)
24. detta T (h) la formula di quadratura composta dei trapezi a passo costante e
Rb
sapendo che T (h) = a f (x) dx + ch2 + O(h4 ) per f ∈ C 4 [a, b], si calcolino stima
a posteriori dell’errore e formula di estrapolazione (detta formula di Romberg)
su vari esempi di funzioni integrabili elementarmente, confrontando con l’errore
effettivo
(traccia: per l’errore T (h) − T (h/2) = 43 ch2 + O(h4 ), ...; per l’estrapolazione
Rb
4T (h/2) − T (h) = 3 a f (x) dx + O(h4 ), ...)
25. ∗ abbiamo visto che la “risposta alle perturbazioni”P
su f dell’interpolazione
polinomiale è legata alla quantità Λn = maxx∈[a,b] ni=0 |ℓi (x)| (costante di
Lebesgue),
Pdove gli {ℓi } sono i polinomi elementari di Lagrange; si mostri che la
quantità ni=0 |wi | svolge un ruolo analogo nel caso delle formule di quadratura
interpolatorie e composte; perché in particolare le formule interpolatorie e composte con pesi positivi sono sicuramente stabili?
(traccia: tali formule sono esatte sui polinomi costanti, ...)
1.6
Algebra lineare numerica
1. ∗ stime di condizionamento (risposta della soluzione di un sistema lineare agli
errori sul vettore termine noto): dato il sistema quadrato Ax = b con det(A) 6=
0, b 6= 0 e il sistema perturbato A(x + δx) = b + δb, si mostri che vale la stima
kδxk
kδbk
≤ k(A)
kxk
kbk
dove k(A) = kAk kA−1 k è l’indice di condizionamento di una matrice invertibile
nella norma matriciale indotta dalla norma vettoriale (traccia: si utilizzi la
disuguaglianza fondamentale valida per ogni norma matriciale indotta kAxk ≤
kAk kxk)
2. si può dimostrare (dim. non richiesta) che per un sistema in cui anche la matrice
sia affetta da errori, (A + δA)(x + δx) = b + δb, se kk(A)k kδAk < kAk, vale la
stima
kδAk kδbk
k(A)
kδxk
≤
+
kxk
1 − k(A)kδAk/kAk kAk
kbk
12
3. ∗∗ teorema fondamentale di invertibilità: data una norma matriciale in Cm×m
tale che kABk ≤ kAk kBk (come sono tutte le norme indotte da norme vettoriali, ovvero kAk = supx6=0 kAxk/kxk = supkxk=1 kAxk), se kAk < 1 allora I − A
è invertibile e si ha
∞
X
1
(I − A)−1 =
Aj , k(I − A)−1 k ≤
1 − kAk
j=0
P
P
P
(sugg.: k nj=m Aj k ≤ nj=m kAkj e la serie geometrica
kAkj è convergente
e quindi di Cauchy, ... ; nel caso kAk sia indotta da una norma vettoriale,
la dimostrazione di invertibilità e la stima si possono fare in modo più diretto
osservando che k(I − A)xk ≥ kxk − kAxk > 0, e se x è autovettore di I − A ...;
detta poi S = (I − A)−1 si ha 1 = kS(I − A)k ≥ kSk − kSAk ≥ ...).
(applicazione: si utilizzi il teorema fondamentale di invertibilità per dimostrare
la stima generale di condizionamento del punto precedente; sugg: partendo
da (A + δA)δx = δb − δAx e osservando che (A + δA) = A(I + A−1 δA) con
kA−1 δAk ≤ kA−1 k kδAk < 1, ...).
4. si dimostri che k(A) ≥ |λmax |/|λmin | ≥ 1 con qualsiasi norma matriciale indotta,
dove λmax e λmin sono gli autovalori di modulo massimo e minimo della matrice
invertibile A; per le matrici simmetriche k2 (A) = kAk2 kA−1 k2 = |λmax |/|λmin |
(traccia: se λ è autovalore di A e v 6= 0 autovettore corrispondente, da Av =
λv, si ricava immediatamente |λ| = kAvk/kvk ≤ kAk; si ricordi poi che gli
autovalori dell’inversa sono i reciproci degli autovalori di A, ...; si ricordi che
in generale gli autovalori di A2 sono i quadrati degli autovalori di A, per A
simmetrica At A = A2 , ...)
5. ∗∗ la soluzione di sistemi lineari con matrici fortemente mal condizionate (nelle
applicazioni non è infrequente avere indici di condizionamento k(A) ≈ 1010 , 1020
o anche superiori) deve essere affrontata con metodi speciali; schematizzando e
semplificando, si può dire che molti metodi corrispondono a sostituire il sistema
di partenza con una opportuna famiglia parametrizzata di sistemi
Ah xh = b
tali che ε(h) = kx − xh k → 0, k(Ah ) < k(A) e k(Ah ) → k(A) per h → 0; dati i
sistemi con termine noto perturbato
Ah (xh + δxh ) = b + δb
si ha allora una stima
kx − (xh + δxh )k
kx − xh k kδxh k
ε(h)
kδbk
≤
+
≤
+ (1 + ε(h)) k(Ah )
kxk
kxk
kxk
kxk
kbk
da cui si vede che conviene minimizzare in h: come nella derivazione numerica
con formule alle differenze, non conviene prendere il parametro h troppo grande
(perché si è distanti da x) e neppure troppo piccolo (perché il condizionamento
di Ah diventa troppo vicino a quello di A)
13
6. quali sono gli scopi del pivoting nel metodo di eliminazione gaussiana? (si pensi
al caso in cui un elemento diagonale diventa nullo, oppure molto piccolo in
modulo)
7. si mostri che il costo computazionale della soluzione di un sistema con matrice
triangolare è O(n2 ) flops
8. si può dimostrare (dim. non richiesta) che il metodo di eliminazione gaussiana
con pivoting per righe produce per matrici non singolari una fattorizzazione
P A = LU (dove P è una matrice di permutazione corrispondente agli scambi di
righe, L è triangolare inferiore con 1 sulla diagonale e U è triangolare superiore);
come si risolve in sistema Ax = b utilizzando la fattorizzazione P A = LU?
9. perchè la fattorizzazione P A = LU calcolata in aritmetica di macchina è estremamente accurata (cioè, gli elementi di LU coincidono alla precisione di
macchina con quelli di P A), ma per certe matrici (vedi matrice di Hilbert) la
soluzione di sistemi ottenuta con tale fattorizzazione risulta molto poco accurata
(se non addirittura completamente sbagliata)?
10. come si può utilizzare la fattorizzazione P A = LU fornita dal metodo di eliminazione con pivoting per righe, per calcolare l’inversa di una matrice? si osservi
che il costo computazionale complessivo è O(n3 ) flops
(traccia: le colonne di una matrice si ottengono moltiplicando la matrice per
i vettori coordinati, quindi le colonne di A−1 corrispondono alle soluzioni dei
sistemi ...)
11. sia A ∈ Rm×n , m > n, una matrice di rango massimo: si mostri che calcolare
la soluzione ai minimi quadrati del sistema sovradeterminato Ax = b (che in
generale non ha soluzione classica, perché?)
min kAx − bk22 = minn
x∈Rn
x∈R
m
X
i=1
bi −
n
X
j=1
aij xj
!2
è equivalente a risolvere il sistema con matrice simmetrica definita positiva
At Ax = At b (detto “sistema delle equazioni normali”)
(traccia: ∗ si osservi che x minimizza il polinomio quadratico φ(x) = kAx − bk22
se e solo se per ogni v ∈ Rn si ha φ(x) ≤ φ(x + v) ovvero sviluppando i calcoli
2v t At (Ax − b) + v t At Av ≥ 0, e posto v = εu con kuk2 = 1, per ε → 0 ...; per
provare che At A è definita positiva, si osservi che (At Av, v) = (Av, Av) ≥ 0 per
ogni v ∈ Rn , ...)
12. si ottenga il sistema delle equazioni normali come condizione necessaria di estremalità, annullando il gradiente di φ (chi è la matrice Hessiana di φ?)
13. si reinterpreti l’approssimazione polinomiale ai minimi quadrati come soluzione
ai minimi quadrati di un sistema sovradeterminato
(traccia: chi è la matrice A? per provare che ha rango massimo, si ricordi che una
14
matrice quadrata di Vandermonde corrispondente a nodi distinti è non singolare,
quindi considerando una sottomatrice quadrata della matrice di Vandermonde
rettangolare ...)
14. sia A ∈ Rm×n , m ≥ n, una matrice di rango massimo: allora si può dimostrare (dim. non richiesta) che A ammette una fattorizzazione A = QR,
dove Q ∈ Rm×n è una matrice ortogonale (ovvero le colonne di Q sono vettori
ortonormali, cioè Qt Q = I) e R è una matrice triangolare superiore non singolare (si tratta in sostanza di un procedimento equivalente all’ortogonalizzazione
di Gram-Schmidt delle colonne di A: la matrice R−1 , che resta triangolare superiore, è la matrice dei coefficienti dell’ortogonalizzazione)
15. come si può applicare la fattorizzazione QR alla soluzione di sistemi sovradeterminati? (traccia: utilizzando A = QR, non è necessario calcolare la matrice
At A perché At A = Rt R, ...)
16. cond. suff. per la convergenza delle approssimazioni successive: un sistema
quadrato della forma x = Bx + c con kBk < 1 (in una norma matriciale indotta
da una norma vettoriale) ha soluzione unica che si può ottenere come limite
della successione di approssimazioni successive vettoriali {xk } definita da
xk+1 = Bxk + c , k = 0, 1, 2, . . .
a partire da un qualsiasi vettore iniziale x0
(traccia: il sistema ha soluzione unica se e solo se I − B è invertibile, e gli
autovalori di I − B sono del tipo µ = 1 − λ con λ autovalore di B e quindi
|λ| ≤ kBk < 1, ...; scrivendo x−xk+1 = B(x−xk ) si ottiene la stima kx−xk+1 k ≤
kBk kx − xk k, ...)
17. cond. nec. e suff. per la convergenza delle approssimazioni successive: il metodo
delle approssimazioni successive xk+1 = Bxk + c, k ≥ 0, converge alla soluzione
di x = Bx + c per qualsiasi scelta dei vettori x0 e c se e solo se ρ(B) < 1 (dove
ρ(B) è il “raggio spettrale” della matrice quadrata B, ovvero il max dei moduli
degli autovalori); dimostrazione non richiesta
18. dato uno splitting di una matrice quadrata, A = P − N, con det(P ) 6= 0, il
sistema Ax = b si può scrivere nella forma x = Bx + c dove B = P −1 N e
c = P −1 b. Esempi di corrispondenti metodi delle approssimazioni successive
nell’ipotesi aii 6= 0 ∀i sono (posto A = D − (E + F ), dove D è la parte diagonale
di A ed −E, −F le parti triangolare inferiore e superiore di A − D)
• il metodo di Jacobi: P = D, N = E + F
• il metodo di Gauss-Seidel: P = D − E, N = F
Si scrivano per componenti tali metodi, e si dimostri che il metodo di Jacobi
è convergente per matrici diagonalmente dominanti in senso stretto; si può
dimostrare (dim. non richiesta) che anche il metodo di Gauss-Seidel converge in
15
tale ipotesi nonché per matrici simmetriche definite positive (traccia: si consideri
la norma infinito della matrice di iterazione B del metodo di Jacobi, ...)
19. ∗∗ il metodo delle approssimazioni successive si può riscrivere come
xk+1 = (I − P −1 A)xk + P −1 b = xk + P −1 r(xk )
(dove r(xk ) = b − Axk è il vettore “residuo” al passo k-esimo); il ruolo della
matrice P −1 può essere visto come quello di “precondizionatore”: l’azione di
P −1 è efficace quando P −1 ≈ A−1 , nel senso che gli autovalori di P −1 A si accumulano intorno ad 1 (e nel contempo dato un vettore v, il calcolo di z = P −1 v,
ovvero la soluzione del sistema P z = v, ha basso costo computazionale); vari
metodi introducono un parametro di rilassamento α, xk+1 = xk + αP −1r(xk ),
che aumenti l’efficacia del precondizionatore (cercando di diminuire o addirittura minimizzare il raggio spettrale di B(α) = I − αP −1A)
20. test di arresto del residuo: dato un qualsiasi metodo iterativo convergente per
la soluzione di un sistema lineare non singolare Ax = b con b 6= 0, si mostri che
vale la seguente stima dell’errore relativo
kr(xk )k
kx − xk k
≤ k(A)
kxk
kbk
21. ∗ metodo delle potenze per il calcolo degli autovalori estremali: data una matrice
diagonalizzabile A ∈ Rm×m , con un unico autovalore di modulo massimo (di
qualsiasi molteplicità), e la successione di vettori xn+1 = Axn , n ≥ 0 dove
x0 abbia componente non nulla nell’autospazio corrispondente, i quozienti di
Rayleigh R(xn ) = (Axn , xn )/(xn , xn ) (dove (x, y) è il prodotto scalare euclideo
di x, y ∈ Rm ) convergono a tale autovalore e xn /kxn k2 tende ad un autovettore
(normalizzato) corrispondente; come si può modificare il metodo per calcolare
l’autovalore di modulo minimo quando A è non singolare? (sugg.: si scriva x0
nella base di autovettori, ...; per l’autovalore di modulo minimo, si osservi che
gli autovalori di A−1 sono ...).
1.7
Differenze finite per equazioni differenziali
1. dato un problema ai valori iniziali y ′ = f (t, y), t ∈ [t0 , tf ]; y(t0 ) = a, con f
di classe C 1 tale che |∂f /∂y| ≤ L, si dimostri che la “legge di propagazione”
dell’errore en = |yn − y(tn )| dei metodi di Eulero esplicito
yn+1 = yn + hf (tn , yn ) , 0 ≤ n ≤ N − 1
ed Eulero implicito
yn+1 = yn + hf (tn+1 , yn+1 ) , 0 ≤ n ≤ N − 1
su una discretizzazione a passo costante h = (tf − t0 )/N, tn = t0 + nh, è del
tipo
en+1 ≤ αen + δn+1 , δn+1 = δn+1 (h) = O(h2 )
16
dove α = α(h) = (1 + hL) nel caso puramente Lipschitziano, oppure α = 1 nel
caso dissipativo (−L ≤ ∂f /∂y ≤ 0) senza vincoli sul passo per Eulero implicito
e con il vincolo h ≤ 2/L per Eulero esplicito
(traccia (∗): per Eulero esplicito si usi la sequenza ausiliaria un+1 = y(tn ) +
hf (tn , y(tn )) e la scrittura yn+1 −y(tn+1 ) = yn+1 −un+1 +un+1 −y(tn+1 ), δn+1 (h) =
|un+1 − y(tn+1 )|, ricorrendo poi al teorema del valor medio per il primo addendo
e alla formula di Taylor per il secondo ...; analogamente per Eulero implicito
con la sequenza ausiliaria un+1 = y(tn+1) + hf (tn+1 , y(tn+1)), ...)
2. si deduca dall’esercizio precedente che l’errore globale dei metodi di Eulero è
N
max en ≤ α e0 + max {δn }
0≤n≤N
1≤n≤N
N
−1
X
n=0
αn ≤ c1 e0 + c2 h ,
stimando le costanti c1 e c2 nei casi Lipschitziano e dissipativo
3. (∗∗) dopo aver individuato un opportuno modello di “metodo perturbato” che
fornisca una sequenza ỹn ≈ yn per Eulero esplicito ed implicito tenendo conto
degli errori introdotti ad ogni passo, si studi la stabilità dei due metodi nei casi
Lipschtiziano e dissipativo, ottenendo una “legge di propagazione” degli errori e
una stima dell’effetto globale di tali errori. Ci si aspetta che max |ỹn −y(tn )| → 0
per h → 0?
4. il metodo di Crank-Nicolson (o trapezoidale)
yn+1 = yn + (h/2)[f (tn , yn ) + f (tn+1 , yn+1)]
ha ordine di approssimazione locale δn+1 (h) = O(h3 ) per f ∈ C 2 (traccia: il
si ricava applicando alla rappresentazione integrale y(tn+1 ) − y(tn ) =
Rmetodo
tn+1 ′
y (t) dt la formula di quadratura del trapezio)
tn
5. dato il problema test
y ′ = λy + b(t) , t > 0 ; y(0) = y0
dove g ∈ C[0, +∞) e λ ∈ C, Reλ ≤ 0 (problema “stiff”), qual’è l’effetto sulla
soluzione di un errore ε0 = |y0 − ỹ0 | sul dato iniziale? si verifichi poi che la
propagazione di un errore ε0 sul dato iniziale per una discretizzazione a passo
costante h > 0 della semiretta è del tipo
εn = (φ(hλ))n ε0 , n > 0
per i metodi di Eulero (esplicito ed implicito) e per il metodo di Crank-Nicolson.
Quale è la regione di stabilità di ciascun metodo, ovvero {z ∈ C : φ(z) ≤ 1}?
Quale dei tre metodi è stabile senza vincoli sul passo?
17
6. ∗ si estenda l’analisi dell’esercizio precedente al caso del sistema test
y ′ = Ay + b(t) , t > 0 ; y(0) = y0
dove y(t), y0, b(t) ∈ Rm e A ∈ Rm×m è una matrice costante diagonalizzabile
con autovalori di parte reale non positiva (sistema “stiff”)
(traccia: lavorando nella base di autovettori di A ...)
7. dato il problema ai valori al contorno
u′′ (x) − cu(x) = f (x) , x ∈ (a, b) ; u(a) = u(b) = 0
dove c è una costante positiva, si assuma che la soluzione u sia di classe C 4 [a, b] e
si consideri una discretizzazione dell’intervallo a passo costante h = (b−a)/(n+
1), con nodi xi = a+ih, 0 ≤ i ≤ n+1. Tramite l’approssimazione della derivata
seconda ottenuta con le differenze centrate
u′′ (x) ≈ δh2 u(x) =
u(x + h) − 2u(x) + u(x − h)
h2
si vede che il vettore {u(xi )}1≤i≤n soddisfa un sistema lineare del tipo
A{u(xi )} = {g(xi )} + {εi }
dove A ∈ Rn×n è una matrice tridiagonale con −2h−2 − c sulla diagonale principale e h−2 sulle due diagonali adiacenti, e |εi | ≤ Mh2 (sugg.: si utilizzi la formula
di Taylor di centro xi in xi − h = xi−1 e xi + h = xi+1 ). La matrice A risulta
simmetrica e definita negativa, con autovalori nell’intervallo [−(c + 4h−2 ), −c]
(si usi il teorema di Gershgorin per la localizzazione
degli autovalori,
ovvero:
Sm
P
m×m
se λ è autovalore di A ∈ C
allora λ ∈ i=1 C[aii , ri ], ri = j6=i |aij |, dove
C[a, r] è il cerchio complesso chiuso di centro a ∈ C e raggio r).
Detto {ui } il vettore soluzione del sistema lineare
A{ui } = {g(xi )}
si provi che vale la stima
k{ui } − {u(xi )}k2
√
= O(h2 )
n
(sugg.: si ha che kA−1 k2 ≤ 1/c,
√ il modo di misurare l’errore
√ ...); si osservi che
è giustificato da k{u(xi )}k2 / n ≈ kukL2(a,b) / b − a. Il sistema può essere
agevolmente risolto con il metodo di eliminazione di Gauss, che in questo caso
ha complessità O(n) (perché?) Come va modificato il sistema per condizioni al
contorno del tipo u(a) = α, u(b) = β?
8. nel caso di c = 0 (equazione di Poisson unidimensionale) si può ancora far vedere
(non richiesto) che A è definita negativa, perch‘’e i suoi autovalori appartengono
all’intervallo [−4h−2 , −δ], con un opportuno δ > 0 indipendente da h
18
9. ∗ dato il problema ai valori al contorno
∆u(P ) − cu(P ) = f (P ) , P = (x, y) ∈ Ω = (a, b) × (c, d) ; u|∂Ω ≡ 0
dove ∆ = ∂/∂x2 + ∂/∂y 2 è l’operatore laplaciano e c è una costante positiva, si
assuma che la soluzione u sia di classe C 4 (Ω) e si consideri una discretizzazione
del rettangolo con passo h = (b − a)/n nella direzione x e k = (d − c)/m nella
direzione y, con nodi Pij = (xi , yj ), xi = a + ih, 0 ≤ i ≤ n + 1, yj = c + jk,
0 ≤ j ≤ m + 1. Discretizzando l’operatore di Laplace tramite lo schema alle
differenze “a croce”
2
2
2
δh,k
u(P ) = δx,h
u(P ) + δy,k
u(P ) ≈ ∆u(P )
si vede che il vettore {u(Pij )}1≤i≤n,1≤j≤m soddisfa un sistema lineare del tipo
A{u(Pij )} = {g(Pij )} + {εij }
dove A ∈ Rnm×nm e |εij | ≤ M1 h2 + M2 k 2 .
La struttura della matrice dipende dalla numerazione dei nodi: utilizzando
l’ordinamento lessicografico delle coppie (i, j), si vede che la matrice risulta
simmetrica, tridiagonale a blocchi con una diagonale di blocchi n × n che sono
matrici tridiagonali con −c − 2(h−2 + k −2 ) sulla diagonale principale e h−2 sulle
due diagonali adiacenti, e due diagonali adiacenti di blocchi n × n che sono
matrici diagonali con k −2 sulla diagonale principale. Inoltre σ(A) ⊂ [−(c +
4(h−2 + k −2 )), −c], quindi A è definita negativa (questo è vero (NR) anche per
c = 0, equazione di Poisson bidimensionale). Detto {uij } il vettore soluzione
del sistema lineare
A{uij } = {g(Pij )}
si provi che vale la stima
k{uij } − {u(Pij )}k2
√
= O(h2 ) + O(k 2 )
nm
p
√
(si osservi che k{u(Pij )}k2 / nm ≈ kukL2(Ω) / mis(Ω)). In questo caso il
metodo di eliminazione di Gauss non è conveniente (perché?), essendo A fortemente sparsa (su ogni riga ci sono al massimo 5 elementi non nulli) e tendenzialmente di grande dimensione sono più adatti metodi iterativi, opportunamente
precondizionati visto che A è mal condizionata, k2 (A) = O(h−2 + k −2 ) (sugg.:
si usi il teorema di Gershgorin per stimare il condizionamento di A)
10. metodo delle linee per l’equazione del calore: dato il problema evolutivo alle
derivate parziali con condizioni iniziali e al contorno
∂u
(P, t) = σ∆u(P, t) + g(P, t) , (P, t) ∈ Ω × (0, +∞)
∂t
u(P, 0) = u0 (P ) , u(P, t)|P ∈∂Ω ≡ 0
19
nel caso unidimensionale con P = x ∈ Ω = (a, b) o bidimensionale con P =
(x, y) ∈ Ω = (a, b) × (c, d), la discretizzazione nelle variabili spaziali tramite
∆u ≈ δ 2 u, posto rispettivamente y(t) = {ui (t)} ≈ {u(xi , t)} o y(t) = {uij (t)} ≈
{u(Pij , t)}, porta ad un sistema di equazioni differenziali ordinarie nel tempo
y ′ = Ay + b(t) , t > 0 ; y(0) = y0
dove A è la matrice di discretizzazione del laplaciano vista sopra (tridiagonale o
tridiagonale a blocchi). Si mostri che il metodo di Eulero esplicito è stabile con
un passo temporale dell’ordine del quadrato dei passi spaziali, mentre i metodi
di Eulero implicito e di Crank-Nicolson sono incondizionatamente stabili.
(sugg.: essendo la matrice A simmetrica e definita negativa si tratta di un
sistema stiff, ...)
11. ∗∗ la soluzione dell’equazione del calore discretizzata nello spazio col metodo
delle linee si può scrivere esplicitamente usando l’esponenziale di matrice come
Z t
y(t) = exp(tA)y0 +
exp((t − s)A) b(s) ds ,
0
P
dove exp(B) = j≥0 B j /j! con B matrice quadrata. Nel caso in cui g(P, t) =
g(P ) è indipendente dal tempo, si ha b(t) ≡ b vettore costante e quindi
y(t) = exp(tA)y0 + (exp(tA) − I)A−1 b → −A−1 b , t → +∞ ,
cioè la soluzione dell’equazione (discretizzata) del calore ha uno stato stazionario
asintotico che corrisponde alla soluzione dell’equazione (discretizzata) di Poisson con termine noto −g (si può dimostrare (NR) che questa proprietà vale
anche per la soluzione u(P, t)). Nel ricavare la rappresentazione esponenziale
della soluzione
che d/ds exp(sA) = A exp(sA) (perché?) e di
R si usa il fatto −1
conseguenza exp(sA)ds = A exp(sA).
La rappresentazione esponenziale della soluzione è alla base di una famiglia
di solutori, i cosiddetti integratori esponenziali, che invece di discretizzare il
sistema stiff approssimano direttamente gli operatori esponenziali coinvolti.
20