整数係数の多項式を検討していると思います。
調査の出発点が間違っています。あなたの目標は、実際のルートの適切な推定値を見つけることです。あなたがそれを十分な精度で評価できるように代数式を探すことはあなたにできることですが、それはここで本当に正しいことではありません。(もちろん、「k
多項式の-番目に大きい実根」が代数演算の1つでない限り)
より良い出発点は、Sturmの定理を使用して多項式の根を分離することです。その後、バイナリ検索でより良い推定値を生成できますが、それが遅すぎる場合は、Newtonの方法を使用して高精度の推定値をすばやく生成できます。
しかし、それは証明書を見つけることです。どんな証明書が存在できるのかという疑問がまだあります。
最初に、たとえば計算することにより、2つのルートが正確に 単位離れているかどうかを直接計算できることを指摘します。また、繰り返されるルートについて何をしたいかを決定し、適切に対処する必要があります。これらのケースに特別に対処すると思います。kgcd(p(x),p(x−k))
2つの根が正確に単位離れていないことがわかっている場合、単位より大きいまたは小さいことを証明するのに十分な精度の推定値を生成できることを意味します。たとえば、2種類の証明書があります。kk
最初の種類(否定の証明)は
- aは根ではないp
- pは根がない(a−k,a)
- pは 3つのルートがあります(a,∞)
2番目の種類(正の証明)は
- aは根ではないp
- pは少なくとも2つの根がある(a−k,a)
- pは 2つのルートがあります(a,∞)
証明書は、Sturmの定理を使用して検証できます。さて、証明書のサイズに関するご質問は、精度の多くのビットは、あなたが表現するために必要な方法を見つけることに帰着します。a
言い換えれば、可能な値の範囲何、の根である?a−b−ka,bf
私は素晴らしいアプローチを確信していませんが、あなたに何かを与えるべきことは、これらの値のすべてが多項式の根であることを観察することです:
g(x)=Resy(f(y),f(x+y+k))
どうして?2つのmonic多項式の結果は、それらの根のすべての差の積であることを思い出してください。
g(x)=cd2∏a,b(b−(a−x−k))=∏a,b(x−(a−b−k))
ここで、は先行係数、はの次数です。(たぶん、代わりに式を書いたかもしれません。cdf−g(x)g(x)
したがって、問題は係数大きさの推定値を見つけ、それを知ったら、根がゼロにどれだけ近くなるかの推定値を見つけることです。gg
(または、代わりに、の逆多項式の根が持つことができる最大の大きさを見つけます。逆多項式の根はの根の逆数です)gg