Je suppose que vous envisagez des polynômes avec des coefficients entiers .
Vous avez pris le mauvais point de départ pour vos enquêtes; votre objectif est de trouver de bonnes estimations pour les vraies racines. La recherche d'une formule algébrique pour que vous puissiez l'évaluer avec une précision suffisante est quelque chose que vous pouvez faire, mais ce n'est pas vraiment la bonne chose à faire ici. (sauf, bien sûr, "la k
-ème racine réelle d'un polynôme" est l'une de vos opérations algébriques)
Un bien meilleur point de départ est d'utiliser le théorème de Sturm pour isoler les racines du polynôme. Vous pouvez ensuite produire de meilleures estimations par recherche binaire, mais si c'est trop lent, vous pouvez utiliser la méthode de Newton pour produire rapidement des estimations de haute précision.
Mais il s'agit simplement de trouver des certificats. Il reste la question de savoir quels certificats peuvent exister.
Tout d'abord, je soulignerai que vous pouvez directement calculer si deux des racines sont exactement à unités l'une de l'autre, par exemple en calculant pgcd ( p ( x ) , p ( x - k ) ) . Vous devrez également décider ce que vous voulez faire au sujet des racines répétées et les traiter de manière appropriée. Je suppose que vous vous occuperez spécialement de ces cas.kgcd(p(x),p(x−k))
Si nous savons que les deux racines ne sont pas exactement à unités l'une de l'autre, cela signifie que vous pouvez produire une estimation d'une précision suffisante pour prouver qu'elles sont soit supérieures ou inférieures à k unités. Par exemple, il existe deux types de certificats:kk
Le premier type (preuve négative) est
- n'est pas une racine de pap
- n'a pas de racines dans ( a - k , a )p(a−k,a)
- a trois racines dans ( a , ∞ )p(a,∞)
Le deuxième type (preuve positive) est
- n'est pas une racine de pap
- a au moins deux racines dans ( a - k , a )p(a−k,a)
- a deux racines dans ( a , ∞ )p(a,∞)
Un certificat peut être vérifié en utilisant le théorème de Sturm. Maintenant, votre question sur la taille d'un certificat se résume à trouver le nombre de bits de précision dont vous avez besoin pour représenter .a
En d'autres termes, quelles sont les limites des valeurs possibles de , où a , b sont des racines de f ?a−b−ka,bf
Je ne suis pas sûr d'une excellente approche, mais celle qui devrait vous donner quelque chose est d'observer que toutes ces valeurs sont les racines du polynôme:
g(x)=Resy(f(y),f(x+y+k))
Pourquoi? Rappelons que la résultante de deux polynômes moniques est le produit de toutes les différences de leurs racines, donc
g( x ) = cré2∏a , b( b - ( a - x - k ) ) = ∏a , b( x - ( a - b - k ) )
où est le coefficient dominant et d est le degré de f . (j'ai peut-être écrit la formule de - g ( x ) au lieu de g ( x ) ; je ne suis jamais sûr du signe)créF- g( x )g( x )
La question est donc de trouver des estimations de la taille des coefficients , puis une fois que vous le savez, de trouver des estimations de la proximité d'une racine de g à zéro.gg
(ou, alternativement, trouver la plus grande ampleur qu'une racine du polynôme inverse de peut avoir; les racines du polynôme inverse sont les inverses des racines de g )gg