Corso di Calcolo Numerico

Похожие документы
Metodi di Iterazione Funzionale

Corso di Analisi Numerica

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Analisi Numerica

Claudio Estatico Equazioni non-lineari

Universita degli Studi di Ancona - Facolta di Ingegneria Laurea in Ing. Elettronica (VO) Ing. Informatica e Automatica - Ing. delle Telecomunicazioni

Corso di Calcolo Numerico

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 20 giugno 2011

Quali condizionisi si possono richiedere sulla funzione interpolante?

METODI DI COLLOCAZIONE POLINOMIALE (Metodi di Runge-Kutta continui) November 30, 2004

Daniela Lera A.A

04 - Numeri Complessi

Algebra Lineare Autovalori

Raccolta di Esercizi d esame ( di Calcolo Numerico) Prof. Laura Pezza. Equazioni non lineari

Corso di Calcolo Numerico

CALCOLO NUMERICO Laurea di base in Ingegneria Elettronica, delle Comunicazioni

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 19 settembre 2011

Corso di Matematica per la Chimica

2. Fra tutti i rettangoli inscritti in una circonferenza, determinare quello di area massima.

IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Note sull algoritmo di Gauss

SOLUZIONI ESERCIZI DI IGS. b 0 (mod 3) 1 + 2a + b 0 (mod 3)

Problema. Equazioni non lineari. Metodo grafico. Teorema. Cercare la soluzione di

ESERCIZI SVOLTI SUL CALCOLO INTEGRALE

Il Metodo di Newton, o delle Tangenti Federico Lastaria, Analisi e Geometria 1. Politecnico di Milano Corso di Analisi e Geometria 1

Corso di Analisi Numerica

Raccolta di compiti degli appelli precedenti

0.1 Spazi Euclidei in generale

Note del corso di Laboratorio di Programmazione e Calcolo: Analisi della stabilità e della complessità computazionale di un algoritmo

04 - Numeri Complessi

Metodi per il calcolo degli zeri di funzioni non lineari

Analisi Matematica 1 Soluzioni prova scritta n. 1

ANALISI 1 - Teoremi e dimostrazioni vari

Politecnico di Milano Corso di Analisi e Geometria 1. Federico Lastaria Formule di Taylor Ottobre 2012

Approssimazione di dati e funzioni

Serie di Taylor. Hynek Kovarik. Analisi Matematica 2. Università di Brescia

Raccolta di esercizi di Calcolo Numerico Prof. Michela Redivo Zaglia

Un polinomio è un espressione algebrica data dalla somma di più monomi.

Interpolazione e approssimazione di funzioni

1 PRELIMINARI 1.1 NOTAZIONI. denota l insieme vuoto. a A si legge a appartiene a A oppure a è elemento di A.

I teoremi della funzione inversa e della funzione implicita

Forme quadratiche in R n e metodo del completamento dei quadrati

Esame di Calcolo Numerico per Informatica Prof. S. De Marchi Padova, 11 dicembre x k 1 x k 2

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n

NUMERI COMPLESSI Esercizi svolti. d) (1 i) 3. b) (1 + i)(1 i)(1 + 3 i) c) 1 i 1

Corso di Matematica per la Chimica

Programma del corso di: Laboratorio di Programmazione e Calcolo Corso di laurea in Matematica a.a Proff. B. Paternoster, D.

Транскрипт:

Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica

Risoluzione di Equazioni Algebriche Le equazioni algebriche sono equazioni del tipo P (x) = 0 dove P è un polinomio di grado n cioé P (x) = a 1 x n + a 2 x n 1 +... + a n x + a n+1, a 1 0, a k R Le seguenti proprietà sono ben note: Un polinomio di grado n ha esattamente n radici, che possono essere reali o complesse, ciascuna contata con la sua moltiplicità (Teorema Fondamentale dell Algebra); Se un polinomio P ha una radice complessa α = a + ib allora la sua coniugata ᾱ = a ib è anche radice di P ; Per n 5 non esiste alcuna forma esplicita per le radici di P ; Le radici di un polinomio dipendono con continuità dai coefficienti, cioè se α è una radice di P allora α = α(a 1, a 2,..., a n+1 ) è una funzione continua delle variabili a 1, a 2,..., a n+1.

Per determinare un approssimazione delle radici reali di un equazione lineare è possibile utilizzare i metodi visti per le equazioni non lineari, dopo aver individuato per ciascuna radice reale un intervallo che la contenga. Quando n è molto grande il problema di individuare tali intervalli può risultare non immediato. In generale occorre effettuare delle operazioni preliminari: localizzazione delle radici: serve a determinare un cerchio del piano coplesso che contenga tutte le radici (sia reali che complesse); numerazione delle radici: consiste nel determinare il numero delle radici reali; A tale scopo sono utili i seguenti risultati.

Teorema di Cauchy Tutti gli zeri di P (x) = a 1 x n + a 2 x n 1 +... + a n x + a n+1 sono inclusi nel cerchio del piano di centro l origine e raggio r = 1 + max a k 2 k n+1 a 1. Dunque, in particolare le radici reali si trovano nell intervallo [ r, r].

Regola dei segni di Cartesio Sia P (x) = a 1 x n + a 2 x n 1 +... + a n x + a n+1. Consideriamo l insieme ordinato dei coefficienti A = {a 1, a 2,..., a n, a n+1 }. Se denotiamo con ν il numero di variazioni di segno nell insieme A (gli eventuali zeri non si contano) si ha che il numero k delle radici reali positive di P soddisfa le seguenti proprietà k ν e ν k è un numero pari. Se applichiamo la regola di Cartesio al polinomio Q(x) = P ( x) otteniamo il numero delle radici reali positive di Q e quindi il numero delle radici reali negative di P.

Applicando i precedenti risultati e disegnando il grafico di P sull intervallo [ r, r] si stabilisce con certezza il numero delle radici reali di P e si determinano tanti intervallini quante sono le radici di P. Si può così procedere al calcolo approssimato delle radici reali di P utilizzando i metodi visti per le equazioni non lineari.

Esempio 1 Sia Poichè P (x) = x 6 x 1. max 2 k n+1 a k a 1 = 1, applicando il Teorema di Cauchy, tutte le radici reali di P appartengono all intervallo [ 2, 2]. Poichè A = {1, 0, 0, 0, 0, 1, 1}, applicando la regola di Cartesio si ha ν = 1. Pertanto k deve essere necessariamente 1, cioè P ha una sola radice positiva. Infine, posto si ha Q(x) := P ( x) = x 6 + x 1, A = {1, 0, 0, 0, 0, 1, 1} e, applicando ancora la regola di Cartesio, otteniamo anche in questo caso ν = 1, cioè il numero delle radici negative di P è k = 1.

Possiamo concludere che P (x) = x 6 x 1 ha due radici reali e due coppie di radici complesse coniugate appartenenti alla circonferenza del piano complesso di centro 0 e raggio 2. In particolare: la radice positiva appartiene all intervallo [0, 2]; la radice negativa appartiene all intervallo [ 2, 0]. 70 60 50 40 30 20 10 0 10 2 1.5 1 0.5 0 0.5 1 1.5 2

Esempio 2 Sia Poichè P (x) = x 9 + 2x 8 3x 7 + x 6 + x 4 2x 2 + x 1. max 2 k n+1 a k a 1 = 3, applicando il Teorema di Cauchy, tutte le radici reali di P appartengono all intervallo [ 4, 4]. Poichè A = {1, 2, 3, 1, 0, 1, 0, 2, 1, 1}, applicando la regola di Cartesio si ha ν = 5. Pertanto k può 1,3 0 5, cioè P ha 1, 3 o 5 radici positive. Infine, posto Q(x) := P ( x) = x 9 + 2x 8 + 3x 7 + x 6 + x 4 2x 2 x 1, si ha A = { 1, 2, 3, 1, 0, 1, 0, 2, 1, 1} e, applicando ancora la regola di Cartesio, otteniamo ν = 2, cioè il numero delle radici negative di P è k = 2.

Possiamo concludere che tutte le radici di P (x) = x 9 + 2x 8 3x 7 + x 6 + x 4 2x 2 + x 1 appartengono alla circonferenza del piano complesso di centro 0 e raggio 4. In particolare, i seguenti casi sono possibili: P ha 2 radici negative appartenenti all intervallo [ 4, 0], 5 radici positive appartenenti all intervallo [0, 4] e una coppia di radici complesse coniugate; P ha 2 radici negative appartenenti all intervallo [ 4, 0], 3 radici positive appartenenti all intervallo [0, 4] e due coppie di radici complesse coniugate; P ha 2 radici negative appartenenti all intervallo [ 4, 0], 1 radice positiva appartenenti all intervallo [0, 4] e tre coppie di radici complesse coniugate.

3.5 x 105 3 2.5 2 1.5 1 0.5 0 0.5 1 4 3 2 1 0 1 2 3 4 Zoommando si può vedere che P ha 3 radici reali di cui: 1 radice negativa appartenente all intervallo [ 7 2, 3] ; 1 radice negativa appartenente all intervallo [ 1, 1 2] ; 1 radice positiva appartenente all intervallo [ 1 2, 3 2] ;

Esercizi 1. x 4 x 3 x 2 + x 1 = 0; 2. x 10 2x + 1 = 0; 3. 2x 4 + 3x 2 + x 1 = 0; 4. x 12 3 2 x11 + 1 2 x10 1 2 x4 2x 3 + x 1 = 0

I metodi di Bisezione e Newton per il calcolo approssimato delle radici di una equazione algebrica P (x) = 0, richiedono la valutazione del polinomio P e della sua derivata prima P nelle successive approssimazioni x 0, x 1,..., x n,... della radice x. Pertanto, descriviamo un algoritmo che consente di effettuare tali valutazioni in modo efficiente.

Algoritmo di Horner Consideriamo il polinomio di grado n a coefficienti reali P (x) = a 1 x n + a 2 x n 1 +... + a n x + a n+1. Vogliamo costruire l algoritmo più efficiente per valutare il polinomio P in un punto fissato x. L algoritmo più immediato è il seguente... sum=a n+1 ; for i=0:n-1 sum=sum+a n i x i+1 ; end... Poichè x i = x x x }{{} i 1 volte a n i x i+1 costa i + 1 operazioni e, quindi, il precedente algoritmo costa 1 + 2 + + i + + n = n(n + 1) 2 n2 2 operazioni.

Un immediato miglioramento in termini di costo computazionale si ottiene accumulando la potenza di x, cioè... sum=a n+1 ; prod=1; for i=0:n-1 prod=prod*x; sum=sum+a n i prod; end... Il precedente algoritmo esegue 2 operazioni moltiplicative ad ogni passo e quindi il costo computazionale complessivo è 2n. Vediamo ora che esiste un algoritmo, detto Algoritmo di Horner, che permette di valutare P in un punto x con un costo computazionale pari ad n.

Per semplificare la descrizione dell algoritmo, supponiamo che P sia un polinomio di grado 3: P (x) = a 1 x 3 + a 2 x 2 + a 3 x + a 4. Mettendo in evidenza la x otteniamo: P (x) = a 4 + x(a 3 + a 2 x + a 1 x 2 ); mettendo ancora in evidenza la x otteniamo Infine, ponendo si ha P (x) = a 4 + x(a 3 + x(a 2 + a 1 x)). b 1 := a 1 b 2 := b 1 x + a 2 b 3 := b 2 x + a 3 b 4 := b 3 x + a 4 P (x) = b 4

In generale, per valutare il polinomio P (x) = a 1 x n + a 2 x n 1 +... + a n x + a n+1 in un punto ξ, ponendo b 1 := a 1 b i = b i 1 ξ + a i, i = 2,..., n + 1, si ha P (ξ) = b n+1. L algoritmo è il seguente... sum=a 1 ; for i=2:n+1 sum=sum*x+a i ; end... Esso esegue 1 operazione moltiplicativa ad ogni passo e quindi il costo computazionale complessivo è n.

Vediamo ora che, contestualmente al calcolo di P (ξ) è possibile calcolare anche P (ξ). Si può dimostrare facilmente che P (x) = Q(x)(x ξ) + P (ξ), dove Q(x) = b 1 x n 1 + b 2 x n 2 +... + b n 1 x + b n. Ricordando la formula di Taylor P (x) = P (ξ) + P (ξ)(x ξ) + possiamo scrivere + + (x ξ)n n! P (n) (ξ), (x ξ)2 2! P (ξ) Q(x) = P (x) P (ξ) x ξ = P (ξ) + (x ξ) P (ξ) + + 2! (x ξ)n 1 n! P (n) (ξ)

Facendo il limite per x ξ otteniamo Q(ξ) = lim x ξ P (x) P (ξ) x ξ = P (ξ) Dunque per calcolare P (ξ) basta calcolare Q(ξ). Lo possiamo fare utilizzando ancora l algoritmo di Horner. Infatti, ricordando la definizione di Q(x) Q(x) = b 1 x n 1 + b 2 x n 2 +... + b n 1 x + b n, e ponendo si ha c 1 := b 1 c i = c i 1 ξ + b i, i = 2,..., n, P (ξ) = Q(ξ) = c n.

L algoritmo per calcolare P (ξ) e P (ξ) è dunque... p=a 1 ; dp=p; for i=2:n p=p*x+a i ; dp=dp*x+p; end p=p*x+a n+1 ;... Il suo costo computazionale complessivo è 2n.

Problema del calcolo simultaneo di tutti gli zeri di un polinomio Esistono diversi approcci: Un approccio potrebbe essere la cosiddetta deflazione : Si calcola una radice x 1 e quindi si costruisce il quoziente P 1 (x) = P (x) x x 1. P 1 ha tutte le radici di p tranne x 1. Si calcola allora la radice x 2 di P 1 e si costruisce il quoziente P 2 (x) = P 1(x) x x 2 e così via. Difetti: Anche ammesso di determinare un criterio per scegliere una particolare radice ad ogni passo (ad esempio quella di massimo modulo), la procedura funziona realisticamente per le prime due radici. Infatti, ad ogni passo, il metodo numerico utilizzato non calcola esattamente la radice x i ma una sua approssimazione x i e, quindi, anzichè P i si avrà P i. Ad ogni passo l errore di arrotondamento si accumula in modo inaccettabile fornendo risultati assolutamente fasulli.

Si può ridurre il calcolo degli zeri di P al calcolo degli autovalori di una particolare matrice detta matrice companion di P, che ha P come polinomio caratteristico. È quello che fa la function roots del Matlab. Difetti: Come segnalato anche nella documentazione della function roots, il metodo è in grado di calcolare con precisione di macchina gli autovalori della matrice companion ma ciò non implica che tali quantità corrispondono ad una soddisfacente approssimazione degli zeri di P. Ciò dipende dal fatto che i due problemi (calcolo degli autovalori e calcolo degli zeri) hanno un differente condizionamento.

Metodo dell Approssimazione simultanea Sia P (x) = a 1 x n + a 2 x n 1 +... + a n x + a n+1 e siano {x 1, x 2,..., x n } le n radici di P (complesse o reali). Ovviamente, P può essere scritto anche nella seguente forma P (x) = a 1 n i=1 (x x i ). Possiamo riscrivere la precedente espressione come segue P (x) = a 1 (x x k ) da cui si deduce l identità x k = x a 1 P (x) n i=1 i k (x x i ) n (x x i ) i=1 i k, k = 1, 2,..., n.

La precedente identità ci suggerisce di costruire il seguente procedimento iterativo x (j+1) k k ) = x (j) k P (x (j) a 1 n i=1 i k (x (j) k xj i ), k = 1, 2,..., n. Tale procedura necessita di n valori iniziali x (0) 1, x(0) 2,..., x(0) n La scelta di tali valori è arbitraria purchè si scelgano valori tutti distinti j = 0, 1, 2,... almeno uno dei valori sia scelto complesso, se è noto che il polinomio ammette radici complesse. Sotto tali ipotesi si dimostra che il metodo è convergente ed ha ordine 2 se tutte le radici sono distinte. Nel caso di radici multiple diventa di ordine 1.

Osservazione: In pratica costruiamo n formule iterative (ciascuna equivalente ad un metodo di Newton), ma, per calcolare la j + 1-esima approssimazione della radice x k utilizziamo le approssimazioni di tutte le radici al passo j.