Mètode de Newton-Raphson

From Potatopedia

Volem resoldre: [math]\displaystyle{ \bar{f}(\bar{x}) = 0 }[/math] on [math]\displaystyle{ f : \mathbb{R}^n \to \mathbb{R}^n }[/math].

[math]\displaystyle{ Jf(\bar{x}) := \frac{\partial \bar{f}}{\partial \bar{x}} = \left( \frac{\partial f_i}{\partial x_i} \right) }[/math]

Algoritme

  • Donada C.I.: [math]\displaystyle{ \bar{x}_0 }[/math]
  • [math]\displaystyle{ x^{k+1} = x^k + \Delta x^{k+1} }[/math]
    • [math]\displaystyle{ \Delta x^{k+1} = -J(x^k)^{-1} f(x^k) }[/math] (resolent sistema lineal)
  • Error relatiu: [math]\displaystyle{ e_r^k := \frac{|| \bar{x}^{k+1} - \bar{x}^k ||}{|| \bar{x}^k ||} }[/math]

Propietats

  • En zona de convergència (condicions a teoria) es compleix:
    • [math]\displaystyle{ || \bar{x}^{k+1} - \underset{\text{arrel}}{\bar{\alpha}} || \leq c \cdot || \bar{x}^k - \bar{\alpha} ||^2 }[/math]

Derivació numèrica

Per tal de no haver de calcular tota l'estona derivades, podem utilitzar derivació numèrica, el que ens aproximarà la derivada.

Sigui [math]\displaystyle{ \bar{\delta}_j = \begin{bmatrix} 0 \\ \vdots \\ 0 \\ \delta \\ 0 \\ \vdots \\ 0 \end{bmatrix} \; \text{per } \delta \gt 0 \text{ petit} }[/math]

  • Aproximació endavant: [math]\displaystyle{ J_{i, j} (\bar{x}^k) \approx \frac{f_i(\bar{x}^k + \delta_j) - f_i(\bar{x}^k)}{\delta} }[/math]

Mètode de Newton modificat

  • El mateix, però congelar la Jacobiana (tota l'estona usarem [math]\displaystyle{ J(x^0) }[/math])