Dzisiaj jest 19 stycznia 2025 r.
Chcę dodać własny artykuł

Metoda Broydena

Zastosowanie

Procedura Broydena służy do przybliżonego rozwiązania układów n równań nieliniowych postaci:

f_k(x_1,x_2,dots,x_n) = 0, quad k = 1,2, dots, n.

Opis metody

Algorytm Broydena zaczyna się od przyjęcia początkowego przybliżenia rozwiązania x^{(0)} = (x_1^{(0)}, x_2^{(0)},dots, x_n^{(0)})^T. Następnie wyznacza się macierz Jacobiego:

A_0^{-1} = [Df(x^{(0)})]^{-1},

gdzie Df(x) jest macierzą Jacobiego składającą się z pochodnych funkcji f_k.

Kolejne kroki obliczania przybliżeń są następujące:

  • Oblicz x^{(1)} = x^{(0)} – A_0^{-1}f(x^{(0)}).
  • Wyznaczaj kolejne przybliżenia z zależności x^{(i+1)} = x^{(i)} – A_i^{-1}f(x^{(i)}).
  • Macierz A_i^{-1} oblicza się z wzoru:
  • A_i^{-1} = A_{i-1}^{-1} + frac{(s_i – A_{i-1}^{-1}y_i)s_i^TA_{i-1}^{-1}}{s_i^TA_{i-1}^{-1}y_i},

  • gdzie y_i = f(x^{(i)}) – f(x^{(i-1)}) oraz s_i = x^{(i)} – x^{(i-1)}.

Algorytm kończy się, gdy spełniony jest warunek:

|A_i^{-1}f(x^{(i)})| < t,

gdzie t to zadana tolerancja błędu lub gdy osiągnięta zostanie maksymalna liczba iteracji.

Metoda alternatywna

Alternatywna wersja metody korzysta z iloczynu Kroneckera i iloczynu skalarnego:

  • Wybierz wektor startowy x_{(0)}.
  • Oblicz macierz Jacobiego A_0 = Df(x^{(0)}).
  • Wyznacz s^{(0)} = -A_0^{-1} f(x^{(0)}).
  • Oblicz pierwsze przybliżenie: x^{(1)} = x^{(0)} + s^{(0)}.

Powtarzaj kroki, aż s^{(i)} będzie miało wystarczająco małą normę:

  • t^{(i)} = A_i^{-1} f(x^{(i+1)}).
  • q_i = s^{(i)} cdot (s^{(i)} + t^{(i)}).
  • A_{i+1}^{-1} = A_i^{-1} – frac{1}{q_i}(t^{(i)} otimes s^{(i)})A_i^{-1}.
  • Zwiększ i o 1 i oblicz s^{(i)} = A_i^{-1} f(x^{(i)}) oraz x^{(i+1)} = x^{(i)} + s^{(i)}.

Przypisy

Kategoria: Algebra liniowa