Czy szukasz algorytmu do zwracania liczby całkowitej pierwiastka z danego wielomianu? Jeśli tak, to jest nierozstrzygalne, a pytanie jest tutaj nie na temat. Możesz o to zapytać w informatyce, która ma szerszy zakres.
Jak więc Sage to robi? Bycie nierozstrzygalnym - a nawet bycie znanym jako nierozstrzygalnym - nie czyni problemu teoretycznie nieciekawym. Informatycy teoretyczni cały czas rozwiązują nierozstrzygalne problemy - patrz na przykład cała weryfikacja wspomagana komputerowo.
W każdym razie dokumentacja Sage jasno wyjaśnia, w jaki sposób przeprowadzają wyszukiwanie roota: „Następną metodą, która jest używana, jeśli K jest domeną integralną, jest próba uwzględnienia wielomianu. Jeśli to się powiedzie, to dla każdego stopnia pierwszego współczynnik a * x + b, dodajemy -b / a jako pierwiastek (o ile ten iloraz faktycznie znajduje się w żądanym pierścieniu). ”
Zobacz http://www.sagemath.org/doc/reference/polynomial_rings/sage/rings/polynomial/polynomial_element.html .
Twoje pytanie brzmi: w jaki sposób efektywnie uwzględniają wielomiany ze współczynnikami całkowitymi? Najwyraźniej Sage dzwoni do NTL, aby to zrobić ( szczegółowe informacje na temat NTL można znaleźć na stronie http://www.shoup.net/ntl/doc/ZZXFactoring.txt ).
Dzięki za pomocną wskazówkę! Fascynujący. Czy możesz zechcieć edytować swoją odpowiedź, aby opracować sposób przekształcenia tego w algorytm i jaki jest jego czas działania? Czy najgorszy przypadek czasu działania ma charakter wykładniczy (ponieważ uwzględnienie czynnika może zająć czas podwykonawczy, a następnie może być wykładniczo wiele dzielników współczynnika wiodącego i końcowego)? Jeśli tak, to czy istnieją lepsze algorytmy, czy jest to najlepsze, co można zrobić? Ponadto, czy to podejście nie znajduje tylko racjonalnych korzeni, ale nie irracjonalnych korzeni?
Ponownie czytając pytanie i widząc, że interpretujesz je inaczej, nie jestem już całkowicie pewien, ale dla mnie i niektórych komentatorów wydawało się jasne, że pytanie dotyczy korzeni całkowitych. Nie czytasz tego w ten sposób?
@minar, masz rację. Teraz, gdy ponownie przeczytałem pytanie, wydaje się, że tak jest. Musiałem zbyt szybko przeczytać pytanie. (Początkowo błędnie zinterpretowałem pytanie jako sugerujące, że chcemy wszystkich pierwiastków wielomianu ze współczynnikami całkowitymi, ale po ponownym odczytaniu pytania wydaje się to błędną interpretacją.)
W przypadku asymptotycznie i praktycznie wydajnej metody najbardziej znanym algorytmem jest van Hoeij (patrz tutaj ). Właściwie wydaje się, że używa go NTL.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.