• Non ci sono risultati.

Tracce di calcolo numerico

N/A
N/A
Protected

Academic year: 2021

Condividi "Tracce di calcolo numerico"

Copied!
26
0
0

Testo completo

(1)

Tracce di calcolo numerico

1

Prof. Marco Vianello - Dipartimento di Matematica, Universit` a di Padova aggiornamento: 18 settembre 2015

1 Sistema floating-point e propagazione degli errori

1.1 Rappresentazione dei numeri reali, errore di troncamento e di arro- tondamento

1. 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) (c

m

. . . c

1

c

0

.c−1 . . . c

n

. . .)

β

= sign(x)

m

X

j=0

c

j

β

j

+

X

j=1

c

−j

β

j

dove c

j

, c

−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

n

j=0

c

j

β

j

parte intera del numero e P

j=1

c

−j

β

j

parte frazionaria del numero

2. si ricordino le principali propriet`a della somma geometrica e della serie geometrica di ragione a 6= 1, ovvero S

n

= P

n

j=0

a

j

e S = P

∞ j=0

a

j

traccia: aS

n

− Sn = (a − 1)S

n

= a

n+1

− 1, ...

3. perch´e la serie che rappresenta la parte frazionaria converge?

traccia: si utilizzi il confronto con la serie geometrica di ragione a = 1/β, osservando che c

−j

≤ β − 1 (si tratta del criterio di confronto tra serie a termini non negativi); si osservi che la parte frazionaria sta in [0, 1], controllando ad esempio che (0.999 . . .)

10

= (0.111 . . .)

2

= 1

4. la parte frazionaria di un numero irrazionale `e infinita (perch´e?); la parte frazionaria di un numero razionale pu` o essere finita o infinita a seconda della base: 1/3 = (0.333 . . .)

10

(verificarlo) ma 1/3 = (0.1)

3

5. si dimostri, usando le serie, che l’errore di troncamento ad n cifre della parte frazionaria in base β `e ≤ β

n

traccia: l’errore di troncamento non `e altro che il resto della serie corrispondente alla parte frazionaria, ...

6. si dia un’interpretazione geometrica (con un disegno, ad esempio nel caso di 2 cifre decimali) del fatto che il massimo errore di arrotondamento ad n cifre `e la met` a del massimo errore di troncamento (con l’usuale regola di arrotondamento, base pari: si tiene la cifra com’`e se la prima trascurata `e minore di β/2, si aumenta la cifra di una unit` a se la prima trascurata `e maggiore o uguale di β/2)

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

(2)

1.2 Sistema floating-point

1. si mostri (con qualche esempio) che ogni numero reale si pu` o anche scrivere (rappre- sentazione normalizzata a virgola mobile in base β) come

x = sign(x)β

p

(0.d

1

. . . d

t

. . .)

β

= sign(x)β

p

X

j=1

d

j

β

j

d

j

∈ {0, 1, . . . β − 1}, d

1

6= 0, dove chiamiamo P

j=1

d

j

β

j

mantissa e p ∈ Z esponente della rappresentazione; a cosa serve la normalizzazione d

1

6= 0?

2. la mantissa di un numero reale sta in [0, 1], ma non `e la sua parte frazionaria 3. i numeri irrazionali hanno parte frazionaria (e mantissa) infinita

4. si studi l’insieme dei numeri floating-point

F (β, t, L, U ) = {µ = ±(0.µ

1

µ

2

. . . µ

t

p

, µ

j

∈ {0, 1, . . . , β−1} , µ

1

6= 0 , p ∈ [L, U] ⊂ Z } traccia:

• card(F) = 1 + 2(β − 1)β

t−1

(U − L + 1) (sugg.: F `e simmetrico, F

= −F

+

; si contino le possibili mantisse e i possibili esponenti)

• min F

+

= β

L−1

(sugg.: chi `e la minima mantissa?)

• max F

+

= β

U

(1 − β

t

) (sugg.: utilizzare la somma geometrica per calcolare la massima mantissa)

• i numeri floating-point sono razionali

• si rifletta sul fatto che la densit`a `e variabile calcolando la distanza tra numeri macchina consecutivi; dove e come cambia tale densit`a?

• si rifletta sul concetto di raggio assoluto e relativo dell’intorno di approssimazione corrispondente ad ogni numero macchina, calcolando la precisione di macchina ε

M

che `e il massimo errore relativo di arrotondamento a t cifre di mantissa

• quando l’intorno associato ad un numero floating-point non `e simmetrico?

• quali sono i numeri reali rappresentabili (ovvero approssimabili per arrotonda- mento a t cifre di mantissa) tramite questi numeri floating-point?

5. si disegnino F(10, 1, −1, 1) e F(10, 2, −2, 2); perch´e i numeri floating-point contigui ad 1 sono (in notazione posizionale classica) nel primo caso 0.9 e 2 (non 1.1) e nel secondo caso 0.99 e 1.1 (non 1.01)?

6. 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)

7. la precisione di macchina, ε

M

= β

1−t

/2, non `e il pi` u piccolo numero floating-point

positivo (che invece `e ...)

(3)

8. 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 di cui 1 per il segno e 10 per il valore assoluto, si calcolino la precisione di macchina e gli estremi L ed U dell’intervallo degli esponenti; quali sono gli ordini di grandezza di ε

M

, max F

+

e min F

+

in base 10?)

1.3 Propagazione degli errori

1. in un’aritmetica a base 10 con 16 cifre di mantissa, 1 + 10

15

viene calcolato corret- tamente ma 1 + 10

16

= 1; perch´e? (si osservi che questo `e un esempio di non unicit` a dell’elemento neutro)

2. ∗ si pu`o dimostrare che vale anche ε

M

= min {µ ∈ F

+

: 1 + µ > 1}

3. 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

2

nei vari casi (moltiplicazione, divisione, addizione, sottrazione; trac- cia: si utilizzi la disuguaglianza triangolare); quali operazioni si possono considerare

“stabili”? in quali situazioni la sottrazione fa perdere precisione? si facciano esempi 4. detto ε

f

l’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)

≈ cond(f (x)) ε

x

, cond(f (x)) = |xf

(x)/f (x)| , f (x) 6= 0

5. si consideri f (x) = ((1+x)−1)/x, x 6= 0; in Matlab si ha che f (10

15

) = 1.110223024625157, invece ((1 + 2

50

) − 1)/2

50

= 1, dove 2

50

≈ 10

15

; perch´e?

6. si consideri f (x) = 1 − √

1 − x

2

, |x| ≤ 1, e si calcoli cond(f (x)); in Matlab si ha che f (10

4

) =5.000000080634948e-09 ma il valore esatto (alla precisione di macchina) `e 5.000000012500000e-09; la perdita di precisione (quantificarla) `e compatibile con la formula degli errori? in caso contrario, qual’`e il problema e come si pu` o superarlo?

7. si facciano esempi in cui la propriet`a associativa non `e valida in aritmetica di macchina per overflow oppure per effetto dell’arrotondamento

8. 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 corrispondente e si ricavi una formula “stabilizzata” (traccia: per la stabilizzazione, si osservi ad esempio che per b > 0, √

∆ − b = ( √

∆ − b)( √

∆ + b)/( √

∆ + b) = ...)

9. si riscrivano, se necessario, le seguenti espressioni per ovviare a possibili instabilit`a in

aritmetica di macchina:

(4)

E

1

(x) = x

5

/(2 + x

4

+ 0.1|x|) − x + 100(x

4

+ 5)

1/4

E

2

(x) = √

x

2

+ 1 − |x| + 100x E

3

(x) = 3 √

x

4

+ 2 − (10x

7

+ 1)/(x

5

+ 1) + 10x

2

10. la successione definita da x

2

= 2, x

n+1

= 2

n−1/2

q

1 − p1 − 4

1−n

x

2n

, n = 2, 3, . . . (“successione di Archimede”), soddisfa lim

n→∞

x

n

= π, ma se usata per approssimare π diventa instabile 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?

11. in figura gli errori relativi (in scala logaritmica) nell’approssimazione di π con la successione S

n

= q

6 P

n

j=1 1

j2

, n = 1, 2, 3, . . . (triangolini; stabile ma a convergenza lentissima, si stimi l’errore assoluto tramite il resto della serie P

j=1 1

j2

= π

2

/6), con la successione di Archimede del punto (10) (pallini, convergente ma instabile) e con la corrispondente versione stabilizzata (asterischi); perch`e con entrambe le versioni della successione di Archimede l’errore diventa ad un certo punto praticamente costante?

0 10 20 30 40 50 60 70 80 90 100

10−16 10−14 10−12 10−10 10−8 10−6 10−4 10−2 100 102

(5)

Tracce di calcolo numerico

1

Prof. Marco Vianello - Dipartimento di Matematica, Universit` a di Padova aggiornamento: 18 settembre 2015

2 Soluzione numerica di equazioni non lineari

2.1 Metodo di bisezione e metodo di Newton

1. data una funzione f ∈ C[a, b] (cio`e, f 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 (uti- lizzando 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

2. utilizzando la stima del punto 1, si calcoli il minimo numero di iterazioni del metodo di bisezione che garantisce un errore minore di ε, dove ε > 0 `e una tolleranza prefissata 3. data una funzione continua f tale che f (ξ) = 0 ed una 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 disegni il possibile andamento locale di f , se il grafico `e “piatto”

...); come va corretto il residuo utilizzando la derivata di f ? (residuo pesato)

(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 (ξ) = f

n

)(x

n

− ξ), α

n

∈ int(x

n

, ξ); 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)

4. se |f

(x)| ≥ k > 0 in [c, d], come pu`o essere stimato l’errore tramite il residuo?

5. utilizzando i risultati del punto 3, si discuta la seguente stima a posteriori dell’errore (con correzione del residuo)

e

n

= |ξ − x

n

| ≈ |f (x

n

)|

x

n

− x

n−1

f (x

n

) − f (x

n−1

) 6. 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, . . .

7. un risultato di convergenza globale del metodo di Newton: data f ∈ C

2

[a, b], tale che f (a)f (b) < 0, con f

′′

di segno costante in [a, b]; scelto x

0

tale 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]

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

(6)

(traccia: ci sono 4 configurazioni possibili (disegnarle); le tangenti alla curva grafico stanno sempre sopra o sotto la curva, la successione {x

n

} `e monotona e limitata, quindi ha limite finito che `e ..., passando al limite nella definizione del metodo ...) 8. 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

2n

con C costante opportuna traccia: utilizzando la formula di Taylor calcolata nella radice e centrata in x

n

, 0 = f (ξ) = f (x

n

) + f

(x

n

)(ξ − x

n

) +

f′′(z2n)

( (ξ − x

n

)

2

, dove z

n

∈ int(x

n

, ξ), in- sieme alla definizione di {x

n

}, si ottiene ξ − x

n+1

=

2ff′′(z(xn)

n)

(ξ − x

n

)

2

, e ... C = max

x∈I

|f

′′

(x)|/(2 min

x∈I

|f

(x)|)

∗ approfondimento: partendo da tale disuguaglianza, perch`e ci si aspetta conver- genza locale? (cio`e, partendo in un intorno opportuno della soluzione? si osservi che Ce

n+1

≤ (Ce

n

)

2

, da cui Ce

n

≤ (Ce

0

)

2n

)

9. un metodo convergente ha ordine di convergenza almeno p ≥ 1 se esiste C > 0 tale che

e

n+1

≤ Ce

pn

e ordine esattamente p se vale

n→∞

lim e

n+1

e

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

10. si mostri che il metodo di Newton per il calcolo della radice k-esima di un numero reale a > 0, assume la forma

x

n+1

= k − 1

k x

n

+ a kx

k−1n

, n = 0, 1, 2, . . .

(gi` a nota in antichit` a come metodo di Erone nel caso della radice quadrata), dove x

0

va scelto tale che x

k0

> a

11. 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

(traccia: si ragioni sull’errore relativo, ρ

n

= e

n

/|ξ|; col metodo di bisezione “in media”

ρ

n+1

≈ ρ

n

/2, ...; col metodo di Newton ρ

n+1

≤ C|ξ|ρ

2n

, quindi se C|ξ| ≤ 1 si ha che ρ

n+1

≤ ρ

2n

...)

12. in figura gli errori relativi (in scala logaritmica) nell’approssimazione di √

2 con il metodo di bisezione (errore effettivo: pallini; stima a priori: puntini; stima del residuo pesato: asterischi) e con il metodo di Newton (errore effettivo: quadratini; stima dello “step”, e

n

≈ |x

n+1

− x

n

|: triangolini); si osservi che lo step |x

n+1

− x

n

| =

|f (x

n

)|/|f

(x

n

)| `e per costruzione un residuo “pesato”

(7)

0 10 20 30 40 50 60 70 10−20

10−15 10−10 10−5 100

13. 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, x l’anomalia eccentrica; 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, ...)

14. si studi la risolubilit`a dell’equazione x − e

−αx

= 0, α > 0, con i metodi di bisezione e di Newton (l’equazione pu` o anche essere interpretata come intersezione di grafici) 2.2 Iterazioni di punto fisso

1. 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 x

0

∈ I, la successione x

n+1

= φ(x

n

), n = 0, 1, 2, . . ., converge all’unico punto fisso di φ in I, ovvero ξ ∈ I tale che ξ = φ(ξ) (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)

(∗ traccia della dimostrazione (facoltativo): si provi che valgono le disuguaglianze

|x

n+p

− x

n

| ≤ (1 + θ + θ

2

+ . . . + θ

p−1

)|x

n+1

− x

n

| ≤ (θ

n

/(1 − θ))|x

1

− x

0

|, da cui si vede che la successione {x

n

} `e di Cauchy, quindi ha limite in I ...)

2. 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 x

0

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 `e θ?)

(8)

3. 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 per il teorema del valor medio |x

n+1

− ξ| =

|φ(x

n

) − φ(ξ)| = |φ

(z

n

)| |x

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

, ...)

4. si mostri che l’equazione x − e

−αx

= 0, 0 < α < 1, `e risolubile con le iterazioni di punto fisso; quante iterazioni occorrono per garantire un errore assoluto < 10

8

con α = 1/5 ?

5. ordine di convergenza delle iterazioni di punto fisso: si dimostri che un’iterazione di punto fisso x

n+1

= φ(x

n

), 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 6. 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 un’iterazione di punto fisso

con φ(x) = x − f (x)/f

(x), quindi se f

(ξ) 6= 0 si ha che φ

(ξ) = 0 ...)

(9)

Tracce di calcolo numerico

1

Prof. Marco Vianello - Dipartimento di Matematica, Universit` a di Padova aggiornamento: 18 settembre 2015

3 Interpolazione e approssimazione

3.1 Interpolazione polinomiale

1. 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 f

n

in una opportuna famiglia di funzioni F

n

, tale che

f

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) = f

n

(x) il polinomio interpolatore) 2. 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 dist(f

n

, f ) = max

x∈[a,b]

|f

n

(x) − f (x)| → 0 , n → ∞ ?

3. 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?

(traccia: se esistessero due polinomi interpolatori distinti, la loro differenza si an- nullerebbe in tutti i nodi e per il teorema fondamentale dell’algebra ...)

4. si mostri che Π

n

(x) =

n

X

i=0

f (x

i

) ℓ

i

(x) , ℓ

i

(x) = (x − x

0

) . . . (x − x

i−1

)(x − x

i+1

) . . . (x − x

n

) (x

i

− x

0

) . . . (x

i

− x

i−1

)(x

i

− x

i+1

) . . . (x

i

− x

n

)

`e il polinomio interpolatore su n + 1 nodi distinti {x

0

, x

1

, . . . , x

n

} (si tratta della cosiddetta “forma di Lagrange” del polinomio interpolatore; siccome ℓ

i

(x

j

) = δ

ij

, ...) 5. 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

)

t

e y = (y

0

, . . . , y

n

)

t

, y

i

= f (x

i

)

6. ∗ 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 (di variabile z) G(z) = E

n

(z) − ω(z)(E

n

(x)/ω(x)), x 6∈ {x

0

, x

1

, . . . , x

n

} fissato, e si applichi ripetutamente il teorema di Rolle)

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

(10)

7. ∗ con la forma di Lagrange dell’errore di interpolazione polinomiale di grado n per f ∈ C

n+1

[a, b], si dimostra che dist(Π

n

, f ) ≤ max

x∈[a,b]

{|f

(n+1)

(x)|} (b − a)

n+1

/(n + 1)!, e che nel caso di nodi equispaziati dist(Π

n

, f ) ≤ max

x∈[a,b]

{|f

(n+1)

(x)|} h

n+1

/(4(n + 1)) dove h = (b − a)/n (dim. non richiesta); perch´e da questa stime non si pu` o dedurre la convergenza per f ∈ C

[a, b]? (si pensi al controesempio di Runge, f (x) = 1/(1+x

2

), x ∈ [−5, 5], in cui accade che dist(Π

n

, f ) → ∞, n → ∞; in figura i grafici della funzione di Runge e del polinomio interpolatore di grado 10 su 11 nodi equispaziati, si notino le oscillazioni dell’interpolatore verso gli estremi)

−5 −4 −3 −2 −1 0 1 2 3 4 5

−0.5 0 0.5 1 1.5 2

8. interpolazione di Chebyshev: abbiamo visto che in generale i polinomi interpolatori non convergono alla funzione campionata (controesempio di Runge su nodi equis- paziati); scelte speciali dei nodi per` o assicurano tale convergenza, `e il caso ad esempio dell’interpolazione polinomiale sui nodi di Chebyshev

x

i

= b − a

2 cos  iπ n



+ b + a

2 , 0 ≤ i ≤ n ,

si noti che tali nodi, che corrispondono alla proiezione su [a, b] di punti equispaziati sulla semicirconferenza di centro (a + b)/2 e raggio (b − a)/2, non sono equispaziati ma si accumulano pi` u rapidamente agli estremi dell’intervallo; si pu` o dimostrare (dim.

non richiesta) che, detto Π

Chebn

(x) il polinomio interpolatore sui nodi di Chebyshev, per ogni f ∈ C

k

[a, b], k ≥ 1, esiste una costante c

k

tale che

dist(Π

Chebn

, f ) = max

x∈[a,b]

Chebn

(x) − f (x)| ≤ c

k

log(n) n

k

,

e quindi si ha convergenza uniforme per n → ∞ (in particolare per la funzione del controesempio di Runge)

9. ∗ si mostri che la “risposta alle perturbazioni” su f dell’interpolazione polinomiale `e legata alla quantit` a Λ

n

= max

x∈[a,b]

P

n

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

(traccia: si utilizzi la forma di Lagrange del polinomio interpolatore, detto ˜ Π

n

(x) = P

n

i=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)| ≤ ...)

(11)

10. `e noto che per qualsiasi distribuzione di nodi la costante di Lebesgue ha crescita almeno logaritmica, Λ

n

≥ c

1

log n, che per i nodi equispaziati Λ

n

∼ c

2nlog n2n

(instabilit`a), mentre per i nodi di Chebyshev Λ

n

= O(log n) (c

1

e c

2

sono opportune costanti) 3.2 Interpolazione polinomiale a tratti

1. nell’interpolazione polinomiale a tratti di grado s su x

0

= a < x

1

< . . . < x

n

= b, dove n `e multiplo di s, si costruisce una funzione continua Π

cs

(x) tale che Π

cs

(x) sia il polinomio interpolatore di grado fissato s sui nodi x

ks

, x

ks+1

, . . . , x

(k+1)s

, 0 ≤ k ≤

ns

−1 (si osservi che Π

cs

(x) si ottiene “incollando” per continuit` a pezzi polinomiali e che in generale i punti di raccordo x

ks

sono punti angolosi della funzione interpolante) 2. si dimostri che l’interpolazione lineare a tratti (s = 1, 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

(traccia: si utilizzi su ogni intervallino [x

i

, x

i+1

] la stima dell’errore di interpolazione polinomiale di grado 1)

3. ∗ si dimostri che l’interpolazione quadratica a tratti (s = 2, disegnarla) converge uniformemente 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 di grado 2)

4. nell’interpolazione spline di grado s su x

0

= a < x

1

< . . . < x

n

= b, si cerca S

s

∈ C

s−1

[a, b] tale che S

s

ristretta a [x

i

, x

i+1

] sia un polinomio di grado al pi` u s e S

s

(x

i

) = f (x

i

), 0 ≤ i ≤ n; chi sono le incognite in questo problema, quante sono le equazioni (vincoli)? nel caso cubico, come si ottiene un sistema quadrato?

5. `e noto che se f ∈ C

4

[a, b], dist(S

3(j)

, f

(j)

) = O(h

4−j

), 0 ≤ j ≤ 3 (le derivate di S

3

non sono per` o interpolanti)

6. nella prima figura i grafici della funzione di Runge e delle spline interpolanti lineare e cubica (tratteggiata) su 11 nodi equispaziati, nella seconda figura un particolare

−5 −4 −3 −2 −1 0 1 2 3 4 5

−0.5 0 0.5 1 1.5 2

(12)

−1.50 −1 −0.5 0 0.5 1 1.5 0.5

1 1.5

3.3 Approssimazione polinomiale ai minimi quadrati

1. dato un campionamento {(x

i

, y

i

)}, y

i

= f (x

i

), 1 ≤ i ≤ N , nell’approssimazione ai minimi quadrati invece di interpolare si cerca un polinomio p di grado m < N (tipicamente m ≪ N ) tale che la somma degli scarti quadratici P

N

i=1

(y

i

− p(x

i

))

2

sia minima, ovvero si risolve il problema di minimo in m + 1 variabili a = (a

0

, . . . , a

m

)

min

a∈Rm+1 N

X

i=1

(y

i

− (a

0

+ a

1

x

i

+ . . . + a

m

x

mi

))

2

che ha soluzione unica, calcolabile risolvendo il sistema lineare V

t

V a = V

t

y, dove V = (v

ij

) = (x

ji

), 1 ≤ i ≤ N , 0 ≤ j ≤ m `e una matrice di Vandermonde rettangolare N × (m + 1) e V

t

V `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, si veda la sezione di Algebra Lineare Numerica)

2. in figura il polinomio dei minimi quadrati di grado m = 8 (puntini) e di grado m = 10 (tratteggio), ottenuti da un campionamento con rumore su N = 200 punti (linea frastagliata) della funzione sin(10x) in [−1, 1] (linea continua)

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

−2

−1.5

−1

−0.5 0 0.5 1 1.5

(13)

Tracce di calcolo numerico

1

Prof. Marco Vianello - Dipartimento di Matematica, Universit` a di Padova aggiornamento: 18 settembre 2015

4 Integrazione numerica e derivazione numerica

4.1 Integrazione numerica (formule di quadratura)

1. l’operazione funzionale di integrazione (nel continuo) `e “stabile”: si dimostri infatti che, data una funzione continua ˜ f che approssima una funzione continua f su [a, b], vale la seguente stima

Z

b a

f (x) dx − ˜ Z

b

a

f (x) dx

≤ (b − a) dist( ˜ f , f )

2. in particolare, detta {f

n

} una successione di funzioni continue che converge uniforme- mente alla funzione continua f su [a, b],

Z

b

a

f

n

(x) dx − Z

b

a

f (x) dx

≤ (b − a) dist(f

n

, f ) , quindi la successione degli integrali delle f

n

converge all’integrale di f

3. l’idea alla base delle formule di integrazione approssimata (formule di quadratura) `e di sostituire ad f un’opportuna interpolante f

n

; si verifichi che le formule di quadratura algebriche (spesso dette anche “interpolatorie”, quelle ottenute integrando un unico polinomio interpolatore su tutti i nodi, ovvero con f

n

= Π

n

) hanno la forma di somma pesata P

n

i=0

w

i

f (x

i

), dove i {w

i

} sono opportuni pesi traccia: si utilizzi la formula di interpolazione di Lagrange

Z

b a

Π

n

(x) dx = Z

b

a n

X

i=0

f (x

i

)ℓ

i

(x) dx =

n

X

i=0

. . .

4. ∗ lo stesso vale anche per le formule composte, quelle ottenute integrando un’interpolante polinomiale a tratti di grado locale fissato s (ovvero con f

n

= Π

cs

), che sono localmente algebriche, cio`e ottenute 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

5. nel caso di campionamento a passo costante, facendo prima un disegno esplicativo con interpretazione geometrica, si ricavino la formula di quadratura composta di grado 1, detta dei trapezi,

Z

b a

Π

c1

(x) dx = h

2 (f (a) + f (b)) +

n−1

X

i=1

hf (x

i

)

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

(14)

e ∗ la formula di quadratura composta di grado 2, detta di Cavalieri-Simpson (o delle parabole, n pari)

Z

b

a

Π

c2

(x) dx = h

3 (f (a) + f (b)) +

n−2

X

i=2,i pari

2h

3 f (x

i

) +

n−1

X

i=1,i dispari

4h 3 f (x

i

)

6. la convergenza delle formule algebriche dipende dalla distribuzione dei nodi: si mostri che le formule ottenute integrando il polinomio interpolatore sui nodi di Chebyshev sono convergenti (invece le formule algebriche di Newton-Cotes, ottenute integrando il polinomio interpolatore su nodi equispaziati, non sono convergenti; dim. non richiesta) 7. ∗ 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?)

8. ∗ abbiamo visto che la “risposta alle perturbazioni” su f dell’interpolazione polinomi- ale `e legata alla quantit` a Λ

n

= max

x∈[a,b]

P

n

i=0

|ℓ

i

(x)| (costante di Lebesgue), dove gli {ℓ

i

} sono i polinomi elementari di Lagrange; si mostri che la quantit`a S

n

= P

n

i=0

|w

i

| svolge un ruolo analogo nel caso delle formule di quadratura interpolatorie e composte

n

X

i=0

w

i

f (x

i

) −

n

X

i=0

w

i

f (x ˜

i

)

≤ S

n

dist(f, ˜ f )

9. perch´e in particolare le formule interpolatorie e composte con pesi positivi sono sicu- ramente stabili?

traccia: tali formule sono esatte (cio`e fanno errore nullo) sui polinomi costanti, quindi S

n

=

n

X

i=0

|w

i

| =

n

X

i=0

w

i

=

n

X

i=0

w

i

· 1 = Z

b

a

1 dx = b − a

10. si pu` o dimostrare (dim. non richiesta) che le formule algebriche di Newton-Cotes (algebriche su nodi equispaziati) hanno pesi non tutti positivi per n > 7 e sono instabili perch`e S

n

diverge esponenzialmente per n → ∞; invece (dim. non richiesta) le formule algebriche sui nodi di Chebyshev hanno pesi positivi, quindi sono stabili (oltre che convergenti)

4.2 Derivazione numerica

1. l’operazione funzionale di derivazione (nel continuo) non `e stabile; infatti detta Df la derivata di f

dist(f

n

, f ) → 0 6=⇒ dist(Df

n

, Df ) → 0 , n → ∞

come si vede considerando ad esempio la successione di funzioni f

n

(x) =

1n

sin(nx), x ∈ [0, 1], visto che dist(f

n

, 0) ≤ 1/n `e infinitesima per n → ∞ ma dist(Df

n

, 0) ≡ 1 2. l’instabilit`a dell’operazione funzionale di derivazione si pu` o parafrasare con “funzioni

arbitrariamente vicine possono avere derivate arbitrariamente distanti”, ad esempio

si pu` o stare arbitrariamente vicini ad una funzione oscillando con frequenza arbitrari-

amente elevata (per un esempio grafico si veda la figura dopo 3.3.2, confrontando la

linea continua con la linea frastagliata)

(15)

3. tale instabilit`a viene ereditata dalle formule di approssimazione della derivata: perch´e nella derivazione numerica con il rapporto incrementale

δ

+

(h) = f (x + h) − f (x)

h = Df (x) + O(h) , f ∈ C

2

,

conviene prendere un passo dell’ordine di √ ε, dove ε `e il massimo errore su f ? traccia: si utilizzi la formula di Taylor al primo ordine con resto del secondo ordine per mostrare che |Df (x)−δ

+

(h)| ≤ Ah con A costante opportuna; detto poi ε = dist(f, ˜ f ) il massimo errore su f e detto ˜ δ

+

(h) = ( ˜ f (x + h) − ˜ f (x))/h il rapporto incrementale

“perturbato”, l’errore effettivo nell’approssimazione della derivata ha una stima del tipo |Df (x) − ˜δ

+

(h)| ≤ |Df (x) − δ

+

(h)| + |δ

+

(h) − ˜δ

+

(h)| ≤ E(h) = Ah + 2ε/h, minimizzando in h ... si ottiene un passo ottimale h

proporzionale a ε

1/2

e un minimo E(h

) = O(ε

1/2

)

4. l’analisi precedente pu` o essere estesa all’approssimazione della derivata con il rapporto incrementale “simmetrico”

δ(h) = f (x + h) − f (x − h)

2h = Df (x) + O(h

2

) , f ∈ C

3

,

traccia: in questo caso si ha una stima del tipo |Df (x) − ˜δ(h)| ≤ E(h) = Bh

2

+ ε/h con B costante opportuna (utilizzare la formula di Taylor al secondo ordine con resto del terzo ordine, f (x + h) = . . . e f (x − h) = . . .), minimizzando in h ... si ottiene un passo ottimale h

proporzionale a ε

1/3

e un minimo E(h

) = O(ε

2/3

)

5. in figura i grafici (scala loglog) delle stime di errore E(h) nel calcolo della derivata di f (x) = sin(x) in x = 0 con δ

+

(h) (linea continua) e δ(h) (linea tratteggiata), per ε = 10

4

10−10 10−8 10−6 10−4 10−2 100 102

10−4 10−2 100 102 104 106

4.3 Estrapolazione

1. data una formula di approssimazione φ(h) di una quantit` a α, con la struttura φ(h) =

α + ch

p

+ O(h

q

), q > p > 0, utilizzando opportune combinazioni lineari di φ(h) e

φ(h/2) si ricavino:

(16)

• una stima a posteriori della parte principale dell’errore φ(h) − φ(h/2)

2

p

− 1 = c  h 2



p

+ O(h

q

) , |φ(h/2) − α| ≈ |c|  h 2



p

≈ |φ(h) − φ(h/2)|

2

p

− 1

• una nuova approssimazione con errore di ordine O(h

q

) (estrapolazione) 2

p

φ(h/2) − φ(h)

2

p

− 1 = α + O(h

q

)

2. si verifichi che il rapporto incrementale standard δ

+

(h) e quello “simmetrico” δ(h) 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)

3. detta T (h) la formula di quadratura composta dei trapezi a passo costante e sapendo che T (h) = R

b

a

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

4. ∗ il procedimento di estrapolazione pu`o essere iterato per φ(h) = α + c

1

h

p1

+ c

2

h

p2

+ . . . + c

m

h

pm

+ O(h

pm+1

), 0 < p

1

< p

2

< . . . < p

m

< p

m+1

traccia: si utilizzi una sequenza di passi h = h

0

, h

0

/2, h

0

/4, h

0

/8, . . ., e la formula φ

0

(h) = φ(h) , φ

i

(h) = 2

pi

φ

i−1

(h/2) − φ

i−1

(h)

2

pi

− 1 , i = 1, . . . , m ,

ottenendo φ

i

(h) = α + O(h

pi+1

); il procedimento viene implementato con la tabella di estrapolazione

i = 0 i = 1 i = 2 i = 3 i = 4

φ

0

(h

0

)

φ

0

(h

0

/2) φ

1

(h

0

)

φ

0

(h

0

/4) φ

1

(h

0

/2) φ

2

(h

0

)

φ

0

(h

0

/8) φ

1

(h

0

/4) φ

2

(h

0

/2) φ

3

(h

0

)

φ

0

(h

0

/16) φ

1

(h

0

/8) φ

2

(h

0

/4) φ

3

(h

0

/2) φ

4

(h

0

)

5. ∗ la tabella di estrapolazione si pu`o utilizzare per f ∈ C

m+1

con φ(h) = δ

+

(h), p

i

= i, oppure f ∈ C

2m+1

con φ(h) = δ(h), p

i

= 2i, i = 1, . . . , m (chi sono i coeff. c

i

nei due casi? traccia: utilizzare la formula di Taylor)

6. gli errori |φ

i

(h) − Df (0)| (con una cifra significativa) nel calcolo della derivata di f (x) = e

x

in x = 0 con la tabella di estrapolazione a partire da φ

0

(h) = δ(h), h

0

= 1/2

i = 0 i = 1 i = 2 i = 3 i = 4

h = 1/2 4 · 10

2

h = 1/4 1 · 10

−2

1 · 10

−4

h = 1/8 3 · 10

3

8 · 10

6

5 · 10

8

h = 1/16 7 · 10

4

5 · 10

7

8 · 10

10

3 · 10

12

h = 1/32 2 · 10

−4

3 · 10

−8

1 · 10

−11

1 · 10

−14

7 · 10

−16

(17)

Tracce di calcolo numerico

1

Prof. Marco Vianello - Dipartimento di Matematica, Universit` a di Padova aggiornamento: 27 novembre 2015

5 Elementi di algebra lineare numerica

5.1 Condizionamento di matrici e sistemi

1. partendo dalla definizione di norma matriciale indotta da una norma vettoriale, kAk = sup

x6=0

kAxk/kxk, si dimostrino le disuguaglianze fondamentali per le norme matriciali indotte: (i) kAxk ≤ kAk kxk e (ii) kABk ≤ kAk kBk (dove A, B ∈ R

n×n

e x ∈ R

n

) 2. si ricordi che kAk

= max

1≤i≤n

{ P

n

j=1

|a

ij

|} e kAk

2

= pρ(A

t

A), dove ρ(B) `e il

“raggio spettrale” di una matrice B, ρ(B) = max

1≤i≤n

{|λ

i

|, λ

i

autovalore di B}

(dimostrazioni non richieste)

3. stima 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

−1

k ≥ 1 `e l’indice di condizionamento di una matrice invertibile nella norma matriciale indotta dalla norma vettoriale

(traccia: si utilizzi la prima disuguaglianza fondamentale per mostrare che kδxk ≤ kA

−1

k kδbk e kxk ≥ kbk/kAk, ...; per dimostrare che k(A) ≥ 1, si osservi che kIk = 1 = kA A

−1

k ≤ kAk kA

−1

k per la seconda disuguaglianza fondamentale)

4. ∗ si ha 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 k

2

(A) = kAk

2

kA

−1

k

2

= |λ

max

|/|λ

min

|

(traccia (dimostrazione facoltativa): se λ `e autovalore di A e v 6= 0 autovettore cor- rispondente, 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

2

sono i quadrati degli autovalori di A, per A simmetrica A

t

A = A

2

, ...)

5. si consideri il seguente esempio:

A

 x

1

x

2



=

 1 0.7

 , A

 x ˜

1

˜ x

2



=

 1.01 0.69



, A =

 7 10 5 7

 , dove

A

−1

=

 −7 10

5 −7

 ,

 x

1

x

2



=

 0 0.1

 ,

 x ˜

1

˜ x

2



=

 −0.17 0.22



; si ha che kδbk

/kbk

= 10

−2

ma kδxk

/kxk

> 1; in effetti, K

(A) = . . .

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

(18)

6. risposta della soluzione di un sistema lineare agli errori sulla matrice: dato il sistema quadrato Ax = b con det(A) 6= 0, b 6= 0 e il sistema perturbato (A + δA)(x + δx) = b, con det(A + δA) 6= 0, si mostri che vale la stima

kδxk

kx + δxk ≤ k(A) kδAk kAk ,

cio´e in sostanza il ruolo di k(A) `e analogo al caso della risposta agli errori sul vettore termine noto

(traccia: da (A + δA)(x + δx) = b si ricava δx = −A

−1

δA(x + δx) e usando la prima disuguglianza fondamentale per una norma indotta ...)

7. un teorema fondamentale di invertibilit` a: se kAk < 1 in una norma matriciale indotta, allora I ± A `e invertibile e si ha k(I ± A)

−1

k ≤

1−kAk1

(dimostrazione non richiesta)

8. ∗ si pu` o dimostrare 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



(traccia (dimostrazione facoltativa): partendo da (A + δA)δx = δb − δAx e osser- vando che (A + δA) = A(I + B) con B = A

−1

δA e kBk ≤ kA

−1

k kδAk < 1, per il teorema fondamentale di invertibilit` a e le disuguaglianze fondamentali δx = (A + δA)

−1

(δb−δAx) = (I +B)

−1

A

−1

(δb−δAx) e kδxk ≤ k(I +B)

−1

k kA

−1

k kδb−δAxk ≤

kA−1k

1−kA−1δAk

kδb − δAxk ≤

1−kAkA−1−1k kδAkk

kδb − δAxk ≤

1−kAkA−1−1k kδAkk

(kδbk + kδAk kxk), da cui

kδxkkxk

≤ · · · )

9. ∗ (cenni di approfondimento facoltativi): la soluzione di sistemi lineari con matrici fortemente mal condizionate (nelle applicazioni non `e infrequente avere indici di con- dizionamento k(A) ≈ 10

10

, 10

20

o 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

h

x

h

= b tali che ε(h) = kx − x

h

k → 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

h

k

kxk + kδx

h

k

kxk ≤ ε(h) kxk +



1 + ε(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 (si veda la figura alla fine della sezione 4.2), 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

h

diventa troppo vicino a quello di A)

5.2 Metodo di eliminazione di Gauss e fattorizzazione LU

1. il metodo di eliminazione di Gauss realizza la sequenza di trasformazioni A

(0)

=

A → A

(1)

→ A

(2)

→ . . . → A

(i)

. . . → A

(n−1)

= U (triangolare superiore), dove

(19)

a

(i)kj

= 0 per j + 1 ≤ k ≤ n, 1 ≤ j ≤ i (si disegnino le matrici A

(i)

e A

(i+1)

con la struttura a trapezio di zeri sotto la diagonale), tramite le operazioni vettoriali sulle righe R

k(i+1)

:= R

k(i)

+



a

(i) ki

a(i)ii



R

(i)i

, k = i + 1, . . . , n (purch´e a

(i)ii

6= 0)

2. cosa succede se al passo i-esimo del metodo di eliminazione a

(i)ii

= 0 e a

(i)ki

= 0 per i + 1 ≤ k ≤ n ?

3. quali sono gli scopi del pivoting nel metodo di eliminazione di Gauss? (si pensi al caso in cui un elemento diagonale diventa nullo, oppure molto piccolo in modulo; nel secondo caso, si vuole evitare la creazione di numeri approssimati grandi in modulo, che nelle sottrazioni portano a potenziale perdita di precisione)

4. si mostri che il costo computazionale del metodo di eliminazione di Gauss `e O(n

3

) flops (floating-point operations), scrivendo lo schema dell’algoritmo

facoltativo: si dimostri che il costo computazionale effettivo `e ∼

23

n

3

flops

5. si mostri che il costo computazionale della soluzione di un sistema con matrice tri- angolare superiore o inferiore `e O(n

2

) flops, scrivendo lo schema dell’algoritmo di sostituzione all’indietro (caso triangolare superiore) e di sostituzione in avanti (caso triangolare inferiore)

6. il metodo di eliminazione di Gauss pu` o essere usato per calcolare il determinante di una matrice quadrata (in effetti det(A) = (−1)

s

det(U ) = (−1)

s

Q

n

i=1

u

ii

dove s `e il numero di scambi tra righe); il costo computazionale della formula ricorsiva di Laplace per il determinante `e ∼ 2n! flops: in tabella gli ordini di grandezza dei tempi di calcolo dei due metodi per diversi valori (relativamente piccoli) di n con un computer da 1Gigaflops (10

9

flops al secondo) e da 1Petaflops (10

15

flops al secondo)

1Gflops 1Pflops

n Laplace Gauss Laplace Gauss

10 10

−3

sec 10

−6

sec 10

−9

sec 10

−12

sec

15 40 min 3 · 10

−6

sec 2 millisec 3 · 10

−12

sec 20 10

2

anni 8 · 10

−6

sec 80 min 8 · 10

−12

sec

25 10

9

anni 10

−5

sec 10

3

anni 10

−11

sec

100 10

141

anni 10

−3

sec 10

135

anni 10

−9

sec

7. si pu` o dimostrare (dim. non richiesta) che il metodo di eliminazione di Gauss con piv- oting 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); la soluzione di un sistema Ax = b con il metodo di eliminazione `e equivalente alla fattorizzazione LU seguita dalla soluzione della coppia di sistemi triangolari Ly = P b, U x = y

8. come si pu` o 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 `e O(n

3

) flops

(traccia: le colonne di una matrice si ottengono moltiplicando la matrice per i vettori

coordinati {e

i

}, quindi le colonne di A

−1

, c

i

= A

−1

e

i

, corrispondono alle soluzioni

degli n sistemi Ac

i

= e

i

, ...)

(20)

9. perch`e la fattorizzazione P A = LU calcolata in aritmetica di macchina, diciamola L ˜ ˜ U ≈ P A) `e estremamente accurata (cio`e, gli elementi di ˜ L ˜ U coincidono alla preci- sione di macchina con quelli di P A), ma per certe matrici (vedi matrice di Hilbert H = (h

ij

), h

ij

= 1/(i + j − 1), 1 ≤ i, j ≤ n) la soluzione di sistemi ottenuta con tale fattorizzazione risulta molto poco accurata (se non addirittura completamente sbagliata)?

(traccia: in sostanza `e come se si risolvesse il sistema perturbato ˜ L ˜ U (x + δx) = P b, ...; in figura l’errore relativo in k · k

2

nella soluzione in aritmetica a precisione doppia di Hx = Hu, u = (1, . . . , 1)

t

(pallini), le quantit` a K

2

(H) (quadratini) e K

2

(H) · eps (asterischi), per n = 2, . . . , 30)

0 5 10 15 20 25 30

10−20 10−15 10−10 10−5 100 105 1010 1015 1020

5.3 Sistemi sovradeterminati, minimi quadrati e fattorizzazione QR 1. sia A ∈ R

m×n

, m > n, una matrice di rango massimo n (ovvero, le colonne di A

sono n vettori linearmente indipendenti di R

m

): 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

n

kAx − bk

22

= min

x∈Rn m

X

i=1

b

i

n

X

j=1

a

ij

x

j

2

`e equivalente a risolvere il sistema con matrice simmetrica non singolare (e definita positiva) A

t

Ax = A

t

b (detto “sistema delle equazioni normali”)

(∗ traccia: si osservi che x minimizza il polinomio quadratico φ(x) = kAx − bk

22

se e solo se per ogni v ∈ R

n

si ha φ(x) ≤ φ(x + v) ovvero sviluppando i calcoli 2v

t

A

t

(Ax − b) + v

t

A

t

Av ≥ 0, e posto v = εu con u fissato, per ε → 0 si ottiene (A

t

(Ax − b), u) ≥ 0 ∀u ∈ R

n

, ma allora prendendo −u al posto di u si ottiene (A

t

(Ax − b), u) ≤ 0 ∀u, da cui ...; per dimostrare che A

t

A `e non singolare, si osservi che se A

t

Av = 0 allora (A

t

Av, v) = (Av, Av) = 0 da cui Av = 0, ma le colonne di A sono linearmente indipendenti quindi v = 0)

2. l’approssimazione polinomiale di grado k ai minimi quadrati pu` o essere reinterpretata

come soluzione ai minimi quadrati del sistema m × n (sovradeterminato) V a = y (si

veda la sezione 3.3), dove m = N e n = k + 1

(21)

(traccia: per provare che V ha rango massimo, si ricordi che una matrice quadrata di Vandermonde corrispondente a nodi distinti `e non singolare, quindi considerando una sottomatrice quadrata della matrice di Vandermonde rettangolare ...)

3. sia A ∈ R

m×n

, m ≥ n, una matrice di rango massimo: si pu` o dimostrare (dim. non richiesta) che A ammette una fattorizzazione A = QR, dove Q ∈ R

m×n

`e una ma- trice ortogonale (ovvero le colonne di Q sono vettori ortonormali, cio`e Q

t

Q = I ∈ R

n×n

) e R `e 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, `e la matrice dei coefficienti dell’ortogonalizzazione: si controlli che il prodotto A R

−1

corrisponde a costruire com- binazioni lineari ortonormalizzanti delle colonne di A utilizzando i coefficienti delle colonne di R

−1

)

4. come si pu` o applicare la fattorizzazione QR alla soluzione di sistemi sovradeterminati?

(traccia: utilizzando A = QR, non `e necessario calcolare la matrice A

t

A perch´e A

t

A = R

t

R, quindi il sistema delle equazioni normali diventa R

t

Rx = R

t

Q

t

b che `e equivalente (perch´e?) al sistema triangolare Rx = Q

t

b)

5. dal punto di vista del condizionamento `e meglio risolvere Rx = Q

t

b invece di A

t

Ax = b, perch´e l’indice di condizionamento di R in norma 2 `e molto pi´ u piccolo dell’indice di condizionamento di A

t

A (dimostrazione non richiesta; si pu` o intuire osservando che se A `e quadrata e simmetrica, k

2

(A

t

A) = k

2

(A

2

) = (k

2

(A))

2

)

5.4 Metodi iterativi

1. 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` o ottenere come limite della successione di approssimazioni successive vettoriali {x

k

} definita da

x

k+1

= Bx

k

+ c , k = 0, 1, 2, . . . a partire da un qualsiasi vettore iniziale x

0

(traccia: il sistema ha soluzione unica se e solo se I − B `e invertibile, ma kBk < 1 e per il teorema fondamentale di invertibilit` a ...; scrivendo x − x

k+1

= B(x − x

k

) si ottiene la stima kx − x

k+1

k ≤ kBk kx − x

k

k, ...)

2. cond. nec. e suff. per la convergenza delle approssimazioni successive: il metodo delle approssimazioni successive x

k+1

= Bx

k

+ c, k ≥ 0, converge alla soluzione di x = Bx + c per qualsiasi scelta dei vettori x

0

e c se e solo se ρ(B) < 1 (dove ρ(B) `e il

“raggio spettrale” della matrice quadrata B, ovvero il max dei moduli degli autovalori) (traccia della dim. (facoltativa) nel caso B sia diagonalizzabile: scrivendo x

0

, c in una base {v

i

} di autovettori di B, Bv

i

= λ

i

v

i

, 1 ≤ i ≤ n, x

0

= P α

i

v

i

, c = P γ

i

v

i

, si ottiene x

k

= P 

α

i

λ

ki

+ γ

i

(1 + λ

i

+ . . . + λ

k−1i

) 

v

i

, che ha limite ∀ x

0

, c se e solo se

i

| < 1, 1 ≤ i ≤ n, con vettore limite lim

k→∞

x

k

= P

γi

1−λi

v

i

= (I − B)

−1

c )

3. dato uno splitting di una matrice quadrata, A = P − N , con det(P ) 6= 0, il sistema

Ax = b si pu` o 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 a

ii

6= 0 ∀i sono

Riferimenti

Documenti correlati

 Tutti i calcoli vengono effettuati in doppia precisione, mentre diversa è la visualizzazione delle variabili che viene determinata con il comando format.  Il

 Al posto di eseguire i comandi direttamente da linea di comando, possiamo memorizzare la successione dei comandi in un file di testo, salvarli e successivamente

si pu` o dimostrare (dim. non richiesta) che il metodo di eliminazione di Gauss con piv- oting per righe produce per matrici non singolari una fattorizzazione P A = LU (dove P `e

(traccia: si tratta della soluzione ai minimi quadrati del sistema sovradeterminato V a = y, si veda la sezione di Algebra Lineare

si dia un’interpretazione geometrica (con un disegno, ad esempio nel caso di 2 cifre decimali) del fatto che il massimo errore di arrotondamento ad n cifre `e la met` a del

(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 di cui 1 per

., sod- disfa lim n→∞ x n = π, ma se usata per approssimare π diventa instabile in aritmetica di macchina (qual’`e la sottrazione che fa perdere precisione? si calcolino i fattori

(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 di cui 1 per