3. Przybliżone rozwiązywanie równań nieliniowych i ich układów 154
a następnie na przyjęciu za przybliżenie rozwiązania a rozwiązania układu równań Ax + b = 0.
Niech AY oznacza macierz o kolumnach j(l) — y0*, _y(2) — _y(l), yB) — a AF— macierz o kolumnach .F(j><1)) — /’(y(0)), F(y(2)) — F(y(1)),
F(j(,!)) — ir(y',_l)). Z warunku (3.59) uzyskamy wówczas
AF = A- AY
Ponieważ rozwiązaniem układu równań Ax + b = 0 będzie punkt x = -Ab = -A~'(F{y) - Ay) = y - A~x F(y)
więc jedna z możliwych wersji metody siecznych może przebiegać następująco:
0. Wybieramy punkty x(~n\ x(_n+1), x(0) oraz przyjmujemy i = 0
1. Obliczamy macierze AF(i) oraz AY(i\ przyjmując
yo> = x(/-«o jO) = *('-»+», yw = xd) (3.60a)
2. Wyznaczamy punkty jc(i+1) w sposób następujący
X(.+ D = xm _ 4F<i>[^('>]-,/’(x(i>) (3.60b)
3. Przyjmujemy zamiast / numer i -l- 1 i wracamy do kroku 1 Wzory (3.60) określają tzw. (n + 1 )-punktowq metodę siecznych, gdyż do
wyznaczenia kolejnego punktu w ciągu jc(I), x(2>, ... jest potrzebne (n + 1) poprzednich punktów i wartości odwzorowania F w tych punktach. Aby można było posłużyć się wzorem (3.60b), macierz AFU) musi być nieosobliwa. W przeciwnym przypadku należy w inny sposób wyznaczyć punkty yu\j = 0, 1, ..., n, rezygnując z części punktów x(l~n), x(i\ W tych wybranych punktach y należy obliczyć wartość F(y); nastąpi zatem wzrost nakładu obliczeń w danej iteracji. W skrajnym przypadku macierze AY i A F obliczamy bez korzystania z poprzednio wyznaczonych punktów x(i~l), x(i~2),x(i~n); przyjmujemy wówczasy(n) = jr(,), a brakujące punkty ...,^(0) dobiera
my np. zgodnie ze wzorem
y(n-j) = XV) + he(j)' j = 1( 2> n (3.61)
gdzie h jest pewną ustaloną liczbą, a wektory eU) są wektorami przestrzeni R". Metoda siecznych sprowadza się wtedy do dyskretnej metody Newtona, w której pochodną F'(x(0) przybliżamy macierzą
f f’(x(,) + he(,)) — F(x(i)) F(x<0 + he(n)) — F(x('))~]
Należy podkreślić, że w niektórych przypadkach nie można w żaden sposób wybrać punktów y<0), y(,\ ..., y(n) tak, by macierz AF była nieosobliwa. Jeśli np. Fx = Bx + c, gdzie B jest pewną macierzą osobliwą, a c pewnym wektorem, to AF = B AK jest macierzą osobliwą, a zatem przy
dowolnym układzie punktów y nie można obliczyć *(i+1) ze wzoru (3.60b). Z tego względu stosowane w praktyce algorytmy metody siecznych są uzupełnione dodatkowymi warunkami, gwarantującymi niezawodność metody (patrz np. [30]).
Ćwiczenia
1. Odwzorowanie F: Rn~* R" ma postać
F{x) = \f\(x\, X2, ..., X,,), fl(xl, Xi, ..., X„), .... fn(xi, X2, ..., X„)]
Uzasadnić, że jeśli f,(xu x2.....x„) = x„, to przy dowolnych punktach ..., y(0)
ciąg punktów x(1), x<2), ... generowany metodą siecznych ma tę własność, że n-te składowe punktów x(,>, x(2), ... są równe zeru.
Uwaga, (n + l)-punktową metodą siecznych, określoną wzorami (3.60), można w tym przypadku obliczyć co najwyżej n punktów, gdyż dla dalszych punktów macierz AF ma zerowy ostatni wiersz, więc jest osobliwa.
2. Niech macierze AY i AF mają jako kolumny wektory y(l) — y<0), y'2’ — y0),
y<-)_y(-t> oraz F(yw)-F(ym), F(ym) - F(yw).....F(yw) - F(y(’-')), a macierze AY
i AF mają jako kolumny wektory y(1) -y|0), y(2) -y(0), ..., y<n) -_y.(0) oraz F(y(1)) - .F(y(0)),
F(yn>) — F(ym).....F(yw) — F(y(0)). Uzasadnić, że macierze AF i AF są równocześnie osobliwe
lub nieosobliwe oraz że w przypadku, gdy są nieosobliwe
AY(AF)-' = AY(AFy'
Uwaga. Powyższy wynik można uogólnić i wykazać, że porządek punktówy^y*"-y<0), za pomocą których obliczamy kolejny punkt x(,+ nie jest istotny.
3.5. POSZUKIWANIE MINIMÓW FUNKCJI JEDNEJ ZMIENNEJ
W wielu przypadkach zadanie znalezienia minimum funkcji /: /?'-*/?' można sprowadzić do rozwiązania równania f(x) = 0, gdzie f .R —^R oznacza pochodną funkcji /. Może się jednak zdarzyć, że wyznaczenie < pochodnej jest zbyt trudne lub funkcja / nie jest różniczkowalna. Jeżeli funkcja / jest dostatecznie regularna (np. można ją lokalnie przybliżyć wielomianami niskiego rzędu), to można posłużyć się metodami aproksymacyjnymi. Jeśli jednak nie znamy własności funkcji, bezpieczniejsze są tzw. metody podziału, które omówimy poniżej.
Załóżmy, że na przedziale ó> funkcja / ma minimum w punkcie a e <a; ó) i że na przedziale <a, a) funkcja jest malejąca, a na przedziale <a; ó) funkcja jest rosnąca. Taką funkcję przyjęto nazywać funkcją unimodalną.
Lemat. Aby zlokalizować punkt a w przedziale ;ó'> o mniejszej długości niż przedział <a; ó>, wystarczy obliczyć wartość funkcji w dwu punktach wewnątrz przedziału <a; bj.
DOWÓD. Wybierzmy dwa dowolne punkty t, i t2 takie, że a < t\ < t2 < b. Jeżeli f(t,) </(t2), to ae<a; t2). Jeżeli/(r,) >/(t2), to ae<r,; b).