Thuật toán nào chúng ta có thể sử dụng để tìm tất cả các số nguyên của một đa thức với các hệ số nguyên?
Tôi quan sát rằng Sage có thể tìm thấy rễ trong vài giây ngay cả khi tất cả các hệ số của là rất lớn. Làm thế nào nó có thể làm điều đó?
Thuật toán nào chúng ta có thể sử dụng để tìm tất cả các số nguyên của một đa thức với các hệ số nguyên?
Tôi quan sát rằng Sage có thể tìm thấy rễ trong vài giây ngay cả khi tất cả các hệ số của là rất lớn. Làm thế nào nó có thể làm điều đó?
Câu trả lời:
Trong mọi trường hợp, tài liệu Sage giải thích rõ ràng cách họ đang thực hiện tìm kiếm gốc: "Phương pháp tiếp theo, được sử dụng nếu K là một miền tích phân, là cố gắng tính hệ số đa thức. Nếu điều này thành công, thì với mọi mức độ yếu tố a * x + b, chúng tôi thêm -b / a làm gốc (miễn là thương số này thực sự nằm trong vòng mong muốn). " Xem http://www.sagemath.org/doc/reference/polynomial_rings/sage/rings/polynomial/polynomial_element.html .
Vì vậy, câu hỏi của bạn trở thành Làm thế nào để chúng có hiệu quả đa thức với các hệ số nguyên? Rõ ràng, Sage đang gọi NTL để làm điều đó (xem http://www.shoup.net/ntl/doc/ZZXFactoring.txt để biết chi tiết NTL).
Nếu bạn muốn một phương pháp hiệu quả không có triệu chứng, bạn có thể tham khảo phương pháp của Lenstra, Lenstra và Lovasz ( https://openaccess.leidenuniv.nl/handle/1887/3810 ).