75
Calcolo numerico L-A Riepilogo del materiale della prof.ssa Serena Morigi dell’a.a. 2009/10 Marco Alessandrini Giugno 2010 – *** C.d.L. in Ingegneria Elettronica e delle Telecomunicazioni Seconda Facolt` a di Ingegneria - Sede di Cesena Universit` a degli Studi di Bologna

Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

  • Upload
    vobao

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-ARiepilogo del materiale della prof.ssa Serena Morigi dell’a.a. 2009/10

Marco AlessandriniGiugno 2010 – ***

C.d.L. in Ingegneria Elettronica e delle TelecomunicazioniSeconda Facolta di Ingegneria - Sede di Cesena

Universita degli Studi di Bologna

Page 2: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

CC© BY:© $\© =©Quest’opera e stata rilasciata sotto la licenza Creative Commons Attribu-

zione-Non commerciale-Non opere derivate 2.5 Italia. Per leggere una copiadella licenza visita il sito web

http://creativecommons.org/licenses/by-nc-nd/2.5/it/

o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, SanFrancisco, California, 94105, USA.

E consentito riprodurre e distribuire liberamente il presente testo, senza apporvi modi-fiche e mantenendo sempre riconoscibile il nome degli autori, purche non a scopo di lucro,senza scopi commerciali (direttamente o indirettamente) e per esclusivo uso personale.

E possibile pubblicare il file o sue parti su siti internet, purche sia citato in manieraevidente l’autore.

Per qualunque informazione, problematica, suggerimento o reclamo utilizzare l’indiriz-zo marco [email protected].

Page 3: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Indice

1 Calcolo numerico 71.1 Approssimazioni e sorgenti d’errore . . . . . . . . . . . . . . . . . . . . . . . 71.2 Numeri finiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.1 Errori di rappresentazione . . . . . . . . . . . . . . . . . . . . . . . . 101.2.2 Precisione di macchina (eps) . . . . . . . . . . . . . . . . . . . . . . 111.2.3 Formati IEEE 754 per floating point . . . . . . . . . . . . . . . . . . 121.2.4 Aritmetica finita (aritmetica floating point) . . . . . . . . . . . . . . 121.2.5 Propagazione degli errori . . . . . . . . . . . . . . . . . . . . . . . . 121.2.6 Cancellazione numerica . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.3 Condizionamento di un problema matematico . . . . . . . . . . . . . . . . . 141.3.1 Stabilita di un algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . 161.3.2 Bonta di un algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Radici reali di equazioni e sistemi di equazioni non lineari 202.1 Soluzione di equazioni non lineari . . . . . . . . . . . . . . . . . . . . . . . . 20

2.1.1 Metodo di bisezione . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1.2 Metodo di Regula Falsi . . . . . . . . . . . . . . . . . . . . . . . . . 222.1.3 Metodo delle secanti . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.1.4 Metodo di Newton (delle tangenti) . . . . . . . . . . . . . . . . . . . 242.1.5 Ordine di convergenza . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2 Soluzione di sistemi di equazioni non lineari . . . . . . . . . . . . . . . . . . 282.2.1 Metodo di Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . 282.2.2 Minimizzazione di una funzione . . . . . . . . . . . . . . . . . . . . . 30

3 Sistemi lineari 313.1 Condizionamento di un sistema lineare . . . . . . . . . . . . . . . . . . . . . 32

3.1.1 Perturbazione del termine noto . . . . . . . . . . . . . . . . . . . . . 323.1.2 Perturbazione della matrice dei coefficienti . . . . . . . . . . . . . . . 323.1.3 Proprieta dell’indice di condizionamento . . . . . . . . . . . . . . . . 33

3.2 Metodi numerici per risolvere sistemi lineari . . . . . . . . . . . . . . . . . . 343.2.1 Metodo di eliminazione di Gauss . . . . . . . . . . . . . . . . . . . . 343.2.2 Fattorizzazione di Cholesky per sistemi lineari . . . . . . . . . . . . 373.2.3 Fattorizzazione di matrici e sistemi lineari . . . . . . . . . . . . . . . 38

4 Interpolazione 394.1 Problema di interpolazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2 Interpolazione polinomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.2.1 Interpolazione di Lagrange . . . . . . . . . . . . . . . . . . . . . . . 404.2.2 Interpolazione di Newton . . . . . . . . . . . . . . . . . . . . . . . . 414.2.3 Valutazione di un polinomio con metodo di Horner . . . . . . . . . . 42

4.3 Errori di interpolazione. Fenomeno di Runge . . . . . . . . . . . . . . . . . 42

Indice 3

Page 4: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

4.4 Interpolazione polinomiale a tratti . . . . . . . . . . . . . . . . . . . . . . . 434.4.1 Funzione spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5 Decomposizione ai valori singolari (SVD) 455.1 Approssimazione di matrice con minor rango . . . . . . . . . . . . . . . . . 465.2 Risoluzione di sistemi lineari malcondizionati . . . . . . . . . . . . . . . . . 46

6 Integrazione numerica 486.1 Formule di quadratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486.2 Formule di quadratura di Newton-Cotes (a nodi equispaziati) . . . . . . . . 49

6.2.1 Errore di troncamento (rn) . . . . . . . . . . . . . . . . . . . . . . . 526.2.2 Pesi per formule di Newton-Cotes . . . . . . . . . . . . . . . . . . . 536.2.3 Problema delle formule di quadratura . . . . . . . . . . . . . . . . . 53

6.3 Formule di quadratura composite . . . . . . . . . . . . . . . . . . . . . . . . 546.3.1 Quadratura automatica . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.4 Estrapolazione di Richardson . . . . . . . . . . . . . . . . . . . . . . . . . . 566.5 Calcolo geometrico con integrali . . . . . . . . . . . . . . . . . . . . . . . . . 566.6 Calcolo fisico con integrali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576.7 Esempi numerici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

7 Approssimazione 617.1 Approssimazione ai minimi quadrati (LS) . . . . . . . . . . . . . . . . . . . 62

7.1.1 Metodo delle equazioni normali per l’approssimazione ai minimiquadrati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7.1.2 Minimi quadrati pesati. Polinomi ortogonali nelle equazioni normali 657.1.3 Metodo QR-LS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667.1.4 Metodo della decomposizione in valori singolari (SVD-LS) . . . . . . 66

A Vettori e matrici 68A.1 Operazioni tra vettori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68A.2 Operazioni tra matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68A.3 Norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

A.3.1 Norma vettoriale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69A.3.2 Norma matriciale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

A.4 Matrici definite in segno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Elenco delle figure 72

Elenco delle tabelle 73

Indice analitico 74

4 Indice

Page 5: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

I matematici possono dimostrare solo teoremi banaliperche ogni teorema che viene dimostrato

e necessariamente banale.

- Richard Feynman -

I matematici sono come i francesi:se si parla con loro, traducono nella loro lingua,

e diventa subito qualcosa di diverso.

- Johann Wolfgang von Goethe -

Page 6: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42
Page 7: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

CAPITOLO 1

Calcolo numerico

Il calcolo numerico e l’arte di dare una risposta numerica ad un problema matematicoattraverso un elaboratore elettronico. Lo scopo e quello di definire metodi numerici, cioealgoritmi, per la risoluzione con il calcolatore di problemi matematici (figura 1.1). Il calcolonumerico deve essere svolto:

1. nel minimo tempo possibile;

2. con la massima accuratezza.

Figura 1.1: Analisi numerica

1.1 Approssimazioni e sorgenti d’errore

1) Semplificazioni introdotte nel modello.

� Si suppone che il modello sia lineare.

� Si suppone che alcune grandezze fisiche siano trascurabili.

2) Errori nei dati. Generalmente, i dati di un problema sono ottenuti da misurazioni,influenzate da errori sistematici e da errori casuali.

Errori sistematici: dipendono dalla sensibilita dello strumento di misura.

1 - Calcolo numerico 7

Page 8: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Errori casuali: sono dovuti a uno o piu eventi imprevedibili.

E importante fare una stima degli errori, perche da essa dipendono la scelta del grado diprecisione e i test di arresto.

3) Errori di arrotondamento. Sono introdotti nella rappresentazione dei numeri sulcalcolatore.

4) Errori di troncamento/discretizzazione. Sono introdotti quando si approssimaun procedimento infinito con uno finito. Ad esempio:

� approssimare la derivata col rapporto incrementale;

� approssimare l’integrale con la formula di quadratura.

1.2 Numeri finiti

Non tutti i numeri sono rappresentabili da calcolatore, ma solo:

� numeri a punto fisso: insieme finito di interi;

� numeri a punto mobile: insieme finito di reali.

Un numero con virgola in una certa base B puo essere rappresentato come somme distintedella parte intera e della parte decimale:

±(an . . . a0 . b1b2 . . . )B = ±n∑k=0

ak ·Bk +

∞∑k=1

bk ·B−k

anche se la rappresentazione univoca di x ∈ R (con B ∈ N) e:

x = ±0 . d1d2 . . . ·Bp d1 6= 0

= ±

[ ∞∑i=1

di ·B−i

]·Bp 0 ≤ di ≤ B − 1

= ±m ·Bp1B≤ m < 1

m e la mantissa, B e la base, p e l’esponente. La rappresentazione univoca e la notazionescientifica normalizzata: per poterla utilizzare al calcolatore, la sommatoria non puo essereinfinita ma deve essere limitata a un termine t (dove t+1 e il numero di posizioni utilizzateper rappresentare il numero).

Si possono anche utilizzare altre rappresentazioni.

Rappresentazione in complemento alla base. Si rappresenta un numero negativo−x in base B con t+ 1 posizioni, con la forma:

Bt+1 − x

Si ha overflow quando x < −Bt.

Rappresentazione con esponente. Si aggiunge il fattore costante Bi

2 , dove i sono lecifre riservate all’esponente. Ad esempio:

x = 0.1039 · 10−6 con B = 10

Il fattore e 102

2 = 50. Se gli esponenti da −50 a +49 sono memorizzati con i valori da 00a 99 si puo scrivere:

x→ 04410390

8 1.2 - Numeri finiti

Page 9: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

L’insieme finito di numeri normalizzati a virgola mobile e:

F (B, t, L, U) =

{x ∈ R : x = ±

(t∑i=1

di ·B−i

)·Bp

}∪ {0}

con:

D1 6= 0

0 ≤ di ≤ B − 1L ≤ p ≤ UL < 0U > 0 di solito L = −U

Non tutti i numeri reali sono rappresentabili in F , perche:

1. l’esponente e limitato:

� p > U : errore di overflow;

� p < L: errore di underflow.

2. la mantissa ha t cifre disponibili: se il numero di cifre nella mantissa e superiorea t, i numeri non sono esattamente rappresentabili, dunque occorre approssimarli(troncamento o arrotondamento).

Il troncamento e ottenuto impostando un valore a piacere di t, dunque eliminando tuttele cifre successive di peso inferiore:

flT

(x) = ±(d1B

−1 + d2B−2 + · · ·+ dtB

−t)·Bp

L’arrotondamento e ottenuto aggiungendo 12B−t alla mantissa e troncando alla t-esima

cifra:

flA

(x) = ± flT

[(t+1∑i=1

diB−i +

12B−t

)·Bp

]L’approssimazione e fatta alla cifra piu vicina:

flA

(x) =

fl

T(x), se dt+1 <

B

2fl

T(x) +Bp−t, se dt+1 ≥

B

2

L’insieme F (B, t, L, U) contiene 2(U − L + 1)(B − 1)Bt−1 + 1. F non e una perfettasimulazione di R:

1. i numeri non sono uniformemente distribuiti sull’asse reale;

2. la densita dei numeri decresce con l’aumentare del valore assoluto del numero;

3. tutti i numeri reali compresi tra due consecutivi numeri finiti sono approssimati dauno dei due valori.

Esempio. E dato l’insieme1 F (B = 2, t = 3, L = −1, U = 2). Allora 1− ≤ p ≤ 2 e lepossibili mantisse sono:

0.100 , 0.101 , 0.110 , 0.111

quindi i numeri finiti rappresentabili sono 33 (compreso lo zero):

2(U − L+ 1)(B − 1)Bt−1 + 1 = 2 · (2 + 1 + 1) · (2− 1) · 23−1 + 1 = 2 · 4 · 1 · 22 + 1 = 33

1Si tratta di un insieme di numeri in base binaria.

1.2 - Numeri finiti 9

Page 10: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Nel dettaglio, questi numeri finiti sono:

0.100 · 2−1 = 12 ·

12 = 1

40.100 · 20 = 1

2 · 1 = 12

0.100 · 2+1 = 12 · 2 = 1

0.100 · 2+2 = 12 · 4 = 2

0.101 · 2−1 =(

12 + 1

8

12 = 5

160.101 · 20 =

(12 + 1

8

)· 1 = 5

80.101 · 2+1 =

(12 + 1

8

)· 2 = 5

40.101 · 2+2 =

(12 + 1

8

)· 4 = 5

2

0.110 · 2−1 =(

12 + 1

4

12 = 3

80.110 · 20 =

(12 + 1

4

)· 1 = 3

40.110 · 2+1 =

(12 + 1

4

)· 2 = 3

20.110 · 2+2 =

(12 + 1

4

)· 4 = 3

0.111 · 2−1 =(

12 + 1

4 + 18

12 = 7

160.111 · 20 =

(12 + 1

4 + 18

)· 1 = 7

80.111 · 2+1 =

(12 + 1

4 + 18

)· 2 = 7

40.111 · 2+2 =

(12 + 1

4 + 18

)· 4 = 7

2

Ponendo tutti i numeri finiti sull’asse reale, si nota come aumenta la discretizzazioneall’aumentare del valore assoluto dei valori, cioe allontanandosi dallo zero (figura 1.2).

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

7

2

5

2

7

4

3

2

5

4

7

8

3

4

5

8

1

2

7

16

3

8

5

16

1

4−

7

2−

5

2

Figura 1.2: Disposizione sull’asse reale dei numeri finiti rappresentati dall’insieme F (B = 2, t = 3, L =−1, U = 2)

1.2.1 Errori di rappresentazione

Consideriamo i valori:

x = mBp , x = fl (x) = mBp

Definizione 1 (Errore assoluto).∣∣x− fl (x)

∣∣.Definizione 2 (Errore relativo).

∣∣x− fl (x)∣∣∣∣x∣∣ con x 6= 0.

L’errore piu significativo e l’errore relativo, perche mette in relazione la differenzadovuta all’approssimazione con il valore della grandezza.

Teorema 1. Per l’errore assoluto vale:∣∣x− flT

(x)∣∣ < Bp−t e

∣∣x− flA

(x)∣∣ ≤ 1

2Bp−t

mentre per l’errore relativo vale:∣∣x− flT

(x)∣∣∣∣x∣∣ ≤ B1−t e

∣∣x− flA

(x)∣∣∣∣x∣∣ ≤ 1

2B1−t

Dimostrazione. Valutiamo la distanza (errore assoluto) tra le mantisse nel casodi troncamento (figura 1.3).

m1 m2 = m1 + B−t

m

Figura 1.3: Valutazione dell’errore nel caso di troncamento

m ∈[m1 , m1 +B−t

[⇒ m = m1 ⇒

∣∣m− m∣∣ < B−t

10 1.2 - Numeri finiti

Page 11: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

m1 m2 = m1 + B−tm1 +

1

2B

−t

m

Figura 1.4: Valutazione dell’errore nel caso di arrotondamento

Valutiamo ora la distanza nel caso di arrotondamento (figura 1.4).

se m ∈[m1 , m1 +

12B−t

[⇒ m = m1

se m ∈[m1 +

12B−t , m2

[⇒ m = m2

⇒∣∣m− m∣∣ ≤ 1

2B−t

Per il troncamento si puo concludere che l’errore relativo e:∣∣x− flT

(x)∣∣∣∣x∣∣ =

∣∣mBp − mBp∣∣mBp

≤ Bp−t

0.d1 . . . dt ·Bp≤ B−t

B−1= B1−t

perche B−1 ≤ |m| < 1.

La conclusione e del tutto analoga per l’arrotondamento.

1.2.2 Precisione di macchina (eps)

Definizione 3 (Precisione di macchina). Unificando le scritture dell’errore relativo per icasi di troncamento e arrotondamento si puo scrivere:∣∣x− fl (x)

∣∣∣∣x∣∣ ≤ eps con eps =

{B1−t (troncamento)12B1−t (arrotondamento)

Nota 1.2.1. eps e chiamato anche unita di arrotondamento.

eps e il piu piccolo numero finito positivo tale che:

fl (1 + eps) > 1

La formula da una misura dell’accuratezza con la quale i numeri reali sono approssimatida numeri finiti F (B, t, L, U), quindi misura la precisione del calcolatore. In altre parole,eps e il massimo errore relativo che si commette nel rappresentare un numero reale alcalcolatore.

Esempio. Consideriamo x = 1 e cerchiamo eps per casi, avendo B = 10, t = 5.

� Con y = 0.4 · 10−4:

flA

(x+ y) = flA

(1.00004) = 0.10000 · 101 = 1 non e eps

� Con y = 0.5 · 10−4:

flA

(x+ y) = flA

(1.00005) = 0.10001 · 101 > 1 e eps

L’errore relativo che si commette nel rappresentare in F un numero reale x con fl (x)e:

ε =fl (x)− x

x

Teorema 2. Avendo x ∈ R, rappresentabile in F , si verifica che:

fl (x) = x(1 + ε) , con |ε| ≤ eps

cioe ogni reale rappresentabile in F puo essere approssimato da un elemento di F con unerrore relativo non piu grande di eps.

1.2 - Numeri finiti 11

Page 12: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

1.2.3 Formati IEEE 754 per floating point

Lo standard IEEE 754 adotta:

� la tecnica di arrotondamento ai pari (round to even) per x esattamente equidistanteda due numeri finiti x1 e x2 consecutivi;

� l’hidden bit, perche il primo bit di mantissa e sempre 1, quindi si puo evitare dimemorizzarlo (e guadagnare un bit).

1) Precisione semplice 32 bit (base 2)

p∗ mSEGNO ESPONENTE MANTISSA

1 8 23

p∗ = p+ 127 , 0 ≤ p∗ ≤ 255

t = 23. m ha 24 bit (incluso l’hidden bit).

2) Precisione doppia 64 bit (base 2)

p∗ mSEGNO ESPONENTE MANTISSA

1 11 52

p∗ = p+ 1023 , 0 ≤ p∗ ≤ 2047

t = 52. m ha 53 bit (incluso l’hidden bit).Gli eps nei due casi sono:

eps1 =12· 21−t = 2−23 ' 1, 2 · 10−7

eps2 =12· 21−t = 2−52 ' 2, 2 · 10−16

Alcune notazioni particolari sono in tabella 1.1.

ZERO 0/1 0 0NOT A NUMBER (NaN) 0/1 111. . . 11 ogni configurazione diversa da 0INFINITO (OVERFLOW) 0/1 111. . . 11 0

Tabella 1.1: Notazioni particolari di formati IEEE 754

1.2.4 Aritmetica finita (aritmetica floating point)

Lemma 1.2.1. I risultati di operazioni aritmetiche tra numeri finiti generalmente nonsono numeri finiti.

Cio significa che in un calcolatore risulta impossibile implementare correttamente leoperazioni aritmetiche. Le operazioni in aritmetica finita associano a due numeri finitiun terzo numero finito, che e ottenuto approssimando il risultato esatto dell’operazionearitmetica.

a = fl (a) , b = fl (b)

a op b = fl (a op b) = (a op b)(1 + ε) con |ε| ≤ eps

1.2.5 Propagazione degli errori

Si deve considerare l’esecuzione di una sequenza di operazioni, nella quale si verifica unapropagazione di errori di entita non trascurabile. Perche il risultato sia attendibile bisognacontrollare e gestire il fenomeno.

12 1.2 - Numeri finiti

Page 13: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Propagazione nella moltiplicazione

fl(

fl (x) · fl (y))− (x · y)

x · y=

(x(1 + ε1) · y(1 + ε2)

)· (1 + ε3)− x · y

x · y

= (1 + ε1)(1 + ε2)(1 + ε3)− 1' ε1 + ε2 + ε3

Propagazione nell’addizione

fl(

fl (x) + fl (y))− (x+ y)

x+ y=

(x(1 + ε1) + y(1 + ε2)

)· (1 + ε3)− (x+ y)

x+ y

=xε1 + yε2 + xε3 + yε3 + xε1ε3 + yε2ε3

x+ y

' x

x+ yε1 +

y

x+ yε2 + ε3

Propagazione nella sottrazione

fl(

fl (x)− fl (y))− (x− y)

x− y=

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

)· (1 + ε3)− (x− y)

x− y

=xε1 − yε2 + xε3 − yε3 + xε1ε3 − yε2ε3

x+ y

' x

x− yε1 +

y

x− yε2 + ε3

Quando x e quasi uguale a y, ε1 e ε2 sono enormemente amplificati e cosı lo e pure l’errore.

1.2.6 Cancellazione numerica

Nelle operazioni di sottrazione, quando i due operandi sono quasi uguali si ha una perditadi cifre significative.

Esempio (1). Consideriamo (B = 10, t = 6):

x1 = 0, 147554326 , x2 = 0, 147251742

Allora:fl (x1) = 0, 147554 , fl (x2) = 0, 147252

Sul calcolatore la differenza e:

fl(

fl (x1)− fl (x2))

= 0, 302000 · 10−3

mentre la vera differenza e:x1 − x2 = 0, 302584 · 10−3

per cui l’errore relativo commesso e circa 0, 2 · 10−2 = 0, 2%. Le ultime cifre della mantissasono alterate perche, dopo aver eseguito fl (x1) − fl (x2) = 0, 000302, la rappresentazionenormalizzata ha introdotto tre zeri alla fine della mantissa.

Esempio (2). Consideriamo due numeri ancora piu vicini (B = 10, t = 6):

x1 = 0, 147554326 , x2 = 0, 147551742

Allora:fl (x1) = 0, 147554 , fl (x2) = 0, 147552

Sul calcolatore la differenza e:

fl(

fl (x1)− fl (x2))

= 0, 2 · 10−5

1.2 - Numeri finiti 13

Page 14: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

mentre la vera differenza e:x1 − x2 = 0, 2584 · 10−5

per cui l’errore relativo commesso e circa 0, 2 · 10−0 = 20%.L’operazione di sottrazione in se non introduce alcuna perdita di precisione, ma puo

amplificare gli errori presenti negli operandi.

Esempio (3). Consideriamo il calcolo del risultato dell’equazione (B = 10, t = 4):

x2 − 6, 433x+ 0, 009474 = 0

x2 =6, 443−

√(6, 433)2 − 4 · 0, 009474

2={x = 0, 0014731 esattofl (x) = 0, 2000 · 10−2 numero finito

L’errore relativo che si commette e:∣∣∣∣x− fl (x)x

∣∣∣∣ ' 0, 357 = 36%

Si verifica che:b−√

∆ = 0, 6433 · 101 − 0, 6429 · 101∣∣∣∣b− fl (b)b

∣∣∣∣ =∣∣∣∣6, 433− fl (6, 433)

6, 433

∣∣∣∣ = 0 errore in b

∣∣∣∣∣∣√

∆− fl(√

∆)

√∆

∣∣∣∣∣∣ =∣∣∣∣6, 4300538− fl (6, 429)

6, 4300538

∣∣∣∣ ' 0, 16 · 10−3 errore in√

Pur partendo da dati affetti da un piccolo errore relativo di arrotondamento, alla finel’errore e notevole.

Lemma 1.2.2. Per equazioni di secondo grado del tipo ax2 + bx+ c = 0, in tutti i casi incui b2 ' 4ac bisogna utilizzare maggiore precisione per contenere l’errore.

1.3 Condizionamento di un problema matematico

Definizione 4 (Problema numerico). Descrizione chiara e non ambigua di una connessionefunzionale tra i dati x e i risultati desiderati y.

Definizione 5 (Algoritmo). Sequenza di istruzioni che devono essere eseguite per ottenere,in un numero finito di passi, da un vettore dati x il corrispondente output ψ che non enecessariamente uguale a y. Ad ogni problema numerico e possibile associare piu algoritmi.

Definizione 6 (Perturbazione nei dati). Una perturbazione nei dati e rappresentata dax = x+ δx. Il problema f propaga gli errori nei dati (in assenza di errori nei calcoli e inmaniera indipendente dal procedimento di calcolo) come segue:

x→ f(x) = y x→ f (x) = y

→ ψ (x) = ψ

Il condizionamento di un problema e il confronto tra la risposta analitica f(x) e larisposta f (x) = y ottenuta a partire da dati perturbati. Il problema e ben condizionatoquando a piccole perturbazioni relative su x corrispondono perturbazioni relative su f(x)dello stesso ordine di grandezza. Se cio non si verifica, il problema e mal condizionato.

Lemma 1.3.1. Uno stesso problema puo essere mal condizionato per certi dati, ma nonper altri.

14 1.3 - Condizionamento di un problema matematico

Page 15: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Definizione 7 (Indice di condizionamento). L’indice di condizionamento di un problemanumerico e un valore K tale che:∥∥f(x)− f (x)

∥∥∥∥f(x)∥∥ ≤ K ·

∥∥x− x∥∥∥∥x∥∥Il condizionamento e legato al problema numerico e non ha legami con gli errori di

arrotondamento, ne con l’algoritmo utilizzato.

Esempio: valutazione di una funzione f in un punto x (f differenziabile).

f(x+ δx)− f(x) ' f ′(x) · δxf(x+ δx)− f(x)

f(x)' f ′(x) · δx

f(x)f(x+ δx)− f(x)

f(x)'

(f ′(x) ·xf(x)

)︸ ︷︷ ︸

K

·

δx

x

Supponiamo f(x) = tg (x), che diverge per x = π2 . Per valori di x vicini a multipli di π2 la

funzione f(x) amplifica gli errori sul dato x, quindi il problema risulta mal condizionato.Infatti:

x = 1, 57079 ⇒ tg (1, 57079) = 1, 58058 · 105

f ′(x) = 1 + tg 2(x) ⇒ K =

∣∣∣∣∣x(1 + tg 2 x

)tg x

∣∣∣∣∣ = 2, 48275 · 105

δx = |1, 57079− 1, 57078| ' 6, 37 · 10−6

f(x+ δx)− f(x)f(x)

' 1, 58

Esempio: problema mal condizionato (Wilkinson 1963). Calcolare le radicidel polinomio p(x):

p(x) = (x− 1)(x− 2) · . . . · (x− 19)(x− 20)= x20 − 210x19 + . . .

Al calcolatore: B = 2, t = 30 (servono per il calcolo degli zeri, che sono {1, 2, 3, . . . , 19, 20}).Per memorizzare i coefficienti del polinomio e necessario arrotondare alla trentesima cifrasignificativa binaria.

Perturbiamo ora il coefficiente di x19:

−210 → −210 + 2−23

per cui il polinomio diventa p(x) + 2−23x19 = 0. Le radici sono cambiate:

1, 00000 00002, 00000 00003, 00000 00004, 00000 00004, 99999 99286, 00000 69448, 00726 76038, 91725 0249

20, 84690 8101

10, 09526 6145± i0, 64350 090411, 79363 3881± i1, 65232 972813, 99235 8137± i2, 51883 007016, 73073 7466± i2, 81262 489419, 50243 9400± i1, 94033 0347

1.3 - Condizionamento di un problema matematico 15

Page 16: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Esempio: problema mal condizionato. Risolvere il sistema lineare:{x+ y = 2

1001x+ 1000y = 2001 il cui risultato e{x = 1y = 1

Perturbiamo ora il coefficiente di x dell’1%:(

1 +1

100

)x+ y = 2

1001x+ 1000y = 2001⇒

x = −1

9= −0, 1

y =1901900

= 2, 112

cioe l’errore commesso e pari al 110%.

1.3.1 Stabilita di un algoritmo

La stabilita di un algoritmo e il confronto tra la risposta fornita dall’algoritmo ψ (x) ef (x) = y: valuta, quindi, la reazione fornita dall’algoritmo all’introduzione di perturba-zioni nei dati iniziali.

Il valore calcolato con f puo essere affetto da:

errore inerente: e generato dalla rappresentazione dei dati come numeri finiti:

EIN =f (x)− f(x)

f(x)

errore algoritmico: e generato dal calcolo di ψ (x) e dovuto alle operazioni in aritmeticafinita:

EALG =ψ (x)− f (x)

f (x)

L’accuratezza della soluzione, cioe lo scostamento rispetto al valore esatto che ci si attende,dipende sia dal condizionamento del problema, sia dalla stabilita algoritmica:

ETOT =ψ (x)− f(x)

f(x)errore totale

= EALG(1 + EIN ) + EIN

' EALG + EIN

La stabilita dell’algoritmo non garantisce che il risultato calcolato sia accurato. Per unproblema mal condizionato, la distinzione tra algoritmo stabile e instabile non e significa-tiva perche l’errore totale e dominato dall’errore inerente. Per questo motivo, e opportunauna riformulazione.

La bassa accuratezza dei risultati di un processo numerico e imputabile a:

� alto condizionamento intrinseco del problema;

� instabilita dell’algoritmo.

Un algoritmo e stabile se: ∣∣EALG∣∣ ≺ g(n) · eps

dove:

� n e il numero di operazioni effettuate;

� g(n) ={c ·n, c > 0 crescita dell’errore linearecn, c > 1 crescita dell’errore esponenziale

Quindi c’e stabilita se g(n) e lineare, cioe l’errore algoritmico e dello stesso ordine digrandezza della precisione di macchina.

16 1.3 - Condizionamento di un problema matematico

Page 17: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Esempio (1). Valutare y =(1 + x)− 1

xcon l’algoritmo:

x = 10−15 ; y =(

(1 + x)− 1)/x

Con l’algoritmo si ottiene y = 1, 11022302462516 invece di y = 1. Il problema e bencondizionato:

K =∣∣∣∣f ′(x) ·xf(x)

∣∣∣∣ = 0 perche f ′(x) = 0 ∀x 6= 0

Verifichiamo se l’algoritmo e stabile:

fl (1 + x) =(1 + fl (x)

)· (1 + ε)

fl((1 + x)− 1

)=(

fl (1 + x)− 1)· (1 + ε) ' x(1 + 2ε) + ε

fl((1+x)−1

)fl (x) · (1 + ε)− 1

1︸ ︷︷ ︸1 e il valore esatto di f(x)

=x(1 + 2ε) + ε

x(1 + ε)· (1 + ε)− 1 ' 2ε+

ε

x

Se x e piccolo, l’errore su y puo essere grande.

Esempio (2). La successione 1 ,13,

19, . . . ,

13n

, . . . puo essere generata con le se-guenti relazioni ricorrenti:

pn =103pn−1 − pn−2

p0 = 1p1 = 1

3

(1.3.1)

{pn =

13pn−1

p0 = 1(1.3.2)

Bisogna generare i primi 100 termini della successione. La relazione 1.3.1 (figure 1.5(a)e 1.5(b)) diverge!

Algoritmo instabile (codice MATLAB)

xxx xxx xxx xxx xxx xxx xxx xxx

p1(1) = 1;

p1(2) = 1/3;

for i=2:100

p1(i+1) = 10/3 * p1(i)-p1(i-1);

end

p1z=p1(1:35);

plot(1:35,p1z),title(Successione generata con algoritmo instabile - ZOOM),grid

figure

plot(1:101,p1),title(Successione generata con algoritmo instabile),grid

Analizziamo la propagazione dell’errore della 1.3.1:

p0 = p0 + ε , p1 = p1 + ε

p2 =103p1 − p0 =

103

(p1 + ε)− (p0 + ε) = p2 +73ε

p3 =103p2 − p1 =

103

(p2 +73ε)− (p1 + ε) = p3 +

619ε

p4 =103p3 − p2 =

103

(p3 +619ε)− (p2 + ε) = p4 +

58327

ε

. . .

1.3 - Condizionamento di un problema matematico 17

Page 18: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Al contrario, la propagazione dell’errore della 1.3.1 (figure 1.5(c) e 1.5(d)) si sviluppa comesegue:

p0 = p0 + ε

p1 =13p0 =

13

(p0 + ε) = p1 +13ε

p2 =13p1 =

13

(p1 +13ε) = p2 +

19ε

. . .

Algoritmo stabile (codice MATLAB)

xxx xxx xxx xxx xxx xxx xxx xxx

p2(1) = 1;

for i=1:100

p2(i+1) = 1/3 * p2(i);

end

p2z=p2(1:35);

plot(1:35,p2z),title(Successione generata con algoritmo instabile - ZOOM),grid

figure

plot(1:101,p2),title(Successione generata con algoritmo instabile),grid

(a) Successione 1.3.1 (b) Successione 1.3.1 (zoom da p0 a p35)

(c) Successione 1.3.1 (d) Successione 1.3.1 (zoom da p0 a p35)

Figura 1.5: Successioni ottenute con algoritmi stabili o instabili

Esempio (3). Bisogna calcolare En =∫ 1

0

xnex−1 dx con n = 1, 2, . . . .

Integrando per parti:∫ 1

0

xnex−1 dx =[xnex−1

]10−∫ 1

0

nxn−1ex−1 dx.

Ricorsivamente: En = 1− n ·En−1, con n = 2, 3, . . . e valore iniziale E1 =1e

.

18 1.3 - Condizionamento di un problema matematico

Page 19: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Al calcolatore, con B = 10 e t = 6, si ottiene:E1 ' 0, 367879E2 ' 0, 264242E3 ' 0, 207274E4 ' 0, 170904E5 ' 0, 145480

E6 ' 0, 127120E7 ' 0, 110160E8 ' 0, 118720E9 ' −0, 0684800 ma la funzione e positiva in (0 , 1)

L’errore di arrotondamento nel calcolo di E1 e:

E1 =1e

, E1 = E1 + δ con δ ' 4, 412 · 10−7

Nel calcolo di E2 tale errore e moltiplicato per −2, nel calcolo di E3 e moltiplicato per −3e cosı via. In conclusione:

En = 1− n · En−1

= En + (−1)n−1·n! · δ

dove 9! · 4, 412 · 10−7 ' 1, 1601. Ne consegue che l’algoritmo scelto e instabile.Calcoliamo ora utilizzando un algoritmo stabile:

En−1 =1− Enn

, n = . . . , 3, 2

Per trovare un valore iniziale:

En =∫ 1

0

xnex−1 dx ≤∫ 1

0

xn =[xn+1

n+ 1

]10

=1

n+ 1

Enn→+∞−→ 0 allora approssimiamo E20 = 0

Al calcolatore:

E20 ' 0, 0E19 ' 0, 0500000E18 ' 0, 0500000E17 ' 0, 0527778E16 ' 0, 0557190E15 ' 0, 0590176

E14 ' 0, 0627322E13 ' 0, 0669477E12 ' 0, 0717733E11 ' 0, 0773523E10 ' 0, 0838771E9 ' 0, 0916123

Per E20 l’errore iniziale e circa121

, mentre per E19 e moltiplicato per120

e cosı via.

1.3.2 Bonta di un algoritmo

Un algoritmo e valido qualitativamente quando ha le seguenti caratteristiche:

1. generalita e robustezza: si applica a un qualsiasi insieme di dati di un certodominio;

2. semplicita di verifica delle ipotesi di applicazione;

3. stabilita numerica;

4. richiesta di risorse come numero di operazioni e quantita di memoria richiesta.

Definizione 8 (Costo (complessita) computazionale di un algoritmo). Numero di opera-zioni aritmetiche floating point che sono richieste per la sua esecuzione. Una operazioneelementare e misurabile come 1 flop (Floating-point operation).

Definizione 9 (Tempo di CPU). Tempo impiegato dall’unita centrale per eseguire undeterminato programma.

L’obiettivo e ottimizzare gli algoritmi per ridurre il numero di operazioni computazio-nali e, quindi, i tempi di esecuzione. Alcuni esempi di ottimizzazione sono:

� il metodo di Gauss invece del metodo di Cramer nella risoluzione di sistemi lineari;

� il metodo di Ruffini-Horner per calcolare il valore di un polinomio in un punto,dimezzando il numero di moltiplicazioni necessarie.

1.3 - Condizionamento di un problema matematico 19

Page 20: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

CAPITOLO 2

Radici reali di equazioni e sistemi di equazioni non lineari

2.1 Soluzione di equazioni non lineari

Bisogna determinare i valori di x per cui f(x) = 0. Le radici di un’equazione non linearenon possono, in generale, essere espresse in forma chiusa. Anche quando questo e possibile,l’espressione corrispondente puo risultare molto complessa. Allora si ricorre a metodinumerici iterativi approssimanti.

Il problema matematico consiste nel determinare x∗ tale che f(x∗) = 0. Il problemaperturbato, in aritmetica finita, consiste nel determinare xe = x∗+h tale che f(x∗+h) = 0,dove:

fe = f + ε · g

con ε · g la perturbazione sui dati, mentre h e la perturbazione sui risultati. Allora:

fe(x∗ + h) = 0

f(x∗ + h) + ε · g(x∗ + h) = 0

che, sviluppato con Taylor:[f(x∗)︸ ︷︷ ︸

0

+h · f ′(x∗) +12h2

· f ′′(ξ)]

+ ε

[g(x∗) + h · g′(x∗) +

12h2

· g′′(η)]

= 0

Il numero di condizionamento del problema e:

h ' −ε g(x∗)f ′(x∗)

Se f ′(x∗) e molto piccolo, allora il problema e malcondizionato. Se f ′(x∗) non e troppopiccolo, allora il problema e ben condizionato e fe(x) = 0 ha una radice che non differiscetroppo da x∗.

Supponiamo ora f(x) continua nell’intervallo [a0 , b0] e che f(a0) · f(b0) < 0. Alloraesiste almeno una soluzione x∗ di f(x) = 0 appartenente all’intervallo. Alcune procedureper il calcolo delle radici convergono sia a singolarita, sia a radici. Questa situazione deveessere prevenuta. L’idea di base sta nell’individuare un intervallo contenente una radice(ad esempio discretizzando l’intervallo iniziale) effettuando poi una serie di iterazioni finoa convergere ad una soluzione.

Alcuni criteri di arresto possono essere:

1. grandezza delle variazioni delle approssimazioni della radice:∣∣xi+1 − xi∣∣ < ε1 tolleranza su x∣∣xi+1 − xi∣∣

min(∣∣xi∣∣ , ∣∣xi+1

∣∣) < ε2∣∣xi∣∣ , ∣∣xi+1

∣∣ 6= 0

20 2 - Radici reali di equazioni e sistemi di equazioni non lineari

Page 21: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

2. grandezza delle variazioni della funzione:∣∣f(xi)∣∣ < ε3 tolleranza su f(x)

3. numero massimo di iterazioni desiderate.

2.1.1 Metodo di bisezione

Algoritmo.

1. Si individua un intervallo[a0 , b0

]contenente la radice e tale che f(a0) · f(b0) < 0.

2. Si calcola il punto medio dell’intervallo: xm =a0 + b0

2.

3. � Se f(a0) · f(xm) < 0, allora si prosegue con l’intervallo[a0 , xm

].

� Se f(b0) · f(xm) < 0, allora si prosegue con l’intervallo[xm , b0

].

� Se f(xm) = 0, allora xm e la radice cercata.

Metodo di bisezione (codice MATLAB)

xxx xxx xxx xxx xxx xxx xxx xxx

a = 0.5; % PUNTO DA IMPOSTARE

b = 2; % PUNTO DA IMPOSTARE

fa = funzione(a);

fb = funzione(b);

tolerance = 0.0000001; % TOLLERANZA ORIZZONTALE DA IMPOSTARE

while abs(b-a) >= tolerance

mid = (a+b)/2;

fmid = funzione(mid);

if fa*fmid < 0

b = mid;

fb = fmid;

else

a = mid;

fa = fmid;

endif

end

radice = (b+a)/2

Figura 2.1: Metodo di bisezione

Dopo n passi si ottiene un intervallo[an , bn

]di ampiezza:

bn − an =bn−1 − an−1

2= · · · = b0 − a0

2n

2.1 - Soluzione di equazioni non lineari 21

Page 22: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

x∗ = xm ± en+1

∣∣en+1

∣∣ < bn − an2

=b0 − a0

2n+1

E sempre convergente, ma la convergenza e lenta.

Osservazioni per migliorare l’algoritmo.

� Sostituire f(a) · f(xm) < 0 con sign (f(a)) ?= sign (f(xm)).

� Organizzare la formula come una piccola correzione ad una buona approssimazione:

sostituirea+ b

2con

a+ (b− a)2

. Infatti, in aritmetica dei numeri finitia+ b

2puo

portare ad un risultato errato.

� Il test di arresto∣∣bk − ak∣∣ < ε potrebbe non essere mai soddisfatto. Sostituire con:

∣∣a− b∣∣ < ε+ eps · max(|a| , |b|

)� Verificare se f(0) = 0 quando a < 0 e b < 0.

Nel caso di un numero dispari di radici, il metodo di bisezione determina un’approssima-zione ad una sola di esse.

2.1.2 Metodo di Regula Falsi

Il metodo nasce dalla seguente idea:

� si parte da un’approssimazione iniziale x0;

� ad ogni passo si linearizza il problema localmente, con una retta di pendenza knpassante per

(xn , f(xn)

);

� come nuova approssimazione della radice si prende lo zero dell’equazione lineare:

f(xn) + kn(x− xn) = 0 con n = 0, 1, 2, . . . ⇒ xn+1 = xn −f(xn)kn

Le direzioni k possono essere scelte in vari modi. Il metodo di Regula Falsi approssima lafunzione nell’intervallo

[x0 , xn

]con la retta per i punti

(x0 , f(x0)

)e(xn , f(xn)

), quindi

mantiene fissa la coordinata su x0 per tutte le rette approssimanti (figura 2.2):

kn =yn − y0xn − x0

Le rette si determinano conx− xnx0 − xn

=y − yny0 − yn

e tagliano l’asse x nel punto di ascissa:

xn+1 = xn − f(xn) ·xn − x0

yn − y0

22 2.1 - Soluzione di equazioni non lineari

Page 23: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Figura 2.2: Metodo di Regula Falsi

Algoritmo.

1. Si scelgono due punti x1 e x2 tali che in essi la funzione assuma valori discorsi.

2. Si costruisce la retta passante per x1 e x2:

x2 − xx2 − x1

=f(x2)− y

f(x2)− f(x1)

3. Si ricava x3 come intersezione della retta con l’asse x:

x3 = x2 −f(x2)

f(x2)− f(x1)(x2 − x1)

4. Si valuta il segno di f(x3). Si sostituisce x3 al punto, tra x1 e x2, nel quale lafunzione e concorde.

Metodo di Regula Falsi (codice MATLAB)

xxx xxx xxx xxx xxx xxx xxx xxx

x1 = 2; % PUNTO DA IMPOSTARE

x2 = 0.5; % PUNTO DA IMPOSTARE

tolerance1 = 1; % TOLLERANZA ORIZZONTALE DA IMPOSTARE

tolerance2 = 0.0000001; % TOLLERANZA ORIZZONTALE DA IMPOSTARE

while abs(x2-x1) >= tolerance1 || abs(funzione(x3)) >= tolerance2

x3 = x2 - funzione(x2) * (x2-x1)/(funzione(x2)-funzione(x1));

if sign(funzione(x3)) = sign(funzione(x1))

x2 = x3;

else

x1 = x3;

endif

end

radice = x3

2.1.3 Metodo delle secanti

Il metodo delle secanti e simile a quello di Regula Falsi, ma ogni volta si procede con gliultimi punti trovati in successione, senza tener conto del valore positivo o negativo dellafunzione (figura 2.3).

La funzione e approssimata nell’intervallo[xn−1 , xn

]con la retta passante per i punti(

xn−1 , f(xn−1))

e(xn , f(xn)

):

kn =yn − yn−1

xn − xn−1

2.1 - Soluzione di equazioni non lineari 23

Page 24: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Figura 2.3: Metodo delle secanti

Le rette tagliano l’asse x nel punto di ascissa:

xn+1 = xn − f(xn) ·xn − xn−1

yn − yn−1

Il metodo delle secanti puo essere piu veloce, ma non converge sempre. Non c’e piu lacertezza di avere sempre il punto cercato all’interno dell’intervallo. In particolare, il metodoe catastrofico se i punti sono vicini ad un punto nel quale la derivata della funzione siannulla (massimo o minimo relativo).

2.1.4 Metodo di Newton (delle tangenti)

Partendo da una stima iniziale x0 della soluzione, si genera una successione {xn} approssi-mando ad ogni passo la curva f(x) mediante la retta tangente ad f nel punto

(xn , f(xn)

)(figura 2.4).

kn = f ′(xn)

Algoritmo. Si calcola xn+1 come intersezione della tangente con l’asse x:

xx+1 = xn −f(xn)f ′(xn)

Figura 2.4: Metodo di Newton (delle tangenti)

L’idea nasce dalla serie di Taylor, dove si conosce la funzione e la sua derivata prima:

f(xn+1) = f(xn) + (xn+1 − xn) · f ′(xn) + . . .

Poiche cerchiamo f(x) = 0, si pone f(xn+1) = 0 riscrivendo:

0 = f(xn) + (xn+1 − xn) · f ′(xn) ⇒ xx+1 ' xn −f(xn)f ′(xn)

24 2.1 - Soluzione di equazioni non lineari

Page 25: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Come si nota, il metodo e inefficace quando si calcola la derivata su xn quando corrispondea un massimo o minimo relativo (punto con derivata nulla).

2.1.5 Ordine di convergenza

{xi} e una successione convergente ad α, inoltre α 6= xi per ogni valore di i.

Definizione 10 (Ordine di convergenza). Una successione {xi} ha ordine di convergenzap se esiste un numero reale p ≥ 1 tale che:

limi→∞

∣∣xi+1 − α∣∣∣∣xi − α∣∣p = γ

Lemma 2.1.1 (Fattore di convergenza). Il fattore di convergenza γ vale:{0 < γ ≤ 1, se p = 1γ > 0, se p > 1

Per il metodo di Newton si puo scrivere:

en = xn − α xn ha k decimali corretti∣∣en∣∣ ≤ 12· 10−k

∣∣en+1

∣∣ ' γ (12· 10−k

)p=γ

2· 10−pk xn+1 ha pk decimali corretti

Il numero di decimali corretti tende ad essere moltiplicato per p ad ogni passo solo pern → ∞. Per valori finiti di n, e soprattutto nei primi passi, l’aumento di cifre correttedipende anche dalla costante:

γn :∣∣en+1

∣∣ = γn ·

∣∣en∣∣p con limn→∞

γn = γ

Nell’ipotesi in cui α sia una radice semplice:

f(α) = 0 e f ′(α) 6= 0

Ponendo ek = xk − x∗:

f(x∗) = 0 = f(xk) + (x∗ − xk) · f ′(xk) +(x∗ − xk)2

2· f ′′(ξ)

e, dividendo per f ′(xk), si ottiene una riscrittura del metodo di Newton al II ordine:

f(xk)f ′(xk)

+ x∗ − xk +

(x∗ − xk)2

2· f ′′(ξ)

f ′(xk)= x∗ − xk +

(x∗ − xk)2

2· f ′′(ξ)

f ′(xk)= 0

ek+1 =ek

2

f ′′(ξ)f ′(xk)

⇒ ek+1

ek2

xk→x∗−→ 12·

f ′′(x∗)f ′(x∗)

La convergenza e:

lineare se p = 1 e 0 < γ < 1;

sublineare se p = 1 e γ = 1;

superlineare se 1 < p < 2;

quadratica se p = 2;

cubica se p = 3.

2.1 - Soluzione di equazioni non lineari 25

Page 26: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Convergenza dei metodi numerici per equazioni non lineari

Con α radice semplice:

� il metodo di bisezione ha convergenza lineare;

� il metodo di Regula Falsi ha convergenza superlineare;

� il metodo delle secanti ha convergenza superlineare (p = 1, 618);

� il metodo di Newton ha convergenza quadratica.

Cio significa che il metodo di Newton e il piu efficiente per giungere a soluzione, tuttaviabisogna tenere conto dell’inefficacia nei pressi dei punti di massimo e minimo relativo.

Teorema 3 (di convergenza globale). Sia f(x) ∈ C2[a , b

], con

[a , b

]intervallo chiu-

so e limitato. Il metodo di Newton converge all’unica soluzione α in[a , b

], per ogni scelta

di x0 entro[a , b

], se:

1. f(a) · f(b) < 0;

2. f ′(x) 6= 0 ∀x ∈[a , b

];

3. f ′′(x) > 0 oppure f ′′(x) < 0 ∀x ∈[a , b

];

4.∣∣∣∣ f(a)f ′(a)

∣∣∣∣ < b− a,∣∣∣∣ f(b)f ′(b)

∣∣∣∣ < b− a.

Esempio (1). La parabola x2 − 4x + 2 valutata in [−1 , 2] ha una radice in x =0, 585786437. Con differenti valori di tolleranza si sono ottenuti i risultati della tabella 2.1.

Toll. Bisezione Regula Falsi SecantiRadice (iter.) Radice (iter.) Radice (iter.)

10−1 0,54688 (8) 2.5(a) 0,60261 (5) 2.5(c) 0,56876 (5)10−2 0,58496 (12) 2.5(b) 0,58797 (7) 2.5(d) 0,58657 (6)10−3 0,58606 (15) 0,58607 (9) 0,58579 (7)10−7 0,58579 (28) 0,58579 (18) 0,58579 (8)

Tabella 2.1: Confronto tra i risultati del calcolo della radice di una parabola x2 − 4x+ 2

Esempio (2). Il logaritmo log x valutato in [0, 5 , 2] ha una radice in x = 1. Condifferenti valori di tolleranza si sono ottenuti i risultati della tabella 2.2.

Toll. Bisezione Regula Falsi SecantiRadice (iter.) Radice (iter.) Radice (iter.)

10−1 1,0156 (7) 2.6(a) 1,0674 (2) 1,0130 (3)10−2 1,0010 (11) 2.6(b) 1,0052 (4) 2.6(c) 1,0007 (4)10−3 0,99988 (14) 1,0004 (6) 2.6(d) 1,0007 (4)10−7 1,0000 (27) 1,0000 (13) 1,0000 (6)

Tabella 2.2: Confronto tra i risultati del calcolo della radice di un logaritmo log x

26 2.1 - Soluzione di equazioni non lineari

Page 27: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

(a) Bisezione (tolleranza 10−1) (b) Bisezione (tolleranza 10−2)

(c) Regula Falsi (tolleranza 10−1) (d) Regula Falsi (tolleranza 10−2)

Figura 2.5: Risultati del metodo di calcolo delle radici di una parabola

(a) Bisezione (tolleranza 10−1) (b) Bisezione (tolleranza 10−2)

(c) Regula Falsi (tolleranza 10−2) (d) Regula Falsi (tolleranza 10−3)

Figura 2.6: Risultati del metodo di calcolo delle radici di una logaritmo

2.1 - Soluzione di equazioni non lineari 27

Page 28: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

2.2 Soluzione di sistemi di equazioni non linearif1(x1 , x2 , . . . , xn) = 0f2(x1 , x2 , . . . , xn) = 0

. . .fm(x1 , x2 , . . . , xn) = 0

Data F : Rn → Rm, calcolare x ∈ Rn tale che F (x) = 0.

x = (x1 , , x2 , . . . , xn)T , F = (f1 , , f2 , . . . , fm)T

f : Rn → R e continuamente differenziabile se∂f

∂xiesiste ed e continua per i = 1, 2, . . . , n.

Il gradiente di f in x e dato da:

∇f (x) =

∂f(x)∂x1∂f(x)∂x2

...∂f(x)∂xn

F : Rn → Rm e una funzione a valori vettoriali:

F :

x1

x2

...xn

f1(x)f2(x)

...fm(x)

La derivata di F in x (matrice Jacobiana) e la matrice:

J (xk) =

∂f1∂x1

∣∣∣∣x=xk

∂f1∂x2

∣∣∣∣x=xk

. . .∂f1∂xn

∣∣∣∣x=xk

∂f2∂x1

∣∣∣∣x=xk

∂f2∂x2

∣∣∣∣x=xk

. . .∂f2∂xn

∣∣∣∣x=xk

......

. . ....

∂fm∂x1

∣∣∣∣x=xk

∂fm∂x2

∣∣∣∣x=xk

. . .∂fm∂xn

∣∣∣∣x=xk

Il gradiente di F in x e la matrice ∇F (x) = J (x).

2.2.1 Metodo di Newton-Raphson

Algoritmo.

1. Dato x0 ∈ Rn e F , per ogni iterazione di k si valuta J (xk).

2. Si risolve il sistema lineare J (xk) · s k = −F (xk).

3. Si pone xk+1 = xk + sk.

Il metodo ha convergenza locale quadratica se x0 e sufficientemente vicino alla soluzio-ne.

La valutazione dello Jacobiano richiede di conoscere (o poter valutare) n2 derivateparziali. Esistono alcune varianti dell’algoritmo per migliorarne l’efficienza.

1) Approssimazione con rapporti incrementali:

∂fj∂xi

∣∣∣∣x=xk

' (Jk)ij =fj(xk + eisij)− fj(xk)

sij

28 2.2 - Soluzione di sistemi di equazioni non lineari

Page 29: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

� ei: i-esimo vettore della base canonica Rn;

� sij : incrementi scelti ad ogni passo k.

Il metodo che si ottiene e l’analogo n-dimensionale di quello delle secanti.

2) Metodo della corda: si utilizza lo Jacobiano, oppure una sua approssimazione J (x0)o A (x0), per tutte le iterazioni k. Si potrebbe poi fattorizzare J (x0) = L ·U eutilizzare i medesimi L e U per ogni iterazione.

3) Metodo di Shamanskii: si valuta lo Jacobiano ogni m iterazioni, e poi lo si utilizzaper le m iterazioni successive:

J k+1 = J k con l = 1, . . . ,m

Giunti a xk+m+1 si rivaluta lo Jacobiano.

4) Metodo di tipo secanti: si approssima J (x+) con una quantita A+ aggiornata adogni iterazione. L’approssimazione monodimensionale a+ di f ′(x) e:

a+ =f(x+)− f(xc)

x+ − xc

Analogamente, con l’equazione delle secanti:

A+(x+ − xc) = F (x+)− F (xc)

che e ottenuta linearizzando il problema nell’intorno di x+.

5) Aggiornamento di Broyden: A c (matrice n × n) e x c sono le approssimazionicorrenti dello Jacobiano e della soluzione. Ponendo sc = x+ − xc diventa:

A c· s+ = −F (xc)

A c → A+

Per calcolare A+ bisogna considerare che la formula cercata deve soddisfare l’equa-zione delle secanti, per cui:

A+ = A c +

(F (x+)− F (xc)−A cs c

)· s Tc

s Tc · s c

Algoritmo. (con aggiornamento di Broyden)

1. Dato x 0 ∈ Rn e F , per ogni iterazione di k si sceglie una matrice iniziale A 0 (adesempio, A 0 = J (x0) oppure A 0 = I ).

2. Per k = 0, 1, 2, . . . si risolve il sistema lineare:

A k· s k = −F (xk)

e si pone xk+1 = xk + sk.

3. Si aggiorna:

A k+1 = A k +

[(F (k + 1)− F (xk)

)−A ks k

]· s Tk

s Tk · s k

2.2 - Soluzione di sistemi di equazioni non lineari 29

Page 30: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

2.2.2 Minimizzazione di una funzione

Data f : Rn → R, differenziabile continuamente due volte, bisogna trovare x ∈ Rn taleche in esso f assume valore minimo.

x = (x1, x2, . . . , xn)T

Se f ∈ C1(Rn), allora i punti di stazionarieta locale (massimi, minimi, sella) sono soluzionedel seguente sistema lineare:

∇f(x) = 0

quindi la determinazione puo avvenire risolvendo il sistema. Per verificare se un punto eun massimo, un minimo oppure un punto di sella, in genere bisogna esaminare la matricehessiana H (x) = ∇2f(x).

(H(x)

)ij

=∂2f(x)∂xi · ∂xj

, i, j = 1, . . . , n

Si puo applicare il metodo di Newton anche per risolvere ∇f(x) = 0.

Algoritmo.

1. Dato x0 ∈ Rn e f , per ogni iterazione di k si valuta ∇2f(xk).

2. Si risolve il sistema lineare:

∇2f(xk) · sk = −∇f(xk)

3. Si pone xk+1 = xk + sk. sk definisce una direzione di discesa da xk a xk+1.

30 2.2 - Soluzione di sistemi di equazioni non lineari

Page 31: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

CAPITOLO 3

Sistemi lineari

Esiste un vettore x che verifichi tutte le equazioni lineari del seguente sistema, simulta-neamente?

a11x1 + a12x2 + a13x3 + · · ·+ a1nxn = b1a21x1 + a22x2 + a23x3 + · · ·+ a2nxn = b2a31x1 + a32x2 + a33x3 + · · ·+ a3nxn = b3

...am1x1 + am2x2 + am3x3 + · · ·+ amnxn = bm

Il sistema e compatibile quando ammette almeno una soluzione, viceversa e incompatibile.Avendo, come sopra, m equazioni e n incognite si classifica:

� sistema normale quando m = n;

� sistema indeterminato quando m < n;

� sistema sovradeterminato quando m > n.

Nei sistemi indeterminati non ci sono sufficienti informazioni per determinare un unicovalore per tutte le incognite: il rango della matrice dei coefficienti e minore del numero diincognite.

Nei sistemi sovradeterminati ci sono piu equazioni che incognite: di solito si usa ilsistema dei minimi quadrati per la soluzione.

In generale si applica il teorema di Rouche-Capelli.

Teorema 4 (di Rouche-Capelli). Il sistema lineare Ax = b ammette soluzione se esolo se la matrice dei coefficienti A e la matrice completa [Ab ] hanno lo stesso rango:

r = Rank (A ) = Rank ([Ab ])

Se r = n, la soluzione e unica. Se r < n, il numero di soluzioni e infinito: r variabiliincognite possono essere espresse in termini di n − r variabili con valori arbitrari. SeRank (A ) 6= Rank ([Ab ]), allora il sistema non ammette soluzioni.

Teorema 5. Il sistema lineare normale (cioe con m = n) Ax = b ammette una solasoluzione se e solo se A e non singolare.

Corollario 6. Se il sistema e omogeneo (cioe b = 0 ) e A e non singolare, allora esistesolo la soluzione nulla x = 0 .

La matrice A e non singolare se soddisfa una delle seguenti condizioni:

1. det (A ) 6= 0;

3 - Sistemi lineari 31

Page 32: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

2. esiste la matrice inversa A−1 di A ;

3. Rank (A ) = n.

Se A e non singolare allora si puo risolvere1:

A−1A︸ ︷︷ ︸I

x = A−1b ⇒ x = A−1b

3.1 Condizionamento di un sistema lineare

∆A e la matrice delle perturbazioni. ∆b e ∆x sono i vettori delle perturbazioni. Sonopossibili le seguenti combinazioni:

� A (x + ∆x ) = b + ∆b (perturbazione del termine noto);

� (A + ∆A ) (x + ∆x ) = b (perturbazione della matrice dei coefficienti);

� (A + ∆A ) (x + ∆x ) = b + ∆b .

3.1.1 Perturbazione del termine noto

Dalla forma perturbata si sottrae la forma standard del sistema, ottenendo:

A∆x = ∆b ⇒ ∆x = A−1∆b∥∥∆x ∥∥ =∥∥A−1∆b

∥∥ ≤∥∥A−1

∥∥·

∥∥∆b∥∥∥∥b ∥∥ =∥∥Ax ∥∥ ≤

∥∥A ∥∥ ·∥∥x ∥∥ ⇒ 1∥∥x ∥∥ ≤ ∥∥A∥∥ · 1∥∥b∥∥Combinando risulta:∥∥∆x ∥∥∥∥x ∥∥︸ ︷︷ ︸

err. rel. nella soluzione

≤∥∥A−1

∥∥·

∥∥A∥∥︸ ︷︷ ︸indice di condizionamento

·

∥∥∆b∥∥∥∥b∥∥︸ ︷︷ ︸err. rel. nei dati

Definizione 11 (Indice di condizionamento). L’indice (o numero) di condizionamento(K(A ), µ(A ) oppure cond (A )) e il fattore di amplificazione delle perturbazioni relativeintrodotte in b .

3.1.2 Perturbazione della matrice dei coefficienti

A e non singolare, quindi anche A + ∆A e non singolare.

Ax = (A + ∆A ) (x + ∆x ) = b

0 = A∆x + ∆A (x + ∆x )

⇒ ∆x = −A−1∆A (x + ∆x )⇒

∥∥∆x ∥∥ =∥∥A−1∆A (x + ∆x )

∥∥ ≤∥∥A−1

∥∥·

∥∥∆A∥∥ ·∥∥x + ∆x∥∥

⇒∥∥∆x ∥∥∥∥x + ∆x

∥∥ ≤ ∥∥A−1∥∥·

∥∥A∥∥︸ ︷︷ ︸K(A )

·

∥∥∆A ∥∥∥∥A∥∥Se K(A ) e piccolo (ordine np con p = 0, 1, 2, 3), allora il problema (cioe la matrice) e bencondizionata.

Se K(A ) e grande (ordine 10n), allora il problema e mal condizionato2

1Il metodo della matrice inversa e meno efficiente e meno accurato.2Ad esempio, la matrice di Hilbert.

32 3.1 - Condizionamento di un sistema lineare

Page 33: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

3.1.3 Proprieta dell’indice di condizionamento

Definizione 12 (Indice di condizionamento). L’indice di condizionamento e una misuradi quanto una matrice e vicina ad essere singolare. K(A ) grande significa che A e quasisingolare.

Proprieta 3.1.1. K(A ) ≥ 1.

Dimostrazione.∥∥A ∥∥ ·∥∥A−1

∥∥ ≥ ∥∥AA−1∥∥ =

∥∥I ∥∥ = 1.

Proprieta 3.1.2. K2(A ) = 1 ⇔ A = αQ . La matrice Q e unitaria e ortogonale(Q T = Q−1).

Dimostrazione.∥∥Q∥∥

2=√ρ(Q T

·Q ) =√ρ(I ) = 1.

Proprieta 3.1.3. Se A e simmetrica, allora K2(A ) =∥∥A∥∥

∥∥A−1∥∥

2=

∣∣λMAX

∣∣∣∣λmin∣∣ .

Dimostrazione.∥∥A ∥∥

2=√ρ(A T

·A ) =√ρ(A 2) =

√ρ2(A ) = ρ(A ) =∣∣λMAX

∣∣.∥∥A−1∥∥

2=

1∣∣λmin∣∣ .Nota 3.1.1. Se A e hermetiana/simmetrica e definita positiva:‚‚A

‚‚2

= λMAX e‚‚A−1

‚‚2

= λmin

Nota 3.1.2. La matrice A e tanto meglio condizionata quanto piu vicini sono tra loro i suoi autovalori.

Esempio: matrice di Hilbert. La matrice di Hilbert, che e una tipica matrice malcondizionata, risulta invece ben condizionata per il calcolo degli autovalori, essendo sim-metrica.

a(n)ij =

1i+ j − 1

A (5) =

112

13

14

15

12

13

14

15

16

13

14

15

16

17

14

15

16

17

18

15

16

17

18

19

(A (5)

)−1

=

25 −300 1 050 −1 400 630

−300 4 800 −18 900 26 880 −12 6001 050 −18 900 79 380 −117 600 56 700−1 400 26 880 −117 600 179 200 −88 200

630 −12 600 56 700 −88 200 44 100

La matrice di Hilbert ha K(A ) =

∥∥A ∥∥ ·∥∥A−1∥∥ ' e3,5n che conferma il suo mal condi-

zionamento.

Esempio: sistema mal condizionato.{1, 000x+ 2, 000 y = 3, 0000, 499x+ 1, 001 y = 1, 5 ⇒

{x = 1y = 1

Dopo aver perturbato i coefficienti sulla terza e quarta cifra decimale si ottiene:{1, 000x+ 2, 000 y = 3, 0000, 500x+ 1, 002 y = 1, 5 ⇒

{x = 3y = 0

3.1 - Condizionamento di un sistema lineare 33

Page 34: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

cioe perturbando poco i dati del problema e stato modificato completamente il risultato.

A =[

1, 000 2, 0000, 499 1, 001

]x =

[11

]K(A ) = 2 083

AA =[

1, 000 2, 0000, 500 1, 002

]xx =

[30

]K(A ) = 3 127

Gli errori relativi sui dati e sulle soluzioni sono:∥∥AA −A∥∥∥∥A ∥∥ ' 5, 7e−4 ,

∥∥xx − x ∥∥∥∥x ∥∥ ' 1, 58

Esempio: sistema ben condizionato.{2, 000x− 1, 000 y = −1, 000−1, 000x+ 2, 000 y = 5, 000 ⇒

{x = 1y = 3

Dopo aver perturbato i coefficienti sulla terza e quarta cifra decimale si ottiene:{2, 000x− 1, 000 y = −1, 000−1, 001x+ 2, 001 y = 5, 000 ⇒

{x = 0, 9993y = 2, 9987

quindi la perturbazione sui dati e accettabile.

A =[

2, 000 −1, 000−1, 000 2, 000

]x =

[13

]K(A ) = 3

AA =[

2, 000 −1, 000−1, 001 2, 001

]xx =

[0, 99932, 9987

]K(A ) = 3, 001

Gli errori relativi sui dati e sulle soluzioni sono:∥∥AA −A∥∥∥∥A∥∥ ' 4, 7e−4 ,

∥∥xx − x ∥∥∥∥x ∥∥ ' 4, 7e−4

3.2 Metodi numerici per risolvere sistemi lineari

Metodi diretti: l’esatta soluzione e costruita in un numero finito di passi, in assenza dierrori di arrotondamento nei dati e nei calcoli.

Metodi iterativi: la soluzione e ottenuta come limite di una successione di soluzionidi problemi lineari piu semplici. La matrice A non viene modificata durante ilcalcolo. Anche in assenza di errori di arrotondamento, bisogna comunque troncareil procedimento risolutivo, commettendo un errore.

3.2.1 Metodo di eliminazione di Gauss

Se fosse possibile scomporre A (non singolare) in A = LU , dove L e una matricetriangolare inferiore e U triangolare superiore, allora si potrebbe scrivere:

L U x︸︷︷︸y

= b ⇒{Ly = bU x = y

Metodo di sostituzione in avanti. Il sistema triangolare inferiore si risolve:

a11x1 = b1a21x1 + a22x2 = b2...ai1x1 + ai2x2 + · · ·+ aiixi = bi...an1x1 + an2x2 + · · ·+ · · ·+ annxn = bn

x1 =b1a11

xk =

bk −k−1∑j=1

akjxj

akk

k = 2, . . . , naii 6= 0

i = 1, . . . , n

Il costo computazione e circa n2

2 .

34 3.2 - Metodi numerici per risolvere sistemi lineari

Page 35: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Metodo di sostituzione all’indietro. Il sistema triangolare superiore si risolve:

xn =bnann

xk =

bk −n∑

j=k+1

akjxj

akk

k = n− 1, . . . , 1aii 6= 0

i = 1, . . . , n

Il costo computazione e circa n2

2 .Nella fattorizzazione LU :

A 3 = L 2A 2

A 3 = L 2L 1A 1

A 3 = L 2L 1A

A =[L 1

]−1[L 2

]−1A 3

=[L 2L 1

]−1·A 3

= L ·U

1. A 3 e triangolare superiore con elementi della diagonale non nulli.

2. L i e triangolare inferiore e non singolare, per cui e necessario e sufficiente che glielementi della diagonale non siano nulli.

3. L i−1 e triangolare inferiore.

L =

1 0 0 . . . 0m21 1 0 . . . 0m31 m32 1 . . . 0

......

.... . .

...mn1 mn2 mn3 . . . 1

U =

a11 a12 a13 . . . a1n

0 a(2)22 a

(2)23 . . . a

(2)2n

0 0 a(3)33 . . . a

(3)3n

......

.... . .

...0 0 0 . . . a

(n)nn

Gli elementi di A n sulla diagonale principale si chiamano perni e devono essere diversi dazero affinche si abbia fattorizzazione LU .

Nella fattorizzazione:

b 3 = L 2b 2

b 3 = L 2L 1b 1

b 3 = L 2L 1b

b =[L 1

]−1[L 2

]−1b 3

=[L 2L 1

]−1· b 3

= L ·y

Nel metodo di eliminazione di Gauss, y si ottiene applicando successivamente le trasfor-mazioni elementari di Gauss L i al vettore b ; allo stesso modo si ottiene U applicando lestesse trasformazioni alla matrice A .

Algoritmo.

1) L 1

[A |b

]2) L 2L 1

[A |b

]...n− 1) L n−1L n−2 . . .L 2L 1

[A |b

]=[A n|b n

]=[U |y

]Il metodo di Gauss fornisce la fattorizzazione LU e risolve Ly = b . La soluzione x si

ottiene poi risolvendo con sostituzione all’indietro il sistema triangolare U x = y :[A |b

]=

[L 1

]−1

·

[L 2

]−1

·

[L 3

]−1

· . . . ·[L n−1

]−1

·

[A n|b n

]=

[L n−1 ·L n−2 · . . . ·L 1

]−1

︸ ︷︷ ︸L

·

[A n︸︷︷︸U

| b n︸︷︷︸y

]

= L[U |y

]⇒ A = LU ⇒ Ly = b

3.2 - Metodi numerici per risolvere sistemi lineari 35

Page 36: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Costo computazionale. Per la fattorizzazione servono:

� (n− 1) + (n− 2) + · · ·+ 1 =n(n− 1)

2divisioni per ottenere L ;

� (n− 1)2 + (n− 2)2 + · · ·+(n− (n− 1)

)2

=(n− 1) ·n(2n− 1)

6moltiplicazioni per

ottenere U ,

quindi complessivamente servono circa13n3 operazioni per la fattorizzazione.

Per la risoluzione del sistema lineare triangolare servono12n2 operazioni, quindi com-

plessivamente il costo e O(n3

3+n2

2

).

Esistenza della fattorizzazione LU

Ci si chiede se esista sempre una fattorizzazione A = LU quando det (A ) 6= 0. Larisposta e no.

Esempio. Non esistono matrici L e U tali che A = LU per queste due matrici:

A =[

0 11 0

]A−1 =

[0 11 0

]

Se e solo se i perni a(k)kk (con k = 1, 2, . . . , n) sono diversi da zero3, allora esiste una

sola fattorizzazione LU di A . Si vuole garantire che il metodo di Gauss funzioni semprequando A e non singolare, e quindi ammette sicuramente soluzione.

Esempio. Il sistema:{3y = 5

x +2y = 0 ⇒ A =[

0 31 2

]non e risolvibile col metodo di Gauss, pero ha soluzione. Permutando le equazioni si haun sistema equivalente:{

x +2y = 03y = 5 ⇒ A =

[1 20 3

]⇒ b =

[05

]Il sistema e ora risolvibile col metodo di Gauss, perche a11 6= 0.

La soluzione, quindi, e la permutazione di posizione tra equazioni (pivoting). Unastrategia per avere un algoritmo stabile e utilizzare il pivoting parziale:

1. scegliere r uguale al piu piccolo intero maggiore o uguale a k, tale che:∣∣∣akrk∣∣∣ = maxk≤i≤n

∣∣∣akik∣∣∣2. se r 6= k, scambiare l’equazione k-esima con la r-esima.

Si possono utilizzare le matrici di permutazione, che differiscono dalla matrice identitaper lo scambio di righe: una pre-moltiplicazione provoca scambio di righe, mentre unapost-moltiplicazione provoca uno scambio di colonne.

3Cioe i minori principali di ordine k sono diversi da zero.

36 3.2 - Metodi numerici per risolvere sistemi lineari

Page 37: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Esempio. Scambio delle righe 1 e 3:0 0 1 00 1 0 01 0 0 00 0 0 1

·

a11 a12 a13 a14

a21 a22 a23 a24

a31 a32 a33 a34

a41 a42 a43 a44

=

a31 a32 a33 a34

a21 a22 a23 a24

a11 a12 a13 a14

a41 a42 a43 a44

b

b

Teorema 7. Se una matrice A n × n e non singolare, allora esiste una matrice dipermutazione P n× n non singolare per cui P A = LU .

Infatti, se A e non singolare, allora esiste per ogni ordine almeno una sottomatricenon singolare: applicando su A opportuni scambi di righe e/o colonne si puo fare in modoche A abbia le sottomatrici principali non singolari. Concludendo si puo generalizzare ilmetodo di Gauss con pivoting:

Ax = b ⇒ P Ax = P b

L U x︸︷︷︸y

= P b

{Ly = P bU x = y

⇒{y = L−1P bU = L−1P A

Calcolo della matrice inversa e del determinante

Il problema di determinare la matrice inversa A−1 di una matrice A quadrata nonsingolare si puo ricondurre al problema di risolvere n sistemi normali.

A ·A−1 = I

A−1 = (x1, x2, x3, . . . , xn)

I = (e1, e2, e3, . . . , en) con ej =[0 . . . 0 1︸︷︷︸

j

0 . . . 0]T

Bisogna risolvere Ax j = e j con j = 1, . . . , n. La matrice A e la medesima, quindibisogna fattorizzare A = LU una sola volta. Il costo computazione e n3.

Per il calcolo del determinante:

det (P )︸ ︷︷ ︸(−1)s

det (A ) = det (L )︸ ︷︷ ︸1

det (U )︸ ︷︷ ︸Qni=1 uii

⇒ det (A ) = (−1)s ·n∏i=1

uii

dove s e il numero complessivo di scambi effettuati dalla matrice di permutazione. Il rangoe il numero r degli elementi non nulli sulla diagonale di U .

3.2.2 Fattorizzazione di Cholesky per sistemi lineari

Teorema 8. Se A e una matrice simmetrica definita positiva, allora esiste ed e unicauna matrice R triangolare inferiore con elementi positivi sulla diagonale principale, taleche:

A = RR T

Il calcolo della soluzione del sistema lineare Ax = b allora avviene come:

R R Tx︸ ︷︷ ︸y

= b ⇐⇒{Ry = bR Tx = y

3.2 - Metodi numerici per risolvere sistemi lineari 37

Page 38: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

3.2.3 Fattorizzazione di matrici e sistemi lineari

1. Fattorizzazione LU con algoritmo di Gauss.

2. Fattorizzazione RRT con algoritmo di Cholesky.

3. Fattorizzazione QR con algoritmo di Householder.

Per tutti i metodi vale:

� L , R : matrice triangolare inferiore;

� U : matrice triangolare superiore;

� Q : matrice ortogonale (QQ T = I ).

Definizione 13 (Matrice sparsa). Una matrice e sparsa quando il numero degli elementiche possono essere diversi da zero e di ordine O(n), quindi una minoranza.

Con i metodi di fattorizzazione si riduce il fill-in, cioe il numero di valori che da zero assu-mono altro valore con l’algoritmo di calcolo, appesantendo i requisiti richiesti e l’onerositadi calcolo.

38 3.2 - Metodi numerici per risolvere sistemi lineari

Page 39: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

CAPITOLO 4

Interpolazione

Solitamente si vuole approssimare:

� una funzione f(x) non nota, ma della quale si conoscono alcuni valori yi su un insiemedi punti xi:

φ(xi) = yi

� una funzione nota in forma analitica, ma complicata:

φ(xi) = f(xi)

Nel problema di interpolazione bisogna costruire una funzione che passi per tutti i puntiassegnati.

Definizione 14 (Problema di interpolazione). Dati, in alternativa:

� i punti (xi, yi), i = 0, . . . , n conxi ∈ Rm, m ≥ 1xi 6= xj i 6= j

;

� una famiglia di funzioni φ(x ; a0, . . . , an) = y (modello matematico),

si cercano i valori a0, . . . , an (parametri o gradi di liberta) tali che:

φ(xi ; a0, . . . , an) = yi , i = 0, . . . , n

L’interpolazione puo essere:

lineare: φ(x ; a0, . . . , an) = a0φ0(x) + a1φ1(x) + · · ·+ anφn(x);

polinomiale: φ(x ; a0, . . . , an) = a0 + a1x+ a2x2 + · · ·+ anx

n;

trigonometrica: φ(x ; a0, . . . , an) = a0+a1exi+a2e

2xi+· · ·+anenxi, con i =√−1;

polinomiale a tratti (spline);

razionale: φ(x ; a0, . . . , an, b0, . . . , bm) =a0 + a1x+ · · ·+ anx

n

b0 + b1x+ · · ·+ bmxm.

4.1 Problema di interpolazione

L’interpolante deve verificare le condizioni:

� φ(xi ; a0, . . . , an) = yi , i = 0, . . . , n;

� a0φ0(xi) + a1φ1(xi) + · · ·+ anφn(xi) = yi , i = 0, . . . , n;

4 - Interpolazione 39

Page 40: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

n∑j=0

ajφj(xi) = yi , i = 0, . . . , n.

Cio significa, unificando in un’unica espressione, che bisogna verificare:φ0(x0) φ1(x0) . . . φn(x0)φ0(x1) φ1(x1) . . . φn(x1)

......

. . ....

φ0(xn) φ1(xn) . . . φn(xn)

·

a0

a1

...an

=

y0y1...yn

cioe A ·a = b . Il vettore a contiene parametri incogniti dell’interpolante.

4.2 Interpolazione polinomiale

Si puo risolvere il problema interpolando mediante un polinomio.

Teorema 9. Dati n + 1 punti di collocazione (xi, yi), con i = 0, . . . , n e con xi 6= xjquando i 6= j, esiste ed e unico il polinomio p ∈ Pn che verifica le condizioni p(xi) = yi,con i = 0, . . . , n.

Dimostrazione. Le condizioni di interpolazione p(xi) = yi, con i = 0, . . . , ncostituiscono un sistema lineare di ordine n+ 1:

x00 x0

1 . . . x0n

x10 x1

1 . . . x1n

......

. . ....

xn0 xn

1 . . . xnn

·

a0

a1

...an

=

y0y1...yn

che si scrive nella forma V a = y , dove:

V =[vij]

=[xij]

matrice di Vandermonde

Poiche det (V ) =n∏

i,j=0 , i>j

(xi − xj) e i punti xi sono distinti, allora V e non

singolare. Allora, il sistema ammette soluzione e questa e unica.

L’interpolazione polinomiale nella base delle potenze:

pn(x) = a0 + a1x+ a2x2 + · · ·+ anx

n

ha la matrice A di Vandermonde mal condizionata, specialmente per polinomi di gradoelevato. Il costo e O(n3), quindi si fa un cambio di base per Pn. Un cambio di base da lostesso polinomio interpolante (di grado n) per uno stesso insieme di dati.

Due metodi per calcolare i coefficienti sono:

1. il metodo di interpolazione di Lagrange: semplice ma oneroso;

2. il metodo di interpolazione di Newton: richiede differenze divise.

I due metodi producono due polinomi equivalenti: la differenza consiste nell’approccio perottenere i coefficienti.

4.2.1 Interpolazione di Lagrange

Si introduce in Pn un’opportuna base di funzioni:{Li(x)

}ni=0

. Ogni funzione risolve unproblema semplice di interpolazione:

Li(xj) ={

0, se j 6= i1, se j = i

40 4.2 - Interpolazione polinomiale

Page 41: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Il problema iniziale e risolto da:

Pn(x) = L0(x) · y0 + L1(x) · y1 + · · ·+ Ln(x) · yn

=n∑i=0

Li(x) · yi

Bisogna determinare le funzioni{Li(x)

}ni=0

. Al massimo, ognuna avra grado n e n zeridistinti, quindi:

Li(x) = k(x− x1)(x− x2) . . . (x− xi−1)(x− xi+1) . . . (x− xn)

= k ·

n∏j=0 , j 6=i

(x− xj)

Valutiamo k considerando Li(xi) = 1: k =1

n∏j=0 , j 6=i

(xi − xj).

Allora: Li(x) =

n∏j=0 , j 6=i

(x− xj)

n∏j=0 , j 6=i

(xi − xj), i = 0, . . . , n.

Quando si cambia il numero di punti da interpolare bisogna ricalcolare tutti i Li(x). Ilproblema, con un numero maggiore di punti, crea delle oscillazioni nel grafico.

4.2.2 Interpolazione di Newton

Si vuole costruire facilmente il polinomio di interpolazione di n + 1 punti a partire dalpolinomio di interpolazione di un sottinsieme di n punti.

Definizione 15 (Differenza divisa). Assegnati i valori di f(x) nei punti x0, x1, . . . , xm(distinti) dell’asse reale, si definisce la differenza divisa di f(x) rispetto agli argomentix0, x1:

F [x0, x1] =f(x0)− f(x1)

x0 − x1=f(x1)− f(x0)

x1 − x0= F [x1, x0] (differenza divisa di ordine 1)

Aumentando l’ordine:

F [x0, x1, x2] =F [x0, x1]− F [x1, x2]

x0 − x2(differenza divisa di ordine 2)

F [x0, . . . , xm] =F [x0, . . . , xm−1]− F [x1, . . . , xm−1]

x0 − xm(differenza divisa di ordine m)

La differenza divisa e un operatore lineare, simmetrico rispetto ai suoi argomenti.

Teorema 10. Sia f ∈ Cn[a, b] e siano distinti in [a, b] i punti x0, . . . , xm. Allora esistexi ∈ [a, b] tale che:

F [x0, . . . , xm] =fn(ξ)n!

Teorema 11. Se pn−1 ∈ Pn−1 e il polinomio di interpolazione dei punti(xi , f(xi)

), con

i = 0, . . . , n− 1, allora la funzione:

pn(x) = pn−1(x) +n−1∏j=0

(x− xj) ·F [x0, . . . , xn]

e un polinomio in Pn e soddisfa pn(xi) = f(xi) per i = 0, . . . , n.

4.2 - Interpolazione polinomiale 41

Page 42: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Iterando la formula si ottiene la forma di Newton:

pn(x) = F [x0] + (x− x0) ·F [x0, x1] + · · ·+n−1∏j=0

(x− xj) ·F [x0, . . . , xn]

= d0 + (x− x0) · d1 + · · ·+n−1∏j=0

(x− xj) · dn

4.2.3 Valutazione di un polinomio con metodo di Horner

Il metodo di Horner permette di valutare un polinomio svolgendo N addizioni e N molti-

plicazioni (invece che N eN + 1

2del metodo tradizionale), quindi e molto utile per l’uso

in algoritmi iterativi.Un polinomio puo essere scritto come:

p(x) = d0 + (x− x0){d1 + (x− x1)

[d2 + · · ·+ (x− xn−2

(dn−1 + (x− xn−1)dn

). . .]}

Allora, ricorsivamente:{p0 = 1pk+1 = pk ·x+ dk+1

con k = 0, . . . , n− 1

Quindi, a partire da x (punto di valutazione) e dal vettore d dei coefficienti, si ottiene ilvalore p del polinomio nel punto x. Il metodo va associato all’interpolazione di Newtonquando si ricerca il valore della funzione interpolata in un punto.

4.3 Errori di interpolazione. Fenomeno di Runge

In generale, non e vero che aumentando il numero di punti di interpolazione e il grado kdel polinomio la successione pk dei polinomi converga a f(x), per nodi xi equidistanti.

Consideriamo come esempio la funzione di Runge:

f(x) =1

1 + x2

Scegliamo punti di interpolazione equidistanti su [a, b] = [−5 , +5]. L’errore aumenta colgrado all’estremita dell’intervallo (figura 4.1).

Figura 4.1: Funzione di Runge ottenuta interpolando con un polinomio di grado 9 (a sinistra) e di grado15 (a destra)

L’errore che si compie e:

E(x) = f(x)− p(x) =∏n x

(n+ 1)!· f (n+1)(ξ)

42 4.3 - Errori di interpolazione. Fenomeno di Runge

Page 43: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

con:∏n x =

n∏i=0

x− xi.

L’errore di interpolazione dipende da:

� regolarita della funzione;

� disposizione dei punti di interpolazione sull’asse delle ascisse.

Bisogna determinare i punti xi in modo che, per qualunque x, risulti minima la produttoria.Ampiamente utilizzati al proposito sono i polinomi di Chebyshev la cui formula ricorre atre termini: T0(x) = 1

T1(x) = xTn+1(x) = 2x ·Tn(x)− Tn−1(x)

w(x) =1√

1− x2, [a, b] = [−1 , +1]

I nodi sono gli zeri x0, . . . , xn ∈ R del polinomio di grado n+ 1 definito in [−1 , +1]:

xi = cos

(2(n− i) + 1

2(n+ 1)con i = 0, . . . , n

4.4 Interpolazione polinomiale a tratti

I polinomi, pur essendo funzioni regolari facilmente calcolabili con derivate ancora po-linomiali, hanno lo svantaggio di oscillare all’aumentare del grado (solitamente sopra al5◦ grado). Una soluzione e suddividere l’intervallo di interpolazione in tratti piu piccoli,lavorando su questi con polinomi di grado relativamente basso.

Si assegnano m+ 1 osservazioni yi con i = 0, . . . ,m nei nodi:

a = x0 < x1 < x2 . . . < xm = b

Un polinomio interpolante a tratti consiste di m polinomi di grado n� m:

p0(x) , p1(x) , . . . , pm−1(x)

con pk(x) definito su [xk , xk+1] che soddisfa:{pk(xk) = ykpk(xk+1) = yk+1

con k = 0, . . . ,m− 1

Cosı facendo, pero, si e persa un’importante proprieta: i polinomi a tratti non sono neces-sariamente funzioni regolari (C1). Ad esempio, se si usa n = 1, p(x) e continua ma nonderivabile: p′(x) non e continua e ha salti nei nodi poiche avra un valore costante dk suogni sottointervallo.

4.4.1 Funzione spline

Definizione 16 (Spline). Una funzione spline s(x) e un polinomio a tratti con condizionidi massima regolarita nei nodi. Una spline di grado n su un intervallo [a, b] e una funziones tale che:

1. s(x) = sj(x), con

x ∈ Ijj = 0, . . . , ksj(x) ∈ Pn

;

2. ha continuita sui nodi:

D(l)[sj−1(xj)

]= D(l)

[sj(xj)

], con

{l = 0, . . . , n− 1s(x) ∈ Cn−1

4.4 - Interpolazione polinomiale a tratti 43

Page 44: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Sono assegnate m + 1 osservazioni yk con k = 0, . . . ,m nei punti distinti xk in [a, b].Una spline interpolante a tratti consiste in m polinomi pk(x), con k = 0, . . . ,m − 1, digrado n� m e definiti su [xk , xk+1]:

1. pk−1(xi) = pk(xi) = yi, con k = 1, . . . ,m− 1;

2. pk−1(l)(xk) = pk

(l)(xk), con{l = 0, . . . , Nk = 1, . . . ,m− 1

L’interpolante a tratti e di classe CN , funzione continua fino alla derivata di ordine N ≤n− 1.

Esempio: interpolante spline cubica. E definita da due polinomi cubici su intervalli[x1, x2] e [x2, x3] che si raccordano C2.

p1 = a1 + a2x+ a3x2 + a4x

3

p2 = b1 + b2x+ b3x2 + b4x

3

Bisogna risolvere un sistema 8× 8 nelle incognite ai e bi (i = 1, 2, 3, 4).

a1 + a2x1 + a3x12 + a4x1

3 = y1a1 + a2x2 + a3x2

2 + a4x23 = y2

b1 + b2x2 + b3x22 + b4x2

3 = y2b1 + b2x3 + b3x3

2 + b4x33 = y3

a2 + 2a3x2 + 3a4x22 = b2 + 2b3x2 + 3b4x2

2

2a3 + 6a4x2 = 2b3 + 6b4x2

2a3 + 6a4x1 = 2b3 + 6b4x3 = 0

(Le derivate seconde denono essere nulle agli estremi.)

44 4.4 - Interpolazione polinomiale a tratti

Page 45: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

CAPITOLO 5

Decomposizione ai valori singolari (SVD)

La SVD e una fattorizzazione, basata sull’uso di autovalori e autovettori, utilizzata perprodurre un’approssimazione di una matrice con minor rango. Una matrice A puo esserefattorizzata (figura 5.1) come:

A = U ΣV T

Figura 5.1: Rappresentazione grafica della tecnica SVD

� U e una matrice unitaria m ×m, le cui colonne1 rappresentano gli autovettori diAA T ;

� Σ e una matrice diagonale m × n, i cui elementi σi della diagonale sono i valorisingolari di A e stanno tra loro in relazione:

σ1 ≥ σ2 ≥ · · · ≥ σp ≥ 0 , p = min(m, n)

Inoltre, σi2 sono gli autovalori di A TA ;

� V T e una matrice unitaria, trasposta coniugata n×n, le cui colonne2 rappresentanogli autovettori di A TA .

Teorema 12. Se A e hermetiana definita positiva, allora i valori singolari sono anchegli autovalori di A e gli autovettori sono le colonne di V .

Nota 5.0.1. Quando si scelgono le dimensioni delle matrici per la SVD e conveniente tenere a mente quan-do illustrato in figure 5.2(a) e 5.2(b), relativamente all’occupazione di memoria e al costo computazionaledegli algoritmi che operano sulle matrici.

1Le colonne di U sono i vettori u i (vettori singolari sinistri).2Le righe di V T (cioe le colonne di V ) sono i vettori v i (vettori singolari destri).

5 - Decomposizione ai valori singolari (SVD) 45

Page 46: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

(a) A m×n = U m×mΣ m×nV Tn×n (b) A m×n = U m×nΣ n×nV T

n×n

Figura 5.2: Economia computazionale nell’esecuzione della tecnica SVD

5.1 Approssimazione di matrice con minor rango

Si approssima una matrice con una somma di matrici piu semplici.

A = E 1 +E 2 + · · ·+E p, p = min(m, n)E i = σiuivi

T matrice a rango 1∥∥∥E i

∥∥∥ = σ1

σ1 ≥ σ2 ≥ · · · ≥ σr > σr+1 = · · · = σp = 0 , r < p

Allora r e il rango di A e si puo scrivere:

A =r∑i=1

σiuiviT

dove ui e vi sono le colonne delle matrici U e V .

Teorema 13. E data la SVD di una matrice A con rango r. Fissato un intero positivok < r si definisce:

A k =k∑i=1

σiuiviT

che e un’approssimazione di A di rango k.

L’errore che si commette nel considerare A k anziche A e:

minB∈β

=∥∥∥A −B ∥∥∥

2=∥∥∥A −A k

∥∥∥2

= σk+1

β ={B ∈ Rm×n : Rank (B) = k

}Il piu piccolo valore singolare non nullo di A e la distanza di A dall’insieme di tutte lematrici a rango deficiente. Poiche σi e in ordine decrescente, l’approssimazione miglioraquando k aumenta.

5.2 Risoluzione di sistemi lineari malcondizionati

Per risolvere Ax = y , con A mal condizionata:

x = A−1y = V Σ−1U Ty

=∑i

⟨uiT , y

⟩σi

· vi

Il rumore nei dati (vettore termine noto) e y = y + δy .

x = A−1(y + δy

)=

r∑i=1

⟨uiT , y

⟩σi

· vi +r∑i=1

⟨uiT , δy

⟩σi

· vi

46 5.1 - Approssimazione di matrice con minor rango

Page 47: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Bisogna eliminare l’effetto dovuto a piccoli valori singolari. Un filtro elimina le alte fre-quenze del rumore E e le alte frequenze di informazioni utili. Il livello di troncamento ek < r, dove r e il rango massimo.

Con la SVD:

1. si calcola la fattorizzazione di A ;

2. si eliminano i valori singolari minori della tolleranza;

3. si costruisce la soluzione x :

x = A−1(y + δy

)' V kΣ k

−1U kTy =

k∑i=1

⟨uiT , y

⟩σi

· vi

v ∈ Rk, mentre Av ∈ Rn. Variando v , allora Av varia nel sottospazio lineare di Rngenerato dalle colonne di A (figura 5.3).

Figura 5.3: Soluzione di sistemi lineari malcondizionati con SVD

5.2 - Risoluzione di sistemi lineari malcondizionati 47

Page 48: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

CAPITOLO 6

Integrazione numerica

Si vuole determinare un’approssimazione dell’integrale definito:

I(f ; a, b) =∫ b

a

f(x) dx

Osservazioni:

� sono noti solo i valori di f(x) in un insieme finito di punti;

� l’integrale non e valutabile in forma chiusa.

6.1 Formule di quadratura

In(f) =n∑i=0

wi · f(xi)

wi sono i coefficienti o pesi (ci); xi sono i nodi. Il resto della formula di quadratura e:

rn = I − In

Si fa la somma pesata di valori della funzione in punti opportuni, che appartengono omeno all’intervallo di integrazione. Allora:

In(f ; a, b) =∫ b

a

pn(x) dx

dove pn(x) e il polinomio che interpola la funzione f(x) in n+1 punti del tipo(xi, f(xi)

).

Se pn(x) e il polinomio interpolante di Lagrange in n+ 1 punti distinti:

pn(x) =n∑i=0

f(xi) · li(x)

In(f) =∫ b

a

pn(x) dx =n∑i=0

f(xi) ·∫ b

a

li(x) dx︸ ︷︷ ︸coefficienti

La formula di quadratura risulta esatta per costruzione per i polinomi di grado almeno n(grado di precisione almeno n). Una formula di quadratura In ha grado di precisione kse e esatta (cioe ha resto rn = 0) quando la funzione integranda e un polinomio qualsiasip(x) di grado minore o uguale a k.

I(p) = In(p) ∀p ∈ P k

48 6 - Integrazione numerica

Page 49: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Ad esempio, in figura 6.1 si ha un integrale I1 con grado di precisione k = 1: se la funzionee un polinomio di grado 1 allora I1 e esatto, mentre se la funzione ha grado diverso da 1allora utilizzando I1 si commette un errore.

Figura 6.1: Grado di precisione dell’integrazione (esempio con I1)

6.2 Formule di quadratura di Newton-Cotes (a nodiequispaziati)

Le formule di Newton-Cotes si distinguono in formule chiuse e aperte. Le formule chiuseusano entrambi gli estremi di integrazione:

1. formula dei trapezi (lineare);

2. formula di Simpson 1/3 (quadratica);

3. formula di Simpson 3/8 (cubica).

Le formula aperte usano solo punti interni all’intervallo di integrazione:

4. formula del punto medio.

Formula dei trapezi. Su un intervallo [a, b] si puo approssimare la funzione linearmente(figura 6.2): ∫ b

a

f(x) dx '1∑i=0

ci · f(xi)

= c0 · f(x0) + c1 · f(x1)= c0 · f(a) + c1 · f(b)

=h

2

[f(a) + f(b)

]

Figura 6.2: Integrazione con formula dei trapezi

6.2 - Formule di quadratura di Newton-Cotes (a nodi equispaziati) 49

Page 50: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Dimostrazione. Nell’interpolazione di Lagrange con n = 1:

p(x) = L0(x) · f(x0) + L1(x) · f(x1)

=x− x1

x0 − x1· f(x0) +

x− x0

x1 − x0· f(x1)

Si cambia la variabile:x0 = ax1 = b

x ∈ [a, b]ξ ∈ [0, 1]

ξ =x− ah

, dξ =dx

hcon h = b− a

⇒{x = a ⇒ ξ = 0x = b ⇒ ξ = 1

⇒ p(ξ) = (1− ξ) · f(a) + ξ · f(b)

Integrando:∫ b

a

f(x) dx '∫ b

a

p(x) dx = h

∫ 1

0

p(ξ) dξ

= f(a) ·h∫ 1

0

(1− ξ) dξ + f(b) ·h∫ 1

0

ξ dξ

= f(a) ·h ·

[ξ − ξ2

2

]10

+ f(b) ·h ·

[ξ2

2

]10

=h

2

[f(a) + f(b)

]

Formula di Simpson 1/3. Su un intervallo [a, b] si puo approssimare la funzione conuna parabola (figura 6.3):∫ b

a

f(x) dx '2∑i=0

ci · f(xi)

= c0 · f(x0) + c1 · f(x1) + c2 · f(x2)

= c0 · f(a) + c1 · f

(a+ b

2

)+ c2 · f(b)

=h

3

[f(x0) + 4 · f(x1) + f(x2)

]

Figura 6.3: Integrazione con formula di Simpson 1/3

Dimostrazione. Si interpola:

p(x) =(x− x1)(x− x2)

(x0 − x1)(x0 − x2)· f(x0)+

(x− x0)(x− x2)(x1 − x0)(x1 − x2)

· f(x1)+(x− x0)(x− x1)

(x2 − x0)(x2 − x1)· f(x2)

50 6.2 - Formule di quadratura di Newton-Cotes (a nodi equispaziati)

Page 51: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Si cambia la variabile:

x0 = a

x1 =a+ b

2x2 = b

x ∈ [a, b]ξ ∈ [−1, 1]

ξ =x− x1

h, dξ =

dx

hcon h =

b− a2

x = x0 ⇒ ξ = −1x = x1 ⇒ ξ = 0x = x2 ⇒ ξ = 1

⇒ p(ξ) =ξ(ξ − 1)

2· f(x0) + (1− ξ2) · f(x1) +

ξ(ξ + 1)2

· f(x2)

Integrando:∫ b

a

f(x) dx ' h

∫ 1

−1

p(ξ) dξ

= f(x0) ·h

2

∫ 1

−1

ξ(ξ − 1) dξ + f(x1) ·h∫ 1

−1

(1− ξ2) dξ + f(x2) ·h

2

∫ 1

−1

ξ(ξ + 1) dξ

= f(x0) ·h

2

[ξ3

3− ξ2

2

]1−1

+ f(x1) ·h[ξ − ξ3

3

]1−1

+ f(x2) ·h

2

[ξ3

3+ξ2

2

]1−1

=h

3

[f(x0) + 4 · f(x1) + f(x2)

]

Formula di Simpson 3/8. Su un intervallo [a, b] si puo approssimare la funzione conuna curva cubica (figura 6.4):∫ b

a

f(x) dx '3∑i=0

ci · f(xi)

= c0 · f(x0) + c1 · f(x1) + c2 · f(x2) + c3 · f(x3)

=38h[f(x0) + 3 · f(x1) + 3f(x2) + f(x3)

]

Figura 6.4: Integrazione con formula di Simpson 3/8

Formula del punto medio. Su un intervallo [a, b] si puo approssimare la funzione conuna funzione del punto medio (figura 6.5):∫ b

a

f(x) dx ' (b− a) · f(xm)

= (b− a) · f(a+ b

2

)+

(b− a)3

24· f ′′(η)

6.2 - Formule di quadratura di Newton-Cotes (a nodi equispaziati) 51

Page 52: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Figura 6.5: Integrazione con formula del punto medio

6.2.1 Errore di troncamento (rn)

Definizione 17 (Errore di interpolazione polinomiale).

E(x) = f(x)− pn(x) =1

(n+ 1)!

∏n

(x) · f (n+1)(ξ) con∏n

(x) =n∏i=0

x− xi

Sapendo che∫ b

a

f(x) dx =∫ b

a

p(x) dx+rn '∫ b

a

p(x) dx si puo definire un altro errore.

Definizione 18 (Errore di una formula di quadratura interpolatoria).

rn =1

(n+ 1)!

∫ b

a

f (n+1)(ξ) ·∏n

(x) dx

con f ∈ Cn+1(

[a, b])

, ξ ∈]a, b[.

In una formula di quadratura di Newton-Cotes, poiche i nodi xi sono equidistanti,l’espressione del resto si semplifica.

Teorema 14 (Formula di Newton-Cotes con n pari, aperta o chiusa). Se f ∈Cn+2

([a, b]

)e ξ ∈]a, b[:

rn =hn+3

· f (n+2)(ξ)(n+ 2)!

∫ β

α

t2(t− 1) · · · (t− n) dt

dove (α , β) ={

(0 , n) per formule chiuse(−1 , n+ 1) per formule aperte .

Il grado di precisione e n+ 1.

Teorema 15 (Formula di Newton-Cotes con n dispari, aperta o chiusa). Sef ∈ Cn+1

([a, b]

)e ξ ∈]a, b[:

rn =hn+2

· f (n+1)(ξ)(n+ 1)!

∫ β

α

t(t− 1) · · · (t− n) dt

dove (α , β) ={

(0 , n) per formule chiuse(−1 , n+ 1) per formule aperte .

Il grado di precisione e n.

52 6.2 - Formule di quadratura di Newton-Cotes (a nodi equispaziati)

Page 53: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Esempio. Nella formula dei trapezi l’errore di troncamento e:

r1 =h3

2!· f (2)(η)

∫ 1

0

t(t− 1) dt︸ ︷︷ ︸−

16

= − 112h3f (2)(η)

con n = 2, h = b− a.

Errori nelle formule di Newton-Cotes.

1. Nella formula dei trapezi (h = b− a): r1(f) = −h3

12f ′′(ξ).

2. Nella formula di Simpson 1/3 (h = b−a2 ): r2(f) = −h

5

90f (4)(ξ).

3. Nella formula di Simpson 3/8 (h = b−a3 ): r3(f) = −3h5

80f (4)(ξ).

4. Nella formula del punto medio (h = b−a2 ): r0(f) =

h3

3f ′′(ξ).

6.2.2 Pesi per formule di Newton-Cotes

Si puo dimostrare che i coefficienti (pesi) wi di una formula di quadratura dipendono soloda n. Per questo motivo, non dipendendo ne dall’intervallo di integrazione [a, b] ne dallafunzione f(x), e possibile calcolarli a priori.

n c0 c1 c2 c3 c4 . . .

112

12

213

43

13

338

98

98

38

41415

6445

2445

6445

1445

......

......

......

Tabella 6.1: Pesi per formule chiuse di Newton-Cotes a n+ 1 punti

6.2.3 Problema delle formule di quadratura

Le formule di quadratura hanno una forte instabilita numerica quando n > 8. Per questobisogna ricorrere a metodi migliorativi:

� formule composite;

– formula dei trapezi composita;

– formula di Simpson composita;

� estrapolazione di Richardson;

� integrazione di Romberg.

6.2 - Formule di quadratura di Newton-Cotes (a nodi equispaziati) 53

Page 54: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

6.3 Formule di quadratura composite

Si suddivide l’intervallo di integrazione [a, b] in N parti [xi, xi+1], con i = 0, 1, . . . , N − 1.Su ogni intervallo si fa una somma di integrali:∫ b

a

f(x) dx =N−1∑i=0

∫ xi+1

xi

f(x) dx

Si applica, poi, la formula elementare interpolatoria su ciascun intervallo.

Formula dei rettangoli composita. Su un intervallo [a, b] si puo approssimare lafunzione come segue (figura 6.6):∫ b

a

f(x) dx =∫ x1

x0

f(x) dx+∫ x2

x1

f(x) dx+ · · ·+∫ xN

xN−1

f(x) dx

= h[f(x0) + f(x1) + · · ·+ f(xi) + · · ·+ f(xN−1)

]+ r

Figura 6.6: Integrazione con formula dei rettangoli composita

Formula dei trapezi composita. Su un intervallo [a, b] si puo approssimare la funzionecome segue (figura 6.7):∫ b

a

f(x) dx = h[f(x0) + 2f(x1) + · · ·+ 2f(xi) + · · ·+ f(xN−1) + f(xN )

]+ r

r = − (b− a)3

12N2· f ′′(ξ)

L’errore globale di troncamento e la somma degli errori su ciascun intervallo:

R = −b− a12

h2

N−1∑i=0

f (2)(ηi)

N

Figura 6.7: Integrazione con formula dei trapezi composita

54 6.3 - Formule di quadratura composite

Page 55: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Formula di Simpson composita. Su un intervallo [a, b] si puo approssimare la funzionecome segue (interpolando quadraticamente a tratti):∫ b

a

f(x) dx =∫ x2

x0

f(x) dx+∫ x4

x2

f(x) dx+ · · ·+∫ xN

xN−2

f(x) dx

=h

3

[f(x0) + 4f(x1) + f(x2)

]+h

3

[f(x2) + 4f(x3) + f(x4)

]+ · · ·+

+h

3

[f(xN−2) + 4f(xN−1) + f(xN )

]+ r

=h

3

[f(x0) + 4f(x1) + 2f(x2) + 4f(x3) + 2f(x4) + · · ·+

+4f(x2i−1) + 2f(x2i) + 4f(x2i+1) + · · ·+ 2f(xN−2) + 4f(xN−1) + f(xN )]

+ r

r = − (b− a)5

2880 ·N4· f (4)(ξ)

6.3.1 Quadratura automatica

Ingressi Uscitef(x) In[a, b] EstEtoll MNMAX

Tabella 6.2: Ingressi e uscite di un programma P di quadratura automatica

Il programma P calcola il valore dell’integrale I(f ; a, b) =∫ baf(x) dx con un errore

stimato Est < Etoll e con un numero di valutazioni di funzione M < NMAX . Se cio non epossibile, il programma si interrompe.

P e composto da:

1. una successione di formule di quadratura, che comportano un numero crescente divalutazioni di f(x);

2. un criterio per determinare In;

3. un criterio per determinare la stima automatica dell’errore Est.

Esempi di metodi di quadratura automatica P sono il metodo di Simpson compositoadattivo e il metodo di Romberg (non adattivo).

Metodo di Simpson composito adattivo.

Algoritmo.

1. Si applicano due formule di quadratura composite, con passo h eh

2, ad un intervallo

[a, b] (Simpson S(h) e S(h2 )).

2. Si stima l’errore di integrazione con l’estrapolazione di Richardson.

3. � Se la tolleranza richiesta e raggiunta, allora S(h2 ) (oppure una combinazionedelle due approssimazioni) viene presa come valore di I su quell’intervallo.

� Se la tolleranza non e raggiunta, allora l’intervallo [a, b] viene suddiviso a metae il processo viene ripetuto su ognuno dei due sottointervalli.

6.3 - Formule di quadratura composite 55

Page 56: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

6.4 Estrapolazione di Richardson

Si puo dare una stima automatica del resto confrontando tra loro le approssimazioni com-posite dell’integrale (IN e I2N ), ottenute con due diversi valori di N (numero di intervalli,cioe passi h e h

2 ).

rN = I − IN =δNNS

, r2N = I − I2N =δ2N

2SNS

δN e δ2N differiscono per f (S)(ξ). Nell’ipotesi che la derivata f (S)(ξ) vari poco al variaredi x, si suppone che δN ' δ2N = δ. Allora rN − r2N e dato da:

I2N − IN 'δ

2S ·NS· (2S − 1)

Stima del resto: I − I2N 'I2N − IN

2S − 1.

Si puo procedere con successivi raddoppi di N fino a quando:∣∣∣∣I2N − IN2S − 1

∣∣∣∣ ≤ EtollL’approssimazione dell’integrale sara I2N +

I2N − IN2S − 1

.

6.5 Calcolo geometrico con integrali

A) Lunghezza di una funzione regolare su intervallo limitato.

L =∫ b

a

√1 +

(f ′(x)

)2

dx

B) Lunghezza di una curva. (Arco parametrico C(t) =(x(t) , y(t)

).)

L =∫ 1

0

∥∥∥C ′(t)∥∥∥ dt =∫ 1

0

√(x′(t)

)2

+(y′(t)

)2

dt

C) Area di una funzione positiva su intervallo limitato.

A =∫ b

a

f(x) dx

D) Area di una curva parametrica. La curva e espressa nella forma parametricaC(t) =

(x(t) , y(t)

), con t ∈ [0 , 1]. L’area e sottesa dalla curva con l’origine degli assi: se

la curva e chiusa, questo equivale all’area della regione che resta definita dalla curva.

A = ±12

∫ 1

0

C(t)× C ′(t) dt = ±12

∫ 1

0

[x(t)y′(t)− x′(t)y(t)

]dt

Il segno ± dipende dalla parametrizzazione (+ per la parametrizzazione antioraria, − perquella oraria).

E) Volume di una funzione regolare su intervallo limitato. (Intervallo limitatoD = [a, b]× [c, d]. Funzione positiva: f(x, y) > 0.)

V =∫∫

D

f(x, y) dx dy

56 6.4 - Estrapolazione di Richardson

Page 57: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

F) Ipervolume di una funzione regolare su intervallo limitato. (Intervallo limi-tato E = [a, b]× [c, d]× [e, f ]. Funzione positiva: f(x, y, z) > 0.)

V =∫∫∫

E

f(x, y, z) dx dy dz

G) Volume di un solido di rotazione.

V = π

∫ b

a

(f(x)

)2

dx

L’area della sezione all’ascissa x e:

A = π · y2 = π ·

(f(x)

)2

6.6 Calcolo fisico con integrali

A) Massa e baricentro di un corpo bidimensionale. P e una regione piana che hadensita superficiale m(x, y).

massa =∫∫

P

m(x, y) dx dy

Le coordinate del baricentro xb e yb sono:

xb =1

massa

∫∫P

x ·m(x, y) dx dy , yb =1

massa

∫∫P

y ·m(x, y) dx dy

B) Massa e baricentro di un solido. E e un volume che ha densita m(x, y, z).

massa =∫∫∫

E

m(x, y, z) dx dy dz

Le coordinate del baricentro xb, yb e zb sono:xb =

1massa

∫∫∫E

x ·m(x, y, z) dx dy dz

yb =1

massa

∫∫∫E

y ·m(x, y, z) dx dy dz

zb =1

massa

∫∫∫E

z ·m(x, y, z) dx dy dz

Nota 6.6.1. Gli integrali delle formule del baricentro sono i momenti rispetto ai tre piani coordinati.

C) Momenti di inerzia rispetto agli assi.Ix =

∫∫∫E

(y2 + z2) ·m(x, y, z) dV

Iy =∫∫∫

E

(x2 + z2) ·m(x, y, z) dV

Iz =∫∫∫

E

(x2 + y2) ·m(x, y, z) dV

6.7 Esempi numerici

Confronto tra i metodi numerici non compositi. Sono state scelte cinque funzionida integrare sull’intervallo [0 , 4]. Per ognuna di esse e stata calcolata la primitiva e ilvalore reale dell’integrale definito; in seconda battuta, il calcolatore ha determinato ilvalore dell’integrale coi tre metodi dei trapezi, di Simpson 1/3 e di Simpson 3/8. Per ogni

6.6 - Calcolo fisico con integrali 57

Page 58: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

risultato e stato calcolato lo scostamento percentuale ε rispetto al valore reale. I risultatisono riepilogati in tabella 6.3, mentre gli integrali sono:∫ 4

0

x · e2x dx = 5216, 926477 (6.7.1)∫ 4

0

x2· e−2x dx = 0, 24661508 (6.7.2)∫ 4

0

sin 2x dx = 0, 57275 (6.7.3)∫ 4

0

sinx dx = 1, 65364321 (6.7.4)∫ 4

0

e−x · sin(10x) dx = −0, 113731448 (6.7.5)

Integrale (6.7.1) (6.7.2) (6.7.3) (6.7.4) (6.7.5)Valore reale 5216,926477 0,24661508 0,57275 1,65364321 −0, 113731448Trapezi −357, 1 95, 65 −245, 5 191, 53 124, 0Simpson 1/3 −57, 96 19, 31 337, 20 −16, 12 397, 7Simpson 3/8 −30, 71 2, 875 106, 88 −6, 759 438, 8Grafico (6.8) (6.9) (6.10) (6.11) (6.12)

Tabella 6.3: Risultati del confronto tra le formule di quadratura di Newton-Cotes a nodi equispaziati

Figura 6.8: Calcolo della (6.7.1) coi metodi dei trapezi e di Simpson

58 6.7 - Esempi numerici

Page 59: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Figura 6.9: Calcolo della (6.7.2) coi metodi dei trapezi e di Simpson

Figura 6.10: Calcolo della (6.7.3) coi metodi dei trapezi e di Simpson

6.7 - Esempi numerici 59

Page 60: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Figura 6.11: Calcolo della (6.7.4) coi metodi dei trapezi e di Simpson

Figura 6.12: Calcolo della (6.7.5) coi metodi dei trapezi e di Simpson

60 6.7 - Esempi numerici

Page 61: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

CAPITOLO 7

Approssimazione

Si presenta la necessita di approssimare:

dati quando la funzione da approssimare f(x) non e nota in forma analitica, ma di essasi conoscono alcuni valori yi su un insieme di punti xi;

funzioni quando la funzione e nota in forma analitica, ma e una funzione complicata ela si vuole approssimare con una rappresentazione piu semplice.

Figura 7.1: Approssimazione di dati minimizzando la distanza lungo y

C’e una sostanziale differenza tra approssimazione e interpolazione. L’interpolazionepassa per i punti dati, mentre l’approssimazione costruisce una curva minimizzando ladistanza tra la curva e i dati forniti (figura 7.1). La scelta della distanza con la quale sivuole approssimare i dati (misura dell’errore) determina il procedimento da scegliere:

� con pochi dati affidabili bisogna usare l’interpolazione;

� con un insieme discreto di dati (ad es. dati sperimentali affetti da variabilita stati-stica, per i quali si deve tener conto di un margine d’errore) bisogna approssimare:

1. con l’approssimazione ai minimi quadrati :

∥∥∥y − fn∥∥∥2

=

√√√√ m∑i=1

(yi − fn(xi)

)2

2. con l’approssimazione uniforme:∥∥∥y − fn∥∥∥∞

= maxi=1,...,m

∣∣∣yi − fn(xi)∣∣∣

7 - Approssimazione 61

Page 62: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

7.1 Approssimazione ai minimi quadrati (LS)

Bisogna minimizzare l’errore ei = f1(xi)− yi. I punti dati sono (xi, yi), mentre(xi, f(xi)

)sono i punti approssimati (figura 7.2(a)).

(a) Esempio di approssimazione ai minimiquadrati

(b) Cancellazione d’errore

Figura 7.2: Approssimazione ai minimi quadrati

Tuttavia, gli errori possono cancellarsi l’un l’altro (figura 7.2(b)): quindi la soluzionee minimizzare la somma dei quadrati.

S =m∑i=1

(ei)2 = e12 + e2

2 + e32 + . . .

=m∑i=1

(yi − fn(xi)

)2

=m∑i=1

[yi − (axi + b)

]2L’approssimazione ai minimi quadrati equivale a minimizzare l’errore S:

min∥∥∥y − f1∥∥∥

2

2

= mina,b

m∑i=1

[yi − (axi + b)

]2Assegnati i punti (xi, yi) con i = 1, . . . ,m e scelte n+ 1 funzioni base del tipo:

Φ0 , Φ1 , . . . , Φn con n� m

si vuole costruire la funzione di approssimazione individuata con il metodo dei minimiquadrati (cioe i coefficienti ai sono determinati in modo che lo scarto quadratico medio Ssia minimo):

fn(x) = a0Φ0 + aiΦ1 + · · ·+ anΦn

y − fn(x) e il vettore di elementi.

yi −n∑j=0

ajΦj(xi) con i = 1, . . . ,m

my −H a con Hij = Φj(xi)

y0y1...ym

Φ0(x0) Φ1(x0) . . . Φn(x0)Φ0(x1) Φ1(x1) . . . Φn(x1)

......

. . ....

Φ0(xm) Φ1(xm) . . . Φn(xm)

·

a0

a1

...an

62 7.1 - Approssimazione ai minimi quadrati (LS)

Page 63: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Il vettore a contiene i parametri incogniti dell’approssimante. Si vuole determinare ilvalore di a che renda minimo il residuo:

S =∥∥∥y −H a

∥∥∥2

2

Si tratta della soluzione di un sistema lineare sovradeterminato (m > n) perche si vuoleH a = y . Avendo piu vincoli che variabili, non esiste in generale una soluzione esatta:quindi, si cerca una soluzione approssimata nel senso dei minimi quadrati.

Scegliendo i polinomi nella base delle potenze:

Φ0 = 1 , Φ1 = x , Φ2 = x2 , . . . , Φn = xn

si vuole determinare fn(x) = a0 + a1x + a2x2 + · · · + anx

n che renda minima la somma

S =m∑i=0

[y − fn(xi)

]2.

7.1.1 Metodo delle equazioni normali per l’approssimazione aiminimi quadrati

1) Approssimazione lineare (n = 1). Si deve minimizzare l’errore S =m∑i=1

[yi − (axi + b)

]2.

Poiche e il minimo di una funzione in due variabili (a, b), si calcolano le derivate parzialidi S rispetto a entrambe le variabili e le si pongono uguali a zero.

∂S

∂a= 0

∂S

∂b= 0

m∑i=1

axi2 +

∑mi=1 bxi =

∑mi=1 xiyi

m∑i=1

axi +∑mi=1 b =

∑mi=1 yi

Infatti:

∂S

∂a=

m∑i=1

2(yi − axi − b)(−xi)

= −m∑i=1

xiyi +m∑i=1

axi2 +

m∑i=1

bxi = 0

∂S

∂b=

m∑i=1

(−2)(yi − axi − b)

= −m∑i=1

yi +m∑i=1

axi +m∑i=1

b = 0

Si risolve il sistema: m∑i=1

xi2

m∑i=1

xi

m∑i=1

xi m

·

[ab

]=

m∑i=1

xiyi

m∑i=1

yi

Si pone:

Sx =m∑i=1

xi, Sy =m∑i=1

yi

Sxx =m∑i=1

xi2, Syy =

m∑i=1

xiyi

Il sistema allora ha soluzione:

a =m ·Sxy − SxSym ·Sxx − Sx2 , b =

SxxSy − SxySxm ·Sxx − Sx2

La retta che approssima i dati ai minimi quadrati e y = ax + b. Un esempio di approssi-mazione lineare e in figura 7.3(a).

7.1 - Approssimazione ai minimi quadrati (LS) 63

Page 64: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

2) Approssimazione quadratica (n = 2). Per minimizzare l’errore si deve calcolareil minimo di una funzione in tre variabili, calcolando le derivate parziali di S rispetto allevariabili:

∂S

∂a= 0

∂S

∂b= 0

∂S

∂c= 0

m∑i=1

xi4

m∑i=1

xi3

m∑i=1

xi2

m∑i=1

xi3

m∑i=1

xi2

m∑i=1

xi

m∑i=1

xi2

m∑i=1

xi m

·

abc

=

m∑i=1

xi2yi

m∑i=1

xiyi

m∑i=1

yi

Un esempio di approssimazione quadratica e in figura 7.3(b).

(a) Approssimazione lineare (grado n = 1) (b) Approssimazione quadratica (grado n = 2)

(c) Approssimazione cubica (grado n = 3) (d) Approssimazione con gradi n = 6 e n = 7

Figura 7.3: Approssimazione ai minimi quadrati col metodo delle equazioni normali

3) Approssimazione con grado n arbitrario. Sono riportati in figura 7.3(c) e 7.3(d)due esempi, rispettivamente con grado n = 3 e coi gradi n = 6 e n = 7.

fn(x) = a0 + a1x+ a2x2 + · · ·+ anx

n

m

m∑i=1

xi . . .

m∑i=1

xin

m∑i=1

xi. . .

...

.... . .

...m∑i=1

xin . . . . . .

m∑i=1

xi2n

·

a0

a1

...an

=

m∑i=1

yi

m∑i=1

xiyi

...m∑i=1

xinyi

[1 1 . . . 1x0 x1 . . . xm

1 x0

1 x1

......

1 xm

·

[a0

a1

]=[

1 1 . . . 1x0 x1 . . . xm

y0y1...ym

64 7.1 - Approssimazione ai minimi quadrati (LS)

Page 65: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

H TH a = H Ty

Teorema 16. mina S =∥∥∥y −H a

∥∥∥2

2

⇐⇒ H TH a = H Ty .

Dimostrazione.

S(a ) =∥∥∥y −H a

∥∥∥2

2

= (y −H a )T · (y −H a )

= y Ty − y TH a − a TH Ty + a TH TH a

= y Ty − 2y TH a + a TH TH a

∇S(a ) = −2y TH + 2H TH a = 0⇒ H TH a = H Ty

H TH e definita positiva se e solo se la matrice H ha rango massimo. In questo caso, Ae non singolare, quindi il problema ha un’unica soluzione.

Bisogna fare attenzione al malcondizionamento k(H TH ) = k(H )2: errori di arroton-damento nella risoluzione del sistema possono causare grandi errori nell’approssimante deidati.

Teorema 17. Il problema LS ammette sempre soluzione. La soluzione e unica se e solo sela matrice H ha rango massimo (cioe se le colonne di H sono linearmente indipendenti).Il problema ha infinite soluzioni quando le colonne di H sono linearmente dipendenti,tuttavia la soluzione di lunghezza minima e unica.

7.1.2 Minimi quadrati pesati. Polinomi ortogonali nelle equazioninormali

Si puo associare un peso wi a ciascun punto:

mina0,a1,...,an

N∑i=1

wi ·[yi − fn(xi)

]2wi > 0, indipendenti da ai

m

mina

(H a − y

)TW(H a − y

)Wii = wi matrice diagonale n× n

m(H TW H

)a = H TW y sistema di equazioni normali n× n

Si puo evitare la risoluzione del sistema delle equazioni normali scegliendo come funzionibase polinomi ortogonali :

〈Φk,Φj〉 =m∑i=0

wiΦk(xi)Φj(xi) = 0 con k 6= j

con matrice dei pesi W e matrice del sistema H TW Ha = H TW y diagonale, dicoefficienti:

aj∗ =

m∑i=0

wifiΦj(xi)

m∑i=0

wiΦj2(xi)

con j = 0, . . . , n

7.1 - Approssimazione ai minimi quadrati (LS) 65

Page 66: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

7.1.3 Metodo QR-LS

Algoritmo.

1. Si suppone che H abbia rango massimo:

minS =∥∥∥H a − y

∥∥∥2

2

2. Si applica una fattorizzazione QR alla matrice del sistema H = QR :

Q matrice ortogonale

R =[R1

0

]matrice triangolare superiore non singolare

∥∥∥H a − y∥∥∥

2

2

=∥∥∥QRa − y ∥∥∥

2

2

=∥∥∥Ra −Q Ty︸ ︷︷ ︸

c

∥∥∥2

2

3. Si partiziona il vettore c :

c =[c1c2

], Ra − c =

[R1a− c1

c1

]

min∥∥∥H a − y

∥∥∥2

2

=∥∥∥c2∥∥∥

2

2

+ min∥∥∥R1a− c1

∥∥∥2

2

4. Si risolve il sistema triangolare R1a = c1. Il residuo e dato da:

min∥∥∥H a − y

∥∥∥2

2

=∥∥∥c2∥∥∥

2

2

7.1.4 Metodo della decomposizione in valori singolari (SVD-LS)

Teorema 18. Sia:

H ∈ Cm×n di rango k, con m ≥ n ≥ kH = U ΣV T

Allora la soluzione di minima norma del problema dei minimi quadrati e data da:

a∗ =k∑i=1

uiH

· y

σi· vi

e il valore minimo e γ2 =∑ni=1

∣∣∣uiH · y∣∣∣2.

Dimostrazione. ******************

*****************

66 7.1 - Approssimazione ai minimi quadrati (LS)

Page 67: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Figura 7.4: Esempio approssimazione ***

(a) *** (b) ***

Figura 7.5: Soluzione esempio approssimazione ***

7.1 - Approssimazione ai minimi quadrati (LS) 67

Page 68: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

APPENDICE A

Vettori e matrici

A.1 Operazioni tra vettori

Dati due vettori:

x =[x1 x2 . . . xm

]T, y =

[y1 y2 . . . ym

]Tsi possono definire due operazioni.

Definizione 19 (Somma di vettori). Dati due vettori x e y aventi la medesima dimen-sione, la loro somma e:

x + y =[x1 + y1 x2 + x2 . . . xm + ym

]Definizione 20 (Prodotto scalare tra vettori). Dati due vettori x e y aventi la medesimadimensione, il loro prodotto scalare e:

p = x T ·y =m∑i=1

xi · yi

A.2 Operazioni tra matrici

Definizione 21 (Matrice simmetrica). Una matrice e simmetrica se A = A T .

Definizione 22 (Matrice antisimmetrica). Una matrice e antisimmetrica se A = −A T .

Definizione 23 (Prodotto tra matrici). Il prodotto tra matrici e possibile solo tra unamatrice A (di dimensioni m × n) e una matrice B (di dimensioni n × p), per cui A hatante colonne quante sono le righe di B . Risulta una matrice C (di dimensioni m × p)con elementi:

cij =n∑k=1

aikbkj con:i = 1, . . . ,mj = 1, . . . , p

Prodotto tra matrici con uso del prodotto scalare (codice MATLAB)

xxx xxx xxx xxx xxx xxx xxx xxx

for i=1:m

for j=1:p

C(i,j) = A(i,:) * B(:,j);

end

68 A - Vettori e matrici

Page 69: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Prodotto tra matrici (codice MATLAB)

xxx xxx xxx xxx xxx xxx xxx xxx

for i=1:m

for j=1:p

for k=1:n

C(i,j) = C(i,j) + A(i,k) * B(k,i);

end

Il costo computazionale em∑i=1

p∑j=1

n∑k=1

2 = 2mpn, quindi con m = p = n la complessita

e 2n3.

A.3 Norme

A.3.1 Norma vettoriale

Una norma vettoriale e una funzione:∥∥•∥∥ : Cn → R+ ∪ {0}

che assegna un valore reale a ciascun vettore x e verifica le seguenti proprieta:

1.∥∥x ∥∥ ≥ 0 e

∥∥x ∥∥ = 0⇔ x = 0, ∀x ∈ Cn;

2.∥∥αx ∥∥ =

∣∣∣α ·

∥∥x ∥∥∣∣∣, ∀x ∈ Cn , ∀α ∈ C;

3.∥∥x + y

∥∥ ≤ ∥∥x ∥∥+∥∥y ∥∥ (disuguaglianza triangolare), ∀x ,y ∈ Cn.

Norma 1.∥∥x ∥∥

1=

n∑i=1

∣∣xi∣∣.

Norma 2 (euclidea).∥∥x ∥∥

2=√⟨x ,x

⟩=√x Tx =

√√√√ n∑i=1

(xi)2.

Norma infinito (di Chebyshev).∥∥x ∥∥∞ = max

i=1,...,n

∣∣xi∣∣.Teorema 19. Siano ‖ • ‖′ e ‖ • ‖′′ due norme vettoriali. Allora le due norme sonoequivalenti, cioe esistono due costanti reali α, β tali che 0 < α ≤ β e che (∀x ∈ Cn):

α ·

∥∥x ∥∥′′ ≤ ∥∥x ∥∥′ ≤ β ·

∥∥x ∥∥′′∥∥x ∥∥∞ ≤∥∥x ∥∥

2≤√n ·

∥∥x ∥∥∞∥∥x ∥∥2

≤∥∥x ∥∥

1≤√n ·

∥∥x ∥∥2∥∥x ∥∥∞ ≤

∥∥x ∥∥1≤√n ·

∥∥x ∥∥∞A.3.2 Norma matriciale

Una norma matriciale e una funzione:∥∥•∥∥ : Cn×n → R+ ∪ {0}

che assegna un valore reale a ciascuna matrice A e verifica le seguenti proprieta:

1.∥∥A∥∥ ≥ 0 e

∥∥A ∥∥ = 0⇔ A = 0, ∀A ∈ Cn×n;

2.∥∥αA∥∥ =

∣∣∣α ·

∥∥A∥∥∣∣∣, ∀A ∈ Cn×n , ∀α ∈ C;

A.3 - Norme 69

Page 70: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

3.∥∥A +B

∥∥ ≤ ∥∥A∥∥+∥∥B ∥∥ (disuguaglianza triangolare), ∀A ,B ∈ Cn×n;

4.∥∥A ·B

∥∥ ≤ ∥∥A∥∥ ·∥∥B ∥∥, ∀A ,B ∈ Cn×n.

Definizione 24 (Norma matriciale indotta). Ad ogni norma vettoriale si puo associareuna norma matriciale. La norma:

∥∥A∥∥p

= sup‖x ‖6=0

∥∥Ax ∥∥p∥∥x ∥∥p

con A ∈ Cn×n,x ∈ Cn

e detta norma matriciale indotta dalla norma vettoriale (norma naturale).

Proprieta delle norme naturali.

∥∥I ∥∥p

= sup‖x ‖6=0

∥∥I x ∥∥p∥∥x ∥∥p

= 1;

∥∥Ax ∥∥ ≤ ∥∥A ∥∥ ·∥∥x ∥∥.

Norma 1.∥∥A∥∥

1= maxj=1,...,n

n∑i=1

∣∣aij∣∣ (il massimo della somma sulle colonne, in modulo).

Norma 2 (euclidea).∥∥A∥∥

2=√ρ (A TA ), dove ρ (A ) e il raggio spettrale di A (il

suo massimo autovalore).

Norma infinito (di Chebyshev).∥∥A∥∥∞ = max

i=1,...,n

n∑j1

∣∣aij∣∣ (il massimo della somma

sulle righe, in modulo).

Norma di Frobenius (o di Schur).∥∥A∥∥

F=

√√√√ n∑i,j=1

∣∣aij∣∣2.

Teorema 20. Tutte le norme matriciali sono equivalenti:

1√n

·

∥∥A ∥∥∞ ≤∥∥A∥∥

2≤√n ·

∥∥A∥∥∞1√n

·

∥∥A∥∥1≤

∥∥A∥∥2≤

√n ·

∥∥A ∥∥1

maxi,j

∣∣aij∣∣ ≤∥∥A∥∥

2≤ n · max

i,j

∣∣aij∣∣1√n

·

∥∥A∥∥F≤

∥∥A∥∥2≤

∥∥A∥∥F

A.4 Matrici definite in segno

Definizione 25 (Matrice definita in segno). Se, per ogni x 6= 0 , il numero reale x TAxmantiene lo stesso segno, si dice che la matrice A e definita in segno. In particolare:

� x TAx > 0: matrice definita positiva;

� x TAx ≥ 0: matrice semidefinita positiva;

� x TAx ≤ 0: matrice semidefinita negativa;

� x TAx < 0: matrice definita negativa;

� in tutti gli altri casi, A e indefinita.

70 A.4 - Matrici definite in segno

Page 71: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

Teorema 21 (Criterio di Sylvester). Una matrice simmetrica A e definita positiva see solo se:

det (A k) > 0 con k = 1, . . . , n

dove det (A k) e il determinante della matrice di ordine k formata dalle intersezioni delleprime k righe e k colonne di A .

A.4 - Matrici definite in segno 71

Page 72: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Elenco delle figure

1.1 Analisi numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Disposizione sull’asse reale dei numeri finiti rappresentati dall’insieme F (B =

2, t = 3, L = −1, U = 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3 Valutazione dell’errore nel caso di troncamento . . . . . . . . . . . . . . . . 101.4 Valutazione dell’errore nel caso di arrotondamento . . . . . . . . . . . . . . 111.5 Successioni ottenute con algoritmi stabili o instabili . . . . . . . . . . . . . . 18

2.1 Metodo di bisezione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2 Metodo di Regula Falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3 Metodo delle secanti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.4 Metodo di Newton (delle tangenti) . . . . . . . . . . . . . . . . . . . . . . . 242.5 Risultati del metodo di calcolo delle radici di una parabola . . . . . . . . . 272.6 Risultati del metodo di calcolo delle radici di una logaritmo . . . . . . . . . 27

4.1 Funzione di Runge ottenuta interpolando con un polinomio di grado 9 (asinistra) e di grado 15 (a destra) . . . . . . . . . . . . . . . . . . . . . . . . 42

5.1 Rappresentazione grafica della tecnica SVD . . . . . . . . . . . . . . . . . . 455.2 Economia computazionale nell’esecuzione della tecnica SVD . . . . . . . . . 465.3 Soluzione di sistemi lineari malcondizionati con SVD . . . . . . . . . . . . . 47

6.1 Grado di precisione dell’integrazione (esempio con I1) . . . . . . . . . . . . 496.2 Integrazione con formula dei trapezi . . . . . . . . . . . . . . . . . . . . . . 496.3 Integrazione con formula di Simpson 1/3 . . . . . . . . . . . . . . . . . . . . 506.4 Integrazione con formula di Simpson 3/8 . . . . . . . . . . . . . . . . . . . . 516.5 Integrazione con formula del punto medio . . . . . . . . . . . . . . . . . . . 526.6 Integrazione con formula dei rettangoli composita . . . . . . . . . . . . . . . 546.7 Integrazione con formula dei trapezi composita . . . . . . . . . . . . . . . . 546.8 Calcolo della (6.7.1) coi metodi dei trapezi e di Simpson . . . . . . . . . . . 586.9 Calcolo della (6.7.2) coi metodi dei trapezi e di Simpson . . . . . . . . . . . 596.10 Calcolo della (6.7.3) coi metodi dei trapezi e di Simpson . . . . . . . . . . . 596.11 Calcolo della (6.7.4) coi metodi dei trapezi e di Simpson . . . . . . . . . . . 606.12 Calcolo della (6.7.5) coi metodi dei trapezi e di Simpson . . . . . . . . . . . 60

7.1 Approssimazione di dati minimizzando la distanza lungo y . . . . . . . . . . 617.2 Approssimazione ai minimi quadrati . . . . . . . . . . . . . . . . . . . . . . 627.3 Approssimazione ai minimi quadrati col metodo delle equazioni normali . . 647.4 Esempio approssimazione *** . . . . . . . . . . . . . . . . . . . . . . . . . . 677.5 Soluzione esempio approssimazione *** . . . . . . . . . . . . . . . . . . . . . 67

72 Elenco delle figure

Page 73: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Elenco delle tabelle

1.1 Notazioni particolari di formati IEEE 754 . . . . . . . . . . . . . . . . . . . 12

2.1 Confronto tra i risultati del calcolo della radice di una parabola x2 − 4x+ 2 262.2 Confronto tra i risultati del calcolo della radice di un logaritmo log x . . . . 26

6.1 Pesi per formule chiuse di Newton-Cotes a n+ 1 punti . . . . . . . . . . . . 536.2 Ingressi e uscite di un programma P di quadratura automatica . . . . . . . 556.3 Risultati del confronto tra le formule di quadratura di Newton-Cotes a nodi

equispaziati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Elenco delle tabelle 73

Page 74: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Indice analitico

AAlgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . 14, 19

complessita computazionale . . . . . . . 19stabilita . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Approssimazione . . . . . . . . . . . . . . . . . . . . 7, 61ai minimi quadrati (LS) . . . . . . . . . . . 62ai minimi quadrati pesati . . . . . . . . . 65equazioni normali (metodo) . . . . . . . 63

polinomi ortogonali . . . . . . . . . . . . . 65matrice con minor rango (SVD) . . . 46QR-LS (metodo) . . . . . . . . . . . . . . . . . . 66SVD-LS (metodo) . . . . . . . . . . . . . . . . 66

Arrotondamentoeps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

BBisezione (metodo di) . . . . . . . . . . . . . . 21, 26Broyden (aggiornamento di) . . . . . . . . . . . 29

CCancellazione numerica . . . . . . . . . . . . . . . . 13Chebyshev (norma di) . . . . . . . . . . . . . 69, 70Chebyshev (polinomi di) . . . . . . . . . . . . . . 43Cholesky (fattorizzazione di) . . . . . . . . . . 37Condizionamento . . . . . . . . . . . . . . . . . . 14, 16

indice . . . . . . . . . . . . . . . . . . . . . 15, 32, 33sistema lineare . . . . . . . . . . . . . . . . . . . . 32

Convergenza . . . . . . . . . . . . . . . . . . . . . . . 25, 26fattore . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25ordine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Corda (metodo della) . . . . . . . . . . . . . . . . . . 29

DDifferenza divisa . . . . . . . . . . . . . . . . . . . . . . 41

EErrore

algoritmico . . . . . . . . . . . . . . . . . . . . . . . 16assoluto . . . . . . . . . . . . . . . . . . . . . . . . . . 10di interpolazione . . . . . . . . . . . . . . . . . . 42di interpolazione polinomiale . . . . . . 52di rappresentazione . . . . . . . . . . . . . . . 10di troncamento . . . . . . . . . . . . . . . . . . . 52

di una formula di quadratura interpo-latoria . . . . . . . . . . . . . . . . . . . . . . . . . .52

inerente . . . . . . . . . . . . . . . . . . . . . . . . . . 16nelle formule di Newton-Cotes . . . . 53propagazione . . . . . . . . . . . . . . . . . . . . . 12relativo . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Euclide (norma di) . . . . . . . . . . . . . . . . 69, 70

FFloating point . . . . . . . . . . . . . . . . . . . . . . . . . 12

formati IEEE 754 . . . . . . . . . . . . . . . . . 12Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Frobenius (norma di) . . . . . . . . . . . . . . . . . . 70

GGauss (eliminazione di) . . . . . . . . . . . . . . . . 34

HHilbert (matrice di) . . . . . . . . . . . . . . . . . . . 33Horner (metodo di) . . . . . . . . . . . . . . . . . . . 42

IInterpolazione . . . . . . . . . . . . . . . . . . . . . 39, 61

di Lagrange . . . . . . . . . . . . . . . . . . . . . . . 40di Newton . . . . . . . . . . . . . . . . . . . . . . . . 41Horner (metodo di) . . . . . . . . . . . . . . . 42polinomiale . . . . . . . . . . . . . . . . . . . . . . . 40polinomiale a tratti . . . . . . . . . . . . . . . 43Runge (fenomeno di) . . . . . . . . . . . . . 42spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

LLagrange (interpolazione di) . . . . . . . . . . . 40

NNewton (interpolazione di) . . . . . . . . . . . . 41Newton (metodo di) . . . . . . . . . . . . . . . 24–26Newton-Cotes (formule di quadratura di) .

49, 52, 53Newton-Raphson (metodo di) . . . . . . . . . 28Numeri finiti . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

aritmetica . . . . . . . . . . . . . . . . . . . . . . . . 12cancellazione numerica . . . . . . . . . . . . 13propagazione degli errori . . . . . . . . . . 12

74 Indice analitico

Page 75: Calcolo numerico L-A - Marco Alessandrini · PDF file2.1.3 Metodo delle secanti ... 4.2.3 Valutazione di un polinomio con metodo di Horner. . . . . . . . . .42

Calcolo numerico L-A CC© BY:© $\© =©

PPerturbazione . . . . . . . . . . . . . . . . . . . . . 14, 32Pivoting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Precisione di macchina (eps) . . . . . . 11, 16Propapagazione degli errori . . . . . . . . . . . . 12Punto medio (formula del) . . . . . . . . . . . . 51

QQuadratura (formule di) . . . . . . . . . . . . . . . 48

a nodi equispaziati (di Newton-Cotes)49

composite . . . . . . . . . . . . . . . . . . . . . . . . 54Quadratura automatica . . . . . . . . . . . . . . . 55

RRegula Falsi (metodo di) . . . . . . . . . . . 22, 26Rettangoli (formula composita dei) . . . . 54Richardson (estrapolazione di) . . . . . . . . . 56Runge (fenomeno di) . . . . . . . . . . . . . . . . . . 42

SSchur (norma di) . . . . . . . . . . . . . . . . . . . . . . 70Secanti (metodo delle) . . . . . . . . . . . . . 23, 26

metodo di tipo secanti . . . . . . . . . . . . 29Shamanskii (metodo di) . . . . . . . . . . . . . . . 29Simpson (formula composita di) . . . . . . . 55Simpson (formula di) . . . . . . . . . . . . . . 50, 51Simpson (metodo composito adattivo di) .

55Sistemi lineari

condizionamento . . . . . . . . . . . . . . . . . . 32metodi numerici di risoluzione . . . . 34soluzione (SVD) . . . . . . . . . . . . . . . . . . 46

Sistemi non lineari . . . . . . . . . . . . . . . . . . . . 28Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Sylvester (criterio di) . . . . . . . . . . . . . . . . . . 71

TTangenti (metodo delle) . . . . . . . . . . . . 24–26Trapezi (formula composita dei) . . . . . . . 54Trapezi (formula dei) . . . . . . . . . . . . . . . . . . 49

UUnita di arrotondamento (eps) . . . . . . . . 11

VVandermonde (matrice di) . . . . . . . . . . . . . 40

Indice analitico 75