146
Appunti di Calcolo Numerico L. Pasquini . . Corso di Laurea in Chimica . . Anno Accademico 2005-2006

Appunti di Calcolo Numerico - Dipartimento di … · 2 0.1 Introduzione Il Calcolo Numerico (o Analisi Numerica) studia la soluzione numerica, nel rispetto di una accuratezza prefissata,

  • Upload
    doantu

  • View
    233

  • Download
    2

Embed Size (px)

Citation preview

Appunti di Calcolo Numerico

L. Pasquini..

Corso di Laurea in Chimica..

Anno Accademico 2005-2006

2

0.1 Introduzione

Il Calcolo Numerico (o Analisi Numerica) studia la soluzione numerica, nelrispetto di una accuratezza prefissata, di problemi proposti dalle Applicazionidella Matematica.

I problemi proposti dalle Applicazioni della Matematica inducono ProblemiComputazionali (PC) da risolvere ed ognuno di questi induce a sua volta svariatialgoritmi per la sua implementazione al calcolatore.

0.1.1 Problema Computazionale

Un PC si rappresenta con una funzione:

PC : y = F (x), F : E ⊆ Rn → F (E) ⊆ Rm.

Talvolta gli spazi Cn e Cm saranno considerati in luogo di Rn e Rm.x = (x1, x2, . . . , xn) ∈ E è il dato, y = (y1, y2, . . . , ym) ∈ F (E) è il risultato.

Esempi

Nel caso in figura, F è una ordinaria funzione di una variabile reale, a valorireali.

0.1. INTRODUZIONE 3

La figura che segue rappresenta invece il caso di una funzione di due variabilireali ed a valori reali, che è un caso particolare (n = 2, m = 1) del caso di unafunzione di n variabili reali a valori reali (n > 1, m = 1).

Nel caso generico (n e m qualsiasi), F è una funzione vettoriale

F (x) = (F1(x), F2(x), . . . , Fm(x)),

le Fi, i = 1 : m, sono funzioni da E ⊆ Rn a R1, dette componenti scalari dellaF , ed il PC può essere scritto nella forma scalare

yi = Fi(x) = Fi(x1, x2, . . . , xn), i = 1 : m.

Altri esempi sono quelli dei PC elementari:

y = x1 + x2, y = x1 ∗ x2, y =x1x2

,

e quello in cui il risultato y è la soluzione ξ di un sistema lineare Ax = b, conA p× p invertibile e b di dimensione p (m = p, n = p2 + p):

y = ξ = A−1b,

ove il dato è

(A, b) = (a11, . . . , app, b1, . . . bp).

4

0.1.2 Algoritmo

Definition 1 Dicesi algoritmo una sequenza ”definita” di operazioni che oper-ano su dati assegnati (x) e forniscono il risultato (y).

”Definita” significa che dopo ogni operazione della sequenza è definita laoperazione da eseguire subito dopo. Come esempio di algoritmo e di sequenzadefinita di operazioni si può pensare al calcolo delle radici di una equazionealgebrica di secondo grado.

Un PC può indurre un numero rilevante di algoritmi per la sua implemen-tazione perché molti possono essere i modi di ordinare le operazioni da fare eper altri motivi che saranno chiariti nel seguito. Un esempio in proposito, moltosemplice, è quello della somma di n numeri. Si hanno tanti algoritmi quanti sonoi modi di ordinare gli n addendi (n!) ed è interessante il fatto che essi non dannotutti il medesimo risultato al calcolatore!

Chapter 1

Analisi dell’errore. Nozionidi base di AnalisiFunzionale

1.1 Decomposizione dell’errore

In generale un PC proviene da modellizzazione, approssimazione, discretiz-zazione, ecc., di un problema originario la cui soluzione esatta è v ∈ Rm. Si hapertanto un errore teorico

εt = v − y,

εt = (εt,1, εt,2, · · · εt,m).

Ma esistono altri tipi di errore dovuti al fatto che si lavora in precisionefinita.

Di fatto, salvo casi estremamente particolari e generalmente di interessesolamente teorico, il dato x = (x1, x2, . . . , xn), al momento di essere immesso inmacchina, subirà una perturbazione perché non tutti gli xi saranno numeri dimacchina. Si avrà quindi

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

ove x = (x1, x2, . . . , xn) denota il dato di macchina. Qualche volta potrà trat-tarsi di errori più consistenti di quelli di macchina, come nel caso di dati ottenutida misure sperimentali. In ogni caso, si avrà un errore sul dato:

ε = x− x.

Questo comporterà un errore sul risultato

y = F (x)← y = F (x).

5

6CHAPTER 1. ANALISI DELL’ERRORE. NOZIONI DI BASE DI ANALISI FUNZIONALE

Si ha pertanto un errore inerente

εin = y − y = F (x)− F (x),

εin = (εin,1, εin,2, · · · εin,m).

Un altro errore dovuto al fatto che si lavora in precisione finita avviene almomento del calcolo effettivo di F (x). Questo infatti avverrà con un algoritmoche eseguirà operazioni di macchina, ognuna della quali introdurrà un piccoloerrore. Rappresenteremo l’algoritmo per il calcolo della F con F ∗ ed il risultatoottenuto da esso con y∗. Questo comporterà che

y = F (x)← y∗ = F ∗(x).

Si ha pertanto un errore algoritmico

εa = y − y∗ = F (x)− F ∗(x),

εa = (εa,1, εa,2, · · · εa,m).

L’errore complessivo è pertanto

εc = v − y∗

e si può scrivere

εc = v − y + y − y + y − y∗ = εt + εin + εa,

εc = (εc,1, εc,2, · · · εc,m).

1.1.1 Errori relativi

Quelli considerati finora sono errori assoluti. È conveniente considerare anchegli errori relativi :

ǫi =xi − xi

xi, i = 1 : n,

ǫt,i =vi − yi

vi, ǫin,i =

yi − yiyi

, ǫa,i =yi − y∗i

yi, ǫc,i =

vi − y∗ivi

, i = 1 : m,

ǫ = (ǫ1, ǫ2, · · · ǫn),

ǫt = (ǫt,1, ǫt,2, · · · ǫt,m),

ǫin = (ǫin,1, ǫin,2, · · · ǫin,m),

1.1. DECOMPOSIZIONE DELL’ERRORE 7

ǫa = (ǫa,1, ǫa,2, · · · ǫa,m),

ǫc = (ǫc,1, ǫc,2, · · · ǫc,m),

e non è difficile dimostrare che risulta

ǫc· = ǫt + ǫin + ǫa,

ove · = sta per ”uguale a meno di termini di ordine superiore negli errori” (inpratica: =).

1.1.2 Ancora sugli errori

Conviene occuparsi degli errori in questo ordine

teorico→ inerente → algoritmico.

Di solito si preferisce “controllare” gli errori relativi piuttosto che gli erroriassoluti. La ragione risiede nella analisi degli errori di macchina. Infatti, se x èil numero di macchina che corrisponderà a x, si ha

x = x(1 + ǫ), |ǫ| ≤ u, u = precisione di macchina (“unit roundoff”).

Ne deriva:

|x− x| = |x| |ǫ| ≤ |x| u∣∣∣∣x− x

x

∣∣∣∣ = |ǫ| ≤ u. (1.1)

Dunque, l’errore relativo che subisce x quando viene messo in macchina puòessere maggiorato semplicemente con u, ma la cosa non è vera per l’errore dimacchina assoluto perché la maggiorazione dipende da |x|.

Il controllo degli errori assoluti è preferibile solo in algoritmi che generanovalori prossimi a 0, infinitesimi, ecc.

Gli errori che abbiamo considerato finora sono vettori reali. Più in generale,essi possono essere vettori, o addirittura matrici, reali o complessi.

Conviene fare riferimento al caso generale di vettori/matrici ad elementicomplessi.

È chiaro che bisognerà “misurarli”.Se hanno dimensione 1, sappiamo che la loro “grandezza” si misura pren-

dendo il loro modulo, ossia la loro distanza dall’origine.La naturale estensione al caso generale di questo modo di procedere consiste

nel sostituire al modulo una norma.Come sapete Cn e Cm×n possono essere riguardati come spazi vettoriali

(o lineari) ed in questi spazi può essere introdotta in infiniti modi diversi unanorma, la norma di z ∈ Cn [di A ∈ Cm×n] essendo poi, come nel caso della

8CHAPTER 1. ANALISI DELL’ERRORE. NOZIONI DI BASE DI ANALISI FUNZIONALE

dimensione 1, la distanza di z [di A] dall’origine, ovvero dall’elemento nullo,dello spazio (lineare normato).

Per la definizione di norma e di spazio lineare normato si rimanda ai Corsidi base.

Alcune proprietà generali, molto importanti, della norma sono riportate quidi seguito.

Proposition 2 La norma è una funzione continua nello spazio lineare normatoCn [Cm×n].

Proposition 3 La funzione d : Cn × Cn → R [d : Cm×n × Cm×n → R],definita al modo seguente:

d(x′, x′′) = ‖x′ − x′′‖

[d(A′, A′′) = ‖A′ −A′′‖]è una “distanza”.

In particolare:

Proposition 4

‖x‖ = d(x, 0)

[‖A‖ = d(A, 0)]

è la distanza di x [di A] dall’elemento nullo dello spazio.

1.2 Norme in Cn

Esistono infiniti modi di introdurre una norma in Cn. Noi consideriamo solo lanorma 1, la norma 2 e la norma ∞. Esse sono particolari norme p.

Sia x = [x1 x2 · · · xn]T ∈ Cn.

Definition 5 La norma p, p ≥ 1, di x ∈ Cn si denota con ‖x‖p ed è definitaal modo seguente

‖x‖p =(

n∑

i=1

|xi|p)1/p

. (1.2)

Nel caso p = 1 si ha:

‖x‖1 =n∑

i=1

|xi| .

Nel caso p = 2 si ha:

‖x‖2 =

√√√√n∑

i=1

|xi|2.

1.3. NORME IN CM×N 9

Nel caso p =∞, così denotato perché può essere riguardato come caso limiteper p→∞ della (1.2), si ha:

‖x‖∞ = maxi=1:n

|xi| .

Tutte le norme in Cn sono tra loro “ equivalenti” nel senso che, date duenorme comunque prefissate ‖·‖∗ e ‖·‖+, esistono due costanti m ed M , dipen-denti dalle due norme considerate, m < M , tali che

m ‖x‖+ ≤ ‖x‖∗ ≤M ‖x‖+ per ogni x ∈ Cn.

Example 6

‖x‖2 ≤ ‖x‖1 ≤√n ‖x‖2 ,

‖x‖∞ ≤ ‖x‖2 ≤√n ‖x‖∞ ,

‖x‖∞ ≤ ‖x‖1 ≤ n ‖x‖∞ .

Exercise 1.2.1 Disegnare gli intorni circolari di centro l’origine e raggio r > 0in R2 normato con le norme 1, 2 e ∞.

1.3 Norme in Cm×n

Le norme che abbiamo appena visto sono anche dette norme vettoriali. Quelleche si possono introdurre nello spazio lineare Cm×n prendono il nome di normematriciali o norme di matrici.

Anche le norme di matrici possono essere introdotte in infiniti modi diversi.Per ora ci limitiamo a considerare le cosiddette norme operatore. Queste sonoindotte da norme vettoriali.

Definition 7 Si definisce norma (matriciale) operatore indotta dalla normavettoriale ‖·‖∗ la norma definita in Cm×n dalla

‖A‖∗ = supx∈Cn,x�=0

‖Ax‖∗‖x‖∗

.

Non è difficile dimostrare che:

supx∈Cn,x�=0

‖Ax‖∗‖x‖∗

= maxx∈Cn,‖x‖

∗=1‖Ax‖∗ .

In particolare si hanno le p−norme:

‖A‖p = supx∈Cn,x�=0

‖Ax‖p‖x‖p

10CHAPTER 1. ANALISI DELL’ERRORE. NOZIONI DI BASE DI ANALISI FUNZIONALE

e, fra queste, le norme di matrici 1, 2 e∞. Si può dimostrare che, posto A = [aij ],si ha

‖A‖1 = maxj=1:n

m∑

i=1

|aij | ,

‖A‖∞ = maxi=1:m

n∑

j=1

|aij | ,

‖A‖2 =(ρ(AHA)

)1/2.

Le definizioni di AH e ρ(A) sono riportate qui di seguito insieme ad una fonda-mentale proprietà che lega ρ(A) alle norme operatore

Definition 8 AH è la trasposta coniugata di A = [aij ]:

AH = AT= [aji].

Definition 9 Si definisce raggio spettrale di una matrice A ∈ Cn×n, e si denotacon ρ(A), il massimo dei moduli degli autovalori di A:

ρ(A) = maxi=1:n

|λi| .

Proposition 10 Sia A ∈ Cn×n. Si ha

ρ (A) = infv‖A‖v ,

avendo denotato con infv l’estremo inferiore dell’insieme descritto da ‖A‖v alvariare di ‖·‖v nell’insieme di tutte le norme operatore.

Dalla definizione di norma operatore indotta da una norma vettoriale ‖·‖∗segue facilmente che:

‖Ax‖∗ ≤ ‖A‖∗ ‖x‖∗ per ogni x. (1.3)

Da questa segue poi, con facili passaggi, che risulta:

‖AB‖∗ ≤ ‖A‖∗ ‖B‖∗ per ogni A, B, (1.4)

quale che sia la norma operatore ‖·‖∗ .Queste due disuguaglianze giocano un ruolo molto importante in quello che

dovremo dire nel seguito.

Remark 1 La norma 2, indotta dalla norma vettoriale usuale, richiede un cal-colo molto più complicato di quello richiesto dal calcolo della norma 1 e dellanorma ∞. Per questa ragione, spesso, in questioni nelle quali si sia interessatia vedere se una matrice è abbastanza “piccola” e si sia interessati alla norma2, si preferisce tentare prima con la norma di Frobenius

‖A‖F =

√√√√m∑

i=1

n∑

j=1

|aij |2

1.3. NORME IN CM×N 11

(che è molto più facilmente calcolabile) perché risulta:

‖A‖2 ≤ ‖A‖F per ogni A.

Remark 2 La norma di Frobenius non è una norma operatore. Si dice “com-patibile” con la norma 2, o “consistente” con la norma 2.

Definition 11 Una norma di matrici ‖·‖c si dice compatibile o consistente conla norma vettoriale ‖·‖v se risulta:

‖Ax‖v ≤ ‖A‖c ‖x‖v , per ogni A e x,

‖AB‖c ≤ ‖A‖c ‖B‖c , per ogni A e B.

Remark 3 Queste due relazioni sono le analoghe di (1.3), (1.4).

Remark 4 Dalla prima delle due relazioni si deduce facilmente che una norma‖·‖c compatibile con una norma vettoriale ‖·‖v è sempre maggiore o uguale dellanorma operatore ‖·‖v indotta da ‖·‖v:

‖A‖v ≤ ‖A‖c per ogni A.

Remark 5 Anche le norme di matrici sono tutte equivalenti tra di loro.

Example 12

‖A‖2 ≤ ‖A‖F ≤√n ‖A‖2 ,

1√n‖A‖∞ ≤ ‖A‖2 ≤

√m ‖A‖∞ ,

1√m‖A‖1 ≤ ‖A‖2 ≤

√n ‖A‖1 ,

1

n‖A‖∞ ≤ ‖A‖1 ≤ m ‖A‖∞ .

12CHAPTER 1. ANALISI DELL’ERRORE. NOZIONI DI BASE DI ANALISI FUNZIONALE

Chapter 2

Condizionamento e Stabilità

2.1 Condizionamento di un PC

Definition 13 Quanto più grande è in norma l’errore inerente assoluto εin[l’errore inerente relativo ǫin] rispetto alla norma della perturbazione assoluta ε[della perturbazione relativa ǫ] sul dato x, tanto più il PC si dice mal-condizionato.Analogamente, quanto più piccolo è in norma l’errore inerente assoluto εin [l’er-rore inerente relativo ǫin] rispetto alla norma della perturbazione assoluta ε[della perturbazione relativa ǫ] sul dato x, tanto più il PC si dice ben-condizionato.

2.2 Stabilità di un algoritmo

Definition 14 Quanto più grande (piccolo) è in norma l’errore algoritmico rel-ativo ǫa rispetto a u, tanto più l’algoritmo si dice instabile (stabile). (u =preci-sione di macchina.)

Remark 6 Le operazioni nelle quali si articola un algoritmo sono operazionielementari ”di macchina”.

Le relazioni fra le operazioni di macchina e quelle in precisione infinita sonoespresse qui di seguito indicando con op una qualunque delle operazioni elemen-tari + − ∗ / ed asteriscando quelle di macchina

(x1 op x2)∗ = (x1 op x2)(1 + ǫ), |ǫ| ≤ u. (2.1)

Si osservi che questa relazione è la stessa che intercorre fra i numeri di macchinaed i numeri vista in (1.1).

Remark 7 La (2.1) mostra che un piccolo errore relativo (≤ u) è associatoad ogni operazione elementare di un algoritmo. Un algoritmo si compone però,spesso, di un numero molto elevato di operazioni elementari. . . .

13

14 CHAPTER 2. CONDIZIONAMENTO E STABILITÀ

2.3 Numeri di condizionamento: F : Rn → Rm

Sotto opportune ipotesi di regolarità, largamente verificate nelle applicazioni, siha quanto segue.

Caso in cui solo xj è perturbato:

yi − yi = Fi(x)− Fi(x) ≃∂Fi∂xj

(x)(xj − xj), i = 1 : m,

yi − yiyi

≃ xjFi(x)

∂Fi∂xj

(x)(xj − xj)

xj, i = 1 : m.

Caso generale:

yi − yi = Fi(x)− Fi(x) ≃n∑

j=1

∂Fi∂xj

(x)(xj − xj), i = 1 : m,

yi − yiyi

≃n∑

j=1

xjFi(x)

∂Fi∂xj

(x)(xj − xj)

xj, i = 1 : m.

Poichéε = [x1 − x1 x2 − x2 · · · xn − xn]

T,

ǫ =

[x1 − x1

x1

x2 − x2x2

· · · xn − xnxn

]T,

si può scrivere in modo compatto

εin ≃ J(x) ε,

ǫin ≃ Γ(x) ǫ,

ove J(x) è la matrice Jacobiana della F nel punto x e

Γ(x) =[γij], γij =

xjFi(x)

∂Fi∂xj

(x).

Da quanto precede (in particolare dalla Definizione 13), riferendoci per fissarele idee agli errori relativi, si ha quindi che

∣∣γij∣∣ può essere riguardato come un

indicatore di quanto, nel punto x, l’errore sul j-esimo dato può influire sull’i-esimo risultato (numero di condizionamento di posto ij nel punto x) e che‖Γ(x)‖ può essere riguardato come un indicatore globale di quanto, nel punto x,gli errori sul dato x possono influire sul risultato (numero di condizionamentoglobale nel punto x). Scriveremo:

(condij F ) (x) =∣∣γij

∣∣ ,

(condF ) (x) = ‖Γ(x)‖ .Ovviamente, l’informazione data da ‖Γ(x)‖ è molto meno fine di quella,

capillare, fornita dai∣∣γij

∣∣, anche (ma non solo) perché le norme livellano.

2.4. CANCELLAZIONE NUMERICA 15

2.4 Cancellazione numerica

Dalla teoria svolta, applicata ai PC elementari di somma algebrica, prodotto edivisione tra due numeri, si deduce facilmente che il massimo di |ǫc| può essererispettivamente stimato in

( |x1|+ |x2||x1 + x2|

+ 1

)u, per x1 + x2,

3u, per x1 ∗ x2,

3u, per x1/x2.

Se ne deduce che la somma algebrica risulta particolarmente pericolosa quandorisultati piccoli in modulo si ottengono da addendi grandi in modulo. In situ-azioni come questa si dice che si ha cancellazione numerica.

Ripetuta cancellazione numerica ⇄ instabilità dell’algoritmo.

È interessante osservare che l’analisi estesa alla somma di n numeri, non soloconferma l’estrema pericolosità della cancellazione numerica, ma mostra pureche l’errore algoritmico può essere limitato in modo più favorevole ordinando gliaddendi in ordine di valore assoluto non decrescente. È fortemente consigliabileseguire questa regola pratica per contenere l’errore algoritmico della somma,soprattutto quando il numero n degli addendi è elevato. Da notare come ancheun problema computazionale estremamente semplice come quello della sommadi n numeri possa subordinare algoritmi così diversamente stabili e come questopossa accadere per modifiche apparentemente del tutto insignificanti.

Un altro esempio di procedura che aumenta la stabilità di un algoritmo (vediCapitolo 6) è il riordinamento pivotale (parziale o totale) nell’algoritmo delleriduzioni successive di Gauss per la soluzione numerica di sistemi lineari.

16 CHAPTER 2. CONDIZIONAMENTO E STABILITÀ

Chapter 3

Soluzione numerica delleequazioni in R1

3.1 Notazioni e definizioni di base

Una equazione in R è di solito rappresentata nella forma:

f(x) = 0, f : E ⊆R→ f(E) ⊆ R . (3.0)

Talvolta però, può essere più conveniente la rappresentazione più generale

ψ(x) = ϕ(x), ψ,ϕ : D ⊆ R→ R . (3.0G)

Risolvere numericamente una equazione significa separare le radici dellaequazione alle quali si è interessati e poi approssimarle con la accuratezza richi-esta.

Definition 15 Si dice che ξ ∈ R è radice o soluzione della equazione (3.0) [cheξ ∈ R è radice o soluzione della equazione (3.0G)] se ξ ∈ E e risulta f(ξ) = 0[se ξ ∈ D e risulta ψ(ξ) = ϕ(ξ)].

Definition 16 Si dice che una radice ξ della equazione (3.0) [della equazione(3.0G)] è stata ”separata” se è stato determinato un intervallo contenente ξ manessuna altra radice di (3.0) [di (3.0G)].

3.2 Separazione grafica delle radici di una equa-zione

Di solito, la radice che interessa approssimare si può separare sulla base delleinformazioni che derivano dal problema concreto che ha suggerito la soluzionenumerica della equazione da trattare.

17

18 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

Quando non sia così, separazioni con intervalli spesso di ampiezza sorprendente-mente piccola si ottengono con metodi grafici, soprattutto se si usano opportuniaccorgimenti.

Le radici della equazione (3.0) [della equazione (3.0G)] sono infatti le ascissedei punti di intersezione del grafico della f con l’asse x [le ascisse dei punti diintersezione dei grafici della ψ e della ϕ] ed i predetti punti possono nei casi piùcomuni essere localizzati con sufficiente accuratezza usando le nozioni relativeallo studio dei grafici delle funzioni ed eventualmente la carta millimetrata.È sempre consigliabile tentare di passare ad una opportuna rappresentazione deltipo (3.0G) nella quale i grafici della ψ e della ϕ siano disegnabili più facilmentedi quelli delle funzioni che figurano nella rappresentazione originaria.

Exercise 3.2.1 Separare graficamente le radici delle seguenti equazioni

log(x2 ex) = 0,

x+ log(x) = 0,

x3 + log(x) = 0,

Se si usa il MATLAB, la funzione fplot fornisce un utilissimo strumento perla separazione delle radici.

3.3 Il metodo del punto unito

Un metodo molto usato e molto efficiente, se ben usato, per risolvere numerica-mente le equazioni è il metodo del punto unito. Una prima sommaria descrizionedi questo metodo può essere data dicendo che esso consiste nella esecuzione deiseguenti tre passi.

1) Si riscrive la equazione assegnata nella forma, del tipo (3.0G),

x = ϕ(x), ϕ : D ⊆ R→ ϕ(D) ⊆R . (3.1)

2) Si sceglie una approssimazione iniziale x(0) ∈ D della radice ξ che sidesidera approssimare.

3) Si itera la relazione ricorrente:

x(i) = ϕ(x(i−1)), i = 1, 2, . . . . (3.2)

Remark 8 (Sul punto 1)) La (3.1) è del tipo (3.0G) con ψ(x) ≡ x in D.Le radici della (3.1) sono quei numeri reali ξ ∈ D tali che ξ = ϕ(ξ) e dunque

sono i ”punti uniti” della trasformazione x → ϕ(x), di punti di D in punti diϕ(D) determinata dalla ϕ e, graficamente, le ascisse dei punti di intersezionedel grafico della ϕ con la bisettrice.

Al momento, l’unica condizione da rispettare nel riscrivere la equazione dipartenza nella forma (3.1) è che, denotata con ξ la radice della equazione di

3.3. IL METODO DEL PUNTO UNITO 19

partenza che si desidera approssimare, ξ sia radice anche della (3.1), ossia chesi abbia:

D ∋ ξ, ξ = ϕ(ξ). (3.3)

Esistono infiniti modi di realizzare questa condizione. Ad esempio, se laequazione di partenza è nella forma (3.0) - cosa che non è restrittivo supporre- si può considerare una arbitraria funzione m ovunque diversa da zero in unintorno Iξ di ξ:

m : Iξ → R , m(x) �= 0 per ogni x ∈ Iξ,

ed osservare chef(x) = 0, x ∈ Iξ ∩E ⇔

⇔m(x) f(x) = 0, x ∈ Iξ ∩E ⇔⇔ x = x+m(x) f(x), x ∈ Iξ ∩E.

Si ha così la ricercata forma (3.1) con ϕ(x) = x+m(x) f(x) e D = Iξ ∩E.Questa grande arbitrarietà nel riscrivere la equazione di partenza nella forma

(3.1) sarà sfruttata per ottenere buone prestazioni dal metodo.

Remark 9 (Sul punto 2)) La scelta della approssimazione iniziale x(0) va fattain modo appropriato. Nel seguito potremo essere più precisi. Per ora ci limiti-amo a dire che va scelta ”sufficientemente vicina” alla radice da approssimare.Eccellenti approssimazioni iniziali possono in genere essere ottenute usando lafunzione ginput del MATLAB.

Remark 10 (Sul punto 3)) Gli x(i) sono chiamati ”approssimazioni successive”della radice che si vuole approssimare. Evidentemente, si spera che:

3a) la relazione ricorrente (3.2) definisca una successione {x(i)}i=1,2,...; inaltre parole: per nessun valore di i ≥ 1, accada che x(i) /∈ D;

3b) la successione {x(i)}i=1,2,... converga alla radice ξ che si vuole approssi-mare.

Se la 3a) non fosse verificata, per un certo valore j ≥ 1 dell’indice i risul-terebbe x(j) /∈ D e la (3.2) definirebbe una ”sequenza” x(i), i = 1 : j − 1, e nonuna successione. In tal caso, nessuno degli x(i) della sequenza coinciderebbe conla radice ξ da approssimare ed esisterebbero allora certamente accuratezze nonrispettate da nessun elemento della sequenza nella approssimazione di ξ. Al con-trario, le 3a), 3b) assicurano che ξ può essere approssimata con una accuratezzaprefissata ad arbitrio.

Remark 11 Ovviamente, tutto dipenderà dalla ϕ e dalla approssimazione in-iziale x(0) scelte.Interpretando graficamente il metodo del punto unito ed osservando i grafici inFigura 3.1, è facile convincersi del fatto che tutte le seguenti situazioni sonopossibili:

la ϕ non è ben scelta perché le 3a), 3b) non sono mai verificate per nessunascelta di x(0) ∈ D, tranne che per la scelta x(0) = ξ o per una scelta di x(0), se

20 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

pure ne esistono, per la quale risulti x(i) = ξ per qualche i ≥ 1 (scelte questeche comunque non hanno alcun interesse nelle applicazioni);

la ϕ è ben scelta e le 3a), 3b) sono verificate per ogni x(0) ∈ D;

la ϕ è ben scelta ma le 3a), 3b) sono verificate solo per opportune scelte dix(0).

ϕ ϕ

ϕ

ϕ

ϕ

Figura 3.1

3.3. IL METODO DEL PUNTO UNITO 21

3.3.1 Quattro teoremi fondamentali

Vediamo ora alcuni teoremi che regolano l’uso del metodo del punto unito. Ilprimo è il seguente

Theorem 17 La relazione ricorrente (3.2) definisca una successione {x(i)}i=1,2,...convergente a ξ e la funzione ϕ sia continua in ξ. In queste ipotesi, il limite ξdella successione è radice della equazione (3.1).

Proof. Per le ipotesi fatte si può scrivere:

ξ = limi→∞

x(i) = limi→∞

ϕ(x(i−1)) = ϕ(ξ).

Si ha quindi ξ = ϕ(ξ) e questo conclude la dimostrazione.Questo teorema mette nelle ipotesi la gran parte delle cose che si desidera

che avvengano (manca solo la richiesta che ξ sia radice!). Tuttavia è importanteperché autorizza applicazioni del metodo alla portata di una larghissima utenzaed effettuate per tentativi: l’utente prova con varie scelte della equazione (3.1)e di x(0) nella speranza di trovare quelle che generino una sequenza di approssi-mazioni successive x(i) che si stabilizzino in una regione di continuità della ϕ elo convincano di stare convergendo ad un punto di questa regione. Se questoaccade, si arrestano le iterate quando sono verificate condizioni di convergenzanumerica o di arresto fissate in base alla accuratezza che si vuole ottenere.

In applicazioni di questo tipo manca ogni tipo di garanzia teorica. Anche ilcriterio di arresto delle iterate non potrà che essere approssimativo. Scelto unε > 0 appropriato, dipendente dalla accuratezza desiderata, si interromperannole iterate quando una o più di una (meglio più di una) delle seguenti condizioni

∣∣∣f(x(i))∣∣∣ < ε,

∣∣∣ψ(x(i))− ϕ(x(i))∣∣∣ < ε,

∣∣∣x(i) − x(i−1)∣∣∣ < ε,

sarà soddisfatta.Purtroppo, l’unica giustificazione teorica per questi criteri d’arresto risiede nelfatto che le funzioni coinvolte - rispettivamente la f (si veda la (3.0)), la ψ− ϕ(si veda la (3.0G)) e la ϕ − x (si veda la (3.1) e si osservi che x(i) − x(i−1) =ϕ(x(i−1)) − x(i−1)) - sono nulle e, generalmente, anche continue in ξ. Ma unafunzione continua può essere arbitrariamente piccola in valore assoluto in unintorno arbitrariamente grande di un suo zero. I criteri saranno dunque ab-bastanza adeguati nei casi più comuni ma, come è facile dimostrare portandoesempi, saranno talvolta all’origine di valutazioni del tutto errate.

Exercise 3.3.1 Portare esempi di casi in cui i criteri d’arresto appena discussipossono condurre ad errori rilevanti nella valutazione dell’errore

∣∣x(i) − ξ∣∣ o

addirittura a ritenere di avere sufficientemente approssimato una radice che inrealtà non esiste.

Chiameremo applicazioni per tentativi non garantiti le applicazioni del metododel punto unito eseguite sulla base del Teorema 17 secondo le modalità appenadescritte.

22 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

Una idea per pervenire a teoremi che diano invece condizioni sufficienti perl’esecuzione del metodo del punto unito in assoluta sicurezza può essere rica-vata da una analisi accurata delle figure 3.1.1-5. Da esse si deduce infatti facil-mente che ”le cose vanno bene” se la funzione ϕ è derivabile con derivata abbas-tanza piccola in modulo in un intorno della radice ξ che si vuole approssimare.Partendo da questa idea e raffinandola opportunamente, con dimostrazioni cheomettiamo, si perviene ai seguenti due teoremi.

Theorem 18 L’insieme D in (3.1) sia un intervallo chiuso e la funzione ϕ siacontinua in D e derivabile nei punti interni a D. Risulti inoltre ϕ(D) ⊆ D edesista una costante k < 1 tale da aversi:

|ϕ′(x)| ≤ k in ogni punto x interno a D.

In queste ipotesi, esiste una unica radice ξ della equazione (3.1) in D e sex(0) ∈ D la relazione ricorrente (3.2) definisce una successione {x(i)}i=1,2,...contenuta in D e convergente a ξ. Le approssimazioni successive x(i) verificanole condizioni: ∣∣∣x(i) − ξ

∣∣∣ ≤ ki

1− k

∣∣∣x(1) − x(0)∣∣∣ , i ≥ 1, (3.4)

∣∣∣x(i) − ξ∣∣∣ ≤ k

1− k

∣∣∣x(i) − x(i−1)∣∣∣ , i ≥ 1, (3.5)

∣∣∣x(i) − ξ∣∣∣ ≤ ki

∣∣∣x(0) − ξ∣∣∣ i ≥ 1. (3.6)

Remark 12 Anche se nelle applicazioni pratiche saremo essenzialmente inter-essati al caso in cui D sia l’intervallo chiuso e limitato [a, b], è bene sottolineare,per ragioni teoriche che saranno chiare nel Capitolo 6, che il teorema sussistenell’ipotesi più generale che D sia chiuso ma non necessariamente limitato. Inparticolare D può essere tutto lo spazio R.

Il teorema che segue risulta particolarmente utile nelle applicazioni, nellequali, generalmente, si hanno informazioni sulla radice ξ da approssimare checonsentono di separarla.

Theorem 19 Sia ξ una radice della equazione (3.1) ed esistano ρ > 0 e k < 1tali che:l’intorno I(ξ, ρ) di centro ξ e semi ampiezza ρ sia contenuto in D:

I(ξ, ρ) = {x ∈ R : |x− ξ| < ρ} ⊆ D;

la funzione ϕ sia derivabile in I(ξ, ρ) e risulti

|ϕ′(x)| ≤ k in ogni punto x di I(ξ, ρ). (3.7)

In queste ipotesi, ξ è l’unica radice della equazione (3.1) in I(ξ, ρ) e sex(0) ∈ I(ξ, ρ) la relazione ricorrente (3.2) definisce una successione {x(i)}i=1,2,...contenuta in I(ξ, ρ) e convergente a ξ. Le approssimazioni successive x(i) veri-ficano le condizioni (3.4), (3.5), (3.6) e

∣∣∣x(i) − ξ∣∣∣ ≤ ki ρ i ≥ 1. (3.8)

3.3. IL METODO DEL PUNTO UNITO 23

Il Teorema 19 ha semplici applicazioni nella pratica. Infatti, se le ipotesidel teorema sono verificate, una tipica situazione è la seguente: la condizione diderivabilità e la (3.7) valgono in un intervallo A ed ogni punto dell’intervallino Jcon il quale è stata separata la radice ξ è punto interno di A. In questa situazioneil teorema è certamente applicabile e la approssimazione iniziale x(0) può esserescelta per tentativi (tentativi garantiti dal fatto che il teorema assicura che es-istono infinite x(0) buone e pertanto ben diversi da quelli non garantiti effettuatisulla base del Teorema 17). Quasi sempre poi, l’intervallo A è abbastanza ampioda consentire anche di scegliere x(0) secondo le indicazioni contenute nell’enun-ciato. Basta infatti essere in grado di scegliere x(0) in modo che il simmetricodi x(0) rispetto a ξ sia in A quale che sia la posizione di ξ in J .

Con riferimento poi ad entrambi i Teoremi 18 e 19, è importante osservarequanto segue. La (3.6) e la

∣∣∣x(i) − ξ∣∣∣ ≤ k

∣∣∣x(i−1) − ξ∣∣∣ ,

che si ottiene facilmente applicando il teorema di Lagrange e la (3.7), mostranoche ki e k sono i massimi valori possibili dei rapporti

∣∣x(i) − ξ∣∣

∣∣x(0) − ξ∣∣ ,

∣∣x(i) − ξ∣∣

∣∣x(i−1) − ξ∣∣ ,

tra il valore assoluto dell’errore alla i−esima iterata ed il valore assoluto dell’er-rore iniziale e tra il valore assoluto dell’errore alla i−esima iterata ed il valoreassoluto dell’errore alla iterata precedente. Essi rappresentano quindi i guadagniminimi, in accuratezza, che il metodo garantisce in i iterate ed in una sola it-erata, rispettivamente. Pertanto, più piccolo è k, migliori sono le garanzie dirapidità della convergenza e di ottenere in poche iterate la accuratezza richiesta.Un esame accurato delle (3.4), (3.5), (3.8) porta poi alle medesime conclusioni.È quindi di grande interesse vedere come si possano definire speciali scelte dellafunzione ϕ in (3.1) che consentano la applicazione dei predetti teoremi con unacostante k piccola. Riprenderemo più avanti questa osservazione per svilupparla.

Una ulteriore interessante osservazione è la seguente. La (3.5) consente diconfermare le perplessità relative al criterio d’arresto

∣∣∣x(i) − x(i−1)∣∣∣ < ε, (3.9)

quando questo non sia supportato da adeguate argomentazioni teoriche, e diindividuare casi nei quali la valutazione dell’errore data da

∣∣x(i) − x(i−1)∣∣ può

risultare errata. Infatti, il rapporto k/(1−k) in (3.5) è > 1 per k > 1/2 e tendea +∞ per k → 1− e pertanto la valutazione dell’errore data da

∣∣x(i) − x(i−1)∣∣

può essere tanto più ottimistica quanto più k è prossimo a 1.Il teorema che segue analizza il comportamento dell’errore assoluto com-

plessivo x(i)∗ − ξ, x(i)∗ essendo, al solito, la versione da calcolo di x(i). Persemplicità si assume che il metodo del punto unito sia applicato secondo lemodalità che si evincono dal Teorema 19. Si suppone quindi, tra l’altro, che

x(0) ∈ I(ξ, ρ), {x(i)}i=1,2,... ⊆ I(ξ, ρ), limi→∞

x(i) = ξ.

24 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

Si denota poi con σ la precisione con la quale si può calcolare la funzione ϕnell’insieme I(ξ, ρ), si pone cioè (si veda ancora il Capitolo 1 per le notazioniusate):

|ϕ(x)− ϕ∗(x)| ≤ σ, per ogni x ∈ I(ξ, ρ).

La dimostrazione viene omessa.

Theorem 20 Il metodo del punto unito sia applicato secondo le modalità sta-bilite dal Teorema 19 e siano x(0) l’approssimazione iniziale di macchina e{x(i)∗}i=1:n, n ∈ N+, la sequenza di approssimazioni successive ottenute dacalcolo a partire da x(0). Inoltre siano verificate le condizioni:

x(0) ∈ I(ξ, ρ), (3.10)

σ < (1− k) ρ. (3.11)

In queste ipotesi, per ogni prefissato n ∈ N+, la sequenza {x(i)∗}i=1:n ècontenuta in I(ξ, ρ) e si ha:

∣∣∣x(i)∗ − ξ∣∣∣ ≤ ki

∣∣∣x(0) − ξ∣∣∣+ ki

∣∣∣x(0) − x(0)∣∣∣+ σ

1− k, i = 1 : n. (3.12)

Nel secondo membro della (3.12), il primo addendo è la maggiorazione delvalore assoluto dell’errore assoluto teorico e, come facilmente si intuisce, il sec-ondo ed il terzo addendo sono, nell’ordine, maggiorazioni dei valori assoluti deglierrori assoluti inerente ed algoritmico.

Il risultato fornito dal teorema è molto positivo.Infatti, l’ipotesi (3.10) è da ritenere praticamente scontata. Inoltre, come

è facile mostrare con degli esempi concreti, l’insieme dei valori di k per i qualil’ipotesi (3.11) è da ritenere poco restrittiva e le maggiorazioni degli errori dicalcolo molto favorevoli include valori così prossimi a 1 da sconsigliare la ap-plicazione del metodo perché quei valori di k non assicurano una accettabilerapidità di convergenza a zero dell’errore teorico.

In altre parole, applicazioni del metodo dovranno essere scartate per un in-soddisfacente esito dell’esame dell’errore teorico molto prima che sorgano com-plicazioni derivanti dagli errori inerente ed algoritmico: se si sarà stimato posi-tivamente il comportamento dell’errore teorico, tutto andrà bene.

Più in dettaglio poi, si può sottolineare che la maggiorazione dell’errore iner-ente è molto più soddisfacente di quella dell’errore teorico, perché

∣∣x(0) − x(0)∣∣

sarà molto minore di∣∣x(0) − ξ

∣∣, e che l’errore algoritmico si mantiene limitatoquale che sia n ∈N+.

Remark 13 Si noti che anche le maggiorazioni degli errori assoluti inerente ealgoritmico, come quelle dell’errore assoluto teorico, sono tanto più favorevoliquanto più la costante k è piccola.

3.3. IL METODO DEL PUNTO UNITO 25

3.3.2 Ulteriori osservazioni ed un ultimo teorema in ipote-si più restrittive

È interessante osservare quanto segue. Si è già accennato al fatto che, nelleipotesi del Teorema 18 [del Teorema 19], si può applicare il teorema di Lagrangein ogni intervallo contenuto in D [contenuto in I(ξ, ρ)]. Pertanto si può scrivere

x(i) − ξ = ϕ′(ηi−1) (x(i−1) − ξ), ηi−1 tra x(i−1) e ξ, i = 1, 2, . . . . (3.13)

Questo comporta tra l’altro che:nella ipotesi ulteriore che risulti ϕ′(x) > 0 per ogni x interno a D [per ogni

x ∈ I(ξ, ρ)] la successione {x(i)}i=1,2,... sarà monotona, strettamente crescentese x(0) < ξ, strettamente decrescente se x(0) > ξ, e le approssimazioni successivex(i) saranno pertanto tutte per difetto o tutte per eccesso;

nella ipotesi ulteriore che risulti ϕ′(x) < 0 per ogni x interno a D [per ognix ∈ I(ξ, ρ)] la successione {x(i)}i=1,2,... darà approssimazioni successive perdifetto alternate ad approssimazioni successive per eccesso, cosicché si avrà

∣∣∣x(i) − ξ∣∣∣ <

∣∣∣x(i) − x(i−1)∣∣∣ , i = 1, 2, . . . , (3.14)

ed il criterio d’arresto (3.9), più volte discusso, risulterà, in queste ipotesi uneccellente criterio a costo zero.

È spesso utile anche il seguente

Theorem 21 Sia ξ una radice della equazione (3.1) ed esista un intorno Iξ di ξnel quale la funzione ϕ sia derivabile con derivata continua nel punto ξ. Inoltrerisulti

|ϕ′(ξ)| < 1.

In queste ipotesi, per opportuni valori di ρ e k, sono verificate le ipotesi delTeorema 19.

Proof. Sia k una qualunque costante tale da aversi: |ϕ′(ξ)| < k < 1. Latesi segue dall’osservare che si ha |ϕ′(ξ)| − k < 0 e che le ipotesi consentonol’applicazione del teorema della permanenza del segno, nel punto ξ, alla funzione|ϕ′| − k.

Exercise 3.3.2 Risolvere numericamente le equazioni dell’Esercizio 3.2.1.

3.3.3 Ancora sulla rapidità di convergenza

In questa Sezione 3.3.3 torniamo ad occuparci della rapidità di convergenzasupponendo verificate le ipotesi del Teorema 18 con la aggiunta della ipotesidi continuità della ϕ′ nella radice ξ, oppure le ipotesi del Teorema 19 con laaggiunta della ipotesi di continuità della ϕ′ nella radice ξ, oppure le ipotesi delTeorema 21.

Queste ipotesi sono molto frequentemente soddisfatte nelle applicazioni delpunto unito e consentono le considerazioni che seguono, nello sviluppare le quali

26 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

si suppone che x(0) sia stato scelto secondo le indicazioni del teorema consideratoe che pertanto la successione {x(i)}i=1,2,... sia convergente a ξ.

In generale, se la condizione ϕ′(ξ) = 0 non sarà stata imposta ed ottenuta inqualche modo, risulterà ϕ′(ξ) �= 0. In questo caso, l’ipotesi di continuità dellaϕ′ nella radice ξ consente di migliorare l’informazione contenuta nella (3.13)scrivendo

x(i) − ξ = ϕ′(ηi−1) (x(i−1) − ξ), ηi−1 tra x(i−1) e ξ, i = 1, 2, . . . ,

x(i) − ξ ≃ ϕ′(ξ) (x(i−1) − ξ),∣∣∣x(i) − ξ

∣∣∣ ≃ |ϕ′(ξ)|∣∣∣x(i−1) − ξ

∣∣∣ ,

e le ultime due relazioni dicono che l’errore successivo sarà asintoticamente pro-porzionale all’errore precedente secondo la costante di proporzionalità ϕ′(ξ) eche il valore assoluto dell’errore successivo sarà asintoticamente proporzionaleal valore assoluto dell’errore precedente secondo la costante di proporzionalità|ϕ′(ξ)|. In sostanza, per i sufficientemente grande (di solito fin dalle primeiterate) la proporzionalità sarà praticamente soddisfatta.Una convergenza di questo tipo si dice lineare ed ovviamente è tanto più fa-vorevole quanto più piccola è la costante di proporzionalità |ϕ′(ξ)|. In ogni casosarà caratterizzata da un valore sostanzialmente costante, nel corso delle iter-ate, del rapporto fra il numero delle cifre decimali esatte che si guadagnano edil numero delle iterate impiegate a guadagnarle. La costante |ϕ′(ξ)| potrà esserestimata, se si hanno informazioni sulla posizione di ξ, calcolando ϕ′ in un puntoabbastanza vicino alla radice e la stima consentirà di avere una informazionesulla rapidità di convergenza del metodo in generale migliore di quella data dallacostante k.

Le cose vanno in modo completamente diverso nel caso ϕ′(ξ) = 0. In questocaso, l’ipotesi di continuità della ϕ′ nella radice ξ consente di migliorare l’infor-mazione contenuta nella (3.13) scrivendo

limi→∞

∣∣x(i) − ξ∣∣

∣∣x(i−1) − ξ∣∣ = lim

i→∞

∣∣ϕ′(ηi−1)∣∣ = |ϕ′(ξ)| = 0

e questa relazione di limite dice che l’errore successivo è un infinitesimo di ordinesuperiore rispetto a quello precedente.Una convergenza di questo tipo si dice super-lineare ed è caratterizzata dauna accelerazione progressiva nella convergenza: il rapporto fra errore succes-sivo ed errore precedente, in valore assoluto, diventa definitivamente minore diqualunque ε > 0 sia stato prefissato.

Un tipo particolare di convergenza super-lineare è la convergenza di ordiner, r > 1. Si ha convergenza di ordine r, r > 1, se

x(i) − ξ = O(∣∣∣x(i−1) − ξ

∣∣∣r)

.

Evidentemente, più grande è r e migliore è l’informazione sulla rapidità di con-vergenza.

3.3. IL METODO DEL PUNTO UNITO 27

La convergenza di ordine 2 è detta anche quadratica. Quella di ordine 3 èdetta anche cubica. Dalla prima ci si può aspettare, asintoticamente, il rad-doppio della cifre decimali esatte ad ogni iterata. Dalla seconda che, asintotica-mente, le cifre decimali esatte triplichino ad ogni iterata.

Criterio d’arresto nel caso di convergenza super-lineare

Un altro aspetto favorevole della convergenza super-lineare sta nel fatto che essaimplica la validità della seguente relazione di limite

limi→∞

∣∣x(i) − x(i−1)∣∣

∣∣x(i−1) − ξ∣∣ = 1.

Ne segue che per i sufficientemente grande (di solito fin dalle prime iterate)∣∣x(i) − x(i−1)∣∣ sarà una buona stima dell’errore precedente

∣∣x(i−1) − ξ∣∣ e che

pertanto, tenuto anche conto del fatto che la convergenza è super-lineare, ilcriterio d’arresto (3.9) sarà molto affidabile.Infatti si potrà ritenere ε >

∣∣x(i) − x(i−1)∣∣ ≈

∣∣x(i−1) − ξ∣∣ e∣∣x(i) − ξ

∣∣ sarà consis-tentemente più piccolo di

∣∣x(i−1) − ξ∣∣ perché la convergenza è super-lineare. Nel

caso di convergenza quadratica, ad esempio, sarà∣∣x(i) − ξ

∣∣ = O(∣∣x(i−1) − ξ

∣∣2)≈

O(ε2).

Si ha dunque anche il vantaggio di un criterio d’arresto affidabile a costozero.

L’importanza di questo vantaggio si apprezza a pieno se si osserva che, nelcaso di convergenza super-lineare, ogni valutazione della rapidità di convergenzaeffettuata calcolando ϕ′ in punti sufficientemente vicini a ξ o determinando valoridella costante k risulterebbe inevitabilmente inadeguata per la definizione stessadi convergenza super-lineare.

La relazione di limite si prova partendo dalla

| |x′| − |x′′| | ≤ |x′ ± x′′| .

(È questa una diseguagliaza valida in qualsiasi spazio lineare normato, essendola

| ‖x′‖ − ‖x′′‖ | ≤ ‖x′ ± x′′‖una conseguenza della definizione di norma.)

Infatti, questa diseguaglianza consente di scrivere∣∣∣∣∣∣x(i) − x(i−1)

∣∣∣−∣∣∣x(i−1) − ξ

∣∣∣∣∣∣ ≤

∣∣∣x(i) − ξ∣∣∣

e poi ∣∣∣∣∣

∣∣x(i) − x(i−1)∣∣

∣∣x(i−1) − ξ∣∣ − 1

∣∣∣∣∣ ≤∣∣x(i) − ξ

∣∣∣∣x(i−1) − ξ

∣∣ .

Questo prova la relazione di limite perché, essendo per ipotesi la convergenzasuper-lineare, il secondo membro tende a zero per i→∞.

28 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

3.3.4 Il metodo di Newton

Quanto visto nella sezione precedente suggerisce anche una strategia per costru-ire un metodo del punto unito a convergenza almeno super-lineare.

L’idea suggerita è evidentemente quella di realizzare una tale costruzioneeffettuando la trasformazione della equazione (3.0) nella equazione (3.1) in mododa pervenire ad una funzione ϕ che verifichi le ipotesi del Teorema 21 in unintorno della radice ξ che si vuole approssimare e che soddisfi in aggiunta lacondizione ϕ′(ξ) = 0.

In effetti, seguendo questa idea si perviene ad uno dei modi possibili di intro-durre uno dei metodi della Analisi Numerica più conosciuti ed usati: il metododi Newton. Si può infatti usare per effettuare la trasformazione della equazione(3.0) nella equazione (3.1) la procedura generale introdotta nella Osservazione8 e sfruttarne la generalità per imporre le condizioni desiderate.

Poniamo quindiϕ(x) = x+m(x) f(x),

ed eseguiamo alcuni passaggi su questa espressione generale della ϕ senza starevia via a precisare le ipotesi da fare per poterli effettuare, riservandoci di rac-cogliere tali ipotesi alla fine del ragionamento, nella sezione intitolata: ”I teoremifondamentali sul metodo di Newton”. Scriviamo allora:

ϕ′(x) = 1 +m′(x) f(x) +m(x) f ′(x),

e poi, in virtù del fatto che f(ξ) = 0 perché ξ è radice,

ϕ′(ξ) = 1 +m(ξ) f ′(ξ).

Imponiamo poi la condizione ϕ′(ξ) = 0,

1 +m(ξ) f ′(ξ) = 0,

ricaviamo da questa m(ξ) = −1/f ′(ξ) e assumiamo quindi m = −1/f ′.Perveniamo in tal modo alla funzione ϕ così definita:

ϕ(x) = x− f(x)

f ′(x)

ed alla equazione del tipo (3.1):

x = ϕ(x) = x− f(x)

f ′(x). (3.15)

Questa è l’equazione del tipo (3.1) del metodo di Newton. La relazionericorrente (3.2) assume la forma

x(i) = x(i−1) − f(x(i−1))

f ′(x(i−1)), i = 1, 2, . . . . (3.16)

3.3. IL METODO DEL PUNTO UNITO 29

Interpretazione grafica del metodo di Newton

Se scriviamo l’equazione della retta tangente al grafico della f nel punto ap-prossimazione precedente x(i−1) otteniamo

y − f(x(i−1)) = f ′(x(i−1)) (x− x(i−1)).

Se f ′(x(i−1)) �= 0, questa retta interseca l’asse della ascisse ed è immediato ver-ificare che l’intersezione avviene nel punto x(i). Per questa sua interpretazionegeometrica il metodo di Newton prende anche il nome di metodo delle tangenti.

Presentazione del metodo di Newton col teorema del differenziale

Se approssimiamo l’incremento f(x)−f(x(i−1)) col differenziale nel punto x(i−1)

f ′(x(i−1)) (x− x(i−1)) otteniamo

f(x) ≈ f(x(i−1)) + f ′(x(i−1)) (x− x(i−1)).

Se poi sostituiamo l’equazione non lineare (3.0) con l’equazione linearizzata chesi ottiene uguagliando a zero il secondo membro di questa uguaglianza approssi-mativa, abbiamo linearizzato il problema non lineare di partenza e siamo per-venuti alla medesima equazione approssimata cui si perviene ragionando comenella sezione precedente, ossia alla equazione

f(x(i−1)) + f ′(x(i−1)) (x− x(i−1)) = 0.

Si può quindi presentare il metodo di Newton anche dicendo che l’i−esima iter-azione del metodo consiste nel risolvere l’equazione approssimata che si ottienelinearizzando nel punto x(i−1) l’equazione (3.0).

I teoremi fondamentali sul metodo di Newton

Raccogliamo ora tutte le ipotesi che abbiamo tacitamente usato negli argomentisvolti fino a qui nell’intento di pervenire ad una funzione ϕ che verifichi leipotesi del Teorema 21 in un intorno della radice ξ che si vuole approssimare eche soddisfi in aggiunta la condizione ϕ′(ξ) = 0. Limando per quanto possibilequeste ipotesi, perveniamo alla conclusione che i predetti argomenti provano laconvergenza super-lineare del metodo di Newton se

i) in un intorno Iξ della radice ξ la funzione f è dotata di derivata secondalimitata e si ha f ′(ξ) �= 0.

È dunque interessante osservare che, procedendo in altro modo e sfruttandola particolare espressione della funzione ϕ in (3.15), si possono dimostrare irisultati raccolti nei due teoremi che seguono. Infatti, il primo dei due teo-remi prova la convergenza super-lineare del metodo di Newton in ipotesi menorestrittive della i) ed il secondo prova che nella ipotesi i) la convergenza delmetodo di Newton è addirittura quadratica. La dimostrazione dei due teoremiviene omessa.

30 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

Theorem 22 Sia ξ una radice della equazione (3.0) ed esista un intorno Iξ delpunto ξ nel quale la funzione f sia di classe C1: f ∈ C1(Iξ). Inoltre risultif ′(ξ) �= 0.

In queste ipotesi, esiste un intorno Uξ del punto ξ, Uξ ⊆ Iξ, tale che sex(0) ∈ Uξ la relazione ricorrente (3.16) definisce una successione {x(i)}i=1,2,...contenuta in Uξ e convergente a ξ. La convergenza è super-lineare.

Theorem 23 Sia ξ una radice della equazione (3.0) ed esista un intorno Iξ delpunto ξ nel quale la funzione f sia dotata di derivata seconda limitata. Inoltrerisulti f ′(ξ) �= 0.

In queste ipotesi, esiste un intorno Uξ del punto ξ, Uξ ⊆ Iξ, tale che sex(0) ∈ Uξ la relazione ricorrente (3.16) definisce una successione {x(i)}i=1,2,...contenuta in Uξ e convergente a ξ. La convergenza è quadratica.

Remark 14 Esistono casi in cui la convergenza del metodo di Newton è solosuper-lineare e non quadratica, ma si tratta di casi costruiti ad arte.

Anche il teorema che segue è importante. Esso insegna infatti a scegliereuna approssimazione iniziale x(0) che assicura la convergenza senza dover primadeterminare l’intorno Uξ di cui si afferma l’esistenza nei teoremi precedenti.L’interesse del teorema deriva dal fatto che esso richiede ipotesi molto frequente-mente soddisfatte nelle applicazioni. Infatti richiede che

h) esista un intervallo [a, b] tale che f ∈ C1[a, b], si abbia f(a) f(b) < 0 e laf sia concava [oppure: convessa] in [a, b].

Quando l’ipotesi h) è verificata, uno (soltanto) dei due estremi dell’intervallo[a, b] è tale che la curva di equazione y = f(x), x ∈ [a, b], volge verso di esso lasua convessità, ossia che vede la convessità della curva. Questo estremo prendeil nome di estremo di Fourier dell’intervallo [a, b].

Ciò premesso, ecco l’enunciato del teorema.

Theorem 24 Nell’ipotesi h), l’equazione (3.0) ha una unica radice ξ nell’in-tervallo (a, b) e, se la approssimazione iniziale x(0) è scelta coincidente conl’estremo di Fourier dell’intervallo [a, b], la relazione ricorrente (3.16) definisceuna successione {x(i)}i=1,2,... monotòna (strettamente crescente se x(0) = a,strettamente decrescente se x(0) = b) e convergente a ξ. La convergenza è superlineare.

Proof. Dimostriamo il teorema nel caso:

f(a) < 0, f(b) > 0, f convessa in [a, b].

La dimostrazione degli altri casi possibili è del tutto analoga e si ottiene daquella che faremo con ovvie modifiche.

L’esistenza di una radice ξ in [a, b] segue immediatamente dal teorema deglizeri.

L’unicità della radice in [a, b] si prova sfruttando l’ipotesi della convessitàdella funzione in [a, b] ed osservando che questa implica la crescenza di f ′ in

3.3. IL METODO DEL PUNTO UNITO 31

[a, b]. L’esame di tutti i casi possibili conduce facilmente alla dimostrazionedella unicità ed anche alla informazione più precisa

+) l’unica radice ξ è interna ad un intervallo (c, b], a ≤ c < b, nel qualerisulta f ′ > 0:

∃ c : a ≤ c < ξ < b, f ′ > 0 in (c, b],

che tornerà ripetutamente utile tra poco.Sia ora x(0) uguale all’estremo di Fourier, che nel caso che stiamo con-

siderando, è l’estremo b. Si ha

x(1) = x(0) − f(x(0))

f ′(x(0))= b− f(b)

f ′(b)

e dall’ipotesi f(b) > 0 e dall’asserto in +) si deduce immediatamente che x(1) <x(0) = b. D’altra parte, ricordando il significato geometrico del metodo diNewton e l’ipotesi fatta di convessità della f , si riconosce facilmente che deveessere f(x(1)) > 0, e di conseguenza, ancora in virtù dell’asserto in +), x(1) > ξ.In conclusione:

c < ξ < x(1) < x(0) = b.

Il ragionamento può essere ripetuto una prima volta sostituendo x(0) = bcon x(1) e provando che

c < ξ < x(2) < x(1) < x(0) = b

e successivamente sostituendo x(i−1) con x(i), i = 2, 3, . . . , e provando che

c < ξ < x(i+1) < x(i) < x(0) = b, i = 1, 2, . . . .

La (3.16) genera dunque una successione monotòna, strettamente decres-cente, limitata inferiormente ed interamente contenuta in (ξ, b]. Si ha quindi

limi→∞

x(i) = ξ = infi

x(i) ≥ ξ,

ma deve necessariamente essere ξ = ξ in virtù del Teorema 17 perché ξ ∈ [ξ, b]e la funzione ϕ in (3.15) è continua in (c, b] ⊃ [ξ, b] per l’ipotesi f ∈ C1[a, b] eper l’asserto in +). La dimostrazione è pertanto conclusa.

Conseguenza immediata dei teoremi precedenti è il seguente

Theorem 25 La f sia dotata della derivata seconda limitata in [a, b], sia f(a) f(b)< 0, sia f ′′ ≥ 0 in [a, b] [oppure: sia f ′′ ≤ 0 in [a, b]] e non esista alcun inter-vallo contenuto in [a, b] in cui sia f ′′ ≡ 0. In queste ipotesi, l’equazione (3.0) hauna unica radice ξ nell’intervallo (a, b) e, se la approssimazione iniziale x(0) èscelta coincidente con l’estremo di Fourier dell’intervallo [a, b], la relazione ri-corrente (3.16) definisce una successione {x(i)}i=1,2,... monotòna (strettamentecrescente se x(0) = a, strettamente decrescente se x(0) = b) e convergente a ξ.La convergenza è quadratica.

Exercise 3.3.3 Applicare il metodo di Newton alla soluzione numerica delleequazioni dell’Esercizio 3.2.1.

32 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

3.3.5 Modifiche al metodo di Newton

Il metodo di Newton converge quadraticamente in ipotesi che sono tutt’altroche restrittive ed in pratica parimenti restrittive rispetto a quelle richieste daimetodi a convergenza soltanto lineare.Anzi, si può osservare, a questo proposito, che esso, oltre alla convergenzaquadratica, offre all’utente vantaggi pratici che un metodo a convergenza linearenon è in generale in grado di assicurare. Infatti:

1) salvo caso casi estremamente particolari, sarà soddisfatta l’ipotesi h) for-mulata nella sezione precedente e pertanto l’utente potrà scegliere molto agevol-mente, secondo le modalità precisate dai Teoremi 24 e 25, una approssimazioneiniziale che assicuri la convergenza;

2) il Teorema 19 sarà applicabile con un valore di k molto piccolo perché sottoipotesi largamente verificate nelle applicazioni (per esempio quelle del Teorema23) si avrà ϕ′ continua e nulla in ξ, e pertanto il Teorema 20 garantirà unaeccellente stabilità dell’algoritmo (forte stabilità del metodo di Newton);

3) in virtù di quanto osservato nella sezione intitolata: ”Criterio d’arrestonel caso di convergenza super-lineare”, è disponibile un criterio d’arresto efficaceed a costo zero;

4) sotto condizioni ampiamente verificate nella pratica (si veda la Sezione3.3.6), il metodo converge, sia pure solo linearmente, anche se dovesse risultaref ′(ξ) = 0;

5) le condizioni da verificare si riducono in sostanza, tenendo conto anchedi quanto osservato nel punto precedente, al solo controllo di una sufficienteregolarità della f e la loro verifica è apprezzabilmente più semplice da eseguirerispetto a quella delle condizioni richieste dai teoremi della Sezione 3.3.1, le qualigarantirebbero poi una convergenza solo lineare;

6) mentre nel caso di una generica scelta della equazione (3.1) le condizionisufficienti per la convergenza, che sarebbe solo lineare, sono soddisfatte, se losono, soltanto nell’intorno di alcune delle radici, l’equazione in (3.15) è in prat-ica utilizzabile senza alcun cambiamento per approssimare tutte le radici internealla regione in cui la f in (3.0) è di classe opportuna: basta solo variare oppor-tunamente la scelta di x(0) per trovarle tutte.

L’unico prezzo da pagare per avere tutti questi vantaggi è, in R1, quellodi una maggiore complessità computazionale. Infatti Newton richiede il cal-colo della f e della f ′ ad ogni iterata mentre metodi a convergenza lineare oaddirittura super-lineare possono essere costruiti in modo che richiedano soloil calcolo della f ad ogni passo. Newton costa dunque, generalmente, grossomodo il doppio e di conseguenza metodi a convergenza anche solo lineare, seben costruiti (k, o |ϕ′(ξ)|, sufficientemente piccola), possono risultare talvoltacompetitivi o addirittura preferibili nel senso che, pur impiegando un maggiornumero di iterate per conseguire la accuratezza desiderata, può capitare cherichiedano un minor tempo di esecuzione.Metodi di questo tipo si ottengono facilmente modificando opportunamente larelazione ricorrente (3.16) del metodo di Newton.

L’idea base è molto semplice. Nella (3.16) si sostituisce la derivata f ′(x(i−1))

3.3. IL METODO DEL PUNTO UNITO 33

della f nel punto x(i−1) con una sua approssimazione mi−1 che richieda soloil calcolo della f nel punto x(i−1) o addirittura con una sua approssimazionemi−1 = m indipendente da i e calcolata una volta per tutte. Si perviene in talmodo a relazioni ricorrenti del tipo

x(i) = x(i−1) − f(x(i−1))

mi−1, mi−1 ≈ f ′(x(i−1)), i = 1, 2, . . . .

Riportiamo tre esempi. I primi due sono esempi di metodi a convergenza lin-eare. Il terzo esempio è particolarmente interessante perché introduce un serioantagonista del metodo di Newton in quanto costa come un metodo a conver-genza lineare ma converge super-linearmente (ma non quadraticamente). Tuttie tre i metodi possono essere applicati con successo nelle ipotesi del Teorema 22che supporremo tacitamente verificate per tutte e tre le sezioni che seguono. Ledimostrazioni dei teoremi che saranno enunciati nelle tre sezioni sono omesse.

Newton modificato

Consiste nel porre mi−1 = m = f ′(ξ), ove ξ è una approssimazione della radiceξ.

La relazione ricorrente è pertanto

x(i) = x(i−1) − f(x(i−1))

m, i = 1, 2, . . . , m = f ′(ξ),

e la funzione ϕ in (3.2) è la seguente

ϕ : ϕ(x) = x− f(x)

m, m = f ′(ξ).

Poiché

ϕ′(ξ) = 1− f ′(ξ)

f ′(ξ),

il metodo è competitivo con Newton se si riesce a rendere il rapporto

f ′(ξ)

f ′(ξ)

molto prossimo a 1 scegliendo il punto ξ sufficientemente vicino a ξ.In genere si cerca di ottenere un valore del rapporto appena maggiore di 1

in modo da avere |ϕ′(ξ)| molto piccolo e ϕ′ < 0 in un intorno della radice. Cosìrisulterà definitivamente verificata la (3.14) e, oltre ad avere una convergenzalineare molto rapida, si avrà anche il notevole vantaggio di poter usare, conottima resa, il criterio d’arresto (3.9), più volte discusso.

Spesso x(0) e ξ sono scelti coincidenti.

34 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

Una modifica meno economica della precedente ma più vicina al metodo orig-inale e quindi alla convergenza quadratica consiste nell’iterazione della relazionericorrente

x(i) = x(i−1) − f(x(i−1))

f ′(x(q)), q =

[i− 1

p

]p, p ∈ N+, i = 1, 2, . . . ,

ove [x] denota la parte intera di x. Questa modifica richiede il calcolo delladerivata f ′ ogni p iterate. Per p = 1 essa coincide col metodo di Newton e seinvece p è abbastanza grande e la convergenza numerica è raggiunta in meno dip+ 1 iterate essa ricade nella modifica precedente, effettuata con x(0) = ξ.

Il metodo della ”regula falsi”

Consiste nel porre

mi−1 =f(x(i−1))− f(ξ)

x(i−1) − ξ, i = 1, 2, . . . ,

ove ξ è una approssimazione della radice ξ.La relazione ricorrente è pertanto

x(i) = x(i−1) − f(x(i−1))

f(x(i−1))− f(ξ)

(x(i−1) − ξ

), i = 1, 2, . . . ,

e la funzione ϕ in (3.2) è la seguente

ϕ : ϕ(x) = x− f(x)

f(x)− f(ξ)

(x− ξ

).

È facile riconoscere che l’approssimazione successiva x(i) è l’ascissa del puntodi intersezione dell’asse x con la secante al grafico y = f(x) per i punti (ξ, f(ξ)) e(x(i−1), f(x(i−1))), il primo prefissato ed il secondo relativo alla approssimazioneprecedente x(i−1).

Theorem 26 Nelle ipotesi del Teorema 22, esistono due intorni Vξ e Uξ delpunto ξ, Vξ ⊆ Iξ, Uξ ⊆ Iξ, tali che il metodo della regula falsi definisce unasuccessione contenuta in Uξ e convergente a ξ se ξ ∈ Vξ e l’approssimazioneiniziale x(0) ∈ Uξ. La convergenza è lineare.

Anche per questo metodo, come per quello di Newton, si può stabilire unteorema che insegna a prefissare un punto ξ ed a scegliere una approssimazioneiniziale x(0) che garantiscano la convergenza senza dover prima determinaregli intorni Vξ e Uξ. Le ipotesi sono quelle del Teorema 24, ossia del teoremaanalogo e relativo al metodo di Newton. Anche nel caso della regula falsi,quindi, è facile far convergere il metodo in condizioni frequentemente verificatenelle applicazioni.

3.3. IL METODO DEL PUNTO UNITO 35

Theorem 27 Nell’ipotesi h), se il punto ξ è prefissato coincidente con l’estremodi Fourier dell’intervallo [a, b] e l’approssimazione iniziale x(0) è scelta coin-cidente con l’altro estremo dell’intervallo, la relazione ricorrente del metododella regula falsi definisce una successione monotòna (strettamente crescente sex(0) = a, strettamente decrescente se x(0) = b) e convergente all’unica radice ξdella equazione (3.0) contenuta in (a, b). La convergenza è lineare.

Remark 15 Nelle ipotesi dei due teoremi appena enunciati la ϕ′ è continua inun intorno della radice, facili passaggi conducono alla

ϕ′(ξ) = 1− f ′(ξ)

f(ξ)

(ξ − ξ

)

e non è difficile riconoscere che si ha: ϕ′(ξ) = o(ξ − ξ). Pertanto il metododella regula falsi è competitivo con il metodo di Newton se si dispone di una ap-prossimazione ξ della radice ξ sufficientemente accurata da rendere ϕ′(ξ) moltoprossima a 0.

Nel caso del secondo dei due teoremi si può aggiungere che risulta 0 <ϕ′(ξ) < 1.

Il metodo delle secanti

Consiste nel porre

mi−1 =f(x(i−1))− f(x(i−2))

x(i−1) − x(i−2), i = 2, 3, . . . ,

La relazione ricorrente è pertanto

x(i) = x(i−1) − f(x(i−1))

f(x(i−1))− f(x(i−2))

(x(i−1) − x(i−2)

), i = 2, 3, . . . ,

È facile riconoscere che, in questo caso, l’approssimazione successiva x(i) èl’ascissa del punto di intersezione dell’asse x con la secante al grafico y = f(x)per i punti (x(i−1), f(x(i−1))) e (x(i−2), f(x(i−2))) relativi alle due approssi-mazioni precedenti x(i−1) e x(i−2).

Theorem 28 Nelle ipotesi del Teorema 22, esiste un intorno Uξ del punto ξ,Uξ ⊆ Iξ, tale che il metodo delle secanti definisce una successione contenuta inUξ e convergente a ξ se x(0) e x(1) sono distinti e scelti in Uξ. La convergenzaè di ordine r = (

√5 + 1)/2 = 1.618 . . . .

Remark 16 Conservando ad ogni iterata il valore f(x(i−1)) che servirà di nuovonella iterata successiva, si ottiene un metodo a convergenza super-lineare alcosto computazionale di uno a convergenza lineare. Il metodo delle secantisarà dunque competitivo col metodo di Newton, che nelle stesse ipotesi ha gen-eralmente convergenza quadratica, se per raggiungere la convergenza numericaimpiegherà meno del doppio delle iterate richieste da Newton.

Exercise 3.3.4 Applicare il metodo di Newton modificato, la regula falsi ed ilmetodo delle secanti alla soluzione numerica delle equazioni dell’Esercizio 3.2.1.

36 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

3.3.6 Il caso delle radici multiple

Tutti i teoremi delle sezioni 3.3.4 e 3.3.5 contengono tra le ipotesi la condizione

f ′(ξ) �= 0

o assumono ipotesi che la implicano. Si è soliti dire, quando questa condizioneè verificata, che la radice ξ è semplice.

Viene spontaneo domandarsi cosa si possa dire circa le prestazioni del metododi Newton e delle sue modifiche quando invece la radice ξ sia multipla, ossiaquando risulti

f ′(ξ) = 0.

In questa sezione rispondiamo sinteticamente a questa domanda e conside-riamo il caso generale di una radice di molteplicità µ ≥ 2, assumendo che siasoddisfatta la seguente ipotesi m):

m) ξ sia radice della equazione (3.0) ed esista un intorno Iξ del punto ξ taleche f ∈ Cµ(Iξ), µ ≥ 2, risultando inoltre:

f ′(ξ) = · · · = f (µ−1)(ξ) = 0, f(µ)(ξ) �= 0,f ′ �= 0 in Iξ\{ξ}.

In questa ipotesi la risposta alla domanda può essere riassunta brevementenei punti seguenti:

1. la rapidità di convergenza di tutti e quattro i metodi presentati nellesezioni 3.3.4 e 3.3.5 scade sensibilmente;

2. la convergenza risulta tanto più lenta quanto più è elevata la molteplicitൠdella radice da approssimare ed è praticamente inutilizzabile nel caso dimolteplicità elevate;

3. il metodo di Newton è quello che garantisce le prestazioni migliori;

4. nel caso delle modifiche del metodo di Newton sorgono difficoltà anche perquanto riguarda le scelte iniziali da effettuare (ξ per Newton modificato eper la regula falsi, x(0) e x(1) per le secanti).

Per quanto riguarda il metodo di Newton, sussistono i due teoremi cheseguono. Il secondo mostra come, con una semplice modifica della relazionericorrente (3.16), sia possibile ottenere una rapida convergenza anche nella ap-prossimazione di una radice multipla qualora si conosca la sua molteplicità µ.Omettiamo le dimostrazioni.

Theorem 29 Nell’ipotesi m) esiste un intorno Uξ del punto ξ, Uξ ⊆ Iξ, taleche la relazione ricorrente (3.16) del metodo di Newton definisce una successione{x(i)}i=1,2,... contenuta in Uξ e convergente a ξ se x(0) ∈ Uξ\{ξ}. La successioneè monotòna (strettamente crescente se x(0) < ξ, strettamente decrescente sex(0) > ξ. La convergenza è lineare e si ha

limi→∞

∣∣x(i) − ξ∣∣

∣∣x(i−1) − ξ∣∣ = 1− 1

µ.

3.3. IL METODO DEL PUNTO UNITO 37

Theorem 30 Nell’ipotesi m) esiste un intorno Uξ del punto ξ, Uξ ⊆ Iξ, taleche la relazione ricorrente

x(i) = x(i−1) − µf(x(i−1))

f ′(x(i−1)), i = 1, 2, . . .

definisce una successione {x(i)}i=1,2,... contenuta in Uξ e convergente a ξ sex(0) ∈ Uξ\{ξ}. La convergenza è super-lineare.

Purtroppo, difficilmente la molteplicità della radice da approssimare è notaa priori. È allora utile tenere presente il seguente

Theorem 31 Nell’ipotesi m) la radice ξ è una radice semplice della equazione

g(x) = 0, g : g(x) =

{f(x)/f ′(x) se x ∈ Iξ\{ξ}0 se x=ξ

.

Anche di questo teorema omettiamo la dimostrazione.

Exercise 3.3.5 Costruire esempi di equazioni con radici multiple ed applicareil metodo di Newton alla loro soluzione numerica.

3.3.7 Ancora sulla convergenza numerica

Nelle sezioni precedenti abbiamo visto come conviene scegliere il criterio d’ar-resto delle iterate a seconda delle diverse modalità di applicazione del metododel punto unito. Abbiamo però basato tali criteri sempre su valutazioni o mag-giorazioni dell’errore assoluto. Spesso, per le ragioni esposte a suo tempo, èpreferibile controllare gli errori relativi ed allora i criteri esaminati sopra neivari casi vengono conseguentemente modificati semplicemente moltiplicando laε che figura nei secondi membri per

∣∣x(i)∣∣. Si ottengono in tal modo le condizioni

∣∣∣x(i) − x(i−1)∣∣∣ < ε

∣∣∣x(i)∣∣∣ ,

∣∣∣f(x(i))∣∣∣ < ε

∣∣∣x(i)∣∣∣ ,

∣∣∣φ(x(i))− ϕ(x(i))∣∣∣ < ε

∣∣∣x(i)∣∣∣ ,

da usare nei procedimenti per tentativi non garantiti, la condizione

k

1− k

∣∣∣x(i) − x(i−1)∣∣∣ < ε

∣∣∣x(i)∣∣∣ ,

da preferire nel caso sia prevista la convergenza lineare, ed infine la condizione

∣∣∣x(i) − x(i−1)∣∣∣ < ε

∣∣∣x(i)∣∣∣ ,

consigliata per i casi di convergenza super-lineare.

38 CHAPTER 3. SOLUZIONE NUMERICA DELLE EQUAZIONI IN R1

3.4 Esempi ed esercizi

Exercise 3.4.1 Risolvere numericamente le seguenti equazioni

x+ 2 (log x− 1) = 0, x3 − sinx = 0, .1x− log x = 0,ex − x2 = 0, ex − 6x = 0, x− 4 log x = 0,

x− e−x2

= 0, x3 − e−x2

= 0, (x− 1)2 − log x = 0,

x3 = 1 + x+ x2, 1/x− e√x = 0, sinhx+ cosx = 0.

Example 32 Sotto opportune ipotesi, il metodo del punto unito applicato allaequazione

x = ϕ(x) = x− f(x)

f ′(x)− 1

2

f ′′(x) [f(x)]2

[f ′(x)]3

genera una successione convergente ad una radice della equazione (3.0) conordine di convergenza 3.

Exercise 3.4.2 Determinare le ipotesi sotto le quali il metodo del punto unitopresentato nell’esempio precedente ha ordine di convergenza 3.

Example 33 Sotto opportune ipotesi, il metodo del punto unito applicato allaequazione

x = ϕ(x) = x− f(x) f ′(x)

[f ′(x)]2 − 12f(x) f

′′(x)

genera una successione convergente ad una radice della equazione (3.0) conordine di convergenza 3.

Exercise 3.4.3 Determinare le ipotesi sotto le quali il metodo del punto unitopresentato nell’esempio precedente ha ordine di convergenza 3.

Exercise 3.4.4 Si assuma l’ipotesi m) formulata nella Sezione 3.3.6 e si di-mostrino le seguenti relazioni di limite

limx→ξ

f(x)

f ′(x)= 0, lim

x→ξ

f(x) f ′′(x)

[f ′(x)]2= 0.

Si usino poi le due relazioni di limite per dimostrare i teoremi presentatinella predetta sezione.

Chapter 4

Soluzione numerica delleequazioni in Rn

4.1 Notazioni e definizioni di base

Una equazione in Rn, n ≥ 1, nella forma più estesa, è di solito rappresentatanella forma:

f1(x1, x2, . . . , xn) = 0f2(x1, x2, . . . , xn) = 0· · · · · · · · · · · · · · ··fn(x1, x2, . . . , xn) = 0

,

ove le fi, i = 1 : n, sono n funzioni definite in un medesimo insieme E di Rn econ immagini in R:

fi : E ⊆ Rn → fi(E) ⊆R , i = 1 : n.

Spesso, per semplificare le notazioni, si usa anche scrivere, più brevemente

fi(x1, x2, . . . , xn) = 0, i = 1 : n,

o addirittura, in forma ancora più compatta,

f(x) = 0, f : E ⊆ Rn → f(E) ⊆ Rn , (4.0)

ove x = (x1, x2, . . . , xn) denota il generico punto di Rn, ed in questo caso di E,ed f è la funzione vettoriale che ha per componenti scalari le n funzioni scalarifi:

f : f(x) = (f1(x), f2(x), . . . , fn(x)), x ∈ E, f(x) ∈ f(E).

La rappresentazione (4.0), oltre al pregio della estrema semplicità, ha anchequello di ricondurre le notazioni a quelle usate nel capitolo precedente per il casoparticolare n = 1. Da essa deriva anche la estensione al caso generale n ≥ 1

39

40 CHAPTER 4. SOLUZIONE NUMERICA DELLE EQUAZIONI IN RN

del termine equazione, già usato sopra, per indicare brevemente quello che ingenerale è un sistema di n equazioni in n incognite.

Risolvere numericamente una equazione significa separare le radici dellaequazione alle quali si è interessati e poi approssimarle con la accuratezza richi-esta.

Definition 34 Si dice che ξ = (ξ1, ξ2, . . . ξn) ∈ Rn è radice o soluzione dellaequazione (4.0) se ξ ∈ E e risulta f(ξ) = 0, ossia, nella forma più estesa, seξ ∈ E e risulta

f1(ξ1, ξ2, . . . , ξn) = 0f2(ξ1, ξ2, . . . , ξn) = 0· · · · · · · · · · · · · · ··fn(ξ1, ξ2, . . . , ξn) = 0

.

4.2 Il metodo del punto unito

Una prima sommaria descrizione del metodo del punto unito è del tutto analogaa quella vista nel caso n = 1 e può essere data dicendo che il metodo consistenella esecuzione dei seguenti tre passi.

1) Si riscrive la equazione assegnata nella forma

x = ϕ(x), ϕ : D ⊆ Rn → ϕ(D) ⊆Rn. (4.1)

2) Si sceglie una approssimazione iniziale x(0) ∈ D della radice ξ che sidesidera approssimare.

3) Si itera la relazione ricorrente:

x(i) = ϕ(x(i−1)), i = 1, 2, . . . . (4.2)

Remark 17 (Sul punto 1)) La funzione ϕ in (4.1) è una funzione vettoriale.Indicate con ϕi, i = 1 : n, le sue funzioni scalari

ϕ : ϕ(x) = (ϕ1(x), ϕ2(x), . . . , ϕn(x)), x ∈ D,

la (4.1) si scrive per esteso

x1 = ϕ1(x1, x2, . . . , xn)x2 = ϕ2(x1, x2, . . . , xn)· · · · · · · · · · · · · · · · ·xn = ϕn(x1, x2, . . . , xn)

.

ξ = (ξ1, ξ2, . . . ξn) ∈ Rn è radice o soluzione della equazione (4.1) se ξ ∈ D erisulta ξ = ϕ(ξ), ossia, nella forma più estesa, se ξ ∈ D e risulta

ξ1 = ϕ1(ξ1, ξ2, . . . , ξn)ξ2 = ϕ2(ξ1, ξ2, . . . , ξn)· · · · · · · · · · · · · · · · ·ξn = ϕn(ξ1, ξ2, . . . , ξn)

.

4.2. IL METODO DEL PUNTO UNITO 41

Le radici della (4.1) sono dunque i ”punti uniti” della trasformazione x →ϕ(x), x ∈ D, determinata dalla ϕ.

Al momento, l’unica condizione da rispettare nel riscrivere la equazione dipartenza nella forma (4.1) è che, denotata con ξ la radice della equazione dipartenza che si desidera approssimare, ξ sia radice anche della (4.1), ossia chesi abbia:

D ∋ ξ, ξ = ϕ(ξ). (4.3)

Esistono infiniti modi di realizzare questa condizione. Ad esempio, se laequazione di partenza è nella forma (4.0) - cosa che non è restrittivo supporre- si può considerare una arbitraria funzione M definita in un intorno Iξ di ξ econ immagine nella varietà delle matrici invertibili di Rn×n:

M : Iξ → R n×n, M(x) matrice invertibile per ogni x ∈ Iξ,

ed osservare chef(x) = 0, x ∈ Iξ ∩E ⇔

⇔M(x) f(x) = 0, x ∈ Iξ ∩E ⇔⇔ x = x+M(x) f(x), x ∈ Iξ ∩E.

Si ha così la ricercata forma (4.1) con ϕ(x) = x+M(x) f(x) e D = Iξ ∩E. Informa scalare, denotati con mhk(x) gli elementi della matrice M(x), la funzioneϕ così ottenuta si scrive

xh = ϕh(x) = xh +n∑

k=1

mhk(x) fk(x), h = 1 : n.

Questa grande arbitrarietà nel riscrivere la equazione di partenza nella forma(4.1) sarà sfruttata per ottenere buone prestazioni dal metodo.

Remark 18 (Sul punto 2)) La scelta della approssimazione iniziale x(0) va fattain modo appropriato. Nel seguito potremo essere più precisi. Per ora ci limiti-amo a dire che va scelta ”sufficientemente vicina” alla radice da approssimare.

Remark 19 (Sul punto 3)) Gli x(i) sono chiamati ”approssimazioni successive”della radice che si vuole approssimare. Evidentemente, si spera che:

3a) la relazione ricorrente (4.2) definisca una successione {x(i)}i=1,2,...; inaltre parole: per nessun valore di i ≥ 1, accada che x(i) /∈ D;

3b) la successione {x(i)}i=1,2,... converga alla radice ξ che si vuole approssi-mare, ossia risulti, in una qualunque norma (le norme in Rn sono tutte tra loroequivalenti, si veda il Capitolo 1),

limi→∞

∥∥∥x(i) − ξ∥∥∥ = 0.

È facile riconoscere che questa relazione di limite vettoriale equivale alle n re-lazioni di limite scalari

limi→∞

x(i)j − ξj = 0, j = 1 : n.

42 CHAPTER 4. SOLUZIONE NUMERICA DELLE EQUAZIONI IN RN

Se la 3a) non fosse verificata, per un certo valore j ≥ 1 dell’indice i risul-terebbe x(j) /∈ D e la (4.2) definirebbe una ”sequenza” x(i), i = 1 : j − 1, e nonuna successione. In tal caso, nessuno degli x(i) della sequenza coinciderebbe conla radice ξ da approssimare ed esisterebbero allora certamente accuratezze nonrispettate da nessun elemento della sequenza nella approssimazione di ξ. Al con-trario, le 3a), 3b) assicurano che ξ può essere approssimata con una accuratezzaprefissata ad arbitrio.

Remark 20 Ovviamente, tutto dipenderà dalla ϕ e dalla approssimazione in-iziale x(0) scelte e tutte le seguenti situazioni sono possibili:

la ϕ non è ben scelta perché le 3a), 3b) non sono mai verificate per nessunascelta di x(0) ∈ D, tranne che per la scelta x(0) = ξ o per una scelta di x(0), sepure ne esistono, per la quale risulti x(i) = ξ per qualche i ≥ 1 (scelte questeche comunque non hanno alcun interesse nelle applicazioni);

la ϕ è ben scelta e le 3a), 3b) sono verificate per ogni x(0) ∈ D;la ϕ è ben scelta ma le 3a), 3b) sono verificate solo per opportune scelte di

x(0).

4.2.1 Quattro teoremi fondamentali

Vediamo ora alcuni teoremi che regolano l’uso del metodo del punto unito. Essisono la più naturale estensione al caso generale n ≥ 1 di quelli presentati nelcapitolo precedente.

Il primo teorema

Nel primo di questi teoremi viene usata la ipotesi di continuità in un punto di unafunzione vettoriale. È allora opportuno tenere presente quanto richiamato nellaOsservazione seguente con riferimento alle ipotesi più comunemente considerate.

Remark 21 Dire che una funzione vettoriale F è continua in un punto o inun insieme, è derivabile parzialmente k volte rispetto ad una variabile in unpunto o in un insieme, è di classe Ck, k ≤ ∞, in un insieme, equivale a direche tutte le funzioni scalari Fi sono continue in quel punto o in quell’insieme,sono derivabili parzialmente k volte rispetto a quella variabile in quel punto oin quell’insieme, sono di classe Ck, k ≤ ∞, in quell’insieme.

Analogamente, quando diremo che F è differenziabile o anche derivabile inun punto o in un insieme, questo vorrà dire che a tutte le funzioni scalari Fi sipuò applicare in quel punto o in quell’insieme il teorema del differenziale.

Il primo teorema è il seguente. Esso estende il Teorema 17.

Theorem 35 La relazione ricorrente (4.2) definisca una successione {x(i)}i=1,2,...convergente a ξ e la funzione ϕ sia continua in ξ. In queste ipotesi, il limite ξdella successione è radice della equazione (4.1).

4.2. IL METODO DEL PUNTO UNITO 43

Proof. La dimostrazione è perfettamente analoga a quella del Teorema 17 delcapitolo precedente.

Anche le osservazioni da fare riguardo a questo teorema ed ai procedimentiper tentativi non garantiti che su di esso si basano sono perfettamente analoghea quelle fatte riguardo al Teorema 17 del capitolo precedente. Pertanto le omet-tiamo e lasciamo al lettore le ovvie modifiche formali che occorrono per ripeterlenel caso generale n ≥ 1. Ci limitiamo solo a dire che in tali osservazioni unaopportuna norma in Rn dovrà ovviamente essere considerata in luogo del valoreassoluto (norma in R1).

Gli altri tre teoremi fondamentali

I teoremi di questa sezione danno invece condizioni sufficienti per l’esecuzionedel metodo del punto unito in assoluta sicurezza. Essi sono le estensioni deiTeoremi 18, 19 e 20. Agli enunciati di questi teoremi è opportuno premetteredue considerazioni.

La prima è stata già ricordata precedentemente e consiste nel ricordare che,poiché in Rn noi consideriamo solo distanze indotte da norme, la distanza dovràessere espressa sostituendo il segno di valore assoluto con quello di una normaopportunamente scelta. In altre parole il segno di valore assoluto |·| andràovunque sostituito con il segno ‖·‖ di una opportuna norma.

La seconda riguarda la derivata e la condizione di derivabilità della funzioneϕ. Nel caso n > 1, una condizione sufficiente (ma non necessaria) per la deriv-abilità della ϕ nel punto x è che esista un intorno Ix del punto x tale che tuttele componenti scalari ϕi della ϕ ammettano le derivate parziali prime rispetto atutte le variabili in Ix [in Ix∩D se D è un intervallo chiuso e x non è interno adD] tutte continue (almeno) in x e la derivata ϕ′(x) della ϕ nel punto x si rap-presenta con la matrice Jacobiana Jϕ(x). In altre parole ϕ′(x), ϕ′(ξ) andrannoovunque sostituiti con Jϕ(x), Jϕ(ξ).

Ciò premesso, ecco gli enunciati dei tre teoremi sopra menzionati.

Theorem 36 L’insieme D in (4.1) sia un intervallo chiuso di Rn e risultiinoltre ϕ(D) ⊆ D. Inoltre la funzione ϕ sia di classe C1 in D, ϕ ∈ C1(D), edesistano una norma ‖·‖v in Rn ed una costante kv < 1 tali che risulti

‖Jϕ(x)‖v ≤ kv per ogni x ∈ D (4.4)

nella norma operatore indotta in Rn×n dalla norma vettoriale ‖·‖v.In queste ipotesi, esiste una unica radice ξ della equazione (4.1) in D e se

x(0) ∈ D la relazione ricorrente (4.2) definisce una successione {x(i)}i=1,2,...contenuta in D e convergente a ξ. Le approssimazioni successive x(i) verificanole condizioni ∥∥∥x(i) − ξ

∥∥∥v≤ kiv

1− kv

∥∥∥x(1) − x(0)∥∥∥v, i ≥ 1, (4.5)

∥∥∥x(i) − ξ∥∥∥v≤ kv

1− kv

∥∥∥x(i) − x(i−1)∥∥∥v, i ≥ 1, (4.6)

44 CHAPTER 4. SOLUZIONE NUMERICA DELLE EQUAZIONI IN RN

∥∥∥x(i) − ξ∥∥∥v≤ kiv

∥∥∥x(0) − ξ∥∥∥v

i ≥ 1. (4.7)

Il teorema che segue risulta particolarmente utile nelle applicazioni, nellequali, generalmente, si hanno informazioni sulla posizione della radice ξ da ap-prossimare.

Theorem 37 Sia ξ una radice della equazione (4.1) ed esistano una norma‖·‖v in Rn, e due costanti ρv > 0 e kv < 1 tali che la ipersfera aperta

I(ξ, ρv) = {x ∈ Rn : ‖x− ξ‖v < ρv}

sia contenuta nell’insieme D in (4.1), la funzione ϕ sia di classe C1 in I(ξ, ρv), ϕ ∈C1(I(ξ, ρv)), e risulti

‖Jϕ(x)‖v ≤ kv per ogni x ∈ I(ξ, ρv) (4.8)

nella norma operatore indotta in Rn×n dalla norma vettoriale ‖·‖v.In queste ipotesi, ξ è l’unica radice della (4.1) in I(ξ, ρv) e se x(0) ∈ I(ξ, ρv)

la relazione ricorrente (4.2) definisce una successione {x(i)}i=1,2,... contenutain I(ξ, ρv) e convergente a ξ. Le approssimazioni successive x(i) verificano lecondizioni (4.5), (4.6), (4.7) e

∥∥∥x(i) − ξ∥∥∥v≤ kiv ρv i ≥ 1. (4.9)

Può darsi che il Teorema 36 [il Teorema 37] sia applicabile con diverse normeed in tal caso si avrebbe il vantaggio di poter usufruire di diverse versioni dellemaggiorazioni (4.5), (4.6) e (4.7) [(4.5), (4.6), (4.7) e (4.9)]. È tuttavia im-portante tener presente che è sufficiente assicurarsi che esista una norma nellaquale siano soddisfatte le ipotesi richieste per poter assicurare la convergenzae maggiorazioni dell’errore commesso dalle quali trarre criteri di convergenzanumerica.

Riguardo alle modalità da seguire per verificare se le ipotesi richieste daiTeoremi 36 e 37 sono verificate o no, in teoria non ci sono novità da apportarea quanto osservato nel capitolo precedente con riferimento ai Teoremi 18 e 19se non le solite modifiche naturali derivanti dal fatto che ora n è da considerare≥ 1. Ci sono invece difficoltà pratiche via via crescenti con n. Ad esempio, laϕ(D) ⊆ D ora, posto

D = {x = (x1, x2, . . . , xn) ∈ Rn : ai ≤ xi ≤ bi, i = 1 : n} ,

con a = (a1, a2, . . . , an) e b = (b1, b2, . . . , bn) assegnati e tali che ai ≤ bi, i = 1 :n, significa

ai ≤ ϕi(x1, x2, . . . , xn) ≤ bi, i = 1 : n,

ossia 2n disequazioni in n variabili.Considerazioni del tutto analoghe a quelle fatte nel capitolo precedente con

riferimento alla costante k ed al suo significato di indicatore della rapidità della

4.2. IL METODO DEL PUNTO UNITO 45

convergenza possono poi essere ripetute semplicemente sostituendo k con kv.Riprenderemo più avanti questa osservazione per svilupparla.

Il teorema che segue è l’estensione al caso n ≥ 1 del Teorema 20 ed analizzail comportamento dell’errore assoluto complessivo x(i)∗ − ξ, x(i)∗ essendo (siveda il Capitolo 1) la versione da calcolo di x(i). Analogamente a quanto fattonel capitolo precedente, si assume per semplicità che il metodo del punto unitosia applicato secondo le modalità che si evincono dal Teorema 37. Si supponequindi, tra l’altro, che

x(0) ∈ I(ξ, ρv), {x(i)}i=1,2,... ⊆ I(ξ, ρv), limi→∞

x(i) = ξ.

Si denota poi con σ la precisione con la quale si può calcolare la funzione ϕnell’insieme I(ξ, ρv), si pone cioè (si veda ancora il Capitolo 1 per le notazioniusate):

‖ϕ(x)− ϕ∗(x)‖v ≤ σ, per ogni x ∈ I(ξ, ρv).

La dimostrazione viene omessa.

Theorem 38 Il metodo del punto unito sia applicato secondo le modalità sta-bilite dal Teorema 37 e siano x(0) l’approssimazione iniziale di macchina e{x(i)∗}i=1:m, m ∈ N+, la sequenza di approssimazioni successive ottenute dacalcolo a partire da x(0). Inoltre siano verificate le condizioni:

x(0) ∈ I(ξ, ρv),

σ < (1− kv) ρv.

In queste ipotesi, per ogni prefissato m ∈ N+, la sequenza {x(i)∗}i=1:m ècontenuta in I(ξ, ρv) e si ha:

∥∥∥x(i)∗ − ξ∥∥∥v≤ kiv

∥∥∥x(0) − ξ∥∥∥v+ kiv

∥∥∥x(0) − x(0)∥∥∥v+

σ

1− kv, i = 1 : m.

Riguardo al notevole risultato fornito da questo teorema si possono ripetereosservazioni perfettamente analoghe a quelle fatte a proposito del Teorema 20.

4.2.2 Due ulteriori teoremi

La naturale estensione del Teorema 21 è la seguente

Theorem 39 Sia ξ una radice della equazione (4.1) ed esista un intorno Iξ diξ nel quale la funzione ϕ sia di classe C1. Inoltre risulti

‖Jϕ(ξ)‖v < 1 (4.10)

nella norma operatore ‖·‖v.In queste ipotesi, nella norma vettoriale ‖·‖v e per opportuni valori di ρv e

kv, sono verificate le ipotesi del Teorema 37.

46 CHAPTER 4. SOLUZIONE NUMERICA DELLE EQUAZIONI IN RN

Proof. La dimostrazione è strettamente analoga a quella del Teorema 21. Lafunzione ‖Jϕ(x)‖v è continua in Iξ perché è composta di funzioni continue.Infatti, Jϕ(x) è continua (Jϕ(x) ha elementi tutti continui in Iξ) e la norma èuna funzione continua (si veda il Capitolo 1). Pertanto, scelto kv tale da aversi:‖Jϕ(ξ)‖v < kv < 1, si può procedere come nel Teorema 21 applicando il teoremadella permanenza del segno nel punto ξ alla funzione ‖Jϕ(x)‖v − kv.

Fermiamoci ora a fare qualche considerazione sui tre teoremi 36, 37 e 39.Può accadere che la condizione (4.4), oppure la condizione (4.8), oppure

ancora la condizione (4.10), sia verificata per certe norme ma non per altre.Tutti e tre i teoremi richiedono quindi, in sostanza, di trovare una norma

operatore nella quale Jϕ(x) sia abbastanza piccola in una opportuna regionecontenente la radice ξ da approssimare. Questo vale anche per l’ultimo teorema,nonostante esso richieda solo di verificare che Jϕ(x) sia piccola in ξ, perché laposizione della radice sarà conosciuta solo approssimativamente.

È quindi naturale domandarsi se non sia possibile formulare condizioni chegarantiscano l’esistenza di norme favorevoli ma non costringano alla loro ricerca,ricerca che, tra l’altro, potrebbe anche risultare infruttuosa.

Il teorema che segue risponde a questa domanda. Esso è basato sul risultatoche riportiamo brevemente nella seguente

Proposition 40 Sia A ∈ Cn×n. Si ha

ρ (A) = infv‖A‖v ,

avendo denotato con infv l’estremo inferiore dell’insieme descritto da ‖A‖v alvariare di ‖·‖v nell’insieme di tutte le norme operatore.

Theorem 41 Sia ξ una radice della equazione (4.1) ed esista un intorno Iξ diξ nel quale la funzione ϕ sia di classe C1. Inoltre risulti

ρ (Jϕ(ξ)) < 1. (4.11)

In queste ipotesi esiste una norma operatore ‖·‖v tale da aversi ‖Jϕ(ξ)‖v < 1e sono pertanto verificate le ipotesi del Teorema 39.

Proof. La dimostrazione è una immediata conseguenza del Teorema 39 e dellaproposizione precedente.

Purtroppo, applicare questo teorema non è semplice. La ragione è che ilcalcolo del raggio spettrale è costoso e che, al solito, la posizione di ξ è conosciutasolo approssimativamente, per cui si dovrà accertare che ρ (Jϕ(x)) sia minore diuno in tutta una regione di inclusione della radice. Tuttavia, come vedremo nelCapitolo 6, queste difficoltà in parte svaniscono nel caso particolare dei sistemilineari.

È infine opportuno osservare che se invece si riesce a riconoscere che ρ (Jϕ(x))è maggiore di uno in tutta una regione di inclusione della radice, nessuno deitre teoremi può essere applicato.

4.2. IL METODO DEL PUNTO UNITO 47

4.2.3 Ancora sulla rapidità di convergenza

Abbiamo già osservato, nella Sezione 4.2.1.2, che considerazioni perfettamenteanaloghe a quelle fatte nel capitolo precedente possono essere ripetute con rifer-imento al significato di indicatore della rapidità della convergenza che ha lacostante kv.

Riprendiamo adesso questa osservazione per svilupparla supponendo verifi-cate le ipotesi del Teorema 36, oppure le ipotesi del Teorema 37, oppure leipotesi del Teorema 39.

Queste ipotesi sono molto frequentemente soddisfatte nelle applicazioni delpunto unito e consentono le considerazioni che seguono, nel fare le quali siintende che x(0) sia stato scelto secondo le indicazioni del teorema consideratoe che pertanto la successione {x(i)}i=1,2,... sia convergente a ξ.

Premesso questo, del tutto analogamente a quanto osservato nel caso n = 1,anche nel caso n > 1 si può dire che una indicazione della rapidità di convergenzain generale apprezzabilmente più fine di quella fornita dalla costante kv è datada ‖Jϕ(ξ)‖v, o meglio ancora da ρ (Jϕ(ξ)). (Queste due quantità coincidono nelcaso n = 1, ma la seconda è generalmente minore della prima nel caso n > 1).

Vedi Cap. 4, Livello 1, pag. 61 per >.In generale risulterà 0 < ρ (Jϕ(ξ)) ≤ ‖Jϕ(ξ)‖v e pertanto si potrà garantire

solo la convergenza lineare, convergenza che sarà tanto più favorevole quantopiù piccoli sono ‖Jϕ(ξ)‖v o ρ (Jϕ(ξ)) . In ogni caso sarà caratterizzata da un val-ore sostanzialmente costante, nel corso delle iterate, del rapporto fra il numerodelle cifre decimali esatte che si guadagnano nelle coordinate x

(i)j ed il numero

delle iterate impiegate a guadagnarle. Le costanti ‖Jϕ(ξ)‖v o ρ (Jϕ(ξ)) potrannoessere stimate, se si hanno informazioni sulla posizione di ξ, calcolando la ma-trice Jacobiana in un punto abbastanza vicino alla radice e la stima consentiràdi avere una informazione sulla rapidità di convergenza del metodo in generalemigliore di quella data dalla costante kv.

Le cose vanno in modo del tutto diverso nel caso ‖Jϕ(ξ)‖v = ρ (Jϕ(ξ)) = 0.In questo caso, l’errore successivo è un infinitesimo di ordine superiore rispettoa quello precedente.

La convergenza è pertanto almeno super-lineare ed è caratterizzata da unaaccelerazione progressiva nella convergenza: il rapporto fra la norma dell’er-rore successivo e quella dell’errore precedente diventa definitivamente minoredi qualunque ε > 0 sia stato prefissato. Ma, analogamente a quanto abbiamodetto che avviene nel caso n = 1, in generale sarà quadratica o addirittura diordine r > 2.

Remark 22 La estensione al caso generale n ≥ 1 delle definizioni di conver-genza lineare, super-lineare e di ordine r, è del tutto naturale e si effettua, comeal solito, sostituendo ovunque il segno di valore assoluto con quello di norma.È poi facile riconoscere che le tre proprietà così definite non dipendono dallanorma considerata (nel senso che se sono verificate in una norma lo sono intutte le altre).

48 CHAPTER 4. SOLUZIONE NUMERICA DELLE EQUAZIONI IN RN

Criterio d’arresto nel caso di convergenza super-lineare

Un altro aspetto favorevole della convergenza super-lineare sta nel fatto che essaimplica la validità in una qualsiasi norma della seguente relazione di limite

limi→∞

∥∥x(i) − x(i−1)∥∥

∥∥x(i−1) − ξ∥∥ = 1.

La dimostrazione è assolutamente analoga a quella data nel caso n = 1 e siottiene da quella con le solite ovvie modifiche formali.

Con le stesse considerazioni fatte nel caso particolare n = 1, si pervienequindi alla conclusione che il criterio d’arresto

∥∥∥x(i) − x(i−1)∥∥∥ < ε

è molto affidabile anche nel caso generale n ≥ 1. L’importanza di questo siapprezza a pieno se si osserva che, nel caso di convergenza super-lineare, ognivalutazione della rapidità di convergenza effettuata calcolando la matrice Jaco-biana in punti sufficientemente vicini a ξ o determinando valori della costante dicontrazione k risulterebbe inevitabilmente inadeguata per la definizione stessadi convergenza super-lineare.

4.2.4 Il metodo di Newton

Le considerazioni sviluppate nella sezione precedente conducono al metodo diNewton nel quale la funzione ϕ è definita in modo che, sotto opportune ipotesidi regolarità, risulti Jϕ(ξ) = 0, ρ (Jϕ(ξ)) = 0.

L’estensione di questo metodo al caso generale n ≥ 1 può essere fatta, comenel caso n = 1, usando il differenziale.

Supposto che la funzione f in (4.0) sia derivabile in un intorno Iξ della radiceξ e che si disponga di una approssimazione x(i−1) ∈ Iξ di ξ, si può approssimarel’incremento f(x) − f(x(i−1)) col differenziale f ′(x(i−1)) (x − x(i−1)) nel puntox(i−1):

f(x) ≈ f(x(i−1)) + f ′(x(i−1)) (x− x(i−1)) =

= f(x(i−1)) + Jf (x(i−1)) (x− x(i−1)),

e poi sostituire l’equazione non lineare (4.0) con l’equazione linearizzata che siottiene uguagliando a zero l’approssimazione della f così ottenuta, pervenendoal sistema lineare

f(x(i−1)) + Jf (x(i−1)) (x− x(i−1)) = 0.

Se si assume che Jf (ξ) sia invertibile, un semplice ragionamento basato sul-l’ipotesi di derivabilità della f in Iξ e sulla osservazione che il determinante èuna funzione continua degli elementi della matrice, porta a riconoscere, usando

4.2. IL METODO DEL PUNTO UNITO 49

il teorema della permanenza del segno delle funzioni continue, che non è restrit-tivo supporre che Jf (x) sia invertibile in ogni punto x dell’intorno Iξ. Si puòallora asserire che il predetto sistema lineare ha una sola soluzione x(i):

x(i) = x(i−1) −[f ′(x(i−1))

]−1f(x(i−1)) =

= x(i−1) −[Jf (x

(i−1))]−1

f(x(i−1)).

Questa soluzione x(i) della equazione linearizzata approssimata viene assuntacome approssimazione di ξ successiva alla approssimazione x(i−1).

La

x(i) = x(i−1) −[Jf (x

(i−1))]−1

f(x(i−1)), i = 1, 2, . . . , (4.12)

è pertanto la relazione ricorrente del metodo di Newton in Rn. Il metodo puòdunque essere riguardato come una applicazione, nelle ipotesi sopra precisate,del metodo del punto unito alla equazione

x = ϕ(x) = x− [f ′(x)]−1

f(x) =

= x− [Jf (x)]−1 f(x).

I teoremi fondamentali sul metodo di Newton

Sussistono i due teoremi seguenti, che riportiamo senza dimostrazioni. Si puònotare che essi stabiliscono risultati perfettamente analoghi a quelli enunciatinei primi due teoremi della Sezione 3.3.4.3.

Theorem 42 Sia ξ una radice della equazione (4.0) ed esista un intorno Iξ delpunto ξ nel quale la funzione f sia di classe C1: f ∈ C1(Iξ). Inoltre Jf (ξ) siainvertibile.

In queste ipotesi, esiste un intorno Uξ del punto ξ, Uξ ⊆ Iξ, tale che sex(0) ∈ Uξ la relazione ricorrente (4.12) definisce una successione {x(i)}i=1,2,...contenuta in Uξ e convergente a ξ. La convergenza è super-lineare.

Theorem 43 Sia ξ una radice della equazione (4.0) ed esista un intorno Iξdel punto ξ nel quale la funzione f sia dotata delle derivate parziali secondelimitate. Inoltre Jf (ξ) sia invertibile.

In queste ipotesi, esiste un intorno Uξ del punto ξ, Uξ ⊆ Iξ, tale che sex(0) ∈ Uξ la relazione ricorrente (4.12) definisce una successione {x(i)}i=1,2,...contenuta in Uξ e convergente a ξ. La convergenza è quadratica.

Possiamo ora riprendere considerazioni fatte nel capitolo precedente perriferirle al caso generale n ≥ 1 e per elencare i numerosi pregi ed i pochi difettidel metodo. Alla discussione è opportuno premettere le seguenti osservazioni.

50 CHAPTER 4. SOLUZIONE NUMERICA DELLE EQUAZIONI IN RN

Remark 23 Anche se sono verificate solo le ipotesi del Teorema 42, la conver-genza risulta in generale quadratica. Esistono infatti casi in cui la convergenzadel metodo di Newton è solo super-lineare e non quadratica, ma si tratta di casicostruiti ad arte.

Remark 24 Poiché l’insieme delle matrici invertibili è aperto e denso nellospazio di tutte le matrici, la condizione di invertibilità di Jf (ξ) sarà, a meno dicasi speciali, verificata. Comunque, sotto condizioni di regolarità sulla funzionef ampiamente soddisfatte in pratica, il metodo di Newton converge, sia pure sololinearmente e con qualche cautela sulla scelta di x(0), anche se Jf (ξ) è singolare.

Pregi del metodo di Newton

I vantaggi offerti dal metodo di Newton nel caso generale n ≥ 1 sono analoghia quelli già elencati nel caso n = 1 e possono essere riassunti come segue.

1) Il metodo converge quadraticamente in ipotesi che sono tutt’altro cherestrittive ed in pratica parimenti restrittive di quelle richieste dai metodi aconvergenza soltanto lineare.

2) Oltre che largamente soddisfatte nelle applicazioni, le ipotesi predette sonomolto facilmente verificabili anche quando n è elevato, la verifica riducendosi insostanza, tenendo anche conto dell’Osservazione 24, al solo accertamento di unasufficiente regolarità della funzione f in intorno della radice da approssimare.Non altrettanto si può dire per una generica applicazione del metodo del puntounito, per la quale le difficoltà di verifica sono maggiori ed aumentano con n eche, tra l’altro, sarà a convergenza solo lineare.

3) Il caso di una radice che non sia interna alla regione in cui la f è diclasse opportuna è da ritenere del tutto infrequente. Il metodo di Newton potràpertanto essere utilmente impiegato per ricercare tutte (o almeno quasi tutte) leradici della equazione (4.0) variando opportunamente la approssimazione inizialex(0).È molto facile riconoscere portando esempi che non altrettanto si può dire peruna generica applicazione del metodo del punto unito.

4) Come già detto nell’Osservazione 24, il metodo converge sotto condizionigenericamente verificate, sia pure con convergenza soltanto lineare, anche nelcaso di radici per le quali Jf (ξ) sia singolare (radici ”multiple” o ”singolari”).

5) Il Teorema 37 sarà applicabile con un valore di kv molto piccolo perchésotto ipotesi largamente verificate nelle applicazioni ϕ′ sarà continua e nulla in ξ(Jϕ sarà continua e nulla in ξ) e pertanto il Teorema 38 garantirà una eccellentestabilità del metodo (forte stabilità del metodo di Newton).

6) A meno che la radice approssimata non sia multipla, poiché la convergenzasarà perlomeno super-lineare, si potrà usare con ottima resa il criterio d’arresto

∥∥∥x(i) − x(i−1)∥∥∥ < ε .

4.2. IL METODO DEL PUNTO UNITO 51

Difetti del metodo di Newton

Gli inconvenienti presentati dal metodo di Newton sono in parte analoghi aquelli già discussi nel caso particolare n = 1 e diventano sempre più rilevanti alcrescere di n. Li esaminiamo qui di seguito.

1) Non sempre è facile determinare uno degli intorni Uξ di cui ai Teoremi42 e 43 e pertanto non sempre è facile determinare una approssimazione inizialex(0) sicura a priori. Questo anche perché procedure di scelta di x(0) come quelladescritta nel Teorema 24 non sono praticabili nel caso n > 1. Talvolta è anchedifficile scegliere x(0) per tentativi (garantiti).

2) La complessità di calcolo è elevata e cresce piuttosto rapidamente con n.In effetti, la (4.12) richiede, ad ogni iterata, il calcolo del vettore

∆(i−1) =[Jf (x

(i−1))]−1

f(x(i−1))

e poi quello della differenza fra vettori

x(i) = x(i−1) −∆(i−1),

e mentre il calcolo della differenza x(i−1) − ∆(i−1) costa poco (n sottrazioni),quello di ∆(i−1) richiede un numero di operazioni ben più consistente. Infatti,oltre al calcolo della funzione f (che ha n componenti scalari, ognuna delle qualiè una funzione di n variabili) e degli elementi della matrice Jacobiana (che sonon2 e sono anche loro funzioni di n variabili) nel punto x(i−1), esso richiede, perl’inversione della matrice Jacobiana e per il calcolo del prodotto matrice vettore[Jf (x

(i−1))]−1

f(x(i−1)), un numero di operazioni che è un O(n3) e costituiscedi solito la parte principale del costo computazionale di una iterata del metodo.

Tenuto conto del fatto che l’inconveniente 1) non si verifica poi tanto spesso eche, per la disponibilità abbastanza diffusa di elaboratori ad elevate prestazioni,si tende oggi a preoccuparsi meno che nel passato dell’inconveniente 2) quandol’algoritmo sia stabile (si veda il punto 5) della sezione precedente), si puòritenere che i pregi del metodo di Newton siano apprezzabilmente più consistentidei difetti. Si tratta comunque di valutazioni che sono anche, in una certamisura, soggettive.

4.2.5 Modifiche al metodo di Newton

Come nel caso n = 1, molti contributi sono stati dati e seguitano ad essere datiper ovviare ai due inconvenienti del metodo di Newton elencati nella sezioneprecedente. In questa sezione presentiamo alcune modifiche del metodo voltead ottenere metodi computazionalmente meno costosi.

Un primo accorgimento consiste nel ridurre il costo del calcolo di ∆(i−1). Siosserva che si ha

Jf (x(i−1))∆(i−1) = f(x(i−1))

e si calcola ∆(i−1) come soluzione del sistema lineare di n equazioni in n incognite

Jf (x(i−1))x = f(x(i−1))

52 CHAPTER 4. SOLUZIONE NUMERICA DELLE EQUAZIONI IN RN

con un appropriato metodo numerico (si veda, in proposito, il Capitolo 6).Così procedendo si ottengono effetti apprezzabili. Infatti, come vedremo nelCapitolo 6, il calcolo della soluzione di un sistema lineare Ax = b effettuatoattraverso l’inversione della matrice A ed il successivo computo del prodottomatrice-vettore A−1b comporta un numero di operazioni che per un sistemagenerico è circa quattro volte quello richiesto da un metodo che calcola diretta-mente la soluzione del sistema senza passare per il computo di A−1.

Questo accorgimento migliora il costo computazionale senza alterare in alcunmodo il metodo di Newton e quindi non ha alcun effetto sul tipo di convergenza.

Le due modifiche che seguono riducono il costo computazionale in modopiù drastico ma il prezzo che si paga per avere questo maggiore guadagno nelcosto computazionale consiste in uno scadimento della convergenza da quadrat-ica a lineare. La convergenza lineare, tuttavia, può risultare abbastanza buonase le modifiche sono apportate opportunamente e di conseguenza esse possonorisultare talvolta competitive o addirittura preferibili nel senso che, pur impie-gando un maggior numero di iterate del metodo di Newton per conseguire laaccuratezza desiderata, può capitare che richiedano un minor costo ed un minortempo di esecuzione.

Entrambe si ottengono facilmente modificando opportunamente la relazionericorrente (4.12) e sono la naturale estensione al caso n > 1 di modifiche vistenel caso n = 1. Possono essere applicate con successo nelle ipotesi dei Teorema42 o del Teorema 43.

La prima modifica

La relazione ricorrente modificata è la seguente

x(i) = x(i−1) −[Jf (x

(0))]−1

f(x(i−1)) , i = 1, 2, . . . .

Il metodo è competitivo con Newton se la approssimazione iniziale x(0) èsufficientemente vicina a ξ.

La seconda modifica

Una modifica meno economica della precedente ma più vicina al metodo origi-nale e quindi alla convergenza quadratica consiste nell’iterazione della relazionericorrente

x(i) = x(i−1) −[Jf (x

(q))]−1

f(x(i−1)) , q =

[i− 1

p

]p, p ∈ N+, i = 1, 2, . . . ,

ove [x] denota la parte intera di x. Questa modifica richiede il calcolo di ∆(i−1)

ogni p iterate. Per p = 1 essa coincide col metodo di Newton e se invece pè abbastanza grande e la convergenza numerica è raggiunta in meno di p + 1iterate essa ricade nella modifica precedente.

4.3. ESEMPI ED ESERCIZI 53

4.2.6 Ancora sulla convergenza numerica

Nelle sezioni precedenti abbiamo visto come conviene scegliere il criterio d’ar-resto delle iterate a seconda delle diverse modalità di applicazione del metododel punto unito. Abbiamo però basato tali criteri sempre su valutazioni o mag-giorazioni dell’errore assoluto. Spesso, per le ragioni esposte a suo tempo, èpreferibile controllare gli errori relativi ed allora i criteri esaminati sopra neivari casi vengono conseguentemente modificati semplicemente moltiplicando laε che figura nei secondi membri per

∥∥x(i)∥∥. Si ottengono in tal modo le con-

dizioni ∥∥∥x(i) − x(i−1)∥∥∥ < ε

∥∥∥x(i)∥∥∥ ,

∥∥∥f(x(i))∥∥∥ < ε

∥∥∥x(i)∥∥∥ ,

da usare nei procedimenti per tentativi non garantiti, la condizione

kv1− kv

∥∥∥x(i) − x(i−1)∥∥∥ < ε

∥∥∥x(i)∥∥∥ ,

da preferire nel caso sia prevista la convergenza lineare, ed infine la condizione∥∥∥x(i) − x(i−1)

∥∥∥ < ε∥∥∥x(i)

∥∥∥ ,

consigliata per i casi di convergenza super-lineare.

4.3 Esempi ed esercizi

Exercise 4.3.1 Dimostrare che la funzione

F : Rn → F (Rn) ⊆ Rn, F (x) = Ax+ b, A ∈ Rn×n, b ∈ Rn,

è derivabile in Rn e che la sua derivata non dipende da x e si rappresenta conla matrice A.

Exercise 4.3.2 Dimostrare che la funzione

ϕ : R2 → R2, ϕ(x) = (ϕ1(x), ϕ2(x)), x = (x1, x2) ∈ R2,

ϕ1(x) =1

8x31 −

1

10x22 +

1

8x1 x2 +

1

5, ϕ2(x) =

1

20x42 −

1

8x21 x2 +

1

4,

verifica la condizione (4.4) nel quadrato

D = {0 ≤ x1 ≤ 1, 0 ≤ x2 ≤ 1}

nelle norme 1, 2, e ∞.

Exercise 4.3.3 Dimostrare che alla equazione

f(x) = 0,

f : R2 → R2, f(x) = (f1(x), f2(x)), x = (x1, x2) ∈ R2,

54 CHAPTER 4. SOLUZIONE NUMERICA DELLE EQUAZIONI IN RN

f1(x) = 5x31 − 4x22 + 5x1 x2 − 40x1 + 8, f2(x) = 2x42 − 5x21 x2 − 40x2 + 10,

è applicabile il Teorema 36 con D = {0 ≤ x1 ≤ 1, 0 ≤ x2 ≤ 1} e con unaqualunque delle norme vettoriali 1, 2, e ∞. (Si faccia uso dell’esercizio prece-dente.)

Exercise 4.3.4 Discutere l’applicazione del metodo di Newton alla approssi-mazione della radice ξ ∈ D = {0 ≤ x1 ≤ 1, 0 ≤ x2 ≤ 1} dell’equazione dell’eser-cizio precedente.

Exercise 4.3.5 Dimostrare che la funzione

ϕ : R2 → R2, ϕ(x) = (ϕ1(x), ϕ2(x)), x = (x1, x2) ∈ R2,

ϕ1(x) = −1

5x21 x2 +

1

10x1 x2 +

1

4, ϕ2(x) =

1

5x1 x

22 −

1

10x21 x

22 +

3

10,

verifica la condizione (4.4) nel quadrato

D = {0 ≤ x1 ≤ 1, 0 ≤ x2 ≤ 1}nelle norme 1, 2, e ∞.

Exercise 4.3.6 Dimostrare che alla equazione

f(x) = 0,

f : R2 → R2, f(x) = (f1(x), f2(x)), x = (x1, x2) ∈ R2,f1(x) = 4x21 x2 − 2x1 x2 + 20x1 − 5, f2(x) = 2x1 x

22 − x21 x

22 − 10x2 + 3,

è applicabile il Teorema 36 con D = {0 ≤ x1 ≤ 1, 0 ≤ x2 ≤ 1} e con unaqualunque delle norme vettoriali 1, 2, e ∞. (Si faccia uso dell’esercizio prece-dente.)

Exercise 4.3.7 Discutere l’applicazione del metodo di Newton alla approssi-mazione della radice ξ ∈ D = {0 ≤ x1 ≤ 1, 0 ≤ x2 ≤ 1} dell’equazione dell’eser-cizio precedente.

Exercise 4.3.8 Discutere l’applicazione del metodo del punto unito alla equazione

x = ϕ(x),

ϕ : R2 → R2, ϕ(x) = (ϕ1(x), ϕ2(x)), x = (x1, x2) ∈ R2,

ϕ1(x) =1

2cosx2, ϕ2(x) =

1

2sinx1.

Exercise 4.3.9 Discutere l’applicazione del metodo di Newton alla equazione

f(x) = 0,

f : R2 → R2, f(x) = (f1(x), f2(x)), x = (x1, x2) ∈ R2,f1(x) = 2x1 − cosx2, f2(x) = sinx1 − 2x2.

(Si osservi che l’equazione dell’esercizio precedente è una equazione del tipo (4.1)ottenuta da questa.)

Chapter 5

Soluzione numerica delleequazioni in C

5.1 Notazioni e definizioni di base

Una equazione in C è di solito rappresentata nella forma:

f(z) = 0, f : E ⊆ C→ f(E) ⊆ C . (5.0)

Definition 44 Si dice che ζ ∈ C è radice o soluzione della equazione (5.0) seζ ∈ E e risulta f(ζ) = 0.

Definition 45 Si dice che una radice ζ della equazione (5.0) è stata ”separata”se è stato determinato un intervallo del piano complesso C contenente ζ manessuna altra radice di (5.0).

In questo capitolo, ci limiteremo a trattare molto brevemente il caso dellasoluzione numerica di una equazione generale come la (5.0) (Sezione 5.2).

Successivamente, con qualche dettaglio in più, tratteremo il caso, moltoparticolare ma anche molto importante nelle applicazioni, delle equazioni alge-briche, ossia il caso di una equazione del tipo (5.0) nella quale la funzione f siaun polinomio (Sezione 5.3). La opportunità di ambientare nel campo complessolo studio delle equazioni algebriche deriva evidentemente dalla considerazioneche le radici di una tale equazione sono generalmente, almeno in parte, numericomplessi anche se il polinomio f ha coefficienti tutti reali.

5.2 Il caso di una generica equazione in C

La procedura generale per trattare il problema della soluzione numerica dellaequazione (5.0) consiste nel trasformarlo in quello delle soluzione numerica diuna equazione in R2 e nello applicare a questa equazione i metodi studiati nelCapitolo 4.

55

56 CHAPTER 5. SOLUZIONE NUMERICA DELLE EQUAZIONI IN C

5.3 Il caso di una equazione algebrica

Come già detto, l’equazione (5.0) si dice algebrica quando la funzione f è unpolinomio:

f(z) =n∑

k=0

ck zn−k. (5.1)

Una equazione algebrica è quindi un caso particolare di quella consideratanella sezione precedente e, data la speciale importanza che questo caso parti-colare ha nelle applicazioni, molti metodi ed algoritmi appositamente costruitiper il loro trattamento numerico sono stati proposti.

Soprattutto negli ultimi tempi, sono stati costruiti metodi ed algoritmi daessi dedotti che consentono la approssimazione simultanea di tutte le radici dellaequazione. Ne presentiamo due. Nel fare questo, supporremo sempre c0 = 1,supporremo cioè che il polinomio sia monico. Questo non è restrittivo, comesubito si riconosce, essendo sempre possibile ricondursi a questo caso dividendoper c0, se questo fosse diverso da 1, senza cambiare le radici dell’equazione.

Naturalmente, soprattutto nel caso in cui interessi solo una parte delle radici,si può applicare ad una equazione algebrica quanto accennato nella sezioneprecedente con riferimento ad una equazione (5.0) generica, usufruendo anchedi notevoli semplificazioni teoriche e pratiche, dovute alla particolarità dellaequazione, sulle quali non possiamo dilungarci.

5.3.1 Il metodo di Weierstrass

Il primo dei due predetti metodi, attribuito a Weierstrass, consiste nell’appli-cazione del metodo di Newton al sistema che si deduce dalla considerazionedelle relazioni che legano gli zeri ζ1, ζ2, . . . , ζn del polinomio (monico) ai suoicoefficienti c1, c2, . . . , cn.Tali relazioni si possono ottenere scrivendo il polinomio f in forma di prodottidi divisori elementari:

f(z) = (z − ζ1) (z − ζ2) · · · (z − ζn) ,

e successivamente pensando di sciogliere le parentesi in questa forma e di eseguirei prodotti. Così procedendo, si riconosce facilmente che ζ1, ζ2, . . . , ζn sono zeridel polinomio se e solo se risultano verificate le seguenti n relazioni

ζ1 + ζ2 + . . .+ ζn = −c1,ζ1ζ2 + ζ1ζ3 + · · ·+ ζ1ζn + ζ2ζ3 + · · ·+ ζ2ζn + · · ·+ ζn−1ζn = c2,ζ1ζ2ζ3 + ζ1ζ2ζ4 + · · ·+ ζ1ζ2ζn + ζ1ζ3ζ4 + · · ·+ ζn−2ζn−1ζn = −c3,· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·ζ1ζ2 · · · ζn = (−1)ncn,

5.3. IL CASO DI UNA EQUAZIONE ALGEBRICA 57

e questo significa che il sistema di n equazioni in n incognite

z1 + z2 + . . .+ zn = −c1,z1z2 + z1z3 + · · ·+ z1zn + z2z3 + · · ·+ z2zn + · · ·+ zn−1zn = c2,z1z2z3 + z1z2z4 + · · ·+ z1z2zn + z1z3z4 + · · ·+ zn−2zn−1zn = −c3,· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·z1z2 · · · zn = (−1)ncn,

ha per soluzioni tutti e soli i punti di Cn che hanno come coordinate gli zeriζ1, ζ2, . . . , ζn di f ordinati in uno qualunque dei modi possibili.

Risolvendo numericamente questo sistema ed approssimando una qualunquedelle sue radici si approssimano quindi contemporaneamente tutti gli zeri di f .

Applicando il metodo di Newton si ottiene, come detto sopra, il metodo diWeierstrass. Con calcoli che omettiamo si ottengono le relazioni ricorrenti

z(i)h = z

(i−1)h − f(z

(i−1)h )

∏k=1:n,k �=h(z

(i−1)h − z

(i−1)k )

, h = 1 : n, i = 1, 2, . . . .

Le prestazioni del metodo di Weierstrass sono quelle del metodo Newtone per questo rimandiamo alla Sezione 4.2.4 del capitolo precedente (si tengapresente che la funzione che definisce il sistema è di classe C∞). Sperimen-talmente si osserva anche una convergenza quasi-globale del metodo, nel sensoche il metodo risulta in pratica convergente per tutte le approssimazioni inizialieccettuate (ovviamente) solamente quelle che hanno coordinate uguali. È statapertanto avanzata la seguente congettura

Conjecture 46 Il metodo di Weierstrass converge ad una delle soluzioni delsistema per ogni approssimazione iniziale avente coordinate distinte.

Questa congettura è stata dimostrata finora solo nel caso n = 2.

5.3.2 Il metodo della ”companion matrix”

Questo secondo metodo per il calcolo simultaneo degli zeri ζ1, ζ2, . . . , ζn delpolinomio f in (5.1) consiste nel trasformare il problema in quello del calcolosimultaneo degli autovalori di una opportuna matrice associata al polinomio edetta companion matrix. Questa matrice è una matrice di Hessemberg superiore”sparsa” ed è definita al modo seguente

C =

−c1 −c2 −c3 · · · −cn1 0 0 · · · 00 1 0 · · · 0...

.... . .

. . ....

0 0 · · · 1 0

.

Il suo polinomio caratteristico pC è uguale al polinomio f a meno al più delsegno:

pC = (−1)nf ,

58 CHAPTER 5. SOLUZIONE NUMERICA DELLE EQUAZIONI IN C

e pertanto gli zeri di f possono essere calcolati simultaneamente applicando allamatrice C un metodo numerico, ad esempio il QR (si veda il Capitolo 7), per ilcalcolo di tutti gli autovalori di una matrice.

5.4 Esempi ed esercizi

Exercise 5.4.1 Scrivere un programma in MATLAB che implementi il metododi Weierstrass. Il programma deve prevedere il richiamo di una function cherestituisca il valore di un polinomio in un punto calcolato con l’algoritmo diRuffini-Horner.

Exercise 5.4.2 Scrivere un programma in MATLAB che implementi il metododella companion matrix (si consulti l’Help in linea del MATLAB per infor-mazioni sulle functions compan, eig e roots).

Exercise 5.4.3 Usando i files di cui ai due esercizi precedenti, confrontare imetodi per la soluzione delle equazioni algebriche di Weierstrass e della com-panion matrix. Si eseguano anche confronti su polinomi aventi zeri multipli.

Chapter 6

Soluzione numerica deisistemi lineari

Un caso particolare di quello trattato nel Capitolo 4 e di grande interesse nelleapplicazioni è quello in cui la funzione f in (4.0) abbia come componenti scalarifi dei polinomi di primo grado e la (4.0) rappresenti quindi un sistema di nequazioni lineari in n incognite. Infatti, molti problemi della Matematica Ap-plicata si risolvono con metodi numerici che comportano la soluzione di sistemidi questo tipo.

La (4.0) rappresenta un sistema lineare se

f(x) = Ax− b, (6.1)

ove A è una matrice n × n e x, incognita, e b, termine noto, sono vettori didimensione n.

Non c’è assolutamente alcuna ragione di limitarsi a considerare il caso disistemi lineari reali, anzi, la naturale ambientazione del trattamento di questisistemi è nel campo complesso perché la teoria si semplifica per certi aspetti sesvolta in questo ambito più generale. Pertanto in tutto questo capitolo suppor-remo che A, x, e b siano in generale ad elementi in C. Assumeremo quindi

A = [aij ] ∈ Cn×n, x = [x1, x2, . . . , xn]T , b = [b1, b2, . . . , bn]

T ∈ Cn. (6.2)

Di solito il sistema definito dalle (4.0), (6.1) e (6.2) viene scritto nella forma

Ax = b, (6.3)

ma si usa spesso rappresentarlo anche nella forma estesa o scalare, scrivendo

n∑

j=1

aij xj = bi, i = 1 : n.

59

60 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

I sistemi del tipo (6.3), (6.2) sono sistemi lineari di tipo particolare perché ilnumero delle equazioni è uguale a quello delle incognite. Tuttavia non è restrit-tivo, dal punto di vista dell’Analisi Numerica, limitarsi a considerare addiritturaun sottocaso di quello rappresentato dalle (6.3), (6.2) assumendo le condizioni

A invertibile, b �= 0. (6.4)

Infatti, la teoria generale consente di riconoscere se un sistema lineare qualsiasi ècompatibile o no (cioè se ammette soluzioni o no) ed in caso affermativo fornisceuna procedura per il calcolo delle soluzioni che in ogni caso conduce a risolveresistemi del tipo (6.3), (6.2), (6.4).

Remark 25 La condizione b �= 0 in (6.4) è assunta perché, se b = 0 l’unicasoluzione è la soluzione banale ξ = 0 e non ha evidentemente alcun interessecalcolarla né approssimarla.

Almeno in teoria dunque, il problema della soluzione di un sistema lineareè completamente studiato e risolto e si conclude sempre con l’applicazione delteorema di Cramer ad un opportuno sistema del tipo (6.3), (6.2), (6.4), e quindicon il calcolo della unica soluzione ξ di un tale sistema mediante le formule

ξj =detAj

detA, j = 1 : n, (6.5)

oveAj = [c1 c2 · · · cj−1 b cj+1 · · · cn]

è la matrice che si ottiene da A sostituendo la j−esima colonna cj di A con ilvettore dei termini noti b. Equivalentemente, ma in modo più compatto, le (6.5)possono essere riscritte nella forma

ξ = A−1b. (6.6)

Invece, da un punto di vista numerico, il teorema di Cramer e le formulerisolutive (6.5) e (6.6) stanno solo a mostrare che nel caso particolare in cuiil sistema da risolvere sia lineare, a differenza di quanto accade per sistemiqualsiasi, è sempre teoricamente possibile calcolarne la soluzione con un numerofinito di operazioni e con un errore teorico nullo. Ma essi sono ben lungi dalfornire o anche solo suggerire un algoritmo utilizzabile in pratica. Infatti, lenumerose applicazioni che comportano la soluzione di sistemi lineari alle qualisi è accennato sopra conducono a sistemi lineari di dimensione n spesso cosìelevata da rendere del tutto inadeguato, sia in termini di tempo macchina chein termini di accuratezza della soluzione calcolata, un algoritmo che implementile (6.5) e (6.6).

Queste considerazioni hanno indotto a costruire metodi che, come quellodi Cramer, richiedano un numero finito di operazioni ed abbiano errore teoriconullo, ma dai quali si possano dedurre algoritmi computazionalmente abbastanzaeconomici e sufficientemente stabili. Metodi ed algoritmi con queste caratter-istiche sono detti algebrici o anche diretti e costituiscono una delle due classifondamentali dei metodi per la soluzione dei sistemi lineari.

61

Nonostante la filosofia che è alla loro base (numero contenuto di operazioni,algoritmi stabili), il limite dei metodi algebrici deriva proprio dalla loro comp-lessità computazionale e dal fatto che si lavora in precisione finita.In effetti, anche se accorgimenti adeguati sono stati adottati sia nella definizionedei metodi che in quella degli algoritmi, il tempo macchina che questi metodirichiedono cresce rapidamente con n e l’errore algoritmico non può essere limi-tato convenientemente quando n è grande.In aggiunta, non è possibile trarre alcun vantaggio nei casi in cui sia richiestauna accuratezza modesta: i metodi diretti, gli algoritmi che li implementanoe quindi il numero di operazioni da eseguire non sono legati in alcun modoall’accuratezza desiderata dall’utente. Un esempio in proposito, l’unico chepossiamo fare al momento, è dato dalle (6.5) e (6.6).

Quando n è molto grande, o quando l’accuratezza richiesta è modesta, sipreferisce abbandonare i metodi algebrici e sostituirli con quelli iterativi, chesono basati sul metodo del punto unito o, più in generale, sull’uso di opportuneequazioni alle differenze.

I metodi iterativi infatti, sono, da un punto di vista teorico e pratico, l’op-posto dei metodi algebrici, nel senso che conducono in teoria alla soluzione dopoun numero infinito di iterate e che, per fortuna, da questa opposta caratteris-tica e da altre loro proprietà teoriche derivano pregi e difetti che sono in praticacomplementari rispetto a quelli dei metodi algebrici.Effettivamente, se bene applicati, i metodi iterativi inducono algoritmi stabili (siveda in proposito il Teorema 55 del Capitolo 4), cosicché si può dire che l’errorecommesso sia sostanzialmente solo quello derivante dal fatto che si deve nec-essariamente troncare al finito un procedimento che condurrebbe alla soluzioneasintoticamente. Inoltre, buone applicazioni o modeste accuratezze da otteneresi traducono in una riduzione del numero delle iterate necessarie a soddisfare ilcriterio d’arresto.

Tuttavia, le buone applicazioni dei metodi iterativi, ossia le scelte della re-lazione ricorrente che assicurano convergenza rapida, buon condizionamento ebuona stabilità, pur essendo, come vedremo, possibili tutte le volte che inter-essa, cioè tutte le volte che il sistema è del tipo (6.3), (6.2), (6.4), non sono facilida individuare ed é proprio per questa ragione che, se n non é troppo elevato, sipreferisce usare un metodo algebrico che, invece, non richiede alcun interventopreliminare dell’utente. Il valore discriminante di n dipende dal caso particolareda trattare ed anche da valutazioni soggettive, ma può essere indicato dell’ordinedelle centinaia.

La sezione seguente è dedicata ai metodi algebrici o diretti, mentre i metodiiterativi sono trattati in quella immediatamente successiva. In entrambi i casiesporremo solo i metodi più usati e generalmente efficaci, ossia applicabili consuccesso a sistemi lineari generici. Esistono infatti moltissimi metodi ed algo-ritmi specializzati che sfruttano le particolari strutture dei sistemi lineari chesi presentano più o meno frequentemente nelle applicazioni (matrici A sparse,tridiagonali, a bande, a blocchi, . . .) ma di questi non possiamo occuparci inquesto corso. Rimandiamo il lettore interessato alla letteratura specializzata.

62 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

6.1 I metodi algebrici o diretti

In questa sezione presentiamo due metodi algebrici. Il primo è il metodo delleriduzioni successive, o delle eliminazioni successive, di Gauss. Il secondo calcolala matrice inversa di una assegnata matrice (invertibile) A.

Alla loro presentazione è però opportuno premettere una breve trattazionedel caso particolare della soluzione dei sistemi triangolari.

6.1.1 Il caso dei sistemi triangolari

Se il sistema lineare (6.3), (6.2), (6.4) è triangolare inferiore o triangolare supe-riore, la sua soluzione numerica può essere effettuata in maniera poco costosarispettivamente con il metodo delle sostituzioni in avanti o delle sostituzioniall’indietro.

Nel caso di un sistema triangolare inferiore

Lx = b,

L = [lij ], lij = 0 se j > i,

il metodo delle sostituzioni in avanti consiste nel ricavare il valore della primaincognita x1 dalla prima equazione, sostituire il valore così ottenuto di x1 nellaseconda equazione ricavando poi da questa il valore di x2, e così procederein avanti fino a quando, avendo già ricavato il valore di xn−1 dalla penultimaequazione usando i valori di x1, x2, . . . , xn−2 ottenuti dalle prime n−2 equazioni,si sostituiscono tutti questi valori nell’ultima equazione ricavando poi da questail valore di xn e completando in tal modo il calcolo della soluzione del sistema.

Analogamente, nel caso di un sistema triangolare superiore

U x = b,

U = [uij ], uij = 0 se i > j,

il metodo delle sostituzioni all’indietro consiste nel ricavare il valore dell’ultimaincognita xn dalla ultima equazione, sostituire il valore così ottenuto di xn nellapenultima equazione ricavando poi da questa il valore di xn−1, e così procedereandando indietro fino a quando, avendo già ricavato il valore di x2 dalla secondaequazione usando i valori di x3, x4, . . . , xn ottenuti dalle ultime n−2 equazioni,si sostituiscono tutti questi valori nella prima equazione ricavando poi da questail valore di x1 e completando in tal modo il calcolo della soluzione del sistema.

In entrambi i casi la complessità computazionale dell’algoritmo è un O(n2).Più precisamente, come si può facilmente riconoscere, i due algoritmi richiedonon2 operazioni aritmetiche.

Spesso, per la valutazione del costo computazionale di un algoritmo sullematrici si usa assumere come unità di misura di costo computazionale il floppiuttosto che una singola operazione aritmetica. Si considera come un flop lametà del costo computazionale richiesto dalla istruzione

cij = cij + ail blj

6.1. I METODI ALGEBRICI O DIRETTI 63

usata per il calcolo del prodotto tra due matrici A e B.Di solito le due diverse unità di misura non portano a sostanziali differenze

di valutazione. Ad esempio, anche assumendo come unità di misura il flop, ilcosto dei due algoritmi discussi in questa sezione può essere valutato in n2 − nflops.

6.1.2 Il metodo delle riduzioni successive di Gauss

Questo metodo consiste nell’eseguire sul sistema (6.3), (6.2), (6.4) n− 1 oper-azioni di riduzione che lo trasformano successivamente in sistemi

A(r)x = b(r), r = 1 : n− 1.

Ognuno di questi sistemi ha la medesima soluzione ξ del sistema di partenza(6.3), (6.2), (6.4). Inoltre, per ogni r detA(r) differisce dal determinante detAdella matrice di partenza al più per il segno. Infine, l’ultima matrice A(n−1) ètriangolare superiore

A(n−1) = U = [uij ], uij = 0 se i > j

e pertanto la soluzione del sistema di partenza (6.3), (6.2), (6.4) può esserecalcolata applicando al sistema finale

U x = b(n−1)

l’algoritmo delle sostituzioni all’indietro descritto nella sezione precedente.La triangolarizzazione del sistema iniziale avviene progressivamente nel corso

delle operazioni di riduzione. Queste possono essere descritte al modo seguente.La prima operazione di riduzione (r = 1) lascia inalterata la prima equazione

del sistema iniziale e sottrae dalla i-esima equazione la prima moltiplicata mem-bro a membro per mi1 = ai1/a11 (i = 2 : n). Evidentemente a11 è supposto nonnullo, ma questo non è restrittivo perché, se fosse a11 = 0, ci si potrebbe sem-pre ricondurre a questa situazione con un opportuno scambio di due equazioni.L’operazione non cambia la soluzione del sistema e trasforma il sistema inizialenella forma

A(1)x = b(1).

La prima riga di A(1) e la prima componente di b(1) sono quelle del sistemainiziale. Per il resto, gli elementi della parte rimanente della prima colonna diA(1) sono tutti nulli e si ha

a(1)ij = aij −mi1 a1j , i = 2 : n, j = 2 : n,

ed analogamente

b(1)i = bi −mi1 b1 , i = 2 : n.

64 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

Pertanto

A(1) =

a11 a12 a13 · · · a1n0 a

(1)22 a

(1)23 · · · a

(1)2n

0 a(1)32 a

(1)33 · · · a

(1)3n

......

...0 a

(1)n2 a

(1)n3 · · · a

(1)nn

,

ove

A(1)n−1 =

a(1)22 a

(1)23 · · · a

(1)2n

a(1)32 a

(1)33 · · · a

(1)3n

......

a(1)n2 a

(1)n3 · · · a

(1)nn

denota il blocco quadrato di dimensione n− 1, ancora da triangolarizzare, cheha gli elementi a

(1)ij definiti sopra, e, analogamente,

b(1) = [b1 b(1)2 · · · b(1)n ]T .

Si ha detA(1) = (−1)s detA, con s = 0 o s = 1 a seconda che non sia stato, osia stato, effettuato lo scambio di due equazioni sopra menzionato.

La seconda operazione di riduzione (r = 2) lascia inalterate le prime dueequazioni del sistema A(1)x = b(1) e sottrae dalla i-esima equazione la secondamoltiplicata membro a membro per mi2 = a

(1)i2 /a

(1)22 (i = 3 : n). Evidente-

mente a(1)22 è supposto non nullo, ma questo non è restrittivo perché, se fosse

a(1)22 = 0, ci si potrebbe sempre ricondurre a questa situazione con un opportuno

scambio di due delle ultime n − 1 equazioni del sistema A(1)x = b(1). Infatti,detA(1) = (−1)s detA è diverso da zero per la prima delle (6.4) e la strut-tura sopra illustrata di A(1) mostra immediatamente che se tutti gli elementia(1)i2 , i = 2 : n, fossero nulli si avrebbe detA(1) = 0. L’operazione non cambia

la soluzione del sistema e trasforma il sistema A(1)x = b(1) nella forma

A(2)x = b(2).

Le prime due righe di A(2) e le prime due componenti di b(2) sono quelle delsistema A(1)x = b(1). Per il resto, gli elementi della parte rimanente dellaseconda colonna di A(2) sono tutti nulli e si ha

a(2)ij = a

(1)ij −mi2 a

(1)2j , i = 3 : n, j = 3 : n,

ed analogamente

b(2)i = b

(1)i −mi2 b

(1)2 , i = 3 : n.

6.1. I METODI ALGEBRICI O DIRETTI 65

Pertanto

A(2) =

a11 a12 a13 · · · · · · · a1n0 a

(1)22 a

(1)23 · · · · · · · a

(1)2n

0 0 a(2)33 · · · · · · · a

(2)3n

0 0 a(2)43 a

(2)4n

......

......

0 0 a(2)n3 · · · · · · · a

(2)nn

,

ove

A(2)n−2 =

a(2)33 · · · · ·· a

(2)3n

a(2)43 a

(2)4n

......

a(2)n3 · · · · ·· a

(2)nn

denota il blocco quadrato di dimensione n− 2, ancora da triangolarizzare, cheha gli elementi a

(2)ij definiti sopra, e, analogamente,

b(2) = [b1 b(1)2 b

(2)3 · · · b(2)n ]T .

Si ha detA(2) = (−1)s detA, ove s denota il numero degli scambi di dueequazioni effettuati nella prima e nella seconda riduzione.

È ora abbastanza evidente come operino le rimanenti riduzioni (2 < r ≤n− 1).

La r-esima operazione di riduzione opera sul sistema A(r−1)x = b(r−1)

definito dalla precedente. Essa lascia inalterate le prime r equazioni del sistemaA(r−1)x = b(r−1) e sottrae dalla i-esima equazione la r-esima moltiplicata mem-bro a membro per mir = a

(r−1)ir /a

(r−1)rr (i = r + 1 : n). Evidentemente a

(r−1)rr

è supposto non nullo, ma questo non è restrittivo perché, se fosse a(r−1)rr = 0,

ci si potrebbe sempre ricondurre a questa situazione con un opportuno scambiodi due delle ultime n − r + 1 equazioni del sistema A(r−1)x = b(r−1). In-fatti, detA(r−1) = (−1)s detA, con s numero degli scambi tra due equazionieffettuati nelle r − 1 riduzioni precedenti, è diverso da zero per la prima delle(6.4) e la struttura di A(r−1) mostra immediatamente che se tutti gli elementia(r−1)ir , i = r : n, fossero nulli si avrebbe detA(r−1) = 0. L’operazione non

cambia la soluzione del sistema e trasforma il sistema iniziale nella forma

A(r)x = b(r).

Le prime r righe di A(r) e la prime r componenti di b(r) sono quelle del sistemaA(r−1)x = b(r−1). Per il resto, gli elementi della parte rimanente della r-esimacolonna di A(r) sono tutti nulli e si ha

a(r)ij = a

(r−1)ij −mir a

(r−1)rj , i = r + 1 : n, j = r + 1 : n,

ed analogamente

b(r)i = b

(r−1)i −mir b

(r−1)r , i = r + 1 : n.

66 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

Pertanto

A(r) =

a11 a12 a13 a14 a15 · · · a1n0 a

(1)22 a

(1)23 a

(1)24 a

(1)25 · · · a

(1)2n

......

. . .. . .

. . . · · ·0 0 0 a

(r−1)rr a

(r−1)r,r+1 · · · a

(r−1)rn

0 0 0 0 a(r)r+1,r+1 · · · a

(r)r+1,n

0 0 0 0 a(r)r+2,r+1 a

(r)r+2,n

......

......

......

0 0 0 0 a(r)n,r+1 · · · a

(r)nn

,

ove

A(r)n−r =

a(r)r+1,r+1 · · · a

(r)r+1,n

a(r)r+2,r+1 a

(r)r+2,n

......

a(r)n,r+1 · · · a

(r)nn

denota il blocco quadrato di dimensione n − r che ha gli elementi a(r)ij definiti

sopra (ancora da triangolarizzare se r ≤ n− 2, ridotto al solo elemento a(n−1)nn

quando r = n− 1) e, analogamente,

b(r) = [b1 b(1)2 · · · b(r)r+1 · · · b(r)n ]T .

Si ha detA(r) = (−1)s detA, ove s denota il numero degli scambi di dueequazioni effettuati nelle r riduzioni.

Remark 26 Il metodo può essere usato per il solo calcolo di detA memoriz-zando il numero degli scambi che si effettuano ed aggiornandolo continuamente.Naturalmente, quando interessi solo il calcolo del determinante, le operazioni diriduzione non vengono effettuate, come sopra descritto, operando sulla matricecompleta [Ab] ma solo su A.

Remark 27 Il metodo delle riduzioni successive di Gauss altro non è che l’ap-plicazione di una procedura per la soluzione dei sistemi ben nota. Infatti, comefacilmente si riconosce, la r-esima operazione di riduzione consiste nel ricavarexr dalla r-esima equazione e nell’usare l’espressione di xr così ottenuta pereliminare xr dalle equazioni seguenti la r-esima.

Complessità computazionale del metodo delle riduzioni successive diGauss

Usando il flop come unità di costo computazionale ed attenendosi alla consue-tudine intermedia di conservare solamente il termine di grado massimo in nnel riportare il numero dei flops richiesti ma di conservare anche il coefficiente

6.1. I METODI ALGEBRICI O DIRETTI 67

moltiplicativo di tale termine, si può riconoscere che il metodo delle riduzionisuccessive di Gauss ha un costo computazionale di 23 n3 flops. Talvolta, si adottala convenzione ancora più approssimata che consiste nel trascurare anche il co-efficiente moltiplicativo del termine di grado massimo in n. In tal caso si diceche la complessità computazionale dell’ algoritmo è un O(n3).

Anche se usato per il solo calcolo di un determinante, il metodo, adottandola medesima convenzione sopra precisata, costa ugualmente 2

3 n3 flops. La ra-gione di questo risiede evidentemente nel fatto che il supplemento di operazionirichiesto dal dover lavorare sulla matrice completa, che ha dimensione n×n+1,anziché solo su una matrice di dimensione n richiede, come la soluzione all’indi-etro di un sistema triangolare superiore, pure richiesta in più per il calcolo dellasoluzione di un sistema, un numero di flops che è un O(n2).

Stabilità dell’algoritmo che implementa il metodo delle riduzioni suc-cessive di Gauss

L’algoritmo che implementa il metodo delle riduzioni successive di Gauss puòrisultare instabile anche per valori modesti di n se applicato senza alcune pre-cauzioni.Un ruolo fondamentale al riguardo è giuocato dai numeri a

(r−1)rr , r = 1 : n− 1,

che intervengono nelle operazioni di riduzione ma poi, nuovamente, nella fasedella soluzione col metodo delle sostituzioni all’indietro del sistema triangolar-izzato superiormente.

Infatti, si può dimostrare che l’algoritmo può risultare instabile se la matricetriangolare inferiore

L =

1

m21 1

m31 m32 1

m41 m42 m43. . .

......

.... . . 1

mn1 mn2 mn3 · · · mn,n−1 1

,

formata dai numeri mir = a(r−1)ir /a

(r−1)rr , e/o la matrice triangolare superiore

A(n−1) = U ottenuta da A dopo le n− 1 operazioni di riduzione sono grandi innorma. Inoltre, una vasta sperimentazione numerica ha chiaramente dimostratoche è molto prossima a 1 la probabilità che la norma della matrice U risultisufficientemente piccola se le operazioni di riduzione sono condotte in modo chesiano soddisfatte le condizioni

|mir| =∣∣∣a(r−1)ir

∣∣∣/∣∣∣a(r−1)rr

∣∣∣ ≤ 1, i = r + 1 : n, r = 1 : n− 1.

Queste condizioni sono dunque fortemente consigliate per mantenere accetta-bili i valori delle norme di L e di U . Esse si ottengono eseguendo, se necessario,

68 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

prima di eseguire la r-esima operazione di riduzione, r = 1 : n− 1, lo scambiodella r−esima equazione con una delle seguenti in modo che nel sistema rior-dinato il nuovo coefficiente a

(r−1)rr risulti essere non solo non nullo (vedi sopra)

ma anche in modulo maggiore o uguale di tutti i moduli degli elementi chelo seguono nella sua stessa colonna, in modo tale, cioè, che, a riordinamentoeffettuato, si abbia

∣∣∣a(r−1)rr

∣∣∣ ≥∣∣∣a(r−1)ir

∣∣∣ , i = r + 1 : n. (6.7)

La procedura appena descritta prende il nome di riordinamento pivotaleparziale mentre si chiama riordinamento pivotale totale la procedura che con-siste nello scambiare anche le incognite, oltre che le equazioni, in modo che, ariordinamento effettuato, risulti

∣∣∣a(r−1)rr

∣∣∣ ≥∣∣∣a(r−1)ij

∣∣∣ , i = r : n, j = r : n, i+ j > 2 r.

Gli a(r−1)rr determinati con queste condizioni prendono in entrambi i casi il nomedi pivots.

Entrambe le procedure rendono il metodo delle riduzioni successive di Gausssufficientemente stabile per valori di n non troppo elevati. La prima è quellapiù semplice e quella che richiede il minor numero di controlli ed è pertanto lapiù usata. Il numero di controlli che richiede è un O(n2).Per valori elevati di n il tempo richiesto da questi controlli è apprezzabile. Èdunque interessante sapere che esistono casi, abbastanza frequenti nelle appli-cazioni, nei quali il riordinamento pivotale parziale può essere omesso perché lecondizioni (6.7) saranno automaticamente verificate. Uno di questi casi si haquando la matrice A del sistema iniziale verifica le condizioni

|ajj | >∑

i=1:n,i�=j|aij | , j = 1 : n.

Concludiamo questa sezione con una osservazione. Abbiamo visto che ilriordinamento pivotale nella esecuzione del metodo delle riduzioni successivedi Gauss contribuisce sostanzialmente ad attenuare il principale inconvenientedi tutti i metodi algebrici (la crescita con n dell’errore algoritmico), rendendotrattabili soddisfacentemente col metodo sistemi lineari che altrimenti non losarebbero perché di dimensione n troppo elevata per una esecuzione senza rior-dinamenti. È tuttavia bene tener presente che un altro inconveniente dei metodialgebrici sta nel fatto che essi, anche se bene applicati, ossia anche se implemen-tati in maniera stabile, non sono in grado di dare soluzioni accettabili, neppureper valori modesti di n, se il sistema è mal-condizionato. Nella Sezione 6.3tratteremo molto brevemente il problema del mal-condizionamento nel caso deisistemi lineari e vedremo che invece le buone applicazioni dei metodi iterativinon presentano questo inconveniente.

6.1. I METODI ALGEBRICI O DIRETTI 69

6.1.3 Calcolo della matrice inversa

Un altro metodo algebrico consente il calcolo della matrice inversa di una datamatrice A. È basato sulla semplice osservazione esposta quì di seguito.

Rappresentiamo la matrice A−1 da calcolare e la matrice identità I partizio-nandole per colonne e denotando con ci e con ei, i = 1 : n, le colonne di A−1 edi vettori unitari che costituiscono le colonne di I:

A−1 = [c1 c2 · · · cn], I = [e1 e2 · · · en].

Dalla AA−1 = I, segue che sussistono le n relazioni di eguaglianza

Aci = ei, i = 1 : n,

e queste mostrano che le colonne incognite di A−1 sono le soluzioni degli nsistemi lineari

Ax = ei, i = 1 : n.

Il metodo consiste allora nel risolvere questi sistemi col metodo delle riduzionisuccessive di Gauss.

Poiché la matrice dei coefficienti è la stessa in tutti i sistemi, le n − 1 op-erazioni di riduzione possono essere eseguite simultaneamente sugli n sistemioperando sulla matrice completa [A | I] che si ottiene affiancando alla matriceA la matrice identità, ossia tutti i termini noti degli n sistemi da risolvere. Altermine delle n− 1 operazioni di riduzione A sarà stata triangolarizzata, I saràstata trasformata nella matrice

I(n−1) = [e(n−1)1 e

(n−1)2 · · · e(n−1)n ]

le cui colonne sono i trasformati attraverso le n− 1 operazioni di riduzione deitermini noti e1, e2, · · · en degli n sistemi iniziali e la predetta matrice completa[A | I] si presenterà nella forma [U | I(n−1)].

Solo a questo punto la soluzione degli n sistemi col metodo delle riduzionisuccessive di Gauss si spezza in n diverse procedure perché occorre applicare ilmetodo delle sostituzioni all’indietro agli n sistemi triangolari superiori

U x = e(n−1)i , i = 1 : n,

per ricavare le colonne incognite c1, c2, · · · cn ed ottenere così la matrice A−1.

Complessità computazionale del metodo per il calcolo della matriceinversa

Usando il flop come unità di costo computazionale ed attenendosi nuovamentealla consuetudine intermedia di conservare solamente il termine di grado mas-simo in n ma di conservare anche il coefficiente moltiplicativo di tale termine (siveda in proposito la Sezione 6.1.2.1), si può riconoscere che il metodo descrittonella sezione precedente ha un costo computazionale di 8

3 n3 flops, sia che sivoglia calcolare solamente l’inversa di una assegnata matrice sia che si voglia

70 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

calcolare la soluzione di un sistema. Il supplemento di operazioni richiesto dalprodotto A−1b per avere la soluzione costa infatti 2n2 flops e non modificapertanto il coefficiente del termine di terzo grado in n.

Si può dunque dire che il metodo per il calcolo della matrice inversa costaquattro volte il costo del metodo delle riduzioni successive di Gauss.Esso va quindi considerato come un metodo da usare solo per invertire una ma-trice e non come una alternativa al metodo delle riduzioni successive di Gauss perla soluzione di un sistema lineare, a meno che, ovviamente, oltre alla soluzionedel sistema lineare (6.3), (6.2), (6.4), non interessi anche A−1 od una parte deisuoi elementi. Una altra eccezione alla regola si ha in elaborazioni nelle qualisia prevista la soluzione di un numero elevato m di sistemi lineari aventi tuttila medesima matrice di coefficienti A e termini noti b(k), k = 1 : m, sconosciutia priori e generati nel corso dei calcoli. In questa situazione sarà convenienteinvertire in partenza la matrice A−1 e poi effettuare i prodotti matrice-vettoreA−1b(k), k = 1 : m, che costano 2mn2 flops, man mano che saranno statiottenuti i termini noti b(k), k = 1 : m.

Stabilità dell’algoritmo che implementa il metodo per il calcolo dellamatrice inversa

Per quanto riguarda la stabilità dell’algoritmo che implementa il metodo per ilcalcolo della matrice inversa vale, ovviamente, quanto osservato nella Sezione6.1.2. L’algoritmo sarà sufficientemente stabile se n non è troppo elevato e severrà eseguito il riordinamento pivotale nella fase delle riduzioni successive.

6.1.4 Stima dell’errore nei metodi algebrici o diretti

Una volta ottenuto da calcolo con un metodo algebrico un vettore ξ∗, questosarà da considerare una approssimazione della soluzione ξ.

Un criterio per stimare l’errore ξ−ξ∗, analogo a quello già visto nei Capitoli3 e 4, consiste nel calcolare il cosiddetto vettore dei residui

r∗ = Aξ∗ − b

e nel giudicare della bontà della approssimazione ξ∗ dalla grandezza di r∗ inuna norma opportuna o, più semplicemente, dalla grandezza delle componentidi r∗.

Purtroppo, questo criterio, che è l’unico ragionevolmente semplice da usareper valutare l’accuratezza di una approssimazione ottenuta con un metodo alge-brico, può risultare, come vedremo nella Sezione 6.3, del tutto ingannevole nelcaso di sistemi mal-condizionati.

6.2 Metodi iterativi

In questa sezione presentiamo l’applicazione del metodo del punto unito, stu-diato nel Capitolo 4 nel caso di un sistema qualsiasi, al caso particolare della

6.2. METODI ITERATIVI 71

soluzione numerica di un sistema lineare. Pertanto, rileggeremo la teoria esam-inata nel Capitolo 4 particolarizzandola al caso in cui la funzione f sia definitacome nella (6.1) ed aggiungeremo le considerazioni più importanti che si possonofare nel caso particolare considerato.

Vedremo che si hanno notevoli semplificazioni e che l’unico problema è quellopratico derivante dalla grande dimensione dei sistemi lineari proposti dalle ap-plicazioni.

Il primo passo consiste nel trasformare il sistema definito dalle (4.0), (6.1),(6.2) e (6.4) nella forma x = ϕ(x) necessaria per l’applicazione del metododel punto unito. Poiché non si vuole rinunciare ai vantaggi derivanti dal casoparticolare trattato, si effettua la trasformazione in modo che anche il sistematrasformato sia lineare. Si avrebbe infatti un notevole aggravio delle difficoltàderivanti dalle grandi dimensioni dei sistemi da trattare se si trasformasse ilsistema lineare di partenza in uno non lineare. Il sistema trasformato avràquindi la forma

x = ϕ(x) = C x+ d, C = [cij ] ∈ Cn×n, d = [d1, d2, . . . , dn]T ∈ Cn, (6.8)

e le componenti scalari della forma vettoriale (6.8) saranno dunque

xh = ϕh(x) =n∑

k=1

chk xk + dh , h = 1 : n.

Il secondo passo consiste nella scelta della approssimazione iniziale x(0).Infine, il terzo passo consiste nella iterazione della relazione ricorrente

x(i) = ϕ(x(i−1)) = C x(i−1) + d, i = 1, 2, . . . . (6.9)

Naturalmente, il sistema (6.8) dovrà avere la medesima soluzione ξ = A−1bdi quello di partenza e sarà da evitare, per ragioni facilmente comprensibili, chesi abbiano infinite soluzioni. Le cose dovranno essere quindi condotte in mododa garantire che si abbia

(I −C) ξ = d, (6.10)

e che la matrice I −C sia invertibile, ossia che risulti

det(I −C) �= 0. (6.11)

Per ottenere il più generale sistema del tipo (6.8), (6.10), (6.11) basta appli-care la procedura descritta per il caso di sistemi qualsiasi nella Osservazione 17del Capitolo 4 limitandosi a considerare la matrice invertibile M(x) costante,ossia indipendente da x:

M(x) = M.

Tenendo conto del fatto che nel caso che ora stiamo esaminando la funzione fè definita dalla (6.1), con la procedura semplificata appena descritta si pervienealla funzione

ϕ(x) = x+M f(x) = x+M (Ax− b) = (I +M A)x−M b

72 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

e quindi al sistemax = (I +M A)x−M b,

che è del tipo (6.8) conC = I +M A

ed = −M b,

e che verifica certamente le condizioni (6.10), (6.11) perché, per come è statocostruito (si veda ancora la procedura generale descritta nell’Osservazione 17del Capitolo 4), ha solo la medesima soluzione ξ del sistema di partenza (4.0),(6.1), (6.2), (6.4).

Vedi Capitolo 6, Sezione 6.2, Livello 1 per >.Abbiamo quindi un primo esempio delle semplificazioni teoriche che si incon-

trano trattando il caso particolare dei sistemi lineari: una procedura semplificatarispetto a quella introdotta nel caso generale dei sistemi non lineari conduce atutti i possibili sistemi x = ϕ(x) ai quali siamo interessati.

Anche se semplificata, questa procedura può essere applicata in infiniti modidiversi, tanti quante sono le matrici invertibili, e vedremo che fra tutti i possibilisistemi (6.8), (6.10), (6.11) ai quali essa conduce ci sono sistemi estremamenteben condizionati che danno luogo a relazioni ricorrenti (6.9) che inducono al-goritmi fortemente stabili e generano successioni che convergono molto rapida-mente alla soluzione ξ.Come già osservato, però, queste eccellenti applicazioni del metodo del puntounito non sono sempre facilmente individuabili, soprattutto perché il metodosi applica molto spesso a sistemi di grandi dimensioni, ed è proprio per questaragione che, se n non è troppo elevato, si preferisce usare un metodo algebricoche, invece, non richiede alcun intervento preliminare dell’utente.

6.2.1 I teoremi

Le altre semplificazioni teoriche che si hanno nel caso particolare dei sistemilineari derivano dal fatto che la funzione ϕ è in questo caso una funzione diclasse C∞ in tutto lo spazio, derivabile, quindi, in tutto lo spazio e con derivataϕ′ che si rappresenta con la matrice Jacobiana Jϕ(x) = C della funzione ϕ:

ϕ′(x)↔ Jϕ(x) = C,

ed è costante, ossia indipendente da x, in tutto lo spazio. Queste proprietà dellafunzione ϕ conducono infatti ad una teoria del metodo del punto unito che puòessere compiutamente descritta con un minor numero di teoremi e, soprattutto,nella quale ipotesi possono essere omesse o semplificate e tesi acquistano uncontenuto più favorevole.

Il primo teorema è la attuale versione del Teorema 35 del Capitolo 4. Nonoccorre più ipotizzare che la relazione ricorrente (6.9) definisca una successione eneppure la continuità della ϕ nel punto limite della successione. Queste ipotesisono infatti implicate dalle proprietà della ϕ. La dimostrazione è contenuta

6.2. METODI ITERATIVI 73

in quella del teorema generale del Capitolo 4. Il teorema si enuncia al modoseguente.

Theorem 47 Se la successione{x(i)

}i=1,2,...

generata dalla relazione ricorrente(6.9) è convergente, il suo limite è soluzione del sistema (6.8).

Le osservazioni da fare riguardo a questo teorema ed ai procedimenti pertentativi non garantiti che su di esso si basano sono perfettamente analoghe aquelle fatte per il caso generale nel Capitolo 4 e, nel caso particolare n = 1,nel Capitolo 3. Pertanto le omettiamo limitandoci ad osservare che i criterid’arresto da usare in questo tipo di procedimenti sono

∥∥∥r(i)∥∥∥ < ε,

∥∥∥x(i) − x(i−1)∥∥∥ < ε,

ove r(i) = f(x(i)) = Ax(i) − b è il così detto vettore dei residui alla i−esimaiterata e ‖·‖ è una opportuna norma vettoriale.

Nella attuale versione del Teorema 36 del Capitolo 4 potremo assumere chel’intervallo chiuso D sia tutto lo spazio e porre la condizione che risulti ‖C‖v < 1in una norma operatore ‖·‖v . Infatti, la condizione ϕ(D) ⊆ D sarà automati-camente garantita dall’ipotesi che D sia tutto lo spazio. Si perviene così alseguente teorema la cui dimostrazione è contenuta in quella del teorema gen-erale del Capitolo 4.

Theorem 48 Esista una norma operatore ‖·‖v tale che

‖C‖v < 1. (6.12)

In queste ipotesi, il sistema (6.8) ha una sola soluzione ξ e la relazionericorrente (6.9) genera una successione

{x(i)

}i=1,2,...

che converge a ξ comunque

si scelga la approssimazione iniziale x(0). Le approssimazioni successive x(i)

verificano le condizioni

∥∥∥x(i) − ξ∥∥∥v≤ kiv

1− kv

∥∥∥x(1) − x(0)∥∥∥v, i ≥ 1,

∥∥∥x(i) − ξ∥∥∥v≤ kv

1− kv

∥∥∥x(i) − x(i−1)∥∥∥v, i ≥ 1,

∥∥∥x(i) − ξ∥∥∥v≤ kiv

∥∥∥x(0) − ξ∥∥∥v

i ≥ 1,

nelle quali la norma vettoriale è quella che induce la norma operatore in (6.12)e kv = ‖C‖v.

Il teorema appena enunciato fornisce un risultato molto più favorevole delcorrispondente teorema del Capitolo 4 richiamato sopra. Esso infatti dice chebasta trovare una norma operatore ‖·‖v per la quale sussista la (6.12) per potereassicurare la convergenza alla unica soluzione del sistema comunque si scelgal’approssimazione iniziale.

74 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

I Teoremi 37 e 39 del Capitolo 4, in virtù del fatto che ϕ′(x) non dipende dax nel caso che stiamo considerando in questo capitolo, vengono di fatto assorbitidal Teorema 48. In altre parole, il Teorema 36, il Teorema 37 ed il Teorema 39,relativi al caso di sistemi qualsiasi, si riducono al solo Teorema 48 nel caso deisistemi lineari.

Un particolare interesse ha il teorema che segue. Esso può essere consideratocome il teorema corrispondente al Teorema 41 del Capitolo 4, ma nel caso deisistemi lineari assume una forma particolarmente significativa in quanto forniscecondizioni che sono sufficienti e, praticamente, anche necessarie perché il metododel punto unito converga alla soluzione di un sistema lineare. Omettiamo ladimostrazione per la quale si può vedere Capitolo 6, Sezione 6.2.1, Livello 1.

Theorem 49 Se ρ(C) < 1 il sistema (6.8) ha una sola soluzione ξ e comunquesi scelga l’approssimazione iniziale x(0) la relazione ricorrente (6.9) genera unasuccessione

{x(i)

}i=1,2,...

convergente a ξ.

Viceversa, se comunque venga scelta l’approssimazione iniziale x(0) la re-lazione ricorrente (6.9) definisce una successione

{x(i)

}i=1,2,...

convergente adun medesimo limite ξ, si ha necessariamente ρ(C) < 1.

Il teorema 48 non permette di giungere a nessuna conclusione fino a che nonsi sia trovata una norma operatore ‖·‖v nella quale risulti ‖C‖v < 1 e c’è damettere nel conto che questa norma potrebbe non esistere.

Al contrario, il Teorema 49 consente, almeno tutte le volte in cui sia possibileottenere in modo ragionevolmente semplice un valore affidabile del raggio spet-trale di C, di accertare in via definitiva se il sistema (6.8) al quale si è pervenutisia o no adatto ad essere risolto col metodo del punto unito.

Come già osservato, il metodo del punto unito è in pratica utilizzabile solonel caso in cui risulti ρ(C) < 1. (Vedi, ancora, Capitolo 6, Sezione 6.2.1, Livello1 per >.)Anzi, per essere ancora più concreti, è bene tenere presente la proprietà diρ(C) di essere l’estremo inferiore delle norme operatore di C. Da essa segueinfatti che il metodo, in opportune norme operatore ‖·‖v, si svolgerà con costantikv = ‖C‖v tanto prossime a ρ(C) quanto si vuole e che pertanto conviene cheρ(C) sia, non solo minore di 1, ma anche sufficientemente piccolo da garantirein norme convenienti una buona rapidità di convergenza.

Nella sezione seguente svilupperemo questa osservazione e giustificheremoparzialmente una affermazione fatta in precedenza circa la esistenza di eccellentiapplicazioni del metodo del punto unito mostrando che esso può essere in teoriaapplicato secondo le modalità suggerite dai Teoremi 48 e 49 e con valori dikv = ‖C‖v e ρ(C) arbitrariamente piccoli. Successivamente, nella Sezione 6.3.2,torneremo sull’argomento mostrando che le modalità predette consentono anchedi garantire un ottimo condizionamento della soluzione del sistema (6.8), (6.10),(6.11).

Va tuttavia notato, a questo proposito, che il metodo di Newton (lasciamo laverifica come utile esercizio) conduce, nel caso di un sistema lineare (4.0), (6.1),(6.2), (6.4), al sistema (6.8) x = A−1b, nel quale C = 0, ρ(C) = 0, d = A−1b, e

6.2. METODI ITERATIVI 75

ad una convergenza alla soluzione ξ = A−1b che ha quindi un ordine di conver-genza r arbitrariamente elevato perché avviene in una sola iterata (e da ogniapprossimazione iniziale). Ma a questo risultato da un punto di vista teoricoeccellente fa purtroppo riscontro dal punto di vista pratico la costatazione delu-dente che il metodo si riduce alla applicazione del Teorema di Cramer e quindiad un metodo algebrico già scartato in partenza perché troppo costoso. Quindi:è anche possibile in teoria applicare il metodo del punto unito addirittura conkv = ‖C‖v = ρ(C) = 0 e non solo arbitrariamente piccoli, ma la applicazionenon ha di fatto interesse in pratica.

Chiudiamo questa sezione riportando l’enunciato del seguente teorema cheriguarda il comportamento dell’errore complessivo. Anche in questo caso, ilconfronto con gli analoghi teoremi dei Capitoli 3 e 4 evidenzia semplificazioniteoriche. Esse riguardano le ipotesi, che risultano indebolite. Come nei teoremidei Capitoli 3 e 4, σ rappresenta la precisione con la quale si può calcolare lafunzione ϕ nella regione, che denotiamo con R, nella quale si svolge il procedi-mento:

‖ϕ(x)− ϕ∗(x)‖v ≤ σ, per ogni x ∈ R.

Theorem 50 Nelle ipotesi del Teorema 48, siano x(0) l’approssimazione in-iziale di macchina e {x(i)∗}i=1:m, m ∈ N+, la sequenza di approssimazionisuccessive ottenute da calcolo a partire da x(0). Per ogni prefissato m ∈ N+ siha:

∥∥∥x(i)∗ − ξ∥∥∥v≤ kiv

∥∥∥x(0) − ξ∥∥∥v+ kiv

∥∥∥x(0) − x(0)∥∥∥v+

σ

1− kv, i = 1 : m.

ove la norma vettoriale è quella che induce la norma operatore in (6.12) e kv =‖C‖v.

Riguardo al notevole risultato fornito da questo teorema si possono ripetereosservazioni perfettamente analoghe a quelle fatte a proposito del teoremi deiCapitoli 3 e 4 richiamati sopra. È però opportuno sottolineare nuovamenteil fatto che anche le maggiorazioni degli errori assoluti inerente e algoritmico,come quelle dell’errore assoluto teorico, sono tanto più favorevoli quanto più lacostante kv = ‖C‖v è piccola.

6.2.2 Le ”buone applicazioni” del metodo

Come già osservato, l’analisi fatta nella sezione precedente mostra che le appli-cazioni del metodo del punto unito risultano tanto più vantaggiose quanto piùpiccole sono le costanti kv = ‖C‖v e ρ(C).

È dunque interessante notare che, tutte le volte che il sistema da risolvere èdel tipo (4.0), (6.1), (6.2) e (6.4), ossia tutte le volte che il sistema da risolvere èuno di quelli che ci interessano, è in teoria possibile effettuarne la trasformazionein un sistema (6.8), (6.10), (6.11) per il quale le predette costanti siano limitatesuperiormente da una quantità arbitrariamente prefissata.

Ci proponiamo ora di caratterizzare queste buone applicazioni.

76 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

Poiché risulterà ρ(C) ≤ ‖C‖v quale che sia la norma operatore considerata,basterà caratterizzare le applicazioni per le quali ‖C‖v è limitato superiormenteda un ε > 0 arbitrariamente prefissato. Inoltre, poiché sappiamo che non èrestrittivo supporre di essere arrivati al sistema trasformato (6.8), (6.10), (6.11)mediante la procedura semplificata descritta all’inizio della Sezione 6.2, possi-amo caratterizzare queste buone applicazioni in termini della matrice invertibileM che le definisce.

Ciò premesso, poiché sarà C = I+M A, la costante ‖C‖v risulterà sufficien-temente piccola se e solo se sarà

I +M A ≅ 0,

ossia

M A ≅ −I,

e quindi

M = −A−1 +E, (6.13)

con ‖E‖v sufficientemente piccola. Più precisamente ‖E‖v dovrà1) rendere M invertibile,

perché questa condizione è richiesta dalla procedura semplificata, e dovrà anche2) rendere ‖C‖v ≤ ε,

dal momento che vogliamo ottenere questa ulteriore condizione.Considerazioni che omettiamo (per le quali si rimandano gli interessati al

Capitolo 6, Sezione 6.2.2, Livello 1) conducono a stabilire che entrambe le con-dizioni 1) e 2) sono soddisfatte se

‖E‖v ≤ ε /‖A‖v . (6.14)

In conclusione potremo assicurare che ‖C‖v ≤ ε se il sistema (6.8), (6.10),(6.11) è quello che si ottiene da quello iniziale (4.0), (6.1), (6.2), (6.4) medianteuna matrice M che verifichi le condizioni (6.13) e (6.14).

Si tratta di condizioni che in teoria è possibile soddisfare in infiniti modidiversi e dunque in teoria per ogni sistema lineare che si sia interessati a risolveresi possono costruire un numero illimitato di applicazioni tanto efficienti quantosi vuole. Questo è naturalmente di grande interesse, anche perché le (6.13),(6.14) indicano la strada da percorrere.

Tuttavia, le due condizioni richiedono in sostanza di sapere approssimareabbastanza bene la matrice A−1 e questo in pratica è facile a farsi solo in casiparticolari. Insomma: le buone applicazioni esistono sempre ma solo in casiparticolari è facile individuarle.

Uno di questi casi particolari è considerato nelle due sezioni seguenti, nellequali sono anche presentati due particolari applicazioni del metodo del puntounito molto usate.

6.2. METODI ITERATIVI 77

6.2.3 Il metodo di Jacobi

Un caso particolare nel quale è facile trasformare il sistema dalla forma (6.3)nella forma (6.8) in modo che sia soddisfatta la condizione (6.12) in una op-portuna norma operatore è quello in cui la matrice A dei coefficienti verifica lacondizione

|ahh| >∑

j=1:n,j �=h|ahj | , h = 1 : n,

che prende il nome condizione di dominanza diagonale. Si è anche soliti dire,quando questa condizione è soddisfatta, che la matrice A è diagonalmente dom-inante.

In questo caso si comprende infatti facilmente che il sistema

xh =1

ahh

j=1:n,j �=hahj xj + bh

, h = 1 : n,

semplicemente ottenuto esplicitando la h-esima equazione scalare rispetto axh, h = 1 : n, ha i requisiti richiesti. In effetti, oltre ad essere ovviamenteequivalente al sistema di partenza (6.3), perché ottenuto con trasformazioni chenon modificano la soluzione, esso è del tipo (6.8) con la matrice C ed il vettored definiti al modo seguente

chj =

{0 se h = j

−ahj/ahh se h �= j, h, k = 1 : n,

dh = bh/ahh , h = 1 : n,

e con la matrice C che verifica la condizione (6.12) nella norma ∞. Difatti, invirtù della dominanza diagonale di A, si ha

‖C‖∞ = maxh=1:n

n∑

j=1

|chj | = maxh=1:n

j=1:n,j �=h

|ahj ||ahh|

= maxh=1:n

∑j=1:n,j �=h |ahj ||ahh|

< 1.

(6.15)Qui di seguito diamo anche due rappresentazioni in forma vettoriale del

sistema del tipo (6.8) che abbiamo appena scritto in forma scalare. Entrambe lerappresentazioni sono scritte denotando rispettivamente con L, D e U le matriciche costituiscono la parte strettamente triangolare inferiore, la parte diagonalee la parte strettamente triangolare superiore di A ed entrambe si dimostranofacilmente osservando che si ha, ovviamente, A = L+D+U e che la matrice D èinvertibile perché, in virtù della dominanza diagonale di A, risulterà certamente|ahh| > 0, h = 1 : n.

La prima rappresentazione vettoriale è la seguente

x =(I −D−1A

)x+D−1b. (6.16)

Il confronto con la rappresentazione generale di un sistema del tipo (6.8) ot-tenuta con la procedura semplificata descritta all’inizio della Sezione 6.2 mostra

78 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

che in questo caso particolare si ha

C = I −D−1A, d = D−1b,

e che pertanto il sistema appena costruito può essere considerato come un sis-tema (6.8) generato con la predetta procedura assumendo

M = −D−1.

È interessante osservare che questa scelta di M appare in accordo con quellesuggerite nella sezione precedente poiché A è diagonalmente dominante. Ineffetti, quanto più A sarà diagonalmente dominante, tanto più D−1 sarà unabuona approssimazione di A−1. È pure interessante osservare che tutto questoè anche in accordo con il fatto che quanto più A sarà diagonalmente dominante,tanto più ‖C‖∞ in (6.15) sarà piccola.

La seconda rappresentazione vettoriale è la seguente

x = D−1 (−Lx− U x+ b) .

Questa rappresentazione tornerà utile per un confronto col metodo che presen-teremo nella sezione che segue.

Infine, usando le due rappresentazioni vettoriali, la relazione ricorrente (6.9)si può scrivere indifferentemente così

x(i) =(I −D−1A

)x(i−1) +D−1b, i = 1, 2, . . . ,

o anche così

x(i) = D−1(−Lx(i−1) − U x(i−1) + b

), i = 1, 2, . . . . (6.17)

La particolare applicazione del metodo del punto unito che stiamo descrivendoè conosciuta come il metodo di Jacobi. Quanto osservato finora può essere rias-sunto nel teorema seguente.

Theorem 51 La matrice A sia diagonalmente dominante. In questa ipotesi,il sistema (6.3) ha una sola soluzione ξ e la relazione ricorrente del metodo diJacobi (6.17) definisce una successione

{x(i)

}i=1,2,...

che converge a ξ comunque

si scelga la approssimazione iniziale x(0). Le approssimazioni successive x(i)

verificano le condizioni

∥∥∥x(i) − ξ∥∥∥∞≤ ki∞

1− k∞

∥∥∥x(1) − x(0)∥∥∥∞

, i ≥ 1,

∥∥∥x(i) − ξ∥∥∥∞≤ k∞

1− k∞

∥∥∥x(i) − x(i−1)∥∥∥∞

, i ≥ 1,

∥∥∥x(i) − ξ∥∥∥∞≤ ki∞

∥∥∥x(0) − ξ∥∥∥∞

i ≥ 1,

nelle quali k∞ è la costante ‖C‖∞ in (6.15).

6.2. METODI ITERATIVI 79

Proof. La tesi è una diretta conseguenza del Teorema 48, della (6.15) e dellagià osservata equivalenza dei sistemi (6.3) e (6.16).

Remark 28 La diagonale dominanza della matrice A è una condizione suffi-ciente, ma non necessaria, per la convergenza del metodo di Jacobi. Una con-dizione sufficiente e ”praticamente” anche necessaria si ricava dal Teorema 49e dalle due rappresentazioni vettoriali del sistema attuale ed è che la matriceI −D−1A = −D−1 (L+ U) abbia raggio spettrale minore di 1:

ρ(I −D−1A) = ρ(D−1 (L+ U)) < 1.

6.2.4 Il metodo di Gauss-Seidel

Il metodo che presentiamo in questa Sezione è conosciuto come metodo di Gauss-Seidel. Ha molte analogie col metodo di Jacobi e pertanto lo introduciamoseguendo una linea strettamente analoga a quella della sezione precedente edusando ancora le notazioni L, D, e U per denotare la parte strettamente trian-golare inferiore, la parte diagonale e la parte strettamente triangolare superioredella matrice A dei coefficienti del sistema (6.3).

Conviene descrivere la differenza tra il metodo di Jacobi e quello di Gauss-Seidel facendo ancora una volta riferimento alla procedura semplificata descrittaall’inizio della Sezione 6.2. Mentre infatti nel metodo di Jacobi la trasformazionedel sistema iniziale (6.3) nella forma (6.8) può essere descritta con la proceduraponendo M = −D−1, nel metodo di Gauss-Seidel la trasformazione mediantela procedura nel sistema (6.8) avviene assumendo

M = −(L+D)−1.

La matrice triangolare inferiore L + D viene quindi considerata invertibile equesto vuol dire che, come del resto nel metodo di Jacobi, si assume che glielementi ahh di D siano tutti non nulli.

Questa differenza nella scelta della matrice M è significativa nel senso che,riapplicando un ragionamento già fatto per il metodo di Jacobi e basato sulleconsiderazioni svolte nella Sezione 6.2.2, possiamo già da essa dedurre che cosìcome il metodo di Jacobi sarà tanto più efficiente quanto più forte sarà la dom-inanza diagonale di A, così il metodo di Gauss-Seidel sarà tanto più efficientequanto più forte sarà la dominanza della parte triangolare inferiore L+D di Asulla restante parte strettamente triangolare superiore U .

Tenendo conto di quanto detto sopra il sistema (6.8) usato nel metodo diGauss-Seidel si scrive al modo seguente

x = (I +M A)x−M b = (I − (L+D)−1A)x+ (L+D)−1b,

o anche, come si riconosce facilmente ponendo A = L+D+ U , così

x = −(L+D)−1U x+ (L+D)−1b.

80 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

Una prima forma della relazione ricorrente del metodo potrebbe quindi esserela seguente

x(i) = −(L+D)−1U x(i−1) + (L+D)−1b, i = 1, 2, . . . .

È però conveniente riscrivere questa relazione premoltiplicandola membro amembro per L+D

(L+D)x(i) = −U x(i−1) + b, i = 1, 2, . . . ,

portando successivamente a secondo membro Lx(i)

Dx(i) = −Lx(i) − U x(i−1) + b, i = 1, 2, . . . ,

ed infine, poiché (vedi sopra) D è supposta invertibile in questo metodo, pre-moltiplicando membro a membro per D−1

x(i) = D−1(−Lx(i) − U x(i−1) + b), i = 1, 2, . . . . (6.18)

Questa relazione ricorrente e la sua versione scalare

x(i)h =

1

ahh

h−1∑

j=1

ahj x(i)j −

n∑

j=h+1

ahj x(i−1)j + bh

, h = 1 : n, i = 1, 2, . . . ,

che si deduce immediatamente dalla (6.18) ricordando come sono definite lematrici L e U , rappresentano compiutamente le caratteristiche del metodo diGauss-Seidel e permettono un significativo confronto con il metodo di Jacobi.Infatti le (6.17) e (6.18) e le rispettive versioni scalari mostrano che i due metodidifferiscono per il fatto che nel metodo di Gauss-Seidel ogni nuova componentedella approssimazione successiva che si sta calcolando viene messa nel ciclo nonappena è stata calcolata mentre invece, nel metodo di Jacobi, essa attende chesiano state calcolate tutte le altre prima di essere utilizzata. Si tratta ovviamentedi una differenza rilevante che fa ritenere il metodo di Gauss-Seidel più veloce,in generale, di quello di Jacobi nei casi in cui la convergenza si verifica perentrambi. Il teorema che segue, del quale omettiamo la dimostrazione, mostrache la convergenza di entrambi i metodi si ha certamente quando la matrice Aè diagonalmente dominante.

Theorem 52 La matrice A sia diagonalmente dominante. In questa ipotesi,il sistema (6.3) ha una sola soluzione ξ e la relazione ricorrente del metododi Gauss-Seidel (6.18) definisce una successione

{x(i)

}i=1,2,...

che converge a ξ

comunque si scelga la approssimazione iniziale x(0).

Remark 29 La diagonale dominanza della matrice A è una condizione suffi-ciente, ma non necessaria, per la convergenza del metodo di Gauss-Seidel. Unacondizione sufficiente e ”praticamente” anche necessaria si ricava dal Teorema49 e dalle due rappresentazioni vettoriali del sistema attuale ed è che la matriceI − (L+D)−1A = −(L+D)−1U abbia raggio spettrale minore di1:

ρ(I − (L+D)−1A) = ρ((L+D)−1U) < 1.

6.3. IL CONDIZIONAMENTO DEL PROBLEMA COMPUTA-ZIONALE 81

Remark 30 Le condizioni nella osservazione precedente sono diverse da quellenella analoga osservazione relativa al teorema precedente e pertanto esistono casinei quali converge il metodo di Jacobi e non converge quello di Gauss-Seidel eviceversa.

6.3 Il condizionamento del problema computa-zionale

Chiudiamo il Capitolo con cenni sintetici alla analisi del condizionamento delproblema computazionale consistente nel calcolo della soluzione del sistema lin-eare (6.3), (6.2), (6.4).

Il problema può essere rappresentato al modo seguente

ξ = F (A, b) = A−1b

e si tratta di studiare la sensibilità del risultato ξ (la soluzione del sistema) aperturbazioni sui dati (la matrice A dei coefficienti ed il vettore b dei termininoti del sistema).

Per comprendere l’importanza del problema esaminiamo il seguente sempliceesempio.

Example 53 Consideriamo i due sistemi lineari A′x = b′ e A′′x = b′′, con

A′ =

[1 −1

−2− ε 2

], b′ =

[−48− ε

],

e

A′′ =

[1 −1−2 2− ε

], b′′ =

[−48 + ε

].

Scrivendo i due sistemi in forma scalare, si ha{

x1 − x2 = −4−(2 + ε)x1 + 2x2 = 8− ε

,

{x1 − x2 = −4−2x1 + (2− ε)x2 = 8 + ε

,

ed è immediato verificare che il primo sistema ha la soluzione ξ′ = [1 5]T ,mentre il secondo ha la soluzione ξ′′ = [−5 − 1]T .Inoltre, se la soluzione ξ′′ = [−5 − 1]T del secondo dei due sistemi vieneconsiderata come una approssimazione della soluzione ξ′ = [1 5]T del primo eviene calcolato il relativo vettore dei residui r′ = A′ξ′′ − b′, si ottiene:

r′ = [0 6 ε]T

ed analogamente, se la soluzione ξ′ = [1 5]T del primo sistema viene consideratacome una approssimazione della soluzione ξ′′ = [−5 − 1]T del secondo e vienecalcolato il relativo vettore dei residui r′′ = A′′ξ′ − b′′, si ottiene:

r′′ = [0 − 6 ε]T .

82 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

I due sistemi lineari riportati nell’esempio sono entrambi del tipo (6.3), (6.2),(6.4), cioè del tipo che ci interessa.Le perturbazioni sui dati che modificano ciascuno dei due sistemi nell’altro sonoδA′ = A′′ − A′ e δb′ = b′′ − b′ nel caso del primo sistema, δA′′ = −δA′ eδb′′ = −δb′ nel caso del secondo, e calcoli elementari mostrano che

‖δA′‖1 = ‖δA′′‖1 = |ε| , ‖δb′‖1 = ‖δb′′‖1 = 2 |ε| ,

‖δA′‖2 = ‖δA′′‖2 =√2 |ε| , ‖δb′‖2 = ‖δb′′‖2 = 2 |ε| ,

‖δA′‖∞ = ‖δA′′‖∞ = 2 |ε| , ‖δb′‖∞ = ‖δb′′‖∞ = 2 |ε| ,e che si ha

∥∥ξ′ − ξ′′∥∥1= 12,

∥∥ξ′ − ξ′′∥∥2=√72,

∥∥ξ′ − ξ′′∥∥∞ = 6,

mentre per i vettori dei residui risulta

‖r′‖ = ‖r′′‖ = 6 |ε|

in tutte e tre le norme 1, 2, e ∞.In altre parole, perturbazioni arbitrariamente piccole sui dati (|ε| può essere

arbitrariamente piccolo nelle considerazioni che abbiamo fatto) inducono errorisui risultati dell’ordine dell’unità senza che il mal-condizionamento sia denunci-ato dai vettori residui che anzi rimangono dello stesso ordine di grandezza delleperturbazioni apportate sui dati.

Non è difficile riconoscere che il mal-condizionamento delle soluzioni dei duesistemi è dovuto al fatto le righe delle matrici A′ ed A′′ sono tanto più prossimead essere linearmente dipendenti quanto più |ε| è piccolo.Questo è particolarmente evidente se si interpretano le cose dal punto di vistageometrico perché la quasi lineare dipendenza delle righe della matrice A′ [dellamatrice A′′] dei coefficienti del primo sistema [del secondo sistema] vuol dire chei due luoghi geometrici dei punti del piano che verificano la prima e la secondaequazione sono due rette che hanno intersezione costituita da un solo punto (invirtù di quanto richiesto in (6.4)) ma che sono prossime a coincidere. È evidenteche in situazioni di questo genere anche piccole perturbazioni sui dati possonofare slittare lontano la soluzione (il punto intersezione) nella direzione, quasicomune, delle due rette e pertanto in posizioni ancora così vicine ad entrambele rette da rendere i residui sorprendentemente piccoli e del tutto inaffidabili perstimare l’errore.

Ugualmente, non è difficile riconoscere che, al contrario, un buon condizion-amento del sistema si sarebbe avuto se le due rette, anziché quasi coincidenti,fossero state quasi ortogonali o addirittura ortogonali.

Le considerazioni fatte finora con riferimento ad un sistema due per duehanno evidentemente carattere generale. Il mal-condizionamento si verificaquando le righe della matrice dei coefficienti sono prossime alla lineare dipen-denza. Questa constatazione, importante da un punto di vista concettuale, non èperò molto utile al fine di riconoscere a priori un eventuale mal-condizionamento

6.3. IL CONDIZIONAMENTO DEL PROBLEMA COMPUTA-ZIONALE 83

del sistema da risolvere. Infatti, a meno che il sistema non sia di dimensionemolto contenuta, non è affatto facile riconoscere la eventuale presenza di com-binazioni lineari approssimative tra righe della matrice dei coefficienti.

Un indicatore significativo e meglio utilizzabile nella pratica si ottiene invecepartendo dall’osservare che, siccome il determinante è una funzione continuadegli elementi di una matrice, se righe della matrice A sono molto prossimead essere linearmente dipendenti, allora A deve essere vicina all’insieme dellematrici singolari. In effetti, questa idea di legare il grado di mal-condizionamentodi un sistema lineare al grado di quasi-singolarità della matrice dei coefficientiA conduce ad un efficace indicatore o, come si dice comunemente, ad un efficacenumero di condizionamento. Tuttavia l’idea va perfezionata e ragionamenti cheomettiamo (per i quali si rimandano gli interessati al Capitolo 6, Sezione 6.3,Livello 1) conducono a considerare la distanza di A dall’insieme delle matricisingolari, che si dimostra essere data da 1

/∥∥A−1∥∥v, e a normalizzarla. Si

perviene così alla cosiddetta distanza normalizzata

1

‖A‖v ‖A−1‖v.

Quanto più piccola è questa distanza normalizzata, vale a dire quanto piùgrande è la quantità

κv(A) = ‖A‖v∥∥A−1

∥∥v,

tanto più mal-condizionata è da ritenere sia la soluzione ξ del sistema lineare(6.3), (6.2), (6.4). Volendo esprimere con una formula quanto osservato ed ilsignificato delle due grandezze appena introdotte, si può scrivere

1

‖A‖v ‖A−1‖v=

1

κv(A)= min

{‖δA‖v‖A‖v

: A+ δA è singolare}

.

Comunemente, più che alla distanza normalizzata, si fa riferimento al numeroκv(A) che viene detto numero di condizionamento della matrice A o anchenumero di condizionamento del sistema.

Remark 31 Si ha ‖A‖v∥∥A−1

∥∥v≥∥∥AA−1

∥∥v= ‖I‖v = 1 in tutte le norme

operatore e pertanto risulterà in ogni caso

0 <1

‖A‖v ‖A−1‖v≤ 1, 1 ≤ κv(A) < +∞ .

Remark 32 In conseguenza della dipendenza dalla norma operatore ‖·‖v con-siderata dei valori delle norme di A e di A−1, anche κv(A) dipende dalla normaoperatore. Riportiamo qui di seguito le possibili bande di oscillazione che i nu-meri di condizionamento più usati hanno nei confronti degli altri:

1

nκ2(A) ≤ κ1(A) ≤ nκ2(A),

1

nκ∞(A) ≤ κ2(A) ≤ nκ∞(A),

84 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

1

n2κ1(A) ≤ κ∞(A) ≤ n2 κ1(A).

Esse derivano, come è facile verificare, dalle corrispondenti possibili bande dioscillazione fra le più usate norme operatore (si veda il Capitolo 1). Torneremosu queste bande di oscillazione nella sezione seguente.

Un altro risultato che mostra molto chiaramente la significatività di κv(A)come indicatore della sensibilità della soluzione ξ del sistema (6.3), (6.2), (6.4)alle perturbazioni sui dati è quello riportato nel teorema 79, Capitolo 6, Sezione6.3, Livello 1.

6.3.1 Se si usano i metodi algebrici

Occorre prestare una particolare attenzione alla individuazione di un eventualemal-condizionamento del sistema (6.3), (6.2), (6.4) da risolvere quando si vogliausare un metodo algebrico o diretto.

Infatti, come chiarito nella sezione precedente, l’approssimazione ξ∗ dellasoluzione ξ ottenuta da calcolo con il metodo risulterà del tutto inaffidabile, inconseguenza del mal-condizionamento, anche nel caso di sistemi di dimensionemolto contenuta e di errori algoritmici assolutamente trascurabili. Ed in ag-giunta, come mostra l’Esempio 78, non sarà neanche garantito che l’esame delvettore dei residui r∗ = Aξ∗− b avverta a posteriori del consistente errore iner-ente commesso perché, anzi, le componenti di r∗ potrebbero essere dello stessoordine di grandezza delle perturbazioni che hanno subito i dati.

Per ovviare a questo inconveniente dei metodi algebrici si può procedere almodo seguente.

1. Il primo passo consiste nell’eseguire controlli per riconoscere l’eventualemal-condizionamento del sistema da risolvere. Questi controlli possono es-sere effettuati prima di applicare il metodo algebrico, durante l’esecuzionedel metodo o dopo aver eseguito il metodo.

(a) Controlli a priori. Consistono nel calcolare il numero di condizion-amento κv(A) del sistema e nel valutarne la grandezza. Di solitosi calcola κ2(A), oppure κ1(A), oppure κ∞(A). In considerazionedel fatto che le bande di oscillazione di questi numeri di condiziona-mento non sono troppo larghe quando si usano i metodi algebrici, peril valore non elevato di n, e che esattamente le stesse bande di oscil-lazione valgono se si invertono nelle relazioni che le definiscono i ruolidei numeri di condizionamento considerati, si ritiene comunementeche non abbia grande importanza la scelta della norma. Numeri dicondizionamento dell’ordine di

√n si ritengono denotare un sistema

ben condizionato. Se si usa il MATLAB si possono usare i comandicond(A) o cond(A, 2), oppure cond(A, 1), oppure cond(A, inf).

(b) Controlli durante l’esecuzione.

6.3. IL CONDIZIONAMENTO DEL PROBLEMA COMPUTA-ZIONALE 85

i. Se il metodo è il metodo delle riduzioni successive di Gauss, uncontrollo usato consiste nell’osservare l’andamento dei successivipivots o perni. Se questi scadono consistentemente in ordine digrandezza durante le operazioni di riduzione si deve sospettareil mal-condizionamento del sistema. Questo significa infatti chedetA è consistentemente più piccolo degli elementi di A.

ii. Se il metodo usa il metodo del calcolo della matrice inversa,un controllo usato consiste nell’osservare l’andamento degli el-ementi di A−1 che si ottengono durante l’inversione di A. Sequesti risultano molto grandi in modulo, è da sospettare il mal-condizionamento del sistema. Infatti, se la matrice inversa ègrande in norma, generalmente (e cioè se la norma di A nonè abbastanza piccola), la distanza normalizzata di A dalle ma-trici singolari sarà piccola ed il numero di condizionamento delsistema sarà grande. Inoltre, poiché si ha

A−1r∗ = A−1(Aξ∗ − b) = ξ∗ −A−1b = ξ∗ − ξ,

l’errore ξ∗ − ξ può essere tutt’altro che trascurabile, anche setale è il vettore r∗ dei residui, se elementi di A−1 sono in modulomolto grandi.

(c) Controlli a posteriori. Il metodo prescelto viene applicato una sec-onda volta

i. con dati deliberatamente alterati con opportune perturbazioni dinorma prefissata sui dati,

ii. con una diversa precisione di macchina,

e si giudica poi del grado di mal-condizionamento del sistema con-frontando l’ordine di grandezza delle variazioni sui due risultati conquello delle variazioni che hanno subito i dati.

2. Il secondo passo, da eseguire se i controlli del primo hanno mostrato che ilsistema è mal-condizionato e che non si è conseguita l’accuratezza desider-ata, consiste nell’aumentare adeguatamente la precisione di macchina.

La scelta di una conveniente precisione di macchina consigliata nel punto 2)è di fatto l’unica misura possibile se si vuole usare un metodo algebrico. L’ ideadi trasformare il sistema in uno equivalente e ben-condizionato aggiungendo adequazioni convenientemente scelte del sistema opportune combinazioni linearidi altre equazioni non è praticamente percorribile. Altrimenti si può decideredi abbandonare i metodi algebrici e cercare una buona applicazione del metododel punto unito (si veda la sezione che segue).La scelta di una conveniente precisione di macchina è facile se si sono eseguiti icontrolli descritti nel punto 1 (c) perché l’incremento da apportare alla precisionedi macchina si può determinare in base al rapporto fra l’ordine di grandezza dellevariazioni sui due risultati e quello delle variazioni sui dati che le hanno causate.Meno facile, e da effettuare empiricamente, è infine la scelta di una convenienteprecisione di macchina se si sono eseguiti i controlli descritti nel punto 1 (b).

86 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

6.3.2 Se si usano i metodi iterativi

Nel caso si usino metodi iterativi, il Teorema 50 garantisce eccellenti prestazionidel metodo se la trasformazione dalla forma iniziale (4.0), (6.1), (6.2), (6.4) allaforma (6.8), (6.10), (6.11) ha condotto ad una buona applicazione del metodo(kv = ‖C‖v e ρ(C) sufficientemente piccoli).

Il teorema non tiene però conto delle inevitabili perturbazioni (più o menoconsistenti a seconda che si tratti dei soli errori di macchina o anche di errori dicalcolo, presenti se la predetta trasformazione richiede operazioni) che subisconoi dati C e d. Se le perturbazioni sono abbastanza piccole anche il sistemaperturbato x = C x+ d avrà una sola soluzione ξ e poiché anche kv =

∥∥∥C∥∥∥v

e

ρ(C) saranno sufficientemente piccoli il teorema assicurerà eccellenti prestazionidel metodo anche nella approssimazione di ξ, ma è giusto domandarsi quantosarà grande

∥∥∥ξ − ξ∥∥∥v.

Occorre cioè domandarsi quale sia il condizionamento (della soluzione ξ) delsistema (6.8), (6.10), (6.11).

Per rispondere a questa domanda si può applicare la teoria sviluppata sopracon riferimento al sistema (6.3), (6.2), (6.4) riscrivendo il sistema x = C x+ din (6.8) nella forma

(I −C)x = d

e considerare poi il numero di condizionamento κv(I −C) della matrice I −C.Se ‖C‖v è sufficientemente piccola, risulterà C ∼= 0 e di conseguenza: I−C ∼=

I, e κv(I − C) ∼= κv(I) = 1 e si può pertanto dire che se l’applicazione delmetodo è sufficientemente buona la soluzione ξ del sistema sarà sufficientementeben condizionata e la soluzione ξ del sistema perturbato x = C x + d saràsufficientemente vicina a ξ.

Da questa favorevole proprietà del metodo del punto unito deriva la individ-uazione di una ulteriore situazione nella quale può essere conveniente preferirloai metodi algebrici anche nel caso di sistemi di dimensione contenuta: il caso incui il sistema (4.0), (6.1), (6.2), (6.4) sia mal-condizionato.

Remark 33 La implicazione I − C ∼= I ⇒ κv(I − C) ∼= κv(I) usata sopra sigiustifica col fatto che A−1 è una funzione continua di A e con la proprietà dicontinuità della norma (si veda Proprietà 1.1 del Capitolo 1).

6.4 Esempi ed Esercizi

Example 54 Supponiamo si voglia solo appurare se il sistema

67 x1 − 1

3 x2 − x3 = 1−14 x1 +

75 x2 +

14 x3 = 1

17 x1 − 1

4 x2 +67 x3 = 1

6.4. ESEMPI ED ESERCIZI 87

è compatibile e, in caso affermativo, se ha una sola soluzione. Si può decideredi applicare il metodo delle riduzioni di Gauss limitandolo al calcolo del deter-minante della matrice

A =

67 −1

3 −1−14

75

14

17 −1

467

.

Si tratta quindi di eseguire solamente le operazioni di riduzione e di limitarlealla matrice A.Se uno dei pivots risulterà nullo, sarà inutile proseguire il calcolo. In questocaso infatti si avrà detA = 0 e la risposta al quesito sarà che il sistema non hauna sola soluzione ma non ne avrà nessuna o ne avrà infinite.In caso contrario, si avrà detA = a11 a

(1)22 a

(2)33 �= 0 e la risposta al quesito sarà

affermativa.Con il riordinamento pivotale parziale le cose vanno al modo seguente.La prima riduzione non richiede uno scambio di righe e trasforma A nella

matrice

A(1) =

67 −1

3 −10 469

360 − 124

0 − 736

4342

.

Neppure la seconda riduzione richiede uno scambio di righe e trasforma Anella matrice

A(2) = U =

67 −1

3 −10 469

360 − 124

0 0 57275628

.

La risposta al quesito è dunque affermativa.

Exercise 6.4.1 È assegnata la matrice

A =

−4 .8 1.4 −1 −.51.7 4.1 −.3 1.2 −.6−2 3 −6 .6 0−1 .5 −.2 −2 .12.5 0 −.4 0 −3

.

1) Dimostrare che:1.1) la matrice A non è singolare;1.2) λ = 0 non è autovalore di A;

2) Proporre un metodo numerico per il calcolo della soluzione del sistema

Ax = b,

ove b ∈ R5 è assegnato, giustificando la scelta effettuata e descrivendo le prestazioniche il metodo prescelto fornirà nella applicazione al sistema.3) Descrivere un algoritmo per l’esecuzione del metodo prescelto nel punto 2.

88 CHAPTER 6. SOLUZIONE NUMERICA DEI SISTEMI LINEARI

Exercise 6.4.2 1) Dimostrare che la successione definita dalla

x(i) =

.07 −.47 .21−.07 .44 −.05.08 −.04 .18

x(i−1) +

1−11

, i = 1, 2, . . . , x(0) =

000

,

(6.19)è convergente.2) Quale significato può essere attribuito alla (6.19) ed al limite ξ della succes-sione da essa definita?3) Cosa si può dire della rapidità di convergenza?4) Come si può maggiorare ∥∥∥x(i)∗ − ξ

∥∥∥∞

,

x(i)∗ essendo la versione da calcolo di x(i) ?5) Cosa succede se si modifica la scelta di x(0) ?

Exercise 6.4.3 1) Studiare la successione definita dalla relazione ricorrente

x(i) =

[0 11 0

]x(i−1) +

[1−1

], i = 1, 2, . . . , x(0) ∈ R2.

2) Giustificare quanto osservato in base alla teoria studiata.

Exercise 6.4.4 1) Mostrare che il sistema

x =

17

13 1

14 −2

5 −14

−17

14

17

x+

111

ha una unica soluzione ξ e che la relazione ricorrente

x(i) =

17

13 1

14 −2

5 −14

−17

14

17

x(i−1) +

111

, i = 1, 2, . . . ,

genera una successione convergente a ξ per ogni scelta della approssimazioneiniziale x(0).2) Discutere la rapidità della convergenza della successione.

Exercise 6.4.5 1) Mostrare che il sistema dell’esempio che apre questa sezionee quello dell’esercizio precedente hanno la medesima soluzione.2) Dedurre da quanto sopra che il secondo sistema deve poter essere dedotto dalprimo tramite la procedura descritta all’inizio della Sezione 6.2.3) Determinare la matrice M che trasforma il primo sistema nel secondo.

Chapter 7

Calcolo degli autovalori edegli autovettori

Molti dei metodi e degli algoritmi per il calcolo degli autovalori e degli autovet-tori di una matrice A oggi disponibili sono stati perfezionati nel tempo. I variaspetti sotto i quali può essere giudicato un metodo o un algoritmo sono staticonsiderati in questo processo di miglioramento progressivo conseguendo sottoogni punto di vista apprezzabili risultati e pervenendo ad algoritmi applica-bili con successo praticamente a qualsiasi matrice, fortemente stabili, rapidi e,compatibilmente con la dimensione della matrice, poco costosi.

La forte stabilità degli algoritmi sta in sostanza a significare che quelli chesi otterranno da calcolo saranno praticamente gli autovalori e gli autovettoridella matrice di macchina A e che pertanto problemi si possono presentarenella soluzione del problema completo agli autovalori soltanto nel caso di mal-condizionamento di una parte degli oggetti da calcolare, o eventualmente ditutti. In effetti, è stato dimostrato (Wilkinson) che un autovalore λ∗i ottenutoda calcolo con uno dei predetti algoritmi è autovalore esatto di A + Ei, ove‖Ei‖2/ ‖A‖2 è un modesto multiplo m della precisione di macchina:

‖Ei‖2‖A‖2

= mu.

In altre parole, λ∗i è autovalore di una matrice estremamente vicina ad A e soloun mal-condizionamento può renderlo una scadente approssimazione.

In questo capitolo, dopo aver introdotto le nozioni di base ed i risultati essen-ziali, presenteremo brevemente il più famoso di questi algoritmi, l’algoritmo QRe, successivamente, il metodo delle potenze ed il metodo della iterazione inversa.Inoltre, poiché, come appena detto, l’unico problema che si potrà presentare nelloro uso sarà quello della eventuale sensibilità di autovettori e autovalori alleperturbazioni su A, dedicheremo una sezione a brevi cenni di Teoria della Per-turbazione (vedi Sezione 7.8).

89

90CHAPTER 7. CALCOLO DEGLI AUTOVALORI E DEGLI AUTOVETTORI

7.1 Nozioni di base

Anche nella trattazione degli argomenti di questo capitolo, non c’è alcuna ra-gione di limitarsi a considerare matrici ad elementi reali. Anzi, restringersi aconsiderare matrici di Rn×n finirebbe per complicare le cose. Basta pensare chegli autovalori di una matrice reale possono essere, tutti o in parte, complessi.Pertanto, nel seguito, A sarà sempre da riguardare, salvo esplicito avviso incontrario, come una matrice di Cn×n.

Cominciamo col dare le seguenti definizioni.

Definition 55 λ ∈ C si dice autovalore di A se esiste un vettore x �= 0 di Cn

tale da aversiAx = λx.

Il vettore x viene detto autovettore corrispondente, o associato, all’autovaloreλ.

Definition 56 L’insieme costituito dagli autovalori di A, prende il nome dispettro di A e viene denotato con σ(A).

Se λ è autovalore di A, risulta det(A− λ I) = 0. Infatti, per la definizioneappena data, il sistema lineare omogeneo

(A− λ I)x = 0,

ammette soluzioni non nulle (gli autovettori corrispondenti all’autovalore λ).È facile riconoscere che det(A − λ I) è un polinomio monico pA di grado nnella variabile λ. Si può pertanto dire che gli autovalori di A sono le radicidell’equazione algebrica

pA(λ) = det(A− λ I) = 0.

Definition 57 Il polinomio pA è detto polinomio caratteristico associato allamatrice A e l’equazione algebrica pA(λ) = 0 è detta equazione caratteristicaassociata alla matrice A.

Definition 58 La molteplicità ma(λ) dell’autovalore λ considerato come radicedell’equazione caratteristica è detta molteplicità algebrica dell’autovalore λ. Unautovalore con molteplicità algebrica ma(λ) = 1 è detto semplice. Un autovalorecon molteplicità algebrica ma(λ) > 1 è detto multiplo.

Si noti che se x è un autovettore di A corrispondente all’autovalore λ, ancheαx è autovettore di A corrispondente all’autovalore λ qualunque sia lo scalarenon nullo α.

Ad un medesimo autovalore λ può corrispondere un numero maggiore di unodi autovettori linearmente indipendenti.

7.1. NOZIONI DI BASE 91

Definition 59 Sia mg(λ), 1 ≤ mg(λ) ≤ n, il numero massimo di autovet-tori linearmente indipendenti corrispondenti ad un medesimo autovalore λ. Ilsottospazio di Cn di dimensione mg(λ) generato dai predetti autovettori lin-earmente indipendenti verrà denotato con Xλ ed è detto autospazio di A cor-rispondente all’autovalore λ. La sua dimensione mg(λ) viene detta molteplicitàgeometrica dell’autovalore λ.

In certi casi la molteplicità geometrica mg(λ) può risultare strettamenteminore della molteplicità algebrica ma(λ). In generale si ha:

1 ≤ mg(λ) ≤ ma(λ).

L’esempio riportato qui di seguito mostra che può risultare mg(λ) < ma(λ)e che ad un autovalore multiplo può anche corrispondere un solo autovettorelinearmente indipendente (mg(λ) = 1).

Example 60 La matrice

A =

1 1 00 1 10 0 1

ha l’autovalore λ = 1 di molteplicità algebrica ma(1) = 3 e di molteplicitàgeometrica mg(1) = 1. Infatti, il sistema (A− λ I)x = 0 assume la forma

0 1 00 0 10 0 0

x = 0

e le sue soluzioni sono tutti e soli i vettori di dimensione 3 del tipo x =α [1 0 0]T , con α scalare non nullo.

Se modifichiamo A al modo seguente

A =

1 1 00 1 00 0 1

,

l’autovalore λ = 1 seguita ad avere molteplicità algebrica ma(1) = 3 ma la suamolteplicità geometrica mg(1) è ora 2. Infatti, il sistema (A−λ I)x = 0 assumela forma

0 1 00 0 00 0 0

x = 0

e le sue soluzioni sono tutti e soli i vettori di dimensione 3 combinazione linearedei due vettori linearmente indipendenti x1 = [1 0 0]T e x2 = [0 0 1]T .

Infine, se modifichiamo ulteriormente A in modo da ottenere la matrice iden-tità

A = I =

1 0 00 1 00 0 1

,

92CHAPTER 7. CALCOLO DEGLI AUTOVALORI E DEGLI AUTOVETTORI

la molteplicità algebrica e la molteplicità geometrica dell’autovalore λ = 1 coin-cidono: ma(1) = mg(1) = 3. Infatti, ragionando come sopra, si vede facilmenteche x1 = [1 0 0]T , x2 = [0 1 0]T e x3 = [0 0 1]T sono tre autovettorilinearmente indipendenti dell’autovalore λ = 1.

Definition 61 Un autovalore λ per il quale risulti mg(λ) < ma(λ) si dice difet-toso. Una matrice che abbia autovalori difettosi si dice difettosa.

Remark 34 La ragione dell’uso dell’attributo ”difettoso” risiede nel fatto che,come mostra l’Esempio 60, ad un autovalore λ difettoso [ad una matrice A difet-tosa] corrisponde un numero massimo di autovettori linearmente indipendentiminore della molteplicità algebrica [minore della dimensione].

Remark 35 Una matrice non difettosa (mg(λ) = ma(λ) per ogni λ ∈ σ(A)) haun numero di autovettori linearmente indipendenti uguale alla sua dimensione.Si può anche dire che gli autovettori di una matrice non difettosa costituisconouna base in Cn.

Remark 36 Un autovalore difettoso è necessariamente un autovalore multiplo.

La stragrande maggioranza delle matrici è non difettosa. Questo segue os-servando che tutte le matrici con autovalori tutti semplici sono non difettose etenendo conto del seguente teorema del quale non riportiamo la dimostrazione.

Theorem 62 L’insieme S delle matrici con autovalori tutti semplici è apertoe denso in Cn×n.

Exercise 7.1.1 Dimostrare che l’insieme delle matrici non difettose contienepropriamente l’insieme S ed è denso in Cn×n.

Questi risultati sono confortanti in quanto, come vedremo, autovalori difet-tosi e matrici difettose sono il guaio peggiore che possa capitare nel calcolodell’autosistema di una matrice.

7.1.1 Famiglie notevoli di matrici

Usando la matrice AH si possono introdurre famiglie estremamente importantidi matrici. Per ora riportiamo soltanto le loro definizioni, riservandoci di il-lustrare nel seguito loro notevoli proprietà man mano che queste risulterannoutili.

Definition 63 Una matrice A si dice normale se

AHA = AAH .

Definition 64 Una matrice A si dice Hermitiana se

AH = A.

7.1. NOZIONI DI BASE 93

Definition 65 Una matrice A si dice anti-Hermitiana se

AH = −A.

Definition 66 Una matrice Q si dice unitaria se

QHQ = QQH = I.

Remark 37 Le matrici Hermitiane, anti-Hermitiane, unitarie sono tutte ma-trici normali.

Remark 38 Se A è una matrice reale, si ha AH = AT e le matrici Hermi-tiane, anti-Hermitiane, unitarie sono rispettivamente chiamate simmetriche,anti-simmetriche, ortogonali.

7.1.2 Relazioni e proposizioni fondamentali

Le nozioni che seguono e che chiudono questa sezione sono molto importanti.La dimostrazione di alcune proposizioni è lasciata come esercizio.

Proposition 67 Se AB = I, entrambe le matrici A e B sono invertibili e siha A = B−1, B = A−1.

Proposition 68 Si ha (AB)−1 = B−1A−1.

Proposition 69 Si ha (AB)H = BHAH .

Proposition 70 Si ha (AB)T = BTAT .

Proposition 71 Se A è invertibile allora anche AH è invertibile e si ha

(AH)−1 = (A−1)H .

Proof. La dimostrazione segue dalla prima e dalla terza delle proposizioniprecedenti e dalla relazione

(A−1)HAH = (AA−1)H = IH = I.

Proposition 72 Se A è invertibile allora anche AT è invertibile e si ha

(AT )−1 = (A−1)T .

Proof. La dimostrazione segue dalla prima e dalla quarta delle proposizioniprecedenti e dalla relazione

(A−1)TAT = (AA−1)T = IT = I.

Proposition 73 A e AT hanno lo stesso polinomio caratteristico.

94CHAPTER 7. CALCOLO DEGLI AUTOVALORI E DEGLI AUTOVETTORI

Proof. Si ha:

pA(λ) = det(A− λI) = det(A− λI)T = det(AT − λI) = pAT (λ).

Proposition 74 Se λ ∈ σ(A) allora λ ∈ σ(AH).

Proof. Si ha:

0 = det(A− λI) = det(AT − λI) = det(AT − λI) = det(AH − λI).

In virtù della proposizione appena enunciata, se λ ∈ σ(A), esistono autovet-tori associati all’autovalore λ ∈ σ(AH). Esiste quindi y �= 0 tale da aversi

AHy = λ y.

È consuetudine riscrivere questa relazione prendendo i trasposti coniugati dientrambi i membri

yHA = yHλ (7.1)

e interpretare questa ultima dando la seguente

Definition 75 Un vettore non nullo y verificante la relazione (7.1) viene chiam-ato autovettore sinistro di A associato all’autovalore λ di A.

Gli autovettori sinistri rivestono una grande importanza in questioni di Teo-ria della Perturbazione (vedi Sezione 7.8.1). Per ragioni di chiarezza, nel tratta-mento di questioni nelle quali intervengono autovettori sinistri, gli autovettoriveri e propri di A sono chiamati autovettori destri.

7.2 Localizzazione degli autovalori

Theorem 76 (Di Gershgorin) Sia A ∈ Cn×n. Si ha:

σ(A) ⊂n⋃

h=1

Dh ,

oveDh = {z ∈ C : |z − ahh| ≤ rh} , h = 1 : n ,

erh =

k=1:n,k �=h|ahk| , h = 1 : n.

Proof. Sia λ ∈ σ(A). Per definizione esiste x �= 0 tale che Ax = λx, o, in formascalare,

λxi =n∑

k=1

aik xk , i = 1 : n.

7.2. LOCALIZZAZIONE DEGLI AUTOVALORI 95

Riscrivendo queste relazioni nella forma

(λ− aii) xi =∑

k=1:n,k �=haik xk, i = 1 : n,

e passando ai moduli, si ottiene

|λ− aii| |xi| ≤∑

k=1:n,k �=h|aik| |xk| , i = 1 : n.

Sia ora h : |xh| = maxi |xi|. Dalla h−esima delle n relazioni precedenti,dividendo membro a membro per |xh|, che è positivo perché x è diverso da zero,si ottiene

|λ− ahh| ≤∑

k=1:n,k �=h|ahk|

|xk||xh|

≤∑

k=1:n,k �=h|ahk| = rh .

Infatti, dividendo per una quantità positiva la disuguaglianza conserva il proprioverso ed i rapporti |xk|/ |xh| sono tutti ≤ 1.

La relazione ottenuta mostra che l’autovalore considerato appartiene ad unodei dischi di Gershgorin e poiché le considerazioni svolte non dipendono dalparticolare autovalore preso in considerazione, il teorema è dimostrato.

Remark 39 Se si applica il Teorema 76 alla matrice AT , si ottiene in generaleuna regione di inclusione degli autovalori di A (A e AT hanno i medesimi auto-valori (si veda la Proposizione 73)) diversa da quella che si ha dalla applicazionead A. L’intersezione delle due regioni dà allora una informazione maggiore sullaposizione degli autovalori di A. In formule, denotati con DT

h , h = 1 : n, i cerchidella trasposta, si ha:

σ(A) ⊂(

n⋃

h=1

Dh

)⋂(

n⋃

h=1

DTh

),

(n⋃

h=1

Dh

)⋂(

n⋃

h=1

DTh

)⊆(

n⋃

h=1

Dh

),

(n⋃

h=1

Dh

)⋂(

n⋃

h=1

DTh

)⊆(

n⋃

h=1

DTh

).

Un raffinamento del Teorema 76, del quale non diamo la dimostrazione, è ilseguente

Theorem 77 Se l’unione U1 di k dischi di Gershgorin, k < n, è disgiuntadall’unione U2 dei rimanenti n−k, k autovalori stanno in U1 e n−k autovaloristanno in U2.

Ovviamente, questo teorema è particolarmente utile nel caso in cui la regionedi inclusione consti di n cerchi disgiunti.

96CHAPTER 7. CALCOLO DEGLI AUTOVALORI E DEGLI AUTOVETTORI

7.3 Similitudine

Definition 78 B si dice simile ad A se ∃ X invertibile tale che

B = X−1AX.

Si dice anche che B è la trasformata per similitudine di A mediante la X.

Remark 40 Se B è la trasformata per similitudine di A mediante la X, A è latrasformata per similitudine di B mediante la X−1. Infatti, dall’ultima relazionescritta, segue facilmente che

A = X BX−1.

Ovviamente esistono infinite matrici simili ad una assegnata matrice A.Sussiste il seguente

Theorem 79 Matrici simili hanno il medesimo polinomio caratteristico.

Proof. Se B = X−1AX si ha:

pB(λ) = det(X−1AX−λI) = det(X−1AX−X−1λI X) = det(X−1(AX−λI)X) �

� det(X−1) det(AX − λI) det(X) = det(X−1) det(X) pA(λ) �

� det(X−1X) pA(λ) = det(I) pA(λ) = pA(λ),

ove � sta ad evidenziare un passaggio per effettuare il quale è stato usato ilteorema di Binet e � un passaggio per effettuare il quale è stato usato il teoremadi Binet nell’altro senso.

Infine, registriamo il teorema seguente, dal quale emerge una fondamentaleproprietà delle matrici non difettose.

Theorem 80 Le condizionii) ∃ X invertibile tale che

X−1AX = Λ = diag(λ1, λ2, . . . , λn), (7.2)

ii) A è non difettosa,sono tra loro equivalenti.

Remark 41 In virtù di questa loro proprietà le matrici non difettose sono dipreferenza dette ”diagonalizzabili”.

7.4. VERSO IL QR 97

Nel caso di una matrice A diagonalizzabile possiamo scrivere

AX = X Λ .

Partizionando allora X per colonne: X = [x1, x2, . . . , xn], tenendo presentela definizione del prodotto tra matrici e sfruttando anche il fatto che Λ è diag-onale, si riconosce che sussistono le relazioni

Axi = λi xi, i = 1 : n,

le quali mostrano che

Proposition 81 La i−esima colonna della matrice X che diagonalizza A è unautovettore associato all’autovalore λi in Λ (i = 1 : n) e una matrice diagonal-izzabile ha n autovettori linearmente indipendenti (X è invertibile).

Non è invece possibile diagonalizzare per similitudine una matrice difettosa.È solo possibile trasformarla per similitudine in forma bidiagonale superioreJ ed il numero massimo di autovettori linearmente indipendenti della matricesarà n − s, ove s denota il numero degli elementi non nulli nella sopra diago-nale. Questi elementi non nulli sono tutti posizionati sopra autovalori difettosiripetuti (si ricordi che una matrice difettosa ha autovalori difettosi e quindi mul-tipli). Un ragionamento strettamente analogo a quello fatto sopra nel caso delladiagonalizzabilità, mostra che gli n− s autovettori linearmente indipendenti sitrovano nelle colonne di X che corrispondono a quelle di J nelle quali non c’èun elemento sopradiagonale diverso da zero.

7.4 Verso il QR

Se si riuscisse a calcolare accuratamente la matrice X che diagonalizza [bidiago-nalizza] A il problema del calcolo dell’autosistema di A sarebbe completamenterisolto. Purtroppo X e Λ [X e J ] non possono essere calcolate in un solo passoma solo attraverso un procedimento iterativo costituito da operazioni di simili-tudine:

Ak = X−1k Ak−1Xk , k = 1, 2, . . . , A0 = A, (7.3)

che, in teoria, genera due successioni di matrici, {Ak} convergente a Λ [conver-

gente a J ],{Xk

}, ove Xk = X1X2 · · ·Xk , convergente a X, ed è assolutamente

necessario che l’algoritmo abbia un carattere di forte stabilità. Ognuno dei passiin (7.3) va dunque eseguito contenendo al massimo l’errore algoritmico. Poichéper una generica operazione di similitudine si ha (Wilkinson):

(X−1AX)∗ = X−1AX +E,

con‖E‖2‖A‖2

≈ κ2(X)u ,

98CHAPTER 7. CALCOLO DEGLI AUTOVALORI E DEGLI AUTOVETTORI

è chiaro che forte instabilità può essere introdotta nel calcolo di autovalori senon si eseguono operazioni di similitudine usando matrici unitarie. Infatti, peruna matrice unitaria Q, si ha ‖Q‖2 = 1 e pertanto

κ2(Q) = ‖Q‖2∥∥Q−1∥∥

2= ‖Q‖2

∥∥QH∥∥2= 1.

Ma cosa si può ottenere limitandosi ad usare particolarissime trasformazioniper similitudine, le similitudini unitarie? Sarà ancora possibile ridurre A ad unaforma in cui gli oggetti che interessano siano facilmente leggibili? La risposta aquesti quesiti è contenuta nel seguente

Theorem 82 (Della decomposizione di Schur) Sia A ∈ Cn×n. Esiste Q uni-taria tale che

QHAQ = U = Λ+ U+, (7.4)

ove U è triangolare superiore e U+ è la parte strettamente triangolare superioredi U .

La dimostrazione di questo fondamentale teorema viene omessa.

Remark 42 La decomposizione di Schur non è unica, potendo variare l’ordinenel quale gli autovalori figurano in Λ (e quindi Q e U+).

La necessità, per avere un algoritmo stabile, di limitarsi ad usare similitudiniunitarie comporta dunque

a) la sostituzione della (7.2) con la (7.4) (e va notato che la (7.4) fornisce,come la (7.2), gli autovalori ma richiede invece, in generale, un lavoro aggiuntivoper il calcolo degli autovettori, dei quali, in generale, fornisce direttamente soloquello associato a λ1);

b) la sostituzione delle iterazioni (7.3) con iterazioni del tipo

Ak = QHk Ak−1Qk , k = 1, 2, . . . , A0 = A, (7.5)

costruite in modo da avere la convergenza di {Ak} e{Qk

}, ove Qk = Q1Q2 · · ·Qk ,

rispettivamente alle matrici U e Q in (7.4).Il lavoro aggiuntivo menzionato nel punto a) viene di fatto evitato nel caso

in cui A sia normale. Infatti sussiste il seguente teorema del quale omettiamola dimostrazione

Theorem 83 Sia A ∈ Cn×n e sia (7.4) una sua decomposizione di Schur. Siha U+ = 0 se e solo se A è normale.

(Altri vantaggi del caso A normale saranno messi in luce nella Sezione 7.8.1.)Per quanto riguarda invece la necessità di una opportuna costruzione delle it-

erazioni in (7.5) evidenziata nel punto b), essa può essere realizzata con successousando il seguente teorema della fattorizzazione QR. Anche di questo teoremaomettiamo la dimostrazione.

Theorem 84 (Della fattorizzazione QR) Sia A ∈ Cn×n, esistono Q, R ∈Cn×n, Q unitaria e R triangolare superiore, tale che

A = QR. (7.6)

7.5. L’ALGORITMO QR 99

7.5 L’algoritmo QR

La fattorizzazione QR può essere utilizzata con successo per realizzare in modoeconomico similitudini unitarie ed ottenere ottime proprietà di convergenza della(7.5).

Infatti, se A = QR, la matrice A1 = RQ è unitariamente simile ad A perchédalla (7.6), pre-moltiplicandola membro a membro per QH , segue QHA = R equindi A1 = QHAQ ed iterando questa similitudine si perviene all’algoritmoQR base

A0 = Aper k = 1, 2, . . .

Ak−1 = Qk Rk

Ak = RkQk

fine

che, pure in questa sua formulazione rudimentale, realizza numericamente unadecomposizione di Schur di A sotto condizioni poco restrittive e con una ac-cettabile rapidità di convergenza.

Questa versione primitiva del QR è stata progressivamente raffinata intro-ducendo accorgimenti volti a indebolire le condizioni sufficienti a garantire laconvergenza alla forma canonica di Schur e ad aumentare la rapidità di con-vergenza. La versione attuale del QR è implementata nella funzione eig delMATLAB che, a richiesta, fornisce anche gli autovettori.

In questo Corso ci limitiamo ad accennare ad uno degli accorgimenti usati.Esso consiste nel trasformare inizialmente la matrice A in forma di Hessembergsuperiore mediante una conveniente similitudine unitaria. Questo passo inizialeè in accordo con la necessità di mantenere stabile l’algoritmo (la similitudine èunitaria) e costituisce un notevole guadagno quanto a rapidità di convergenza.Infatti la struttura Hessemberg superiore viene mantenuta nelle iterate seguentied essendo essa del tipo

∗ ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗ ∗0 0 ∗ ∗ ∗ ∗0 0 0 ∗ ∗ ∗0 0 0 0 ∗ ∗

,

il passo consente in un sol colpo di annullare

1 + 2 + · · ·n− 2 =

(n− 1

2

)=

(n− 1) (n− 2)

2=

n2

2− 3n

2+ 1

elementi degli (n2 − n)/2 che si devono eliminare. Rimangono dunque da an-nullare solo n− 1 elementi sulla sottodiagonale.

La funzione MATLAB che esegue la trasformazione in forma di Hessembergsuperiore è hess. Includendola nello schema base sopra riportato si ottiene il

100CHAPTER 7. CALCOLO DEGLI AUTOVALORI E DEGLI AUTOVETTORI

codice MATLAB...it=0;test=1;a=hess(a);while test>=ep&it<itmax

[q,r]=qr(a);a=r*q;test=norm(diag(a,-1),inf);it=it+1;

end...

nel quale viene anche usata la funzione qr che implementa la fattorizzazioneQR. Anche la sola introduzione della trasformazione in forma di Hessembergsuperiore è sufficiente a conferire notevole efficienza allo schema base. Un con-fronto del codice qui sopra con la eig è eseguito dal file del Corso qrtest (daeseguire con versioni MATLAB ≤ 5.2).

7.6 Il metodo delle potenze

Questo metodo consente di approssimare l’autovalore dominante e l’autovettoread esso associato di una matrice A che è supposta diagonalizzabile e con unautovalore maggiore in modulo di tutti gli altri (dominante):

|λ1| > |λ2| ≥ |λ3| ≥ · · · ≥ |λn| .

La descrizione del metodo può iniziare considerando l’iterazione

z(0) �= 0per k = 1, 2, . . .

z(k) = Az(k−1)

fine

Si può scriverez(k) = Akz(0)

e rappresentando z(0) nella base costituita dagli autovettori xi associati ai λi(i = 1 : n):

z(k) = Ak

(n∑

i=1

cixi

)=

n∑

i=1

ciAkxi =

n∑

i=1

ciAk−1(Axi) =

=n∑

i=1

ci λiAk−1xi = · · · =

n∑

i=1

ci λki xi = c1 λ

k1

(x1 +

n∑

i=2

cic1

(λiλ1

)kxi

).

7.6. IL METODO DELLE POTENZE 101

Si ha∥∥∥∥∥

n∑

i=2

cic1

(λiλ1

)kxi

∥∥∥∥∥ ≤n∑

i=2

∣∣∣∣cic1

∣∣∣∣∣∣∣∣λiλ1

∣∣∣∣k

‖xi‖ ≤∣∣∣∣λ2λ1

∣∣∣∣k n∑

i=2

∣∣∣∣cic1

∣∣∣∣ ‖xi‖ ≤

≤ C

∣∣∣∣λ2λ1

∣∣∣∣k

, con C =n∑

i=2

∣∣∣∣cic1

∣∣∣∣ ‖xi‖ .

Il vettoren∑

i=2

cic1

(λiλ1

)kxi

tende pertanto al vettore nullo e conseguentemente il vettore

x1 +n∑

i=2

cic1

(λiλ1

)kxi

considerato sopra converge a x1. La convergenza sarà tanto più rapida quantopiù l’autovalore λ1 risulterà dominante (quanto più

∣∣∣λ2λ1∣∣∣ sarà piccolo), ma la con-

vergenza numerica potrebbe non essere raggiunta in tempo a causa dello scalarec1λ

k1. Infatti se |λ1| >> 1 oppure |λ1| << 1 si potrebbe avere, rispettivamente,

overflow o underflow.Pertanto si deve modificare lo schema precedente come segue

z(0) :∥∥z(0)

∥∥2= 1

per k = 1, 2, . . .

ζ(k) = Az(k−1)

z(k) = ζ(k)/∥∥∥ζ(k)

∥∥∥2

fine

In tal modo la successione{z(k)

}convergerà all’autovettore w1, w1 = x1/ ‖x1‖2,

di norma unitaria, ‖w1‖2 = 1, corrispondente all’autovalore dominante λ1. In-oltre, z(k)HAz(k) convergerà all’autovalore λ1. Infatti, poiché z(k) convergeall’autovettore w1, per continuità z(k)HAz(k) converge a

wH1 Aw1 = wH

1 λw1 = λwH1 w1 = λ ‖w1‖2 = λ.

Conviene allora modificare ulteriormente lo schema nel seguente

z(0) :∥∥z(0)

∥∥2= 1

per k = 1, 2, . . .

ζ(k) = Az(k−1)

z(k) = ζ(k)/∥∥∥ζ(k)

∥∥∥2

λ(k) = z(k)HAz(k)

fine

(7.7)

102CHAPTER 7. CALCOLO DEGLI AUTOVALORI E DEGLI AUTOVETTORI

Nelle considerazioni fatte finora abbiamo tacitamente supposto c1 �= 0.Questo significa che il vettore iniziale z(0) deve avere la componente secondo l’au-tovettore x1 corrispondente all’autovalore dominante diversa da zero. Questacondizione può essere però omessa nelle applicazioni a causa degli errori di ar-rotondamento, i quali una volta tanto giocano un ruolo positivo. Infatti, anchese dovesse risultare c1 = 0, questa situazione non permarrebbe a lungo.

Questo schema è implementato nel file MATLAB ptnz del Corso. Ne ripor-tiamo la parte essenziale.

...lam0=0;it=0;test=1;z=2*(rand(n,1)-.5+i*(rand(n,1)-.5));z=z/norm(z);while test>=ep&it<itmax

zita=a*z;z=zita/norm(zita);lam1=z’*a*z;dlam=lam1-lam0;test=abs(dlam);lam0=lam1;it=it+1;

end...

7.6.1 Applicazione generalizzata del metodo delle potenze

Talvolta è possibile modificare il metodo delle potenze in modo da approssimareanche autovalori non dominanti e relativi autovettori. Questo si può fare, però,solo se si conosce sufficientemente bene la posizione degli autovalori. La modificaconsiste nell’applicare il metodo alla matrice A−µ I con µ (shift) scelto in modoche, se λ è l’autovalore che si vuole approssimare, l’autovalore λ−µ della matriceshiftata A− µ I sia dominante.

Infatti, se λ è autovalore di A, con autovettore associato x, λ−µ è autovalore diA−µI con associato il medesimo autovettore x e se µ è scelto convenientementeλ− µ sarà dominante per A− µI.

A titolo di esempio mostriamo la semplice modifica da apportare allo schema(7.7). Poiché gli autovettori sono invarianti per shift, basta modificare solo

7.7. L’ITERAZIONE INVERSA 103

l’istruzione che genera ζ(k).

z(0) :∥∥z(0)

∥∥2= 1

B = A− µ Iper k = 1, 2, . . .

ζ(k) = B z(k−1)

z(k) = ζ(k)/∥∥∥ζ(k)

∥∥∥2

λ(k) = z(k)HAz(k)

fine

La scelta di µ non è sempre facile da eseguire. Uno strumento utile puòrisultare il Teorema 76. Una operazione analoga sarà eseguibile più facilmentese si usa il metodo presentato nella sezione che segue.

7.7 L’iterazione inversa

Anche per questo metodo si suppone A diagonalizzabile. Inoltre, a differenza diquanto supposto per il metodo delle potenze, si assume che esista un autovaloreminore di tutti gli altri in modulo:

|λ1| ≥ |λ2| ≥ · · · ≥ |λn−1| > |λn| > 0.

Si può allora applicare il metodo delle potenze alla matrice A−1. Si notiche la assenza fra gli autovalori dello 0 comporta l’invertibilità di A e che seλ è autovalore di A, con autovettore associato x, 1/λ è autovalore di A−1 conassociato il medesimo autovettore x. 1/λn è quindi autovalore dominante perA−1 ed il metodo delle potenze, applicato ad A−1, consentirà di approssimare1/λn (λn) e wn = xn/ ‖xn‖2.

Lo schema (7.7) va modificato così

z(0) :∥∥z(0)

∥∥2= 1

B = A−1

per k = 1, 2, . . .

ζ(k) = B z(k−1)

z(k) = ζ(k)/∥∥∥ζ(k)

∥∥∥2

λ(k) = z(k)HB z(k)

fine

In questo modo si approssimano 1/λn e wn. Se nell’istruzione che generaλ(k) si pone A in luogo di B :

λ(k) = z(k)HAz(k)

si approssimano λn e wn.Il metodo descritto sopra prende il nome di metodo dell’iterazione inversa.

104CHAPTER 7. CALCOLO DEGLI AUTOVALORI E DEGLI AUTOVETTORI

7.7.1 Applicazione generalizzata del metodo dell’iterazioneinversa

Adattare il metodo dell’iterazione inversa alla approssimazione di autovaloridi A che non siano quello di modulo minimo è più facile che non adattareil metodo della potenze alla approssimazione di autovalori di A che non sianoquello di modulo massimo. Basta essere in grado di determinare (ad esempio conil Teorema 76) una approssimazione µ dell’autovalore λ che si desidera calcolarela quale renda λ − µ l’autovalore di modulo minimo per A− µI. Lo schema èil seguente. Nello svilupparlo si è tenuto conto del fatto che a λ, autovalore diA, a λ− µ, autovalore di modulo minimo di A− µ I ed a 1/(λ− µ), autovaloredi modulo massimo di (A− µ I)−1, sono associati i medesimi autovettori.

Lo schema (7.7) va modificato così

z(0) :∥∥z(0)

∥∥2= 1

B = (A− µ I)−1

per k = 1, 2, . . .

ζ(k) = B z(k−1)

z(k) = ζ(k)/∥∥∥ζ(k)

∥∥∥2

λ(k) = z(k)HAz(k)

fine

(7.8)

In questo modo si approssima l’autovalore prescelto λ e l’autovettore ad essoassociato ed avente norma 2 uguale ad uno.

Remark 43 Lo schema precedente viene spesso modificato in questo modo

z(0) :∥∥z(0)

∥∥2= 1

B = A− µIper k = 1, 2, . . .

ζ(k) : B ζ(k) = z(k−1)

z(k) = ζ(k)/∥∥∥ζ(k)

∥∥∥2

λ(k) = z(k)HAz(k)

fine

(7.9)

Infatti, in base a quanto è stato detto nella Sezione 6.1.3.1, se l’approssimazioneµ dell’autovalore λ è sufficientemente buona da rendere abbastanza piccolo il nu-mero delle iterate, questa versione che non richiede l’inversione di una matricee poi, ad ogni iterata, il prodotto matrice vettore ma la soluzione di un sistemalineare ad ogni iterata, risulta più economica della precedente.

Lo schema del metodo generalizzato dell’iterazione inversa - con la possibilitàdi scelta tra l’opzione (7.8) e l’opzione (7.9) di cui si è trattato nell’Osservazioneprecedente - è implementato nel file MATLAB invit del Corso. Ne riportiamo

7.8. CENNI DI TEORIA DELLA PERTURBAZIONE 105

la parte essenziale. In questo caso, l’opzione prescelta è quella descritta nelloschema (7.9).

...lam0=0;it=0;test=1;z=2*(rand(n,1)-.5+i*(rand(n,1)-.5));z=z/norm(z);b=a-mu*eye(n);%b=inv(a-mu*eye(n));while test>=ep&it<itmax

zita=b\z;%zita=b*z;z=zita/norm(zita);lam1=z’*a*z;dlam=lam1-lam0;test=abs(dlam);lam0=lam1;it=it+1;

end...

7.8 Cenni di teoria della perturbazione

Si è già detto della forte stabilità degli algoritmi presentati. Anche dal puntodi vista della complessità computazionale il giudizio è positivo, per opportuniaccorgimenti introdotti nell’algoritmo base nel caso del QR e per la possibilitàdi contenere il numero delle iterate con opportuni shifts nel caso dei metodipresentati nelle Sezioni 7.6 e 7.7. Rimane dunque da considerare solo il problemadi un possibile mal-condizionamento di una parte degli oggetti da calcolare, oeventualmente di tutti. Concludiamo pertanto il capitolo con cenni a questoproblema .

Per brevità ci limitiamo a considerare il caso delle matrici diagonalizzabilio addirittura quello delle matrici con autovalori semplici. D’altra parte, comesappiamo (si veda il Teorema 62 e l’Esercizio immediatamente seguente), questalimitazione è tutt’altro che restrittiva.

Theorem 85 (Di Baüer-Fike nella versione di Wilkinson) La matrice A siadiagonalizzabile

X−1AX = Λ = diag(λ1, λ2, . . . , λn).

Gli autovalori di A + E sono contenuti nell’unione dei dischi che hannocentro negli autovalori λh di A e raggio r = κp(X) ‖E‖p , p ≥ 1.

Il numero κp(X) è pertanto un numero di condizionamento globale degliautovalori di A.

106CHAPTER 7. CALCOLO DEGLI AUTOVALORI E DEGLI AUTOVETTORI

I numeri di condizionamento globali risultano molto utili quando sono fa-vorevoli, perché assicurano che tutti gli autovalori sono ben condizionati.

Quando assumono grandi valori segnalano l’esistenza di autovalori mal con-dizionati. Ma in questo caso la situazione più frequente è che solo un sot-toinsieme degli autovalori è mal condizionato e che gli autovalori di questosottoinsieme sono diversamente mal condizionati mentre i rimanenti sono bencondizionati. Si evidenzia allora lo svantaggio dei numeri di condizionamentoglobali di non dare informazioni individuali sui singoli autovalori, informazioniindividuali che, in casi del genere, sono invece altamente desiderabili.

Un altro inconveniente del numero di condizionamento di Baüer-Fike è quellodi essere a posteriori e non è del tutto soddisfacente giudicare sulla base dioggetti ottenuti da calcolo che, per di più, hanno un grado di inaffidabilitàrilevante proprio quando si desidererebbero informazioni attendibili (anche gliautovettori sono mal condizionati se lo sono gli autovalori).

7.8.1 Numeri di condizionamento individuali

Informazioni individuali e a priori sul condizionamento degli autovalori possonoessere ricavate dal Teorema 76 esaminando l’ampiezza delle regioni connessenelle quali si decompone l’intera regione di inclusione (se la decomposizioneavviene).

Numeri di condizionamento individuali a posteriori degli autovalori semplicipossono infine essere calcolati con l’ausilio degli autovettori sinistri di A (calco-lati come autovettori destri di AH) (si veda la fine della Sezione 7.1.2).

Se λ è semplice e x e y sono rispettivamente l’autovettore destro e l’autovet-tore sinistro associati a λ e normalizzati in norma 2:

‖x‖2 = ‖y‖2 = 1,

il numero di condizionamento κ(λ) di λ è

κ(λ) =1

|yHx| .

Poiché∣∣yHx

∣∣ ≤ ‖x‖2 ‖y‖2 = 1, si ha in ogni caso κ(λ) ≥ 1.

Remark 44 Dal Teorema 83 segue che si può assumere X = Q unitaria nelTeorema 85 se A è normale, e pertanto, nel caso della norma p = 2, κ2(X) =κ2(Q) = 1. Il numero di condizionamento globale degli autovalori di una matricenormale può dunque essere assunto uguale a 1. Le matrici normali hanno quindiautovalori perfettamente condizionati.

Per concludere due parole sul caso degli autovalori multipli.Nel caso di un autovalore multiplo non difettoso si può ancora definire un

numero di condizionamento individuale che può risultare più o meno grande.Non possiamo dilungarci sull’argomento. Ci limitiamo a dire che non esistonoragioni, in linea di principio, per ritenere questo caso peggiore di quello degliautovalori semplici.

7.9. ESERCIZI 107

Nel caso di un autovalore multiplo difettoso non si può neppure definire unnumero di condizionamento individuale. Infatti, l’errore in modulo sull’autoval-ore causato da perturbazioni di ordine ε sulla matrice tende a +∞ per ε→ 0 ela rapidità di crescita è tanto maggiore quanto più alto è il grado di difettositàdell’autovalore.

7.9 Esercizi

Exercise 7.9.1 È assegnata la matrice

A =

[1 z0 1

], z ∈ C.

1) Per quali valori di z la matrice A è unitaria?2) Per quali valori di z la matrice A è normale?3) Per quali valori di z almeno una delle quattro norme ‖A‖1, ‖A‖2, ‖A‖∞ e‖A‖F è minore di 1?4) Scrivere le istruzioni MATLAB per rispondere ai quesiti precedenti.

Exercise 7.9.2 È assegnata la matrice

A =

−4 .8 1.4 −1 −.51.7 4.1 −.3 1.2 −.6−2 3 −6 .6 0−1 .5 −.2 −2 .12.5 0 −.4 0 −3

.

Dimostrare che:1) la matrice A non è singolare;2) λ = 0 non è autovalore di A.

Exercise 7.9.3 È assegnata la matrice

A =

2 0 .5 −1.5 6.5 2 1−2 1 12 −.50 −.5 0 18

.

Rispondere, senza risolvere l’equazione caratteristica, alle domande che seguono.1) Si può escludere che λ = 0 sia autovalore di A?2) Si può escludere che A abbia autovalori complessi?3) Quali limitazioni si possono ottenere per il raggio spettrale ρ(A) = maxi |λi| ?

Exercise 7.9.4 Sia

A =

[.5 .5.5 .5

].

Esiste una norma operatore ‖·‖v tale da aversi ‖A‖v < 1?

108CHAPTER 7. CALCOLO DEGLI AUTOVALORI E DEGLI AUTOVETTORI

Exercise 7.9.5 Si può garantire che gli autovalori della matrice

13

12 −1

4−12

110 −1

912

17 −1

8

sono tutti interni al disco di centro l’origine e raggio 1?

Exercise 7.9.6 Si supponga di applicare il metodo della iterazione inversa peril calcolo di uno degli autovalori della matrice

A =

1 .5 −.5 .2.5 12 .8 1−.5 .8 −16 1.2 1 1 −4

assumendo lo shift µ = aii. Per quale scelta di i si può ritenere probabile laconvergenza più rapida?

Chapter 8

Approssimazione dellefunzioni

In questo capitolo ci occupiamo dell’approssimazione mediante polinomi di fun-zioni definite in R e con immagine in R.

La scelta dei polinomi si giustifica col seguente ben noto teorema, dovuto aWeierstrass, che mostra che i polinomi sono una scelta eccellente per approssi-mare funzioni sotto la semplice ipotesi della continuità.

Theorem 86 (Di Weierstrass) Sia f ∈ C[a, b]. Per ogni ε > 0 esiste un poli-nomio Pε tale che

|f(x)− Pε(x)| < ε per ogni x ∈ [a, b] .

Le varie procedure di approssimazione differiscono per la scelta che si fa delpolinomio approssimante e tale scelta dipende anche dalle informazioni che sihanno sulla funzione da approssimare.

Uno strumento molto noto è la formula di Taylor:

f(x) =n∑

k=0

f(k)(x0)

k!(x− x0)

k +Rn(x).

Il polinomio approssimante di Taylor

yTn : yTn (x) =n∑

k=0

f(k)(x0)

k!(x− x0)

k

è univocamente individuato dalla condizioni{

yTn ∈ Pn,yT (k)n (x0) = f (k)(x0), k = 0 : n,

ove Pn denota lo spazio lineare dei polinomi di grado minore o uguale a n.

109

110 CHAPTER 8. APPROSSIMAZIONE DELLE FUNZIONI

Le informazioni richieste per scrivere questa formula sono pertanto i valoridi un certo numero di derivate della f nel punto iniziale x0 e non sempre questeinformazioni sono disponibili.Inoltre, quando ricorrono le ipotesi nelle quali è possibile stimare il termined’errore Rn(x):

f ∈ Cn+1(A), A intervallo, A ∋ x0,

ipotesi senza le quali la formula non avrebbe interesse applicativo, si ha, adesempio:

Rn(x) =f (n+1)(ξ)

(n+ 1)!(x− x0)

n+1, ξ = ξ(x) tra x0 e x ,

e l’errore può essere limitato convenientemente solo vicino al punto iniziale x0.Le predette informazioni devono quindi essere disponibili in un punto x0 abbas-tanza vicino al punto x in cui si vuole approssimare la f .Infine le condizioni nelle quali

limn→∞

Rn(x) = limn→∞

(f(x)− yTn (x)

)= 0 per ogni x ∈ A

sono più restrittive della f ∈ C∞(A) e la convergenza può risultare molto lenta(n molto elevato per accuratezze modeste).

In questo capitolo presentiamo due procedure alternative.La prima va sotto il nome di Interpolazione e ne parleremo nella Sezione

8.1. Vedremo che essa richiede informazioni sulla f normalmente disponibili,consente una approssimazione più o meno uniforme in tutto un intervallo (enon solo nell’intorno di un punto) ed infine permette di provare risultati diconvergenza in ipotesi apprezzabilmente meno restrittive di quelle richieste dallaformula di Taylor.

La seconda va sotto il nome di Approssimazione ai minimi quadrati e neparleremo brevemente nella Sezione 8.2. Vedremo che essa è preferibile allainterpolazione in certe condizioni di lavoro.

8.1 Interpolazione

Si suppone di avere una tavola della funzione f

x0 f(x0)x1 f(x1)...

......

...xn f(xn)

che, in corrispondenza ad alcuni valori distinti x0,x1,. . .,xn della x, detti nodidella tavola, riporti i valori assunti dalla funzione. I valori della funzionesono detti le ordinate della tavola. Per ora li denotiamo così perché vogliamo

8.1. INTERPOLAZIONE 111

riguardarli come i valori esatti della funzione nei nodi, ma in futuro, quando par-leremo del condizionamento dei problemi computazionali coinvolti, prenderemoatto del fatto che le ordinate delle tavole sono per la maggior parte costituitesolo da valori approssimati della funzione nei nodi e sostituiremo la notazionef(xi) con fi, i = 0 : n.

Quando si disponga di una tavola, una scelta conveniente del polinomioapprossimante yn si effettua imponendo le condizioni

{yn ∈ Pn,yn(xi) = f(xi), i = 0 : n,

(8.1)

le quali richiedono informazioni largamente disponibili nelle applicazioni (unatavola della funzione) e, assumendo n + 1 informazioni non concentrate in unpunto ma distribuite in un intervallo, sembra probabile possano condurre ad unpolinomio yn in grado di approssimare la f con una certa uniformità almeno inquell’intervallo.

Theorem 87 Le condizioni (8.1) determinano univocamente il polinomio yn.

Proof. La dimostrazione segue facilmente scrivendo un generico polinomio yndi grado al massimo n

yn : yn(x) =n∑

k=0

ck xk

ed imponendogli la condizione di coincidere con la funzione f nei nodi

n∑

k=0

ck xki = f(xi), i = 0 : n.

Si ottiene in tal modo un sistema lineare di n+1 equazioni nelle n+1 incogniteck, k = 0 : n, avente come matrice dei coefficienti la matrice di VandermondeVn+1 degli n+ 1 punti x0,x1,. . .,xn

Vn+1 =

1 x0 x20 x30 · · · · · · xn01 x1 x21 x31 · · · · · · xn11 x2 x22 x32 · · · · · · xn2· · · · · · · · · · · · · · · · · · · · ·· · · · · · · · · · · · · · · · · · · · ·1 xn x2n x3n · · · · · · xnn

.

Poiché detVn+1 =∏i>j(xi−xj) e poiché i nodi sono distinti, si ha detVn+1 �=

0. Il sistema lineare ha quindi una unica soluzione

c = [c0 c1 . . . cn]T

ed esiste pertanto uno e un solo polinomio verificante le condizioni (8.1). Questoconclude la dimostrazione.

112 CHAPTER 8. APPROSSIMAZIONE DELLE FUNZIONI

Definition 88 Il polinomio individuato univocamente dalle condizioni in (8.1)è detto polinomio interpolatore della funzione f relativo ai nodi x0,x1,. . .,xn.Nel seguito verrà sempre denotato con yn.

Definition 89 Si chiama interpolazione quella parte della Teoria della Ap-prossimazione che studia le modalità secondo le quali approssimare le funzionicon i relativi polinomi interpolatori.

Remark 45 Si noti che se f ∈ Pn, dall’unicità del polinomio interpolatoresegue che yn = f .

Remark 46 In generale yn ha grado esattamente n ma per particolari dis-posizioni dei punti (xi, f(xi)), i = 0 : n, può essere di grado minore di n.Casi limite sono i due seguenti. Se i predetti punti sono allineati, o addiritturaallineati su una retta parallela all’asse delle ascisse, il grado del polinomio sarà1 o addirittura 0.

8.1.1 Analisi dell’errore teorico nell’interpolazione

Approssimando la funzione f in un punto x diverso dai nodi con yn(x) si com-mette un errore che chiameremo errore assoluto teorico e che denoteremo conεt,n(x):

εt,n(x) = f(x)− yn(x).

Analogamente a quanto detto a proposito della formula di Taylor, anchea proposito della interpolazione va detto che essa non avrebbe alcun interesseapplicativo se non si fornisse una espressione di questo errore che ne consentissedelle valutazioni. Il teorema che segue fornisce un risultato in tal senso, analogoa quello visto sopra per il resto della formula di Taylor.

Theorem 90 La funzione f sia dotata della derivata (n + 1)−esima in unintervallo A contenente i nodi x0,x1,. . .,xn. In queste ipotesi, per ogni x ∈A\{x0, x1, . . . , xn}, esiste ξ = ξ(x) ∈ (α, β), con α = min{x0, x1, . . . , xn, x} eβ = max{x0, x1, . . . , xn, x}, tale da aversi:

εt,n(x) =f(n+1)(ξ)

(n+ 1)!ωn+1(x) , (8.2)

ove ωn+1 è il polinomio monico di grado n+ 1 che si annulla negli n+ 1 nodi:

ωn+1 : ωn+1(x) = (x− x0)(x− x1) · · · (x− xn) =n∏

i=0

(x− xi).

Proof. Per prima cosa conviene osservare che, dal momento che εt,n si annullanei nodi e x è assunto in A\{x0, x1, . . . , xn}, si può scrivere

εt,n(x) = f(x)− yn(x) = R(x)ωn+1(x)

8.1. INTERPOLAZIONE 113

avendo evidentemente posto

R(x) =f(x)− yn(x)

ωn+1(x).

Queste posizioni sono funzionali alla dimostrazione e trasformano il prob-lema in quello di trovare una conveniente espressione di R(x). Per far questo,introduciamo la funzione ausiliaria

F : F (t) = f(t)− yn(t)−R(x)ωn+1(t).

Qui il punto x va riguardato come fissato (è il punto in cui si vuole dare l’e-spressione di R e di εt,n) e la variabile in A è t. Anche R(x)ωn+1, come yn,è quindi un polinomio e pertanto la F ha in A la medesima regolarità della f(n+ 1 derivate).

La F si annulla almeno in t = x0, t = x1,. . ., t = xn (perché nei nodi f eyn coincidono e ωn+1 si annulla) ed in t = x (per come è stato definito R(x)).Questi sono n + 2 punti distinti di A (x è per ipotesi distinto dai nodi) edindividuano n + 1 intervalli adiacenti, contenuti in A ed agli estremi dei qualila F vale zero. Applicando allora il teorema di Rolle alla F in ognuno di questiintervalli (le ipotesi del teorema sono soddisfatte), si riconosce che la F ′ haalmeno n + 1 zeri in (α, β). Il ragionamento fatto sulla F può essere ripetutoapplicandolo alla F ′ e riconoscendo che F ′′ ha almeno n zeri in (α, β), e si puòandare avanti fino a quando lo consentono le ipotesi fatte e cioè fino a quando ilpredetto ragionamento si applica alla F (n) riconoscendo che F (n+1) ha almenouno zero in (α, β).

Denotato questo punto di (α, β) con ξ, si ha

0 = F (n+1)(ξ) = f(n+1)(ξ)− (n+ 1)!R(x), (8.3)

perché yn ha grado n mentre R(x)ωn+1 ha grado n+1 e coefficiente del terminedi grado n+ 1 uguale a R(x).

Dalla (8.3) si ricava

R(x) =f (n+1)(ξ)

(n+ 1)!

e questo fornisce l’espressione di R(x), e quindi di εt,n(x), che cercavamo.

Remark 47 Nella dimostrazione del Teorema 90 abbiamo mostrato che esistealmeno uno zero di F (n+1) in (α, β). Se ce ne fosse più di uno di punti cheannullano F (n+1), ξ può essere assunto come uno qualunque di questi. Infattila scelta è indifferente perché in uno qualunque di questi punti sarà verificata la(8.3) e dunque la f(n+1) avrà il medesimo valore (n+ 1)!R(x) e così sarà perεt,n(x).

Remark 48 Le ipotesi del Teorema 90, tenuto conto di quelle richieste dalteorema di Rolle, possono essere indebolite limitandosi a chiedere che f siacontinua nell’intervallo A e derivabile n+ 1 volte nei punti interni di A.

114 CHAPTER 8. APPROSSIMAZIONE DELLE FUNZIONI

Remark 49 Merita osservare la stretta analogia dell’espressione fornita dalTeorema 90 per l’errore nell’interpolazione con la forma di Lagrange dell’erroredella formula di Taylor sopra riportata.

Il risultato espresso dal Teorema 90 può essere riformulato facendo riferi-mento alla formula

f = yn + εt,n ,

che è detta formula di interpolazione della f relativa ai nodi x0, x1, . . . , xn,dicendo che se f è dotata della derivata (n+1)−esima in un intervallo A conte-nente i nodi x0,x1,. . .,xn, la predetta formula di interpolazione può essere scrittanella forma

f(x) = yn(x) + εt,n(x), εt,n(x) =f(n+1)(ξ)

(n+ 1)!ωn+1(x) ,

x ∈ A\{x0, x1, . . . , xn}, ξ ∈ (α, β) .

Come usare l’espressione dell’errore teorico

Le informazioni che possono essere dedotte dall’espressione (8.2) dell’erroredipendono da quelle che si hanno sulla derivata f(n+1).

Se si sa che∣∣f(n+1)(t)

∣∣ ≤Mn+1 per ogni t ∈ (α, β), allora risulta∣∣f (n+1)(ξ)

∣∣ ≤Mn+1 e pertanto dalla (8.2) segue che:

|εt,n(x)| ≤Mn+1

(n+ 1)!|ωn+1(x)|

e se la quantità a secondo membro rispetta l’accuratezza prestabilita per l’ap-prossimazione di f(x), la stima yn(x) data dal polinomio interpolatore yn è daritenersi soddisfacente.

Se si sa che λ ≤ f (n+1)(t) ≤ Λ per ogni t ∈ (α, β), allora risulta λ ≤f(n+1)(ξ) ≤ Λ e pertanto dalla (8.2), segue che:

λ(n+1)! ωn+1(x) ≤ εt,n(x) ≤ Λ

(n+1)! ωn+1(x) se ωn+1(x) > 0,Λ

(n+1)! ωn+1(x) ≤ εt,n(x) ≤ λ(n+1)! ωn+1(x) se ωn+1(x) < 0,

e, aggiungendo membro a membro yn(x) si ha

yn(x) +λ

(n+1)! ωn+1(x) ≤ f(x) ≤ yn(x) +Λ

(n+1)! ωn+1(x) se ωn+1(x) > 0,

yn(x) +Λ

(n+1)! ωn+1(x) ≤ f(x) ≤ yn(x) +λ

(n+1)! ωn+1(x) se ωn+1(x) < 0.

Da ciò segue che, se λ e Λ possono essere ottenuti dello stesso segno, si puòmigliorare l’approssimazione di f fornita da yn. Infatti è possibile riconoscere ilsegno dell’errore εt,n(x) e ottenere una approssimazione per difetto (se il segnoè positivo) o per eccesso (se il segno è negativo) migliore di quella ottenuta dayn.

Il massimo dell’informazione che si può ottenere dalla (8.2) è quello espressodalle ultime due coppie di disuguaglianze quando si sia assunto

λ = inft∈(α,β)

f(n+1)(t), Λ = supt∈(α,β)

f (n+1)(t).

8.1. INTERPOLAZIONE 115

8.1.2 Come rappresentare il polinomio interpolatore

Un primo modo di rappresentare il polinomio è quello che si evince dalla di-mostrazione del Teorema 87. Si potrebbe cioè scrivere

yn : yn(x) =n∑

k=0

ck xk

e poi determinare le costanti risolvendo il sistema considerato nella dimostrazioneappena menzionata. Questa strategia non è però adottata in pratica sia per-ché comporta la soluzione di un sistema sia perché le matrici di Vandermondecoinvolte sono in certe situazioni malcondizionate.

Il polinomio interpolatore di Lagrange

Una delle rappresentazioni più note ed usate di yn è attribuita a Lagrange.Per presentarla, occorre introdurre i cosiddetti polinomi fondamentali della in-terpolazione di Lagrange. Questi sono n + 1 polinomi di grado n che sonodeterminati dai nodi della tavola e costituiscono una base in Pn. Sono denotaticon ℓi, i = 0 : n, e sono definiti al modo seguente

ℓi : ℓi(x) =

∏k=0:n;k �=i(x− xk)∏k=0:n;k �=i(xi − xk)

, i = 0 : n.

Si può dimostrare che

yn(x) =n∑

i=0

ℓi(x) f(xi). (8.4)

Infatti il secondo membro in (8.4) definisce un polinomio nella variabile x cheha al massimo grado n, perché è una combinazione lineare mediante le costantif(xi) dei polinomi ℓi che hanno tutti grado n. Inoltre, tale polinomio coincidecon la funzione f nei nodi perché si ha, come subito si verifica,

ℓi(xj) =

{1 se j = i0 se j �= i

,

e pertanton∑

i=0

ℓi(xj) f(xi) = f(xj), j = 0 : n.

Il polinomio definito nel secondo membro della (8.4) verifica dunque en-trambe le condizioni in (8.1) e pertanto non può essere altro che il polinomiointerpolatore della f relativo ai nodi x0, x1, . . . , xn.

Quando il polinomio interpolatore è rappresentato formalmente come in(8.4), la formula di interpolazione viene spesso chiamata formula di interpo-lazione di Lagrange.

Il file MATLAB lgrng del Corso implementa un algoritmo per il calcolo delpolinomio interpolatore di Lagrange in un insieme assegnato di punti.

116 CHAPTER 8. APPROSSIMAZIONE DELLE FUNZIONI

Il polinomio interpolatore di Newton

Un’altra rappresentazione del polinomio interpolatore yn, dovuta a Newton, fauso di una base diversa. Si tratta degli n+1 polinomi monici, denotati con ωi,i = 0 : n, che sono definiti al modo seguente

ω0 ≡ 1, ωi : ωi(x) =i−1∏

j=0

(x− xj) , i = 1 : n.

Si noti che ωi ha grado i.La rappresentazione di Newton è pertanto del tipo

yn(x) =n∑

i=0

ai ωi(x)

e si può dimostrare che le costanti ai sono date dalle cosiddette differenze divisedi ordine i della f :

ai = f [x0, x1, . . . , xi], i = 0 : n.

Più precisamente, f [x0, x1, . . . , xi] è detta differenza divisa di ordine i, della f ,relativa agli i+1 argomenti x0, x1, . . . , xi e le differenze divise sono definite perricorrenza al modo seguente

f [x0] = f(x0),

f [x0, x1, . . . , xi] =f [x1, . . . , xi]− f [x0, x1, . . . , xi−1]

xi − x0, i = 1, 2, . . . . (8.5)

Il polinomio di Newton assume quindi la forma

yn(x) =n∑

i=0

f [x0, x1, . . . , xi]ωi(x). (8.6)

Il suo uso pratico presenta aspetti interessanti.La prima cosa da fare è costruire la tavola delle differenze divise a partire

dai nodi e dalle ordinate della tavola. La tavola sarà costituita da numeri, rapp-resentati nella tavola in (8.7) con tre asterischi, e viene organizzata disponendole differenze del medesimo ordine in una medesima colonna (nella tavola in (8.7)gli ordini sono mostrati nella riga in alto) e collocandole negli interspazi tra lerighe nelle quali sono collocate, nella colonna immediatamente a sinistra, le dif-ferenze di ordine immediatamente inferiore che servono a calcolarle in accordoalle (8.5). Una delle ragioni di una tale organizzazione consiste nel fatto che,considerata una qualsiasi differenza divisa della tavola, retrocedendo lungo lediagonali della tavola, si trovano

i) nella colonna immediatamente precedente, le differenze divise di ordineimmediatamente inferiore che sono state utilizzate (al numeratore, in accordoalla (8.5)) per calcolarla;

8.1. INTERPOLAZIONE 117

ii) nella prima colonna, i due nodi che sono stati utilizzati (al denominatore,in accordo alla (8.5)) per calcolarla;

iii) nella prima colonna, tra i due nodi che sono stati direttamene utilizzatiper calcolarla, gli argomenti della differenza divisa, i quali sono anche i nodicui è relativo il polinomio interpolatore generato da un cammino (si veda piùavanti per la definizione di cammino) che procedendo da sinistra verso destranella tavola termini con la differenza divisa;

iv) nella seconda colonna, le ordinate che corrispondono ai nodi di cui alpunto precedente e che sono quelle implicitamente intervenute nel calcolo.

nodi 0 1 2 3 4∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗∗ ∗ ∗ ∗ ∗ ∗

(8.7)

Tavola delle differenze divise (5 nodi)

I nodi, le ordinate (differenze divise di ordine 0) e le differenze divise nonhanno indici. Li acquistano, di fatto, quando viene precisato il punto x in cuiapprossimare la f perché, al fine di organizzare le cose in una procedura diminima spesa per raggiungere l’accuratezza desiderata, i nodi verranno aggiuntiuno alla volta a quelli usati in precedenza scegliendo ogni volta il nodo dellatavola più vicino al punto x tra quelli non ancora utilizzati. I nodi e le ordinatevengono pertanto etichettati da questa procedura ideale e così avviene anche perle differenze divise. Si noti che quelle che intervengono in (8.6) si troverannodisposte lungo un cammino diagonale che coincide con la diagonale superiore[inferiore] della tavola se il nodo più vicino a x è il primo (il minore) [l’ultimo (ilmaggiore)] nodo della tavola e si troveranno disposte in un cammino a zig-zagse il nodo più vicino a x è un nodo intermedio della tavola.

Come si evince da quanto già detto la procedura consiste in passi successivi.Al passo p−esimo, p = 0, 1, . . ., l’utente avrà calcolato il polinomio

yp(x) =

p∑

i=0

f [x0, x1, . . . , xi]ωi(x),

relativo ai nodi x0, x1, . . . , xp, e potrà valutare l’accuratezza ottenuta calcolandoil valore del primo termine omesso in yp(x) - vale a dire il termine

f [x0, x1, . . . , xp+1]ωp+1(x)

che si dovrebbe aggiungere al polinomio di Newton già calcolato per far inter-venire, seguendo il cammino di cui sopra, l’ulteriore nodo xp+1 - ed interpretando

118 CHAPTER 8. APPROSSIMAZIONE DELLE FUNZIONI

tale valore come stima dell’errore εt,p(x) = f(x) − yp(x). La giustificazione diquesta stima è fornita dal Teorema 91.

Se il valore è in modulo sufficientemente piccolo, esso viene aggiunto a yp(x)e la procedura ha termine.

Se il valore non è in modulo sufficientemente piccolo, esso viene aggiunto ayp(x) e la procedura continua.

Theorem 91 La funzione f sia dotata della derivata k−esima nell’intervalloA e siano x0, x1, . . . , xk k + 1 punti distinti di A.

In queste ipotesi esiste un punto η interno all’intervallo determinato daipredetti punti tale che

f [x0, x1, . . . , xk] =f(k)(η)

k!.

Remark 50 Il Teorema 91 mostra che la stima dell’errore εt,p(x) = f(x) −yp(x) con il primo temine omesso in yp(x) è tanto più affidabile quanto più mod-erata è la variazione della f (p+1) nell’intervallo determinato dai punti x0, x1,...,xp+1.

Remark 51 La procedura descritta sopra mostra che l’uso del polinomio inter-polatore di Newton consente di stimare l’errore anche se non è nota l’espressioneanalitica della f , ma se ne conosce una tavola e si sa che ha derivate che varianolentamente nella regione che interessa.

Remark 52 Si osservi che ad ogni passo intermedio della procedura descrittasopra il lavoro precedentemente fatto per il calcolo di yp(x) non va perso maviene utilizzato in modo del tutto semplice aggiungendo a yp(x) il primo termineomesso. Una operazione analoga (l’aggiunta di un nodo) sarebbe stata menosemplice se si fosse usato il polinomio nella forma di Lagrange.

Remark 53 Due cammini che terminino con una medesima differenza gen-erano il medesimo polinomio interpolatore, scritto in due modi formalmentediversi se i due cammini non coincidono.

Quando il polinomio interpolatore è rappresentato formalmente come in(8.6), la formula di interpolazione viene spesso chiamata formula di interpo-lazione di Newton.

Il file MATLAB nwtn del Corso implementa un algoritmo per il calcolo delpolinomio interpolatore di Newton in un insieme assegnato di punti.

8.1.3 Ancora sull’errore teorico

Riprendendo a parlare dell’errore teorico εt,n dopo aver presentato le rappre-sentazioni del polinomio interpolatore secondo Lagrange e secondo Newton, èbene dire per prima cosa che le diverse rappresentazioni di yn (ne esistono in let-teratura molte) che sono state introdotte risultano ognuna preferibile alle altre

8.1. INTERPOLAZIONE 119

sotto certi aspetti ed in certe situazioni, ma non dal punto di vista dell’accu-ratezza ottenuta nel punto x di A\{x0, x1, . . . , xn}.

Infatti il polinomio interpolatore yn è unico, le diverse rappresentazioni necambiano solo l’aspetto formale e la funzione

εt,n = f − yn

è, come yn, univocamente determinata in A\{x0, x1, . . . , xn}.Ci poniamo ora il problema di maggiorare εt,n in valore assoluto in tutto un

intervallo [a, b]. Tenuto conto di quanto detto nelle Sezioni 8.1.1 e 8.1.1.1 e, inparticolare, della (8.2), si riconosce facilmente che, assegnati n+1 nodi in [a, b],non si può ottenere niente di più fine della maggiorazione

maxx∈[a,b]

|εt,n(x)| ≤Mn+1

(n+ 1)!maxx∈[a,b]

|ωn+1(x)| ,

seMn+1 = sup

x∈[a,b]

∣∣∣f (n+1)(x)∣∣∣

oppure, se f ∈ Cn+1[a, b],

Mn+1 = maxx∈[a,b]

∣∣∣f (n+1)(x)∣∣∣ .

Poiché la f va riguardata evidentemente come un dato del problema (e per-tanto Mn+1 non può essere ridotto) e poiché il maxx∈[a,b] |ωn+1(x)| è una fun-zione degli n+ 1 nodi in [a, b], è naturale porsi le seguenti domande.

1. Esiste una scelta degli n+ 1 nodi in [a, b] che renda minimo il

maxx∈[a,b]

|ωn+1(x)|?

2. In caso affermativo, i nodi che realizzano questa proprietà di minimo pos-sono essere espressi in formula chiusa?

3. In caso affermativo, tale formula chiusa è di uso semplice ed efficace?

4. Infine, quanto sopra ha validità qualunque sia n?

A tutti i quattro quesiti si può dare una risposta positiva, i nodi ricercatiessendo quelli noti come gli n+1 nodi di Chebyshev nell’intervallo [a, b] e definitidalla formula

x(C)i =

a+ b

2+

b− a

2cos

(2i+ 1

2n+ 2π

), i = 0 : n. (8.8)

Il polinomio ω(C)n+1 determinato dai nodi di Chebyshev:

ω(C)n+1 : ω

(C)n+1(x) =

n∏

i=0

(x− x(C)i )

120 CHAPTER 8. APPROSSIMAZIONE DELLE FUNZIONI

prende il nome di polinomio di Chebyshev monico di grado n+1 relativo all’in-tervallo [a, b].

Sussiste il seguente teorema che dà una risposta esauriente al quesiti 1-4. Ladimostrazione viene omessa.

Theorem 92 Si ha

maxx∈[a,b]

∣∣∣ω(C)n+1

∣∣∣ = (b− a)n+1

22n+1< max

x∈[a,b]|pn+1|

per ogni polinomio pn+1 monico di grado n+ 1 diverso da ω(C)n+1.

La proprietà di ottimo dei nodi di Chebyshev espressa da questo teorema,valida per ogni n, suggerisce di studiare il comportamento nell’intervallo [a, b]di εt,n per n→∞ nella ipotesi che per ogni n yn sia il polinomio interpolatoredella f relativo agli n+1 nodi di Chebyshev. Il risultato è molto più favorevoledi quello analogo, ma relativo allo studio del comportamento del resto Rn dellaformula di Taylor, di cui si è detto all’inizio del capitolo.

Si può infatti rispondere che se si usano per ogni n gli n+ 1 nodi in (8.8) siha

limn→∞

maxx∈[a,b]

|εt,n(x)| = 0

per ogni funzione f appartenente alla classe DL[a, b].DL[a, b] denota la classe delle funzioni di Dini-Lipschitz in [a, b]. Non possi-

amo in questo corso dilungarci sull’argomento. Ci limiteremo a dire che DL[a, b]è una famiglia estremamente vasta di funzioni continue che contiene anche fun-zioni neppure derivabili in [a, b], con punti angolosi, cuspidi, ecc.

La scelta dei nodi (8.8) per ogni n conduce pertanto ad ottime proprietàdi convergenza. Proprietà analoghe sussistono anche per altre leggi di scelta dinodi (leggi di scelta ottimali (vedi sezione seguente)) ma non per la legge discelta dei nodi che, per ogni n, dividono [a, b] in n intervalli di uguale ampiezza:

xi = a+ ib− a

n, i = 0 : n. (8.9)

Il seguente esempio, dovuto a Runge, è significativo.

Example 93 (di Runge) Siano f : f(x) = 1/(1 + x2) , [a, b] = [−5, 5] ed i nodi

siano, per ogni n, i nodi in (8.9). Si ha

limn→∞

maxx∈[a,b]

|εt,n(x)| = +∞ .

8.1.4 Cenni sul comportamento dell’errore inerente

Nell’interpolazione i dati del problema computazionale sono i nodi, le ordinateed il punto x. I nodi ed il punto x sono, in pratica sempre, affetti solo daglierrori di macchina xi− xi, i = 0 : n, e x− x. È pertanto consuetudine trascurare

8.1. INTERPOLAZIONE 121

gli errori sui nodi, supponendo xi = xi, i = 0 : n, e su x, supponendo x = x, inconsiderazione del fatto che gli errori

εi = f(xi)− fi, i = 0 : n,

fi essendo le ordinate perturbate fornite dalla tavola (vedi all’inizio della Sezione8.1), sono molto più consistenti.

Riassumendo, il problema computazionale è

yn(x) = F (x0, x1, . . . , xn, f(x0), f(x1), . . . , f(xn), x) (8.10)

e, nella schematizzazione esposta sopra, si pone

yn(x) = F (x0, x1, . . . , xn, f0, f1, . . . , fn, x),

yn essendo il polinomio di Pn che passa per i punti perturbati (xi, fi) anzichéper quelli esatti (xi, f(xi)).

Si ha allora l’espressione

εin,n(x) = yn(x)− yn(x)

per l’errore inerente nel punto x di A\{x0, x1, . . . , xn}. Poiché la funzione F in(8.10) non dipende dalla particolare forma in cui verrà scritto il polinomio inter-polatore, anche l’errore inerente non dipende dalla rappresentazione adottata.Conviene dunque, per analizzarlo, prendere la forma che permette di studiarlopiù facilmente. Questa è certamente la forma di Lagrange, dalla quale si ottieneimmediatamente

εin,n(x) = yn(x)− yn(x) =n∑

i=0

li(x) (f(xi)− fi) =n∑

i=0

li(x) εi

e, posto |εi| ≤ ε, i = 0 : n,

|εin,n(x)| ≤ εn∑

i=0

|li(x)| .

Assumono quindi importanza la funzione

Λn : Λn(x) =n∑

i=0

|li(x)| ,

detta funzione di Lebesgue, ed il suo massimo in [a, b]

λn = maxx∈[a,b]

Λn(x),

detto costante di Lebesgue e poiché entrambe sono determinate dagli n + 1nodi xi, i = 0 : n, è logico domandarsi se non esistano leggi di scelta dei nodiche rendano, per ogni n sufficientemente appiattita sul valore 1 la funzioneΛn e convenientemente piccola la costante λn. Sussiste il seguente teorema dicarattere negativo, del quale omettiamo la dimostrazione.

122 CHAPTER 8. APPROSSIMAZIONE DELLE FUNZIONI

Theorem 94 Per ogni legge di scelta dei nodi in [a, b] si ha

λn >1

8√

πlog(n+ 1).

Alla luce di questo teorema sono state definite ottimali quelle leggi di sceltadei nodi in [a, b] per le quali si ha

λn ≤ c log(n+ 1), c costante.

La legge di scelta dei nodi di Chebishev è una scelta ottimale.

Remark 54 È opportuno sottolineare che le leggi di scelta ottimali dei nodiproducono non solo, come si è visto sopra, un buon comportamento dell’erroreteorico e di quello inerente, ma anche di quello algoritmico.

8.2 Approssimazione ai minimi quadrati

Finora abbiamo sempre imposto al polinomio approssimante la f di avere gradoal massimo uguale al numero dei nodi impiegati meno 1 e di coincidere con laf nei nodi. In certi casi però questa tecnica non produce i migliori risultatati.Questo accade quando si vogliono utilizzare molti nodi (n grande), e/o questinon sono nodi ottimali (vedi Sezione 8.1.4), e/o le ordinate fi sono affette daerrori rilevanti (non solo errori di macchina, ma, ad esempio ordinate ottenuteda misure sperimentali, ecc.).

In situazioni come queste conviene piuttosto seguire la funzione con un poli-nomio di grado m << n, senza imporgli il passaggio per i punti (xi, fi), ma de-terminandolo con la condizione di minimizzare la somma degli scarti quadratici(ym(xi)− fi)

2: {ym ∈ Pm,∑

i=0:n (ym(xi)− fi)2 = minimo.

Se m = n, allora esiste una unica soluzione al problema ed è il polinomiointerpolatore della f relativo agli n+ 1 nodi. Esso rende infatti la sommatoria∑

i=0:n (ym(xi)− fi)2 uguale a zero e ogni altro polinomio di Pn la renderebbe

necessariamente positiva.Anche nel caso m < n la soluzione è unica.Il polinomio ai minimi quadrati ym può essere costruito e poi valutato

facendo uso delle funzioni MATLAB polyfit e polyval.Il comando

c = polyfit(x, f,m)

dà un vettore c le cui componenti sono i coefficienti del polinomio ai minimiquadrati di grado m relativo alla funzione le cui ordinate sono le componentidel vettore f ed ai nodi che sono le componenti del vettore x.

Il comandov = polyval(polyfit(x, f,m), x0)

8.3. ESERCIZI 123

dà un vettore v le cui componenti sono i valori nei punti x0i (le componenti delvettore x0) del polinomio ai minimi quadrati di grado m relativo alla funzione lecui ordinate sono le componenti della vettore f ed ai nodi che sono le componentidel vettore x.

8.3 Esercizi

Exercise 8.3.1 Si consideri l’errore che si commette approssimando nel punto.125 la funzione:

f : f(x) = esinx

con il polinomio interpolatore di f relativo ai tre nodi 0, .25, .5.È possibile assicurare che tale errore sia in valore assoluto minore di 1.5×

10−2?

Exercise 8.3.2 Di una funzione f si conosce la tavola:

x f(x)0 −0.10.5 0.21 0.1

Tavola 1

e si sa che:1) esiste la derivata terza f ′′′ in [−1/2, 1];2) risulta

−2.6 ≤ f ′′′(x) ≤ −2.2 per ogni x ∈ [−1/2, 1].

Si può assicurare che si ha

f(−1/2) < 0?

È possibile dare una approssimazione di f(−1/2) più accurata di quella for-nita dal polinomio interpolatore della f relativo ai tre nodi della Tavola 1?

Exercise 8.3.3 Sia f la funzione definita al modo seguente:

f(x) = log(cos(x))

e sia y2 il polinomio interpolatore di f relativo ai nodi:

x0 = −π

4, x1 = 0 , x2 =

π

4.

Dare una maggiorazione di

maxx∈[−π/4,π/4]

|f(x)− y2(x)| .

124 CHAPTER 8. APPROSSIMAZIONE DELLE FUNZIONI

Exercise 8.3.4 Studiare l’errore che si commette approssimando nel punto 1.9la funzione:

f : f(x) = x log(3x)

con un polinomio interpolatore di f relativo a tre nodi arbitrariamente assegnatinell’intervallo [1, 2].

Exercise 8.3.5 Maggiorare l’errore teorico che si commette approssimando inun punto comunque prefissato dell’intervallo [2, 3] la funzione

f : f(x) = log(1 + x)

con il polinomio interpolatore relativo a tre nodi arbitrariamente assegnati nel-l’intervallo.

Chapter 9

Integrazione numerica

In questo capitolo ci occuperemo del calcolo approssimato di integrali, limitan-doci alla presentazione delle formule più semplici e comunemente usate ed allaapprossimazione di integrali, estesi ad intervalli chiusi e limitati, di funzionireali, di variabile reale, continue.

Osservato che, posto

I : C[a, b]→ R, If =

∫ b

a

f ,

I risulta, come noto, essere un funzionale in C[a, b], le procedure per la sua ap-prossimazione consistono nell’uso di formule, dette formule di quadratura, cheapprossimano I in C[a, b] con un funzionale di approssimazione An opportuna-mente definito. La differenza I − An è a sua volta un funzionale in C[a, b] chedenoteremo con εt,n e chiameremo termine di errore.

9.1 Formula generale di quadratura

La formula avrà dunque la struttura

∫ b

a

f = Anf + εt,nf , f ∈ C[a, b].

L’indice n è da mettere in relazione al fatto che si assume, come nel capitoloprecedente, di usare, per costruire le formule, una tavola a n+ 1 nodi

xn0, xn1, . . . , xnn ,

della funzione integranda e che An sia del tipo

Anf =n∑

i=0

ani f(xni),

125

126 CHAPTER 9. INTEGRAZIONE NUMERICA

ove le ani, i = 0 : n, sono costanti, dette anche pesi, proprie della particolareformula di quadratura.

Questa assume quindi l’aspetto∫ b

a

f = Anf + εt,nf =n∑

i=0

ani f(xni) + εt,nf, f ∈ C[a, b]. (9.1)

Si dice che la (9.1) é esatta per la funzione f se εt,nf = 0, o, ciò che è lostesso, se Anf =

∫ baf .

9.1.1 Grado di precisione di una formula di quadratura

Una misura della accuratezza di una formula di quadratura (9.1) è data dal suogrado di precisione. Questo è definito qui di seguito.

Definition 95 Si dice che la formula di quadratura (9.1) ha grado di precisionemn, mn ≥ 0, se

εt,nxr =

0 per r = 0 : mn,

�= 0 se r = mn + 1.

Tenendo conto della linearità di εt,n, si riconosce che la definizione appenadata può essere anche formulata, in modo equivalente ma più significativo, almodo seguente

Definition 96 Si dice che la formula di quadratura (9.1) ha grado di precisionemn se la formula è esatta per tutti i polinomi di grado ≤ mn, ma non lo è peri polinomi di grado mn + 1.

Remark 55 Una formula di quadratura (9.1) ha grado di precisione mn ≥ 0se e solo se essa è esatta per le costanti e quindi per la funzione f ≡ 1. Poichéper tale funzione si ha

∫ ba f = b−a, e Anf =

∑ni=0 ani, questo significa che una

formula di quadratura (9.1) ha grado di precisione mn ≥ 0 se e solo se:

n∑

i=0

ani = b− a. (9.2)

Il teorema che segue pone un limite superiore al grado di precisione di unaformula del tipo (9.1) e mostra che esso è necessariamente minore del doppiodei nodi impiegati dalla formula.

Theorem 97 La formula (9.1) non può avere grado di precisione 2n+ 2.

Proof. La dimostrazione si fa portando un esempio di polinomio di grado 2n+2per il quale la formula (9.1) non è esatta. Questo polinomio è definito dai nodidella formula al modo seguente

f : f(x) =n∏

i=0

(x− xni)2.

9.1. FORMULA GENERALE DI QUADRATURA 127

Per tale scelta di f si ha evidentemente∫ baf > 0 e Anf = 0, e la formula,

pertanto, non è esatta.

9.1.2 Le somme integrali

Un primo esempio di formula di quadratura del tipo (9.1) lo si incontra fin dalladefinizione di integrale di Riemann ed è dato dalla somma integrale

Anf = σnf =n∑

i=0

(tn,i+1 − tn,i) f(xni),

ove a = tn,0 < tn,1 < · · · < tn,n+1 = b è una decomposizione dell’intervallo[a, b], xni ∈ [tn,i, tn,i+1], i = 0 : n, ed i pesi sono evidentemente le ampiezzedegli intervalli della decomposizione: ani = tn,i+1 − tn,i, i = 0 : n.

Questo primo esempio di formula di quadratura merita un giudizio positivosotto alcuni dei punti di vista sotto i quali può essere giudicata una formulacome la (9.1). Questi possono essere riassunti al modo seguente.

1. Informazioni ottenibili su∫ ba f −Anf = εt,nf .

2. Condizioni su f affinché limn→∞(∫ b

af −Anf

)= limn→∞ εt,nf = 0.

3. Rapidità di convergenza.

4. Condizionamento dei problemi computazionali indotti.

5. Stabilità degli algoritmi indotti.

Il giudizio sulle somme integrali è eccellente sotto gli aspetti in 2 e 4.Riguardo al punto 2 basta osservare che le condizioni sufficienti su f sono ad-dirittura meno restrittive della f ∈ C[a, b] (integrale secondo Riemann).Il giudizio positivo sul punto 4 merita qualche osservazione perché è comunea tutte le formule con pesi ani tutti positivi. Rimandiamo pertanto la giusti-ficazione di questo giudizio positivo alla sezione seguente, dove il problema èesaminato nel caso generale.

Il giudizio sotto gli altri aspetti è negativo. Nessuna informazione sull’er-rore commesso - salvo il fatto che il grado di precisione sarà in generale zero(è soddisfatta la (9.2)) - e nessuna informazione sulla rapidità di convergenzapotranno essere ottenute se si usa una somma integrale, a meno che questa nonsia stata costruita con particolari procedure. Per quanto riguarda poi il punto5, la necessità, per ottenere la convergenza, di far tendere a zero la norma delladecomposizione comporta il calcolo ripetuto di differenze tn,i+1−tn,i fra terminiche tendono ad essere uguali e quindi ripetuta cancellazione numerica.

128 CHAPTER 9. INTEGRAZIONE NUMERICA

9.1.3 Analisi del condizionamento

L’analisi dell’errore inerente può essere presentata già fin da ora. Pertanto laanteponiamo alla analisi dell’errore teorico.

Come nell’interpolazione, anche quando si stima l’errore inerente dei prob-lemi indotti dalle quadrature, si suole schematizzare il problema considerandoaffette da perturbazione, fra tutti i dati coinvolti, solo le ordinate. Si pone:

f(xni)− fni = εni, |εni| ≤ ε, i = 0 : n,

f(xni)− fnif(xni)

= ǫni, |ǫni| ≤ ǫ, i = 0 : n,

avendo denotato con fni, i = 0 : n, le ordinate affette da errori della tavola.L’errore inerente assoluto e relativo sono allora

Anf −Anf eAnf −Anf

Anf,

ove Anf sta evidentemente ad indicare la parte approssimante valutata con leordinate errate.

Si ha∣∣∣Anf −Anf

∣∣∣ =∣∣∣∣∣

n∑

i=0

aniεni

∣∣∣∣∣ ≤n∑

i=0

|aniεni| ≤ εn∑

i=0

|ani|

e∣∣∣∣∣Anf −Anf

Anf

∣∣∣∣∣ =|∑n

i=0 aniεni||Anf |

=|∑n

i=0 aniǫnif(xni)||Anf |

≤ ǫ

∑ni=0 |ani| |f(xni)|

|Anf |.

Maggiorazioni più significative dell’errore inerente possono essere dedotte daqueste in condizioni particolari di applicazione. Per esempio, se, come apparepreferibile, i nodi sono nell’intervallo di integrazione, il secondo limite superiorepotrà essere ulteriormente maggiorato da

ǫ maxx∈[a,b]

|f(x)|∑n

i=0 |ani||Anf |

.

Un caso molto interessante è quello in cui i pesi sono tutti positivi. In tal caso

εn∑

i=0

|ani| = εn∑

i=0

ani = ε (b− a)

se mn ≥ 0, e

ǫ

∑ni=0 |ani| |f(xni)|

|Anf |= ǫ

∑ni=0 ani |f(xni)||Anf |

= ǫAn |f ||Anf |

≃ ǫ

∫ ba|f |∣∣∣

∫ baf∣∣∣

se sono soddisfatte condizioni sufficienti per la convergenza delle parti approssi-manti An |f | e Anf rispettivamente agli integrali

∫ ba|f | e

∫ baf .

9.2. FORMULE DI QUADRATURA INTERPOLATORIE 129

Remark 56 Le ultime due maggiorazioni sono intanto molto favorevoli perchémostrano che l’errore inerente si mantiene limitato da una costante quale che sian. Inoltre esse consentono di individuare le situazioni nelle quali sarà necessariauna particolare attenzione alla accuratezza con la quale si ottengono le ordinate(ε ed ǫ): b − a grande nel primo caso e funzioni con frequenti cambiamenti disegno ed ampie oscillazioni nel secondo.

9.2 Formule di quadratura interpolatorie

Una formula di quadratura si dice interpolatoria se la sua parte approssimanteAnf è uguale all’integrale esteso all’intervallo [a, b] del polinomio interpolatoreyn della f relativo ai nodi della formula:

Anf =

∫ b

a

yn.

Theorem 98 Una formula di quadratura interpolatoria è di tipo (9.1) con pesi

ani =

∫ b

a

lni, i = 0 : n, (9.3)

ove lni denota l’i−esimo polinomio fondamentale dell’interpolazione di Lagrange.Viceversa una formula di tipo (9.1) i cui pesi verifichino le (9.3) è interpolatoria.

Proof. La dimostrazione segue facilmente usando la rappresentazione di La-grange del polinomio interpolatore. Infatti, se la formula è interpolatoria, siha:

Anf =

∫ b

a

yn =

∫ b

a

n∑

i=0

lni f(xni) =n∑

i=0

f(xni)

∫ b

a

lni

e pertanto la formula di quadratura è del tipo (9.1) con i pesi definiti dalle (9.3).Viceversa, se la formula di quadratura è del tipo (9.1) con i pesi definiti dalle(9.3), facendo il ragionamento in senso inverso, si vede subito che la formula èinterpolatoria.

Remark 57 Una formula di quadratura interpolatoria è completamente deter-minata dai nodi.

Un altro importante teorema riguardante le formule interpolatorie è il seguente.

Theorem 99 La formula di quadratura (9.1) ha grado di precisione mn ≥ n see solo se è interpolatoria.

Proof. Supponiamo che la formula sia interpolatoria. Se f ∈ Pn, si ha yn = fper l’unicità del polinomio interpolatore e quindi

Anf =

∫ b

a

yn =

∫ b

a

f.

130 CHAPTER 9. INTEGRAZIONE NUMERICA

La formula è quindi esatta per tutti i polinomi di Pn e pertanto si ha mn ≥ n.Viceversa, se la formula (9.1) ha grado di precisione mn ≥ n, essa è esatta

per tutti i polinomi fondamentali lnj , j = 0 : n. Si ha pertanto

∫ b

a

lnj =n∑

i=0

anilnj(xni), j = 0 : n,

perché gli integrali devono essere uguali alle parti approssimanti, e, ricordandole proprietà dei polinomi fondamentali di Lagrange calcolati nei nodi (si veda laSezione 8.1.2.1):

∫ b

a

lnj =n∑

i=0

anilnj(xni) = anjlnj(xnj) = anj , j = 0 : n.

Sono dunque verificate le (9.3) e la formula è interpolatoria.

Remark 58 Può essere conveniente formulare in maniera diversa risultati pre-cedenti riguardanti il grado di precisione mn di una formula di quadratura (9.1).Per far questo, denotiamo con N il numero dei nodi impiegati dalla formula.Mentre per una formula non interpolatoria il grado di precisione potrebbe ad-dirittura non essere definito (

∑ani �= b − a) o, al massimo essere N − 2, le

formule interpolatorie sono tutte e sole quelle per le quali si ha

N − 1 ≤ mn < 2N.

9.2.1 Formule di Gauss-Legendre

Usiamo le notazioni introdotte nell’ultima osservazione.Una formula di quadratura interpolatoria generica avrà grado di precisione

N − 1, ma si può dimostrare che scegliendo sempre con maggior cura gli Nnodi, si possono costruire formule interpolatorie con grado di precisione via viacrescente fino al massimo consentito di 2N − 1.Ottenere con N nodi un grado di precisione N − 1 + r equivale a rendere laformula competitiva con una formula interpolatoria generica che fa intervenireN + r nodi.Le formule ottime, ossia quelle che hanno un grado di precisione 2N − 1, cheè il massimo consentito compatibilmente con il numero N dei nodi impiegati,prendono il nome di formule di Gauss-Legendre. Sono formule molto raffinateche si ottengono scegliendo gli N nodi coincidenti con gli zeri del polinomio diLegendre di grado N .

Non possiamo presentarle in questo Corso ma ci limitiamo a dire che hannopesi tutti positivi e che sono competitive in termini di accuratezza con unaformula interpolatoria generica che faccia intervenire il doppio dei nodi.

Il file MATLAB del Corso gsld costruisce le formule di Gauss-Legendre.

9.2. FORMULE DI QUADRATURA INTERPOLATORIE 131

9.2.2 Formule di Newton-Cotes

Le formule di Newton-Cotes sono formule di quadratura interpolatorie nellequali i nodi sono supposti equidistanti e contenuti nell’intervallo [a, b]. Sono didue tipi: formule di Newton-Cotes di tipo chiuso e formule di Newton-Cotes ditipo aperto.

Formule di Newton-Cotes di tipo chiuso

Come già detto si tratta di formule interpolatorie a nodi equidistanti in [a, b].Quelle considerate in questa sezione sono dette di tipo chiuso perché tra i nodisono considerati anche gli estremi dell’intervallo. Infatti, per ogni n ≥ 1 i nodisono definiti al modo seguente

xni = a+ i h , i = 0 : n, h =b− a

n(9.4)

e sono gli n + 1 punti che dividono in n intervalli di ampiezza uguale ad hl’intervallo di integrazione. La comune ampiezza h degli n intervalli è chiamatail passo della tavola.

Presentiamo le prime due formule chiuse riportando solo le parti approssi-manti e rimandando ad una sezione successiva informazioni sui termini d’errore.Questi sono denotati aggiungendo un indice (c) in alto per evitare confusionicon i termini d’errore delle formule di tipo aperto che saranno invece denotatiaggiungendo in alto un indice (a).

La prima formula è detta formula di Newton-Cotes chiusa a due punti eanche formula del trapezio. I due nodi sono gli estremi dell’intervallo (si veda la(9.4) ed il polinomio interpolatore ha per grafico una retta che passa per i duepunti (a, f(a)) e (b, f(b)). La formula è interpolatoria e pertanto la sua parteapprossimante, nel caso le due ordinate abbiano lo stesso segno, altro non è chel’area con segno h (f(a)+f(b))/2 del trapezio che ha basi f(a) e f(b) ed altezzah. La seconda denominazione deriva evidentemente da questo. Facendo i conticon la (9.3), si ottiene:

n = 1. h = b− a;

∫ b

a

f =h

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

(c)t,1f.

La seconda formula è detta formula di Newton-Cotes chiusa a tre punti e an-che formula di Simpson o infine formula della parabola. I tre nodi sono gli estremied il punto centrale dell’intervallo (si veda la (9.4)) ed il polinomio interpolatoreha per grafico una parabola che passa per i tre punti (a, f(a)), (a+b2 , f(a+b2 )) e(b, f(b)). L’ultima denominazione deriva evidentemente da questo. Facendo iconti con la (9.3), si ottiene:

n = 2. h =b− a

2;

∫ b

a

f =h

3

(f(a) + 4f(

a+ b

2) + f(b)

)+ ε

(c)t,2f.

132 CHAPTER 9. INTEGRAZIONE NUMERICA

Formule di Newton-Cotes di tipo aperto

Come già detto si tratta di formule interpolatorie a nodi equidistanti in [a, b].Quelle considerate in questa sezione sono dette di tipo aperto perché usano solonodi interni all’intervallo. Conviene conservare per i nodi e per h le notazioniusate nella sezione precedente. Pertanto, per ogni n ≥ 2, i nodi saranno definitiancora dalla (9.4) ma si intenderà che la variabilità dell’indice i vada da 1 an− 1 anziché da 0 a n:

xni = a+ i h , i = 1 : n− 1, h =b− a

n.

Si osservi che questa variazione formale comporta che il numero N dei nodi siaora formalmente denotato con n − 1 anziché con n + 1 e che di conseguenzail polinomio interpolatore, che viene sostituito alla funzione f sotto il segno diintegrale, sia ora un polinomio yn−2 di Pn−2.

Presentiamo solo la prima formula aperta (n = 2) riportando solo la parteapprossimante e rimandando ad una sezione successiva informazioni sul termined’errore. Questo è denotato aggiungendo un indice (a) in alto.La formula è detta formula di Newton-Cotes aperta del punto centrale e ancheformula del rettangolo. L’unico nodo è il punto centrale a+b

2 dell’intervallo ed ilpolinomio interpolatore ha per grafico una retta parallela all’asse delle ascisseche passa per il punto (a+b2 , f(a+b2 )). La formula è interpolatoria e pertantola sua parte approssimante è l’area con segno 2h f(a+b2 ) del rettangolo che habase 2h ed altezza f(a+b2 ). La seconda denominazione deriva evidentemente daquesto. Si ha quindi:

n = 2. h =b− a

2;

∫ b

a

f = 2h f(a+ b

2) + ε

(a)t,2 f.

Sulle altre formule di Newton-Cotes

Le formule presentate nelle due sezioni precedenti sono le più note e le più usatefra le formule di Newton-Cotes. Quelle relative a valori più elevati di n non leabbiamo riportate sostanzialmente per due ragioni.

La prima è che le condizioni sufficienti a garantire che si abbia

limn→∞

ε(c)t,nf = 0

[limn→∞

ε(a)t,nf = 0

]

sono molto restrittive, considerevolmente più restrittive della appartenenza dellaf a C∞[a, b]. Esiste al riguardo un esempio, tratto da quello di Runge riportatoalla fine della Sezione 8.1.3, che mostra che queste relazioni di limite non sonosoddisfatte nel caso f : f(x) = 1

/(1 + x2) , [a, b] = [−5, 5], e la f in questo caso

è addirittura di classe C∞.La seconda è che si ha, per questo tipo di formule, supn

∑ni=0 |ani| = +∞.

Poiché si ha anche, per ogni n,∑n

i=0 ani = b− a, perché le formule sono tutteesatte per la funzione f ≡ 1, questo significa che quando n cresce, intervengono

9.2. FORMULE DI QUADRATURA INTERPOLATORIE 133

cambiamenti di segno nei pesi, con oscillazioni sempre più ampie e implica laimpossibilità di dare una stima soddisfacente dell’errore inerente. A questoriguardo, si ricordi che nel caso delle somme integrali σnf la stima favorevoleera stata possibile perché i pesi ani = tn,i+1−tn,i erano tutti positivi e si osserviche nel caso attuale altro non si può garantire se non che

∣∣∣Anf −Anf∣∣∣ =

∣∣∣∣∣

n∑

i=0

ani εni

∣∣∣∣∣ ≤ εn∑

i=0

|ani| .

A favore dell’uso delle formule di Newton-Cotes per valori via via crescenti din c’è però da precisare che se la f soddisfa le condizioni sufficienti per la conver-genza a zero del termine d’errore, tale convergenza a zero è di tipo esponenzialee quindi molto rapida.

Tenendo conto un po’ di tutto, conviene, in linea di massima, usare formuledi Newton-Cotes per valori via via crescenti di n quando la f soddisfa le predettecondizioni sufficienti (che non possono essere precisate in questo Corso e per lequali rimandiamo gli interessati a testi specializzati) e l’intervallo di integrazioneè di ampiezza così contenuta da consentire di raggiungere l’accuratezza richiestaprima che intervengano formule con variazioni di segno nei pesi così consistentida non consentire una stima favorevole dell’errore inerente.

Se non ci si trova in condizioni come queste, un modo semplice ed alla portatadi qualunque utenza per avere la convergenza è quello descritto nella Sezione9.3.

Grado di precisione delle formule di Newton-Cotes

Abbiamo già osservato, nel capitolo precedente, che la legge di scelta dei nodiequidistanti non è certo una delle migliori. Una ulteriore conferma viene ora dalseguente teorema. Il teorema mostra infatti che il grado di precisione delle for-mule di Newton-Cotes è quello minimo previsto per una formula interpolatoriao al massimo quello minimo più 1. Omettiamo la dimostrazione. Nell’enun-ciato del teorema è denotato ancora con N , per comodità, il numero dei nodiimpiegati dalla formula.

Theorem 100 Il grado di precisione mn della formula di Newton-Cotes chiusaa N punti [della formula di Newton-Cotes aperta a N punti] è dato da

mn =

{N − 1 se N è pari,N se N è dispari.

Da questo teorema deriva che

• la formula del trapezio ha grado di precisione 1;

• la formula della parabola ha grado di precisione 3;

• la formula del rettangolo ha grado di precisione 1.

134 CHAPTER 9. INTEGRAZIONE NUMERICA

Remark 59 Vale la pena di osservare che la formula del rettangolo ha gradodi precisione massimo (il doppio dei nodi meno uno) ed è pertanto anche laprima formula di Gauss-Legendre (si veda Sezione 9.2.1). La stessa cosa nonvale invece per la formula del trapezio, che fa intervenire il doppio dei nodi.

Analisi dell’errore teorico nelle formule di Newton-Cotes

Per tutte le formule di Newton-Cotes (e per la verità per una classe vasta diformule di quadratura) vale il seguente teorema che fornisce un’espressione peril termine d’errore. Anche di questo teorema omettiamo la dimostrazione.

Theorem 101 Sia ε(c/a)t,n f il termine d’errore della formula di Newton-Cotes,

chiusa o aperta, avente grado di precisione mn e sia f ∈ Cmn+1[a, b].In queste ipotesi esistono una costante Kn, dipendente dalla particolare for-

mula e dall’intervallo [a, b] ma indipendente da f , ed un punto ξ ∈ (a, b) tali daaversi

ε(c/a)t,n f = Knf

(mn+1)(ξ).

Come detto nell’enunciato, la costante Kn dipende solo dalla particolareformula considerata e dall’intervallo [a, b], ma è indipendente dalla funzioneintegranda f . In effetti, la dipendenza dall’intervallo avviene tramite la suaampiezza b− a, quella dalla formula si esprime attraverso una costante propriadella formula stessa e, denotata questa costante con γmn+1, si ha

Kn = γmn+1 (b− a)mn+2.

Se si conosce il grado di precisione della formula mn = N − 1 + r (r = 0o 1 per le formule di Newton-Cotes e, in generale, per formule interpolatorie,0 ≤ r ≤ N), la costante Kn può essere ricavata usando la formula di quadraturaed il polinomio

p : p(x) = xrωN(x)

per ottenere una equazione dalla quale ricavare Kn. Infatti, applicando la for-mula di quadratura alla funzione p ed osservando che p, per come è definito, siannulla in tutti gli N nodi, si ha l’equazione:

∫ b

a

p = 0 + (mn + 1)!Kn

dalla quale si ricava:

Kn =1

(mn + 1)!

∫ b

a

p.

Una analisi completa della teoria dell’errore mostra che si possono dareespressioni e maggiorazioni del termine d’errore anche in ipotesi meno restrittivesulla funzione integranda di quelle ipotizzate nel teorema precedente. Questo èimportante perché altrimenti le formule più efficaci, quelle con grado di preci-sione più elevato, finirebbero con l’essere penalizzate perché sarebbero di fatto

9.2. FORMULE DI QUADRATURA INTERPOLATORIE 135

utilizzabili solo in condizioni più restrittive. Non possiamo entrare nei dettaglie ci limitiamo a esporre qui di seguito i risultati di questa analisi nel caso delleformule di Newton-Cotes presentate nelle Sezioni 9.2.2.1 e 9.2.2.2. Nel far questoporremo

Mk = maxx∈[a,b]

∣∣∣f (k)(x)∣∣∣ .

Formula del trapezio∫ b

a

f =b− a

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

(c)t,1f .

ε(c)t,1f = − (b−a)3

12 f ′′(ξ), ξ ∈ (a, b);∣∣∣ε(c)t,1f

∣∣∣ ≤ (b−a)312 M2, se f ∈ C2[a, b],

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·∣∣∣ε(c)t,1f

∣∣∣ ≤ (b−a)24 M1, se f ∈ C1[a, b].

Formula della parabola∫ b

a

f =b− a

6

(f(a) + 4f(

a+ b

2) + f(b)

)+ ε

(c)t,2f .

ε(c)t,2f = − (b−a)5

2880 f(4)(ξ), ξ ∈ (a, b);∣∣∣ε(c)t,2f

∣∣∣ ≤ (b−a)52880 M4, se f ∈ C4[a, b],

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·∣∣∣ε(c)t,2f

∣∣∣ ≤ (b−a)4576 M3, se f ∈ C3[a, b],

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·∣∣∣ε(c)t,2f

∣∣∣ ≤ (b−a)381 M2, se f ∈ C2[a, b],

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·∣∣∣ε(c)t,2f

∣∣∣ ≤ 5(b−a)236 M1, se f ∈ C1[a, b],

Formula del rettangolo∫ b

a

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

2) + ε

(a)t,2 f .

ε(a)t,2 f = (b−a)3

24 f ′′(ξ), ξ ∈ (a, b);∣∣∣ε(a)t,2 f

∣∣∣ ≤ (b−a)324 M2, se f ∈ C2[a, b],

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·∣∣∣ε(a)t,2 f

∣∣∣ ≤ (b−a)24 M1, se f ∈ C1[a, b].

Ognuna delle tavole riportate qui sopra può essere sintetizzata nella impli-cazione

f ∈ Ck[a, b], 1 ≤ k ≤ mn + 1⇒ |εt,nf | ≤ Γk (b− a)k+1Mk, (9.5)

ove Γk è una costante dipendente da k e dalla formula usata e (b− a)k+1 rap-presenta la dipendenza dall’intervallo, che, come già osservato in un caso parti-colare, avviene attraverso la sua ampiezza b− a.

136 CHAPTER 9. INTEGRAZIONE NUMERICA

Remark 60 Il confronto fra la formula del trapezio e quella del rettangolo puòora essere approfondito rilevando un ulteriore vantaggio della seconda formula.Si può infatti osservare che la costante 1/24 che figura nella maggiorazionegerarchicamente più alta dell’errore della formula del rettangolo è più favorevoledella costante 1/12 che figura nella maggiorazione corrispondente dell’erroredella formula del trapezio. E questo nonostante il rettangolo faccia intervenireun solo nodo contro i due del trapezio.

Remark 61 Come già osservato nella Sezione 9.2.1, la proprietà della formuladel rettangolo di essere competitiva con una formula interpolatoria generica chefa intervenire il doppio dei nodi è in realtà tipica di tutte le formule di Gauss-Legendre.

Remark 62 Di solito la informazione maggiore sull’errore si ottiene dalla mag-giorazione gerarchicamente più alta fra quelle che si possono usare compatibil-mente con la regolarità della funzione integranda. Va detto però che le eccezionia questo regola generale non sono poi molto rare.

Remark 63 Le maggiorazioni degli errori mostrate nelle tavole sono tanto menofavorevoli quanto più è grande l’ampiezza dell’intervallo di integrazione.

9.3 Formule di Newton-Cotes generalizzate o com-posite

Procedimenti asintotici convergenti basati sull’uso di formule di Newton-Cotesad un numero crescente di nodi sono da tentare solo in ipotesi molto restrittivee comunque nel caso di un intervallo di integrazione di piccola ampiezza (si vedala Sezione 9.2.2.3 e l’ultima Osservazione della sezione precedente).Procedimenti a convergenza meno rapida, ma applicabili con risultati accettabiliin condizioni molto meno restrittive sulla f e teoricamente convergenti sotto lasola ipotesi f ∈ C[a, b], si ottengono invece generalizzando o componendo unaprefissata formula di Newton-Cotes con pesi positivi e quindi ad un basso numerodi nodi.

In questa sezione mostriamo come si generalizzano le formule presentate nelleSezioni 9.2.2.1 e 9.2.2.2.

L’idea si può derivare da un attento esame delle (9.5) e può essere brevementeesposta dicendo che consiste nel dividere l’intervallo di integrazione [a, b] in νsottointervalli di uguale ampiezza (b − a)/ν ed applicare ad ognuno di questila formula prefissata che si vuole generalizzare, invocando la proprietà additivadell’integrale.Se denotiamo con

I(l) =

[a+ (l − 1)

b− a

ν, a+ l

b− a

ν

], l = 1 : ν

9.3. FORMULE DI NEWTON-COTES GENERALIZZATE O COMPOSITE137

il generico sottointervallo e con A(l)n e ε

(l)t,n, rispettivamente, il funzionale di

approssimazione ed il funzionale d’errore della formula di quadratura di Newton-Cotes da generalizzare applicati nel sottointervallo I(l), possiamo scrivere

∫ b

a

f =ν∑

l=1

I(l)f =

ν∑

l=1

A(l)n f +ν∑

l=1

ε(l)t,nf,

pervenendo in tal modo alla formula di quadratura generalizzata dedotta dallaprescelta formula di Newton-Cotes.

Le sommatorie∑ν

l=1A(l)n f e

∑νl=1 ε

(l)t,nf , che denoteremo brevemente con

ε[ν]t,nf :

ε[ν]t,nf =

ν∑

l=1

ε(l)t,nf,

sono rispettivamente la parte approssimante ed il termine d’errore della formulageneralizzata e si può dedurre immediatamente dalla (9.5) che, se mn è il gradodi precisione della formula di Newton-Cotes che si è generalizzato, si ha:

f ∈ Ck[a, b], 1 ≤ k ≤ mn + 1⇒∣∣∣ε[ν]t,nf

∣∣∣ ≤ Γk (b− a)k+1Mk

νk. (9.6)

Infatti:

∣∣∣ε[ν]t,nf∣∣∣ =

∣∣∣∣∣

ν∑

l=1

ε(l)t,nf

∣∣∣∣∣ ≤ν∑

l=1

∣∣∣ε(l)t,nf∣∣∣ ≤ ν Γk (

b− a

ν)k+1Mk =

Γk (b− a)k+1Mk

νk.

La (9.6) prova che l’errore della formula generalizzata tende a zero per ν →∞ maggiorato da un infinitesimo di ordine k se f ∈ Ck[a, b] e 1 ≤ k ≤ mn + 1.

Remark 64 Si può riconoscere che le parti approssimanti delle formule gen-eralizzate dedotte dalle formule presentate nelle Sezioni 9.2.2.1 e 9.2.2.2 sonosomme integrali relative a decomposizioni dell’intervallo di integrazione la cuinorma tende a zero per ν → ∞. Pertanto si possono precisare le proprietà diconvergenza delle predette formule generalizzate aggiungendo a quanto detto cheil loro errore tende a zero anche se f è solo continua in [a, b] (e anche nelleipotesi ancora meno restrittive richieste dall’integrale di Riemann). In questeipotesi però, non è possibile dare informazioni circa la rapidità della convergenzaa zero, che potrebbe essere molto lenta.

9.3.1 Espressione dell’errore gerarchicamente più alta

Denotiamo come al solito con mn il grado di precisione della formula che sigeneralizza. Sia f ∈ Cmn+1[a, b] e sia (si veda la Sezione 9.2.2.5)

εt,nf = γmn+1(b− a)mn+2f (mn+1)(ξ), ξ ∈ (a, b)

138 CHAPTER 9. INTEGRAZIONE NUMERICA

l’espressione gerarchicamente più alta del termine d’errore della predetta for-mula. Si ha per l’errore della generalizzata

ε[ν]t,nf =

ν∑

l=1

ε(l)t,nf = γmn+1(

b− a

ν)mn+2

ν∑

l=1

f (mn+1)(ξl) =

= γmn+1

(b− a)mn+2

νmn+1

∑νl=1 f

(mn+1)(ξl)

ν,

ed applicando al valor medio nell’ultimo membro una ben nota proprietà dellefunzioni continue si riconosce che esiste ξ ∈ (a, b) tale da aversi

∑νl=1 f

(mn+1)(ξl)

ν= f(mn+1)(ξ)

e pertanto

ε[ν]t,nf = γmn+1

(b− a)mn+2

νmn+1f (mn+1)(ξ).

Remark 65 Si osservi che questa analisi, oltre a fornire una espressione del-l’errore nella ipotesi f ∈ Cmn+1[a, b], mostra che la formula generalizzata hail medesimo grado di precisione della formula dalla quale è stata dedotta e chepertanto, salvo un unico caso particolare, le formule generalizzate non sono in-terpolatorie.

9.3.2 Le formule dedotte dalle formule presentate nelleSezioni 9.2.2.1 e 9.2.2.2.

Ora presentiamo nel dettaglio le formule generalizzate dedotte dalle le formulepresentate nelle Sezioni 9.2.2.1 e 9.2.2.2.

La formula dei trapezi

Questa formula è la formula generalizzata dedotta da quella del trapezio. Tenen-do conto di quanto detto sopra si riconosce facilmente quanto segue. Da notareche essendo per il trapezio n = 1, il passo h dovrà intendersi uguale a (b− a)/νper la generalizzata.

n = 1. h =b− a

ν;

∫ b

a

f = h

(f(a)

2+

ν−1∑

l=1

f(a+ lh) +f(b)

2

)+ ε

[ν]t,1f .

ε[ν]t,1f = − (b−a)3

12 ν2 f ′′(ξ), ξ ∈ (a, b);∣∣∣ε[ν]t,1f

∣∣∣ ≤ (b−a)312 ν2 M2, se f ∈ C2[a, b],

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·∣∣∣ε[ν]t,1f

∣∣∣ ≤ (b−a)24 ν M1, se f ∈ C1[a, b].

L’algoritmo per la formula dei trapezi è implementato nel file MATLABtrapz.

9.3. FORMULE DI NEWTON-COTES GENERALIZZATE O COMPOSITE139

La formula delle parabole (Cavalieri-Simpson)

Questa formula è la formula generalizzata dedotta da quella della parabola.Tenendo conto di quanto detto sopra si riconosce facilmente quanto segue. Danotare che essendo per la parabola n = 2, il passo h dovrà intendersi uguale a(b− a)/(2ν) per la generalizzata.

n = 2. h =b− a

2 ν;

∫ b

a

f =h

3(f(a) + 4f(a+ h) + 2f(a+ 2h) + 4f(a+ 3h)+

+ . . .+ 2f(a+ (2ν − 2)h) + 4f(a+ (2ν − 1)h) + f(b)) + ε[ν]t,2f.

ε[ν]t,2f = − (b−a)5

2880 ν4 f(4)(ξ), ξ ∈ (a, b);∣∣∣ε[ν]t,2f

∣∣∣ ≤ (b−a)52880 ν4 M4, se f ∈ C4[a, b],

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·∣∣∣ε[ν]t,2f

∣∣∣ ≤ (b−a)4576 ν3 M3, se f ∈ C3[a, b],

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·∣∣∣ε[ν]t,2f

∣∣∣ ≤ (b−a)381 ν2 M2, se f ∈ C2[a, b],

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·∣∣∣ε[ν]t,2f

∣∣∣ ≤ 5(b−a)236 ν M1, se f ∈ C1[a, b],

L’algoritmo per la formula delle parabole è implementato nel file MATLABdel Corso prbl.

La formula dei rettangoli

Questa formula è la formula generalizzata dedotta da quella del rettangolo.Tenendo conto di quanto detto sopra si riconosce facilmente quanto segue. Danotare che essendo per il rettangolo n = 2, il passo h dovrà intendersi uguale a(b− a)/(2ν) per la generalizzata.

n = 2. h =b− a

2 ν;

∫ b

a

f = 2hν∑

l=1

f(a+ (2 l − 1)h) + ε[ν]t,2f .

ε[ν]t,2f = (b−a)3

24 ν2 f ′′(ξ), ξ ∈ (a, b);∣∣∣ε[ν]t,2f

∣∣∣ ≤ (b−a)324 ν2 M2, se f ∈ C2[a, b],

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·∣∣∣ε[ν]t,2f

∣∣∣ ≤ (b−a)24 ν M1, se f ∈ C1[a, b].

Il file MATLAB del Corso qdtr confronta, a parità sostanziale di nodi, irisultati che si ottengono con le formule dei rettangoli, dei trapezi, delle parabolee con quelle di Gauss-Legendre.

Analisi dell’errore inerente

L’analisi svolta nella Sezione 9.1.3 spiega la ragione per la quale si generalizzanoformule di Newton-Cotes a un numero N di nodi così basso da avere formule

140 CHAPTER 9. INTEGRAZIONE NUMERICA

a pesi tutti positivi. Questo garantisce infatti che abbiano pesi tutti positivianche le formule generalizzate che si deducono da quelle, garantendo in talmodo a queste formule i risultati favorevoli illustrati nella predetta sezione.

Analisi dell’errore algoritmico

A differenza di quanto osservato con riferimento alle somme integrali (si veda laSezione 9.1.2), non si rilevano motivazioni che facciano sospettare una possibileinstabilità.

Naturalmente, al crescere del numero ν dei sottointervalli, aumenta il numerodegli addendi che figurano nella parte approssimante di ogni formula general-izzata e sarà bene adottare le cautele di cui al Livello 1, Capitolo 0, Sezione2.7.

9.4 Esercizi

Exercise 9.4.1 Di una funzione f si conosce la tavola:

x f(x)0.0 5.00000.1 4.82530.2 4.6848

e si sa che f ∈ C4[0, 0.2] risultando:

−2.0 ≤ f ′(x) ≤ −1.3 per ogni x ∈ [0, 0.2],

1.4 ≤ f ′′(x) ≤ 6.0 per ogni x ∈ [0, 0.2],

−30.0 ≤ f ′′′(x) ≤ −15.6 per ogni x ∈ [0, 0.2],

70.0 ≤ f (4)(x) ≤ 74.0 per ogni x ∈ [0, 0.2].

Cosa si può dire riguardo all’integrale

∫ 0.2

0

f(x) dx ?

Exercise 9.4.2 Di una funzione f si conosce la tavola:

x f(x)0 00.5 0.18751 2

e si sa che f ∈ C∞[0, 1], risultando:

0 ≤ f ′(x) ≤ 7 per ogni x ∈ [0, 1],

9.4. ESERCIZI 141

0 ≤ f ′′(x) ≤ 18 per ogni x ∈ [0, 1],

6 ≤ f ′′′(x) ≤ 30 per ogni x ∈ [0, 1],

23 ≤ f (4)(x) ≤ 25 per ogni x ∈ [0, 1].

Si può assicurare che risulta

∫ 1

0

f(x) dx > 0 ?

Exercise 9.4.3 Di una funzione f si conosce la tavola:

x f(x)0 -0.10.5 0.21 0.1

e si sa che f ∈ C2[0, 1], risultando:

−2.8 ≤ f ′′(x) ≤ −0.4 per ogni x ∈ [0, 1],

Si può assicurare che risulta

∫ 1

0

f(x) dx > 0 ?

Quali sono le migliori limitazioni, inferiore e superiore, che le informazioni adisposizione consentono di ottenere per l’integrale?

142 CHAPTER 9. INTEGRAZIONE NUMERICA

Chapter 10

Derivazione numerica

In questo capitolo studieremo l’applicazione della teoria dell’interpolazione al-l’approssimazione delle operazioni di derivazione di una funzione reale f di vari-abile reale. Tale applicazione viene impiegata quando l’operazione di derivazione,teoricamente possibile, è difficile o addirittura impossibile (ad esempio: f notasolo in un insieme discreto di punti) da eseguirsi in pratica sulla f ed è semplice-mente basata, nelle linee essenziali, sull’idea di eseguire il calcolo approssimatosostituendo la f con il suo polinomio interpolatore. Si ottiene in tal modo il pro-cedimento di derivazione numerica. Mentre l’integrazione numerica costituiscela più importante applicazione della teoria dell’interpolazione, l’applicazione alladerivazione viene generalmente evitata finché possibile per la scarsa precisioneche essa, al contrario dell’integrazione numerica, consente generalmente di rag-giungere. Di questa diversa attendibilità del risultato della derivazione e dellaintegrazione ci si può rendere conto anche intuitivamente. Se infatti si pensaal significato geometrico delle operazioni di integrazione estesa ad un intervallo[a, b] e di derivazione, si intuisce facilmente che, sostituendo la f con un suopolinomio interpolatore, è da temere che l’errore connesso con la derivazione nu-merica possa essere tutt’altro che trascurabile anche se il polinomio approssimaabbastanza accuratamente la funzione mentre si può sperare, al contrario, chel’approssimazione dell’integrale sia buona anche quando non è tanto accurataquella di f fornita dal polinomio nell’intervallo di integrazione.

Concludiamo questi cenni introduttivi elencando qui di seguito altri dueinconvenienti della derivazione numerica:

1. la espressione del termine d’errore è, come vedremo, piuttosto complessae lo diventa sempre di più al crescere dell’ordine di derivazione; per con-seguenza la valutazione di tale errore, soprattutto in punti distinti dainodi della tavola, diventa sempre meno semplice man mano che si vannoad approssimare derivate di ordine via via crescente (si veda Teorema D1nel foglio allegato);

2. il procedimento di derivazione numerica è particolarmente sensibile aglierrori sulle ordinate.

143

144 CHAPTER 10. DERIVAZIONE NUMERICA

10.1 Formule di derivazione numerica ad un nu-mero dispari di nodi

Per le considerazioni appena esposte, ci limitiamo ad accennare il procedimentodi derivazione numerica nelle sue linee generali, occupandoci solamente di for-mule di derivazione numerica relative alle derivate del primo e del secondo ordinecon particolare riguardo al loro uso dei nodi.

I gruppi di formule di uso più comune sono relativi ad n = 2, n = 3, n = 4 edal caso di nodi equidistanti con passo h: quando n è pari, per mettere in evdenzala formula relativa al nodo centrale, che è la più favorevole, la numerazione deinodi e delle corrispondenti ordinate è fatto da −n/2 ad n/2 anziché da 0 ad n(si vedano le formule relative al caso k = 1 (derivazione approssimata del primoordine) nel foglio allegato).

Un semplice esame di tutte queste relazioni fa comprendere che le formulecentrali dei gruppi ad un numero dispari di punti sono le più favorevoli e le piùusate in pratica. Esse richiedono infatti l’uso di un numero di ordinate che èminore di quello impiegato dalle rimanenti formule dello stesso gruppo ed ugualea quello impiegato da tutte le formule del gruppo precedente (ad un numero paridi punti) che fa però intervenire un nodo di meno, e per di più il coefficientenumerico del termine d’errore è più favorevole.

Inoltre, nelle formule predette, i coefficienti delle ordinate sono più piccoli (inmodulo) che nelle rimanenti dello stesso gruppo e ciò comporta una ulterioresituazione di vantaggio riguardo alla componente dell’errore finale che derivadalla propagazione nei calcoli degli errori presenti nelle ordinate e, nelle situ-azioni pratiche più comuni, una maggiorazione più favorevole per il modulo ditale componente dell’errore.

10.2 Analisi dell’errore e condizionamento delproblema computazionale

Tutte le formule di derivazione presentate nel foglio allegato mostrano una par-ticolare sensibilità della derivazione numerica agli errori sulle ordinate. Ciò èevidentemente conseguenza della presenza di potenze di h nei denominatori delleparti approssimanti ad esaminare le cose appena più in dettaglio.

10.2.1 Il passo ottimo

Consideriamo la formula (2.10) del foglio allegato. Supponiamo

f(xi)− fi = εi, |εi| ≤ ε, i = −1,+1.

Posto M3 = max[x0−h,x0+h] |f ′′′(x)|, si ha

|εc,n| ≤h2

6M3 +

ε

h.

10.3. CENNI ALLE FORMULE DI ORDINE SUPERIORE 145

Questa maggiorazione dell’errore complessivo assoluto mostra che sono lapresenza di h nel denominatore della parte approssimante della (2.10) del foglioallegato e la necessità di prendere h piccolo, nell’intento di limitare convenien-temente il massimo valore possibile dell’errore teorico

∣∣∣h26 f ′′′(ξ0)∣∣∣, a rendere

l’approssimazione ottenibile con (2.10) particolarmente sensibile agli errori sulleordinate. Pertanto h non potrà essere preso troppo piccolo (a meno che glierrori sulle ordinate non possano essere convenientemente ridotti) e converrà pi-uttosto, se possibile, scegliere opportunamente un passo h che faccia assumereun valore sufficientemente piccolo, eventualmente il minimo, a h2

6 M3 +εh .

Spesso, nelle applicazioni, si tiene conto di queste osservazioni al modoseguente. Si pone per semplicità M3 costante in un conveniente intervallo dicentro x0; si determina poi il cosiddetto passo ottimo h0 come il valore di h peril quale detta funzione assume il valore minimo:

h0 =

(3ε

M3

)1/3,

oppure anche il valore di h per il quale i due addendi di h2

6 M3 +εh sono uguali:

h0 =

(6ε

M3

)1/3;

infine, nei limiti del possibile, si sceglie un passo uguale o prossimo ad h0.Considerazioni analoghe si possono fare per la formula centrale del gruppo

di formule di derivazione numerica a cinque punti del foglio allegato, ottenendoil relativo passo ottimo:

h0 =

(45ε

M5

)1/5,

ove si è posto M5 = max[x0−2h,x0+2h] |fv(x)|.

10.3 Cenni alle formule di ordine superiore

Con procedimenti dello stesso tipo di quelli relativi alle formule relative aderivate del primo ordine, si ottengono formule di derivazione numerica rela-tive alle derivate di ordine superiore (k > 1).

Si vedano le formule a 3 punti per la derivazione approssimata del secondoordine nel foglio allegato.

Posto M4 = max[x0−h,x0+h]∣∣f ′V (x)

∣∣, si ha

|εc,n| ≤h2

12M4 +

h2.

La presenza di h2 nel denominatore della parte approssimante della formulacentrale del gruppo (la (2.12) del foglio allegato) permette di fare considerazioni

146 CHAPTER 10. DERIVAZIONE NUMERICA

analoghe a quelle accennate nella sezione precedente pervenendo al passo ottimo:

h0 =

(48ε

M4

)1/4.

Naturalmente la presenza di h2 invece di h al denominatore della parte ap-prossimante conduce ad una limitazione superiore decisamente meno buona delvalore assoluto dell’errore inerente.

Analogamente, la presenza di hk nel denominatore della parte approssimantedelle formule di derivazione numerica relative alle derivate di ordine superiore(k ≥ 2) dà luogo a sempre maggiori difficoltà.

Per queste ragioni e per quelle accennate all’inizio del capitolo, le splines sonoda preferire e di fatto costituiscono lo strumento in alternativa più usato per ilproblema della derivazione numerica mentre i procedimenti a cui abbiamo finoraaccennato vengono di fatto usati solo negli schemi numerici per il trattamentonumerico delle equazioni differenziali alle derivate parziali - dove vengono usatiper approssimare le derivate parziali e tradurre il problema computazionale inquello della soluzione di in un sistema lineare.