0
$\begingroup$

Is there a way to test if a high-order polynomials has any roots within a radius r of a specified point?

I need this so that I can find all the complex roots of the following system for arbitrary integers {m,n}.

$$z_0 \equiv c$$ $$z_n \equiv z_{n-1}^2 + c $$ $$z_m - z_n = 0$$ $$|c-i|<r$$

I can generate a large polynomial like $z_{20}-z_8$, calculate a root near i, divide it out of the polynomial, repeat... But then I need to know when there are no more roots in that radius so I can stop looking. Does such a test exist? Efficient root-finding is important because the polynomial orders scale as $2^n$.

As a side note, these points are called Misiurewicz points

$\endgroup$
0
$\begingroup$

One easily proven result: If we put $P(z)=P(z_0)+\sum_{j=1}^n A_j(z-z_0)^j,$ with $A_n=1,$ then $$P(z)=0\implies |z-z_0|<1+M$$ where $M=\max (\{|P(z_0)|\}\cup \{|A_j| :1\leq j<n\})......$ For example if $P(z)=A+B z+C z^2 + D z^3 +z^4$ with $M=\max (A,B,C,D),$ if $|z|\geq 1+M$ then $P(z)\geq |z|^4-M(1+|z|+|z|^2+|z|^3)=$ $=|z|^4-M(|z|^4-1)/(|z|-1)=(|z|^4(|z|-1-M)+M)/(|z|-1)>0.$ When using this, a change of scale, $z=k x$ with constant $k,$ is sometimes helpful.

$\endgroup$
  • $\begingroup$ But that still leaves me needing to find all the roots to be sure I got all the ones in the range--or it leaves me doing a calculation that's equally expensive. $\endgroup$ – Jerry Guern Jan 25 '16 at 3:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.