metoda Bairstowa

W analizie numerycznej metoda Bairstowa jest skutecznym algorytmem znajdowania pierwiastków wielomianu rzeczywistego dowolnego stopnia. Algorytm pojawił się po raz pierwszy w dodatku do książki Applied Aerodynamics z 1920 roku autorstwa Leonarda Bairstowa . [ potrzebne źródło inne niż podstawowe ] Algorytm znajduje pierwiastki w zespolonych parach koniugatów, używając tylko arytmetyki rzeczywistej.

Zobacz algorytm wyszukiwania korzeni dla innych algorytmów.

Opis metody

Bairstow polega na użyciu Newtona do dostosowania współczynników u i v w kwadracie , rozwiązywanego wielomianu. Następnie można określić pierwiastki kwadratu, a wielomian można podzielić przez kwadrat, aby wyeliminować te pierwiastki. Proces ten jest następnie powtarzany, aż wielomian stanie się kwadratowy lub liniowy, a wszystkie pierwiastki zostaną określone.

Długie dzielenie wielomianu do rozwiązania

przez daje iloraz i reszta taka, że

Drugi podział przez przez jest wykonywany w celu uzyskania ilorazu + z

Zmienne { są funkcjami i . Można je znaleźć rekurencyjnie w następujący sposób.

Kwadrat równomiernie dzieli wielomian kiedy

Wartości i , dla których to występuje wartości początkowe i iterując metodę Newtona w dwóch wymiarach u {\

aż nastąpi zbieżność. Ta metoda znajdowania zer wielomianów może być zatem łatwo zaimplementowana za pomocą języka programowania, a nawet arkusza kalkulacyjnego.

Przykład

Zadanie polega na wyznaczeniu pary pierwiastków wielomianu

Jako pierwszy wielomian kwadratowy można wybrać wielomian znormalizowany utworzony z trzech wiodących współczynników f ( x ),

Następnie iteracja tworzy tabelę

Kroki iteracyjne metody Bairstowa
Nr u w długość kroku korzenie
0 1.833333333333 −5,500000000000 5.579008780071 −0,916666666667±2,517990821623
1 2.979026068546 −0,039896784438 2.048558558641 −1,489513034273±1,502845921479
2 3.635306053091 1.900693009946 1.799922838287 −1,817653026545±1,184554563945
3 3.064938039761 0,193530875538 1.256481376254 −1,532469019881±1,467968126819
4 3.461834191232 1.385679731101 0,428931413521 −1,730917095616±1,269013105052
5 3.326244386565 0,978742927192 0,022431883898 −1,663122193282±1,336874153612
6 3.333340909351 1.000022701147 0,000023931927 −1,666670454676±1,333329555414
7 3.333333333340 1.000000000020 0,000000000021 −1,666666666670±1,3333333333330
8 3.333333333333 1.0000000000000 0,0000000000000 −1,666666666667±1,3333333333333

Po ośmiu iteracjach metoda dała współczynnik kwadratowy, który zawiera pierwiastki -1/3 i -3 w ramach reprezentowanej precyzji. Długość kroku od czwartej iteracji pokazuje nadliniową prędkość konwergencji.

Wydajność

Algorytm Bairstowa dziedziczy lokalną zbieżność kwadratową metody Newtona, z wyjątkiem przypadków czynników kwadratowych o krotności większej niż 1, gdy zbieżność do tego czynnika jest liniowa. Szczególny rodzaj niestabilności obserwuje się, gdy wielomian ma nieparzysty stopień i tylko jeden pierwiastek rzeczywisty. Czynniki kwadratowe, które mają małą wartość przy tym pierwiastku rzeczywistym, mają tendencję do rozchodzenia się do nieskończoności.

Bairstow-fractal 1 0 0 0 0 m1 scale 03.png Bairstow-fractal 1 0 0 0 0 m1 0 scale 3.png Bairstow-fractal 6 11 m33 m33 11 6 scale 03.png

Obrazy przedstawiają pary . Punkty w górnej połowie płaszczyzny > 0 czynnikowi liniowemu z czyli . Punkty w dolnej połowie płaszczyzny t <0 odpowiadają czynnikom kwadratowym z x , więc ogólnie . Punkty są kolorowe zgodnie z końcowym punktem iteracji Bairstow, czarne punkty wskazują rozbieżne zachowanie.

Pierwszy obraz jest demonstracją pojedynczego rzeczywistego przypadku głównego. Drugi wskazuje, że można zaradzić rozbieżnemu zachowaniu, wprowadzając dodatkowy pierwiastek rzeczywisty, kosztem spowolnienia szybkości zbieżności. Można również w przypadku wielomianów nieparzystych stopni najpierw znaleźć pierwiastek rzeczywisty za pomocą metody Newtona i/lub metody zmniejszania przedziałów, tak aby po deflacji pozostał lepiej zachowujący się wielomian parzystych stopni. Trzeci obraz odpowiada powyższemu przykładowi.

Odniesienie

Linki zewnętrzne