1 Tracce di calcolo numerico
1Corsi di laurea triennale in Ingegneria aggiornamento: 7 giugno 2013
1.1 Sistema floating-point e propagazione degli errori
• si ricordi che, fissata una base (un numero naturale β > 1), ogni numero x ∈ R si pu`o scrivere (rappresentazione a virgola fissa) come
x = sign(x) (α
m. . . α
1α
0.α
−1. . . α
−n. . .)
β= sign(x)
m
X
j=0
α
jβ
j+
∞
X
j=1
α
−jβ
−j!
dove α
j, α
−j∈ {0, 1, . . . , β − 1} sono le cifre della rappresentazione in base β (ad esempio {0, 1} in base 2, {0, . . . , 9} in base 10); chiamiamo P
nj=0
α
jβ
jparte intera del numero e P
∞j=1
α
−jβ
−jparte frazionaria del numero
• perch´e la serie che rappresenta la parte frazionaria converge? si osservi che la parte frazionaria sta in [0, 1]
• la parte frazionaria di un numero razionale pu`o essere finita o infinita a seconda della base
• si mostri (con qualche esempio) che ogni numero reale si pu`o anche scrivere (rappresentazione normalizzata a virgola mobile) come
x = sign(x)β
p(0.d
1. . . d
t. . .)
β= sign(x)β
p∞
X
j=1
d
jβ
−jd
j∈ {0, 1, . . . β − 1}, d
16= 0, dove chiamiamo P
∞j=1
d
jβ
−jmantissa e p ∈ Z esponente della rappresentazione normalizzata a virgola mobile in base β; a cosa serve la normalizzazione d
16= 0?
• la mantissa di un numero reale sta in [0, 1], ma non `e la sua parte frazionaria
• i numeri irrazionali hanno parte frazionaria (e mantissa) infinita
• ∗ si dimostri, usando le serie, che l’errore di troncamento ad n cifre della parte frazionaria in base β `e ≤ β
−n• si dia un’interpretazione geometrica (con un disegno) del fatto che il massimo errore di arrotondamento ad n cifre `e la met`a del massimo errore di troncamento (∗∗ `e possibile dare una dimostrazione rigorosa di questo fatto utilizzando la serie che rappresenta la parte frazionaria)
1
argomenti e quesiti contrassegnati da
∗sono pi` u impegnativi, se non si `e 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 difficili e non sono considerati essenziali per una buona preparazione
• 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`a, estremi, variazione di densit`a, intorni di ap- prossimazione 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?
• si disegnino F(10, 1, −1, 1) e F(10, 2, −2, 2)
• 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` u di t cifre vengono arrotondati (se rappresentabili)
• la precisione di macchina, ε
M= β
1−t/2, non `e il pi` u piccolo numero floating- point positivo; che cos’`e invece?
• 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 `e come avere 53 bit perch´e la prima cifra di mantissa deve essere 1, e 11 bit per l’esponente, ...)
• in un’aritmetica a base 10 con 16 cifre di mantissa, 1 + 10
−15viene calcolato correttamente ma 1 + 10
−16= 1; perch´e? (si osservi che questo `e un esempio di non unicit`a dell’elemento neutro)
• ∗∗ 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 µ?
• detti ε
x= |x− ˜x|/|x| e ε
y= |y− ˜y|/|y|, x, y 6= 0, gli errori relativi sui dati si studi la stabilit`a 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 ⋆ ˜y)|
|x ⋆ y| ≤ w
1(x, y)ε
x+ w
2(x, y)ε
y, , x ⋆ y 6= 0 ,
calcolando w
1, w
2nei 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
• detto ε
fl’errore relativo su una funzione (derivabile) con variabile approssimata, ε
x= |x − ˜x|/|x|, x 6= 0, utilizzando la formula di Taylor si ricavi la “formula degli errori”
ε
f (x)≈ |xf
′(x)/f (x)| ε
x, f (x) 6= 0
• in Matlab si ha che ((1 + 10
−15) − 1)/10
−15= 1.110223024625157, ma invece
((1 + 2
−50) − 1)/2
−50= 1, dove 2
−50≈ 10
−15; perch´e?
• si facciano esempi in cui la propriet`a associativa non `e valida in aritmetica di macchina per overflow oppure per effetto dell’arrotondamento
• la formula risolutiva classica per le equazioni di secondo grado ax
2+ bx + c = 0, a 6= 0, ∆ = b
2− 4ac > 0, perde precisione in aritmetica di macchina se b
2≫ 4|ac|; si quantifichi la perdita di precisione calcolando i pesi della sottrazione cor- rispondente e si ricavi una formula “stabilizzata” (traccia: per la stabilizzazione, si osservi ad esempio che per b > 0, √
∆−b = ( √
∆−b)( √
∆+b)/( √
∆+b) = ...)
• ∗ si trovino esempi di funzioni “instabili”, cio`e tali che per certi punti x si ha ε
f (x)≫ ε
xqualunque sia la rappresentazione di f , e di funzioni “stabili” per cui l’instabilit`a nel calcolo dipende dalla rappresentazione
• si riscrivano, se necessario, le seguenti espressioni per ovviare a possibili insta- bilit`a in aritmetica di macchina:
E
1(x) = x
5/(2 + x
4+ 0.1|x|) − x + 100(x
4+ 5)
1/4E
2(x) = √
x
2+ 1 − |x| + 100x E
3(x) = 3 √
x
4+ 2 − (10x
7+ 1)/(x
5+ 1) + 10x
2• la successione definita da x
2= 2, x
n+1= 2
n−1/2q
1 − p1 − 4
1−nx
2n, n = 2, 3, . . ., soddisfa lim
n→∞x
n= π, ma se usata per approssimare π diventa insta- bile in aritmetica di macchina (qual’`e la sottrazione che fa perdere precisione?
si calcolino i fattori di amplificazione dell’errore in funzione di n); come pu`o essere stabilizzata?
• ∗ la formula di ricorrenza in avanti I
n= 1 − nI
n−1, n = 1, 2, . . ., I
0= 1 − e
−1, soddisfatta da I
n= e
−1R
10
x
ne
xdx, `e fortemente instabile in aritmetica di macchina (perch´e?), ma pu`o essere stabilizzata usandola all’indietro; ∗∗ si dimostrino convergenza e stabilit`a della formula all’indietro analizzando l’errore relativo
1.2 Costo computazionale degli algoritmi numerici
• si discuta l’algoritmo di H¨orner per il calcolo dei valori di un polinomio
• esiste un algoritmo veloce per il calcolo di una potenza tramite codifica binaria dell’esponente, basato sulla propriet`a a
n= a
Pcj2j= Q a
cj2j, dove {c
j} sono le cifre della codifica binaria di n ∈ N; qual’`e il costo computazionale (come numero di operazioni aritmetiche floating-point) in funzione di n? qual’`e il costo nel caso l’algoritmo venga applicato al calcolo di una potenza di matrice?
• ∗ perch´e 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), `e pi` u 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’ `e il comportamento per n → ∞?)
1.3 Soluzione numerica di equazioni non lineari
• data una funzione f ∈ C[a, b] (ovvero, f `e continua in [a, b]), tale che f(a)f(b) <
0, si dimostri che la successione x
0, x
1, . . . , x
n, . . ., costruita col metodo di bisezione (utilizzando iterativamente il teorema degli zeri) soddisfa la stima a priori dell’
errore
e
n= |ξ − x
n| ≤ b − a
2
n+1, n = 0, 1, 2, . . .
dove ξ `e uno zero di f in (a, b); si diano ipotesi su f che garantiscono l’unicit`a dello zero
• data una funzione continua f tale che f(ξ) = 0 e successione {x
n} tale che lim
n→∞x
n= ξ, perch´e in generale il “residuo” |f(x
n)| non `e una buona stima dell’errore? (si faccia un disegno sul possibile andamento locale di f , se il grafico
`e “piatto” ...); come va corretto il residuo?
(traccia: assumendo f derivabile con derivata continua e non nulla in [c, d], dove x
n∈ [c, d] almeno per n abbastanza grande, si utilizzi il teorema del valor medio, f (x
n)−f(ξ) = . . . ; si osservi che per la permanenza del segno la derivata
`e sicuramente non nulla in un intorno [c, d] di uno zero semplice, ovvero ξ tale che f
′(ξ) 6= 0)
• utilizzando i risultati dell’esercizio precedente, si discuta la seguente stima a posteriori dell’errore (con correzione del residuo)
e
n= |ξ − x
n| ≈ |f(x
n)|
x
n− x
n−1f (x
n) − f(x
n−1)
• si dia un’interpretazione geometrica del metodo di Newton x
n+1= x
n− f (x
n)
f
′(x
n) , f
′(x
n) 6= 0 , n = 0, 1, 2, . . .
• 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 x
0tale che f (x
0)f
′′(x
0) < 0, il metodo di Newton `e 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 {x
n} `e monotona e limitata, ...)
• detto e
n= |ξ − x
n| l’errore assoluto del metodo di Newton per f(x) = 0, in ipotesi di convergenza e per f ∈ C
2(I), dove I ⊃ {x
n} `e un intervallo chiuso e limitato in cui f
′(x) 6= 0, si dimostri la disuguaglianza e
n+1≤ Ce
2ncon C costante opportuna
(traccia: utilizzare la formula di Taylor calcolata nella radice e centrata in x
n, insieme alla definizione di {x
n}, ...)
approfondimento ∗: partendo da tale disuguaglianza, perch`e ci si aspetta conver-
genza locale ? ∗∗ si enunci e dimostri rigorosamente un risultato di convergenza
locale
• si giustifichi il fatto che nel calcolo di √
2 risolvendo l’equazione x
2− 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= e
n/|ξ|; col metodo di Newton ρ
n+1≤ C|ξ|ρ
2n, ...)
• un metodo convergente ha ordine di convergenza almeno p ≥ 1 se esiste C > 0 tale che
e
n+1≤ Ce
pne ordine esattamente p se vale
n→∞
lim e
n+1e
pn= L 6= 0 ;
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
• si dimostri che in ipotesi di convergenza il numero di iterazioni che garantiscono un errore assoluto ≤ ε (dove ε `e una tolleranza) `e n ≥ c
1log (ε
−1) + c
2per il metodo di bisezione e n ≥ c
3log (log (ε
−1)) + c
4per il metodo di Newton, dove c
1, c
2, c
3, c
4sono opportune costanti
• perch´e la quantit`a |x
n+1− x
n| (detta “step”) `e una buona stima dell’errore assoluto per il metodo di Newton (almeno per n abbastanza grande)?
• data una stima s
ndell’errore di un metodo iterativo convergente, e
n≤ s
noppure e
n≈ s
n, si discuta il significato di un test di arresto delle iterazioni del tipo s
n≤ |x
n|ε
r+ ε
a, dove ε
a`e una tolleranza assoluta ed ε
runa tolleranza relativa
• si verifichi l’applicabilit`a dei metodi di bisezione e di Newton all’equazione x − e
−x/5= 0
• si studino numericamente le seguenti equazioni “storiche”:
• x
3− 2x − 5 = 0 (su questa equazione Newton illustr`o il suo metodo)
• m = x−E sin x (equazione di Keplero: m `e l’anomalia media di un pianeta, E l’eccentricit`a della sua orbita; si assuma ad esempio m = 0.8, E = 0.2) (traccia: isolare gli zeri anche graficamente, verificare l’applicabilit`a dei metodi di bisezione e di Newton, ...)
• se si applica il metodo di Newton con x
06= 0 all’equazione sign(x)|x|
1/2= 0 si
ottiene una successione “stazionaria”, mentre per sign(x)|x|
1/3= 0 la succes-
sione `e addirittura divergente; dove sta il problema?
• un risultato di convergenza delle iterazioni di punto fisso: sia φ : I → R deriv- abile nell’intervallo chiuso I ⊆ R, con (i): φ(I) ⊆ I, e (ii): |φ
′(x)| ≤ θ < 1 per ogni x ∈ I; scelto un qualsiasi x
0∈ I, la successione x
n+1= φ(x
n), n = 0, 1, 2, . . ., converge all’unico punto fisso di φ in I (dimostrazione non richiesta, ma si faccia vedere usando (ii) e il teorema del valor medio che φ
“contrae le distanze” e che il punto fisso `e unico in I; si osservi anche che I pu`o essere non limitato, ovvero una semiretta chiusa o anche tutta la retta)
• corollario (convergenza locale): sia ξ punto fisso di una funzione φ derivabile in un intorno di ξ, con |φ
′(ξ)| < 1; allora la successione delle iterazioni di punto fisso converge a ξ a partire da qualsiasi x
0in 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 `e θ?)
• in ipotesi di convergenza, per le iterazioni di punto fisso valgono le stime di errore
|x
n− ξ| ≤ θ
n|x
0− ξ| (a priori)
|x
n− ξ| = |x
n+1− x
n|
1 − φ
′(z
n) ≤ 1
1 − θ |x
n+1− x
n| (a posteriori)
dove z
n∈ int(x
n, ξ); quando ha senso usare il solo step |x
n+1− x
n| come stima a posteriori dell’errore?
(traccia: per la prima si osservi che |x
n+1− ξ| = |φ(x
n) − φ(ξ)| = |φ
′(z
n)| |x
n− ξ| ≤ . . .; per la seconda si osservi che x
n+1− x
n= x
n+1− ξ + ξ − x
n= φ
′(z
n)(x
n− ξ) + ξ − x
n, ...)
• si studi la soluzione delle equazioni x = e
−x/5e x = e
−xcon 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?
• ordine di convergenza delle iterazioni di punti fisso: si dimostri che un’iterazione di punto fisso x
n+1= φ(x
n), con φ ∈ C
pin 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
• perch´e il metodo di Newton si pu`o 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 x
n+1= φ(x
n) con
φ(x) = . . . )
1.4 Interpolazione e approssimazione di dati e funzioni
• problema algebrico dell’interpolazione (costruzione): dati n+1 punti (x
i, f (x
i)), i = 0, . . . , n, sul grafico di una funzione f : [a, b] → R, determinare se esiste ed
`e unica una funzione φ
nin una opportuna famiglia di funzioni F
n, tale che φ
n(x
i) = f (x
i) , i = 0, . . . , n
(nel caso di F
n= P
n, lo spazio vettoriale dei polinomi di grado ≤ n, si parla di interpolazione polinomiale, e chiameremo Π
n(x) = φ
n(x) il polinomio interpo- latore)
• problema analitico dell’interpolazione (convergenza): per quali scelte dei nodi {x
i} e in quali ipotesi su f si ha convergenza uniforme degli interpolatori, cio`e
x∈[a,b]
max |φ
n(x) − f(x)| → 0 , n → ∞ ?
• perch´e il polinomio interpolatore Π
n(x) di grado ≤ n di una funzione f su n + 1 nodi distinti {x
0, x
1, . . . , x
n} `e unico?
• si mostri che
Π
n(x) =
n
X
i=0
f (x
i) ℓ
i(x) , ℓ
i(x) = Q
k6=i
(x − x
k) Q
k6=i
(x
i− x
k)
`e il polinomio interpolatore su n + 1 nodi distinti {x
0, x
1, . . . , x
n} (si tratta della coiddetta “forma di Lagrange” del polinomio interpolatore)
• il problema di interpolazione polinomiale di grado n su n+1 nodi `e equivalente al sistema lineare V a = y, dove V = (v
ij) = (x
ji), 0 ≤ i, j ≤ n `e detta “matrice di Vandermonde” dei nodi di interpolazione, a = (a
0, . . . , a
n)
te y = (y
0, . . . , y
n)
t, y
i= f (x
i)
• ∗ perch´e nell’interpolazione polinomiale esistenza per ogni vettore di valori cam- pionati nei nodi ed unicit`a sono equivalenti?
(traccia: il problema `e equivalente ad un sistema lineare con matrice V , l’unicit`a significa che l’applicazione lineare associata a V `e iniettiva cio`e il nucleo di V `e il vettore nullo, ...)
• ∗ 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)
E
n(x) = f (x) − Π
n(x) = f
(n+1)(η)
(n + 1)! (x − x
0) . . . (x − x
n) dove η ∈ int(x, x
0, . . . , x
n)
(traccia: si utilizzi la funzione ausiliaria di variabile z G(z) = E
n(z)−ω(z)(E
n(x)/ω(x)),
x ∋ {x
0, x
1, . . . , x
n} fissato, e si applichi ripetutamente il teorema di Rolle)
• ∗ partendo dalla forma di Lagrange dell’errore di interpolazione polinomiale di grado n per f ∈ C
n+1[a, b], si pu`o dimostrare (dim. non richiesta) che il massimo errore nel caso di nodi equispaziati `e ≤ max
x∈[a,b]{|f
(n+1)(x)|} h
n+1/(4(n + 1)) dove h = (b − a)/n; perch´e da questa stima non si pu`o dedurre la convergenza per f ∈ C
∞[a, b]? (vedi controesempio di Runge, f (x) = 1/(1+x
2), x ∈ [−5, 5])
• interpolazione di Chebyshev: abbiamo visto che in generale i polinomi inter- polatori non convergono alla funzione campionata (controesempio di Runge su nodi equispaziati); scelte speciali dei nodi per`o assicurano tale convergenza. `e il caso ad esempio dell’interpolazione polinomiale su nodi di Chebyshev, del tipo
x
i= b + a
2 − b − a
2 cos iπ n
, 0 ≤ i ≤ n oppure
x
i= b + a
2 − b − a
2 cos (2i + 1)π 2n + 2
, 0 ≤ i ≤ n ;
si noti che tali nodi non sono equispaziati ma si accumulano pi` u 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 T
n+1(t) = cos((n + 1) arccos(t)), t ∈ (−1, 1), che `e un polinomio (∗∗), il cosiddetto polinomio di Chebyshev di grado n + 1. Per questo tipo di nodi si pu`o dimostrare (dim. non richiesta) che per ogni f ∈ C
k[a, b], k ≥ 1, esiste una costante M
ktale che
x∈[a,b]
max |f(x) − Π
n(x)| ≤ M
klog(n) n
k,
e quindi si ha convergenza uniforme per n → ∞ (in particolare per la funzione del controesempio di Runge)
• ∗ si mostri che la “risposta alle perturbazioni” su f dell’interpolazione polino- miale `e legata alla quantit`a Λ
n= max
x∈[a,b]P
ni=0
|ℓ
i(x)| (costante di Lebesgue), dove gli {ℓ
i} sono i polinomi elementari di Lagrange; si osservi che dai nodi di interpolazione; si pu`o dimostrare (dim. non richiesta) che la crescita di Λ
n`e esponenziale in n per i nodi equispaziati (instabilit`a), mentre `e logaritmica per i nodi di Chebyshev
(traccia: si utilizzi la forma di Lagrange del polinomio interpolatore, detto Π ˜
n(x) = P
ni=0
f (x ˜
i)ℓ
i(x) il polinomio interpolatore sui dati perturbati { ˜ f (x
i)}
dove | ˜ f (x
i) − f(x
i)| ≤ ε, si ha | ˜ Π
n(x) − Π(x)| ≤ ...)
• si dimostri che l’interpolazione lineare a tratti (disegnarla) converge uniforme-
mente per f ∈ C
2[a, b] con un errore O(h
2), dove x
0= a < x
1< . . . < x
n= b,
h = max
i∆x
i, ∆x
i= x
i+1− x
i, i = 0, . . . , n − 1
• ∗ si dimostri che l’interpolazione quadratica a tratti (disegnarla) converge uni- formemente per f ∈ C
3[a, b] con un errore O(h
3), dove h = max
i∆x
i; c’`e 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)
• nell’interpolazione spline di grado k su x
0= a < x
1< . . . < x
n= b, si cerca S
k∈ C
k−1[a, b] tale che S
kristretta a [x
i, x
i+1] sia un polinomio di grado al pi` u k e S
k(x
i) = f (x
i); chi sono le incognite in questo problema, quante sono le equazioni (vincoli)? nel caso cubico, come si ottiene un sistema quadrato?
• dato un campionamento {(x
i, y
i)}
1≤i≤N, nell’approssimazione ai minimi quadrati invece di interpolare si cerca un polinomio p di grado m < N tale che la somma degli scarti quadratici P
Ni=1
(y
i− p(x
i))
2sia minima, ovvero si risolve il prob- lema di minimo in m + 1 variabili
a∈R
min
m+1N
X
i=1
(y
i− (a
0+ a
1x
i+ . . . + a
mx
mi))
2Si pu`o dimostrare che questo problema ha soluzione unica, calcolabile risolvendo sistema lineare V
tV a = V
ty, dove V = (v
ij) = (x
ji), 1 ≤ i ≤ N, 0 ≤ j ≤ m
`e una matrice di Vandermonde rettangolare N × (m + 1) e V
tV `e 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)
1.5 Integrazione e derivazione numerica
• l’interpolazione spline cubica pu`o 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]
x∈[a,b]
max |f
(j)(x) − S
3(j)(x)| ≤ c
jh
4−j, 0 ≤ j ≤ 3 dove c
jsono costanti (in h = max ∆x
i) dipendenti da f )
• ∗ 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 {(x
i, f (x
i))}, i = 0, . . . , n, sono convergenti con un errore che `e almeno O(h
s+1), dove h = max ∆x
i(c’`e qualche vincolo sul numero di nodi?)
• ∗ si verifichi che, come le formule interpolatorie (quelle ottenute integrando un unico polinomio interpolatore su tutti i nodi) hanno la forma di somma pesata P
ni=0
w
if (x
i), dove i {w
i} 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`e ot- tenute integrando un singolo polinomio interpolatore di grado s in [x
ks, x
(k+1)s], k = 0, . . . , (n : s) − 1) con n multiplo di s)
• 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
• data una formula di approssimazione φ(h) di una quantit`a φ
0, con la struttura φ(h) = φ
0+ ch
p+ O(h
q), q > p > 0, utilizzando opportune combinazioni lineari di φ(h) e φ(h/2) si ricavino:
• una stima a posteriori della parte principale dell’errore ch
p• una nuova approssimazione con errore di ordine O(h
q) (estrapolazione) approfondimento ∗∗: come si potrebbe iterare il procedimento di estrapolazione per φ(h) = φ
0+c
1h
p1+c
2h
p2+. . .+c
mh
pm+O(h
q), 0 < p
1< p
2< . . . < p
m< q?
(traccia: si utilizzi una sequenza di passi h, h/2, h/4, . . .)
• 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
• perch´e nella derivazione numerica con δ
+(h) conviene prendere un passo dell’ordine di √
ε, dove ε `e il massimo errore su f ? e nel caso si usi δ(h)?
• si rifletta sull’instabilit`a intrinseca dell’operazione funzionale di derivazione (fare un esempio) e sul fatto che l’operazione di integrazione invece `e stabile; perch`e l’effetto dell’instabilit`a viene mitigato usando formule di derivazione numerica con errore di ordine maggiore? ad es. con δ(h) invece di δ
+(h), oppure appli- cando l’estrapolazione
(∗ traccia: detto ε l’errore su f, l’errore effettivo delle formule ha una stima del tipo E(h) = O(h
p) + O(ε/h), ...)
• detta T (h) la formula di quadratura composta dei trapezi a passo costante e sapendo che T (h) = R
ba
f (x) dx + ch
2+ O(h
4) 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) =
34ch
2+ O(h
4), ...; per l’estrapolazione 4T (h/2) − T (h) = 3 R
ba
f (x) dx + O(h
4), ...)
• ∗ abbiamo visto che la “risposta alle perturbazioni” su f dell’interpolazione polinomiale `e legata alla quantit`a Λ
n= max
x∈[a,b]P
ni=0
|ℓ
i(x)| (costante di Lebesgue), dove gli {ℓ
i} sono i polinomi elementari di Lagrange; si mostri che la quantit`a P
ni=0
|w
i| svolge un ruolo analogo nel caso delle formule di quadratura interpolatorie e composte; perch´e in particolare le formule interpolatorie e com- poste con pesi positivi sono sicuramente stabili?
(traccia: tali formule sono esatte sui polinomi costanti, ...)
1.6 Algebra lineare numerica
• ∗ 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
kxk ≤ k(A) kδbk kbk
dove k(A) = kAk kA
−1k `e 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)
• si pu`o 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δxk
kxk ≤ k(A)
1 − k(A)kδAk/kAk
kδAk
kAk + kδbk kbk
• si dimostri che k(A) ≥ |λ
max|/|λ
min| ≥ 1 con qualsiasi norma matriciale indotta, dove λ
maxe λ
minsono gli autovalori di modulo massimo e minimo della matrice invertibile A; per le matrici simmetriche k
2(A) = kAk
2kA
−1k
2= |λ
max|/|λ
min| (traccia: se λ `e 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 A
2sono i quadrati degli autovalori di A, per A simmetrica A
tA = A
2, ...)
• ∗∗ la soluzione di sistemi lineari con matrici fortemente mal condizionate (nelle applicazioni non `e infrequente avere indici di condizionamento k(A) ≈ 10
10, 10
20o anche superiori) deve essere affrontata con metodi speciali; schematizzando e semplificando, si pu`o dire che molti metodi corrispondono a sostituire il sistema di partenza con una opportuna famiglia parametrizzata di sistemi
A
hx
h= b
tali che ε(h) = kx − x
hk → 0, k(A
h) < k(A) e k(A
h) → k(A) per h → 0; dati i sistemi con termine noto perturbato
A
h(x
h+ δx
h) = b + δb si ha allora una stima
kx − (x
h+ δx
h)k
kxk ≤ kx − x
hk
kxk + kδx
hk
kxk ≤ ε(h)
kxk + k(A
h) kδbk 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´e si `e distanti da x) e neppure troppo piccolo (perch´e il condizionamento
di A
hdiventa troppo vicino a quello di A)
• 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)
• ∗ si dimostri che il costo computazionale asintotico del metodo di eliminazione gaussiana `e 2n
3/3 flops (traccia: si incastri il costo tra due integrali)
• il metodo di eliminazione gaussiana pu`o essere usato per calcolare il determi- nante di una matrice quadrata (come?), con costo computazionale O(n
3) flops (da confrontare con il costo O(n!) flops della regola di Laplace, che la rende inutilizzabile gi`a per valori relativamente piccoli di n)
• si mostri che il costo computazionale della soluzione di un sistema con matrice triangolare `e O(n
2) flops
• si pu`o 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 `e una matrice di permutazione corrispondente agli scambi di righe, L `e triangolare inferiore con 1 sulla diagonale e U `e triangolare superiore);
come si risolve in sistema Ax = b utilizzando la fattorizzazione P A = LU?
• perch`e la fattorizzazione P A = LU calcolata in aritmetica di macchina `e es- tremamente accurata (cio`e, 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)?
• come si pu`o utilizzare la fattorizzazione P A = LU fornita dal metodo di elimi- nazione con pivoting per righe, per calcolare l’inversa di una matrice? si osservi che il costo computazionale complessivo `e O(n
3) flops
(traccia: le colonne di una matrice si ottengono moltiplicando la matrice per i vettori coordinati, quindi le colonne di A
−1corrispondono alle soluzioni dei sistemi ...)
• sia A ∈ R
m×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´e?)
x∈R
min
nkAx − bk
22= min
x∈Rn m
X
i=1
b
i−
n
X
j=1