Wpis z mikrobloga

Mam algorytm, który liczy miejsca zerowe wielomianu, która łączy metodę regula falsi oraz schemat Hornera.
1. Liczę pochodne aż do otrzymania wielomianu stopnia 2.
2. Liczę pierwiastki tego wielomianu z delty i sortuję je.
3. Metodą regula falsi szukam pierwiastka wielomianu stopnia 3, dając jako przedział obliczone pierwiastki.
4. Metodą Hornera dzielę wielomian stopnia 3 przez dwumian ze znalezionym w punkcie 3 pierwiastkiem.
5. Mam ponownie wielomian stopnia 2, więc liczę pozostałe pierwiastki deltą i sortuję wszystkie.
6. Metodą regula falsi szukam pierwiastków wielomianu stopnia 4, dając jako przedziały kolejne pary pierwiastków.
dalej już się domyślacie pewnie, że lecę z tym do wejściowego wielomianu.

Problem jest wtedy jak jakiś wielomian ma pierwiastki zespolone. I tu moje pytanie: czy istnieje jakiś prosty sposób na obejście tego? Prosty, czyli najlepiej, żebym nie musiał zagłębiać się w liczenie zespolonych pierwiastków.
#programowanie
  • 6
@TenAnonToKlopoty: co do liczenia pierwiastków wielomianu możesz przejrzeć ten wykład - wszystko co trzeba wyjaśnione w miarę przystępny sposób. Co do regula falsi, to o ile pamiętam w założeniu tej metody jest (podobnie jak w bisekcji), że funkcja musi być ciągła oraz f(x1) * f(x2) < 0, więc jeśli masz choćby taki wielomian: f(x) = -x^2, to nie znajdzie Ci tego podwójnego pierwiastka w zerze. Chyba, że coś źle pamiętam,
@TenAnonToKlopoty: z jakiego twierdzenia korzystasz przy wyszukiwaniu pierwiastków pochodnymi? Twierdzenie Bezout tutaj nie pomoże? Szybciej możesz sprowadzić do postaci wielomianowej, a z tego już chyba prościej policzyć miejsca zerowe, jeśli uda się doprowadzić do postaci czynników max. 3-go stopnia (tw. Vieta)
@rm-_: Napisałem, że wielomiany 2 stopnia liczę za pomocą delty, nie metodami numerycznymi :P
Wykład chyba przeglądałem, ale on ma warunki, których ja nie chcę zakładać. Jakie? Potrzebuję znać przedział , gdzie na punktach granicznych wartość wejściowego wielomianu ma różne znaki. W moim algorytmie tego nie potrzebuję.
@kozunio12: "z jakiego twierdzenia korzystasz przy wyszukiwaniu pierwiastków pochodnymi?"
Jeżeli pochodna wielomianu ma rzeczywiste miejsca zerowe, to pomiędzy nimi może znajdować się rzeczywiste miejsce zerowe wejściowego wielomianu.
Jak widzisz jest tam "może" i "rzeczywiste". Jakby było "zespolone" to "może" by zniknęło ;) Tylko obliczanie zespolonych pierwiastków jest trochę trudniejsze i chyba sobie odpuszczę póki co.

Dalszej części twojej wypowiedzi niestety nie zrozumiałem. Co mogę sprowadzić do postaci wielomianowej?
@TenAnonToKlopoty: wielomian sprowadzić do postaci iloczynowej*. Poza tym możesz iteracyjnie przy pomocy twierdzenia o pierwiastkach wymiernych. Co do wzorów Vieta, to masz relacje pomiędzy pierwiastkami danego wielomianu i wtedy możesz przeszukać wszystkie kombinacje rozwiązań.
@kozunio12: Moje pierwiastki jak najbardziej nie muszą być wymierne. Sprawdzanie dla tych, dla których one istnieją i wyznaczanie ich i tak nie załatwi tego, że nie będę potrafił niektórych wielomianów obliczyć.