134
3. Przybliżone rozwiązywanie równań nieliniowych i ich układów
jest wiele metod ułatwiających lokalizację jego pierwiastków oraz znajdowanie ich przybliżonych wartości. Metody te mają duże znaczenie praktyczne, istnieje bowiem bardzo wiele typowych problemów technicznych, w których jest niezbędne na przykład rozstrzygnięcie, czy wszystkie zera pewnego wielomianu położone są na płaszczyźnie Gaussa na lewo od osi urojonej, wewnątrz pewnego ograniczonego obszaru płaszczyzny Gaussa itp.
Zanim zajmiemy się omówieniem pewnych typowych metod znajdowania pierwiastków równania (3.23), podamy kilka twierdzeń oraz metod dotyczących liczby i rozmieszczenia zer wielomianu, i to zarówno rzeczywistych, jak i zespolonych. Szersze omówienie zasygnalizowanych tutaj zagadnień Czytelnik może znaleźć albo u Ralstona [50], albo u Turowicza [62], W większości rozważań będziemy przyjmować, że współczynniki a,(i = = 0, 1, ..., ń) wielomianu (3.23) są rzeczywiste.
3.2.1. Liczba pierwiastków rzeczywistych
Liczbę pierwiastków rzeczywistych w danym przedziale (a; b) możemy określić orientacyjnie przez naszkicowanie wykresu funkcji y = f(x). Pełną informację o liczbie pierwiastków rzeczywistych wielomianu (3.23) daje nam twierdzenie Sturma.
Dla danego wielomianu f{x) budujemy tzw. ciąg Sturma Mx),Mx),Mx),...,fp(x) (3.24)
w którym
/.(*) =/'(*)
fi(x) jest resztą z dzielenia f0(x) przez f(x) wziętą ze znakiem przeciwnym fi(x) jest resztą z dzielenia/,(x) przez f2{x) wziętą ze znakiem przeciwnym
Zakładamy, że fp+\{x) = 0, a fp(x) jest ostatnią resztą różną od zera, czyli jest największym wspólnym podzielnikiem dla wielomianu f0(x) i jego pochodnej fi(x). Jeżeli ten największy wspólny podzielnik jest liczbą rzeczywistą różną od zera, oznacza to, że wielomian/0(x) nie ma zer wielokrotnych, gdy natomiast jest to wielomian stopnia k, oznacza to, że jego miejsce zerowe jest (k + 1)--krotnym zerem wielomianu f0(x).
Oznaczamy przez N(x0) liczbę zmian znaku w ciągu (3.24), w punkcie x = x0, w którym opuszczamy zera.
Tw. (Sturma). Jeżeli ciąg (/Qc)), i = 0, 1, ..., p, jest ciągiem Sturma na przedziale (a; b) i (a)fQ (b) / o, to liczba różnych zer rzeczywistych wielomianu fa(x) leżących w tym przedziale jest równa N (a) — N(b).
3.2. Metody poszukiwania zer wielomianów
135
Uwaga. Jeżeli a jest skończone, to N(a) definiujemy jako N(a + e), gdzie e jest tak dobrane, aby żadna z funkcji ciągu (f (jc)) nie znikała na przedziale (a; a + e); podobnie definiujemy N(b), gdy b jest skończone. Jeżeli a = — oo, to N(a) definiujemy jako liczbę zmian znaku w ciągu ( lim ft(xj); podobnie postępujemy, gdy b = + oo.
x-+ — oo
Twierdzenie Sturma jest oczywiście prawdziwe dla przedziału <a; b>, gdy /o (a)fo (b) # 0, a także gdy a lub b jest zerem pojedynczym wielomianu; należy tylko wtedy określić N(x) jako liczbę zmian znaku w ciągu (f (jc)), i = 1, 2, p.
Podamy tutaj jeszcze pewną praktyczną uwagę. Przy wyznaczaniu kolejnych wyrazów ciągu Sturma otrzymujemy często ułamkowe współczynniki. Ponieważ istotne dla nas są jedynie znaki tych wielomianów, a nie ich wartość, możemy więc każdy z nich pomnożyć przez odpowiednią dodatnią liczbę, tak aby otrzymać wielomian o współczynnikach całkowitych.
Przykład 1. Zastosować twierdzenie Sturma do określenia liczby pierwiastków rzeczywistych wielomianu f(x) = x>-I-jc2 — x — 1.
Obliczamy wyrazy ciągu Sturma
fo(x) = X3 + X2 - x — 1 f(x) = 3xł + 2x — \ fi(x) = x + 1
Ponieważ/3 (jc) = 0, więc równanie ma pierwiastek podwójny x0 = — 1. Dzieląc f0 (x) przez x + 1 otrzymamy wielomian o pierwiastkach pojedynczych
/o W = X1 - 1 f\(x) = 2x Mx) = 1
W tablicy 3/6 podano znaki f,(x) dla kilku wybranych wartości x. Rozważany wielomian (po podzieleniu) ma 2 różne pierwiastki rzeczywiste dodatni i ujemny (x, = — 1, x2 = 1).
3/6
— oo |
+ 00 |
0 |
+ 1 |
-1 | |
fo |
+ |
+ |
- |
0 |
0 |
fi |
- |
+ |
0 |
+ |
- |
h |
+ |
+ |
+ |
+ |
+ |
N(x) |
2 |
0 |
1 |
0 |
1 |
Twierdzenie Sturma pozwala ściśle określić liczbę zer rzeczywistych w dowolnym zadanym przedziale, jednak wyznaczanie kolejnych wyrazów ciągu (3.24) wymaga niekiedy wykonania uciążliwych rachunków. Podamy teraz kilka metod znacznie prostszych w użyciu, lecz nie określających tak dokładnie liczby zer w danym przedziale.
Dla danego wielomianu /(jc) stopnia n tworzymy ciąg jego pochodnych
/(jc),/'(jc),/"(x),...,/<">(*) (3.25)