18.01.2015 Views

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

9. PROBLEMI NON LINEARI IN PIÙ VARIABILI<br />

Figura 9.2: Il vettore x (0) , visto come punto, la <strong>di</strong>rezione data da p e il vettore x (0) + p, visto come punto.<br />

si ottiene applicando la formula <strong>di</strong> Taylor <strong>di</strong> centro x (k) e secondo una <strong>di</strong>rezione p scelta in questo modo: se<br />

da x (k) volessimo arrivare in un solo passo alla soluzione esatta x ∗ , (dove vale f(x ∗ ) = 0), basterebbe scegliere<br />

come <strong>di</strong>rezione p la <strong>di</strong>fferenza tra x ∗ e x (k) : p = x ∗ − x (k) . In tal caso 0 = f(x ∗ ) = f(x (k) + p). Applicando la<br />

formula <strong>di</strong> Taylor, avremmo<br />

0 = f(x (k) + p) = f(x (k) ) + J(x (k) )p + termini <strong>di</strong> or<strong>di</strong>ne superiore<br />

Tuttavia, noi non conosciamo la soluzione esatta e quin<strong>di</strong> neanche sappiamo la <strong>di</strong>rezione p da considerare.<br />

Usiamo, però, la relazione precedente per definire una <strong>di</strong>rezione p (k) che ci permetta <strong>di</strong> costruire la nuova<br />

approssimazione x (k+1) . Trascurando i termini <strong>di</strong> or<strong>di</strong>ne superiore e richiedendo<br />

f(x (k) ) + J(x (k) )p (k) = 0<br />

possiamo trovare la <strong>di</strong>rezione p (k) in modo tale che la nuova approssimazione sia il vettore dato da x (k+1) =<br />

x (k) + p (k) .<br />

Il ragionamento che abbiamo fatto è stato molto simile a quello per il metodo <strong>di</strong> Newton-Raphson per<br />

funzioni scalari. Solo che ora stiamo lavorando con vettori e per trovare la nuova <strong>di</strong>rezione p (k) dobbiamo<br />

risolvere un sistema (questa volta lineare perchè i coefficienti della matrice J sono valutati in un vettore<br />

assegnato)<br />

J(x (k) )p (k) = −f(x (k) )<br />

Osserviamo subito che non è assicurato che la matrice Jacobiana sia sempre non singolare, per qualunque<br />

scelta <strong>di</strong> x (k) (e quin<strong>di</strong> non è detto che possiamo sempre risolvere il sistema precedente). Tuttavia, nelle ra<strong>di</strong>ci<br />

della funzione e in un intorno <strong>di</strong> esse, il determinante è <strong>di</strong>verso da zero: ciò assicura che possiamo utilizzare<br />

questo metodo localmente.<br />

L’algoritmo <strong>di</strong> Newton per trovare le ra<strong>di</strong>ci <strong>di</strong> sistemi non lineari <strong>di</strong>venta quin<strong>di</strong><br />

G Partire da un’approssimazione iniziale x (0)<br />

G Per k = 0,1,2,... fino a convergenza<br />

– Risolvere il sistema J(x (k) )p (k) = −f(x (k) )<br />

– Porre la nuova approssimazione x (k+1) = x (k) + p (k)<br />

134

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!