|
Ten artykuł należy dopracować: |
Procedura Broydena znajduje przybliżone wartości składowych rozwiązania układu n równań nieliniowych postaci
![{\displaystyle f_{k}(x_{1},x_{2},\dots ,x_{n})=0,\quad k=1,2,\dots ,n.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f070c98a89b0b901e27b35b9ad0c56cf34ab7364)
W algorytmie Broydena najpierw dla danego (z góry) początkowego przybliżenia rozwiązania
wyznacza się macierz
![{\displaystyle A_{0}^{-1}=[Df(x^{(0)})]^{-1},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/39a0b0fd352747e23156e575a2ac6f2324721025)
gdzie Df jest macierzą Jacobiego w postaci
![{\displaystyle Df(x)={\begin{bmatrix}{\frac {\partial f_{1}(x)}{\partial x_{1}}}&{\frac {\partial f_{1}(x)}{\partial x_{2}}}&\cdots &{\frac {\partial f_{1}(x)}{\partial x_{n}}}\\{\frac {\partial f_{2}(x)}{\partial x_{1}}}&{\frac {\partial f_{2}(x)}{\partial x_{2}}}&\cdots &{\frac {\partial f_{2}(x)}{\partial x_{n}}}\\\vdots &\vdots &\cdots &\vdots \\{\frac {\partial f_{n}(x)}{\partial x_{1}}}&{\frac {\partial f_{n}(x)}{\partial x_{2}}}&\cdots &{\frac {\partial f_{n}(x)}{\partial x_{n}}}\end{bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bf10c2d2b891d2a95f2d46344b98b13f1e02358f)
Następnie wyznacza się przybliżenie
na podstawie wzoru
![{\displaystyle x^{(1)}=x^{(0)}-A_{0}^{-1}f(x^{(0)}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0c12f51f822a4f43c3ef613cbb3e99f7ccf47ebb)
gdzie
Kolejne przybliżenia rozwiązania zadanego układu równań oblicza się z zależności
![{\displaystyle x^{(i+1)}=x^{(i)}-A_{i}^{-1}f(x^{(i)}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9f308b12781c3719269df627c04472cb610432e3)
przy czym macierz
wyznacza się na podstawie znajomości macierzy
i dwóch poprzednich przybliżeń rozwiązania
![{\displaystyle A_{i}^{-1}=A_{i-1}^{-1}+{\frac {(s_{i}-A_{i-1}^{-1}y_{i})s_{i}^{T}A_{i-1}^{-1}}{s_{i}^{T}A_{i-1}^{-1}y_{i}}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/aaa258d144cfa409c1f6d926a67f078b33055ea6)
gdzie:
![{\displaystyle s_{i}=x^{(i)}-x^{(i-1)}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f1ef78cfe6346e0806e40d96c022a447fac3e4b3)
Algorytm kończy się, gdy
![{\displaystyle \|A_{i}^{-1}f(x^{(i)})\|<t,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1e94872b157c59ee8e0cfb6d9a39ecab584910bf)
gdzie
oznacza normę euklidesową, a
– zadaną tolerancję błędu, lub gdy zostanie przekroczona maksymalna dozwolona liczba iteracji.
Można również skorzystać ze wzoru wykorzystującego iloczyn Kroneckera i iloczyn skalarny (
i
)[1].
- wybieramy wektor startowy
![{\displaystyle x_{(0)}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/423f64a3878dd65a094ce73e49d4d7d98851eb07)
– macierz Jacobiego
![{\displaystyle s^{(0)}=-A_{0}^{-1}f(x^{(0)})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/283e469c3a292d20ff45554cd1419c200be48d18)
![{\displaystyle x^{(1)}=x^{(0)}+s^{(0)}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2de1cc3cdb600e092357ef0d5de05eac93dae24e)
![{\displaystyle i=0}](https://wikimedia.org/api/rest_v1/media/math/render/svg/31a682d568ee6a5fe51d76423186057f625ada5c)
- powtarzaj aż
będzie miało wystarczająco małą normę:
![{\displaystyle t^{(i)}=A_{i}^{-1}f(x^{(i+1)})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8ab68779ca718d944b47fc41566ca78dd32d8609)
![{\displaystyle q_{i}=s^{(i)}\cdot (s^{(i)}+t^{(i)})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9070bb21576a4150be928aece34fc210f1e6ea94)
![{\displaystyle A_{i+1}^{-1}=A_{i}^{-1}-{\frac {1}{q_{i}}}(t^{(i)}\otimes s^{(i)})A_{i}^{-1}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/03579e074426de2a2ccbcd73b74d877a75b564e2)
![{\displaystyle i=i+1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/279a47682a8db5f9af368dacbeb251a4a094470e)
![{\displaystyle s^{(i)}=A_{i}^{-1}f(x^{(i)})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/42f566c1700ec47254121e8e96be1bc26d3b91d7)
![{\displaystyle x^{(i+1)}=x^{(i)}+s^{(i)}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1d107e7d0180a48807b60591bf6e23fb09caa527)