Tôi giả sử bạn đang xem xét đa thức với các hệ số nguyên .
Bạn đã lấy điểm khởi đầu sai cho các cuộc điều tra của bạn; Mục tiêu của bạn là tìm ước tính tốt cho nguồn gốc thực sự. Tìm kiếm một công thức đại số để bạn có thể đánh giá nó đủ chính xác là điều bạn có thể làm, nhưng nó không thực sự là điều đúng đắn ở đây. (tất nhiên, trừ khi " k
gốc thực sự lớn nhất của đa thức" là một trong những phép toán đại số của bạn)
Điểm khởi đầu tốt hơn nhiều là sử dụng định lý Sturm để cô lập các gốc của đa thức. Sau đó, bạn có thể tạo ước tính tốt hơn bằng cách tìm kiếm nhị phân, nhưng nếu quá chậm, bạn có thể sử dụng phương pháp của Newton để nhanh chóng tạo ra các ước tính có độ chính xác cao.
Nhưng đó chỉ là về việc tìm kiếm chứng chỉ. Vẫn còn câu hỏi về những chứng chỉ có thể tồn tại.
Trước hết, tôi sẽ chỉ ra rằng bạn có thể tính trực tiếp xem hai gốc có cách nhau chính xác đơn vị hay không, ví dụ bằng cách tính . Bạn cũng sẽ phải quyết định những gì bạn muốn làm về gốc rễ lặp đi lặp lại và giải quyết một cách thích hợp. Tôi giả sử bạn sẽ đối phó với những trường hợp đặc biệt.kgcd(p(x),p(x−k))
Nếu chúng ta biết hai gốc không cách nhau chính xác đơn vị, điều đó có nghĩa là bạn có thể đưa ra ước tính về độ chính xác đủ để chứng minh rằng chúng lớn hơn hoặc nhỏ hơn đơn vị. ví dụ: có hai loại chứng chỉ:kk
Loại đầu tiên (bằng chứng trong phủ định) là
- a không phải là gốc củap
- p không có gốc trong(a−k,a)
- p có ba gốc trong(a,∞)
Loại thứ hai (bằng chứng tích cực) là
- a không phải là gốc củap
- p có ít nhất hai gốc trong(a−k,a)
- p có hai gốc trong(a,∞)
Một chứng chỉ có thể được xác minh bằng cách sử dụng định lý Sturm. Bây giờ, câu hỏi của bạn về kích thước của một chứng chỉ tập trung vào việc tìm kiếm bao nhiêu bit chính xác mà bạn cần để thể hiện .a
Nói cách khác, các giới hạn về các giá trị có thể có của , trong đó là gốc của ?a−b−ka,bf
Tôi không chắc chắn về một cách tiếp cận tuyệt vời, nhưng một cách nên cung cấp cho bạn một cái gì đó là quan sát rằng tất cả các giá trị này là gốc của đa thức:
g(x)=Resy(f(y),f(x+y+k))
Tại sao? Hãy nhớ lại rằng kết quả của hai đa thức monic là sản phẩm của tất cả các khác biệt về gốc rễ của chúng, vì vậy
g(x)=cd2∏a,b(b−(a−x−k))=∏a,b(x−(a−b−k))
Trong đó là hệ số dẫn đầu và là mức độ của . (có lẽ tôi đã viết công thức cho thay vì ; tôi không bao giờ chắc chắn về dấu hiệu này)cdf−g(x)g(x)
Vì vậy, câu hỏi là tìm các ước tính cho các hệ số có thể lớn đến mức nào , và sau đó khi bạn biết điều đó, hãy tìm các ước tính về mức độ gần của một gốc có thể bằng không.gg
(hoặc, thay vào đó, tìm độ lớn lớn nhất mà một gốc của đa thức ngược của có thể có; gốc của đa thức ngược là nghịch đảo của gốc )gg