I'm probably missing something elementary here, but I guess the only way to be sure is to ask here.
Now, I have encountered a situation where given an nth-degree polynomial $p_n(z)$ with complex coefficients, and a positive real number $\rho$, I need to find the value(s) of $\theta$, $0\leq\theta<2\pi$, such that the value of $|p_n(\rho\exp(i\theta))|$ is minimized (i.e., find the lowest point of the absolute value of a complex polynomial around a radius $\rho$ circle). I know about the usual methods for univariate minimization (golden section, Brent's method, Newton"s method), but I am wondering if there may be special methods that can be used that are more efficient, given that the function to be minimized can be turned into a "trigonometric polynomial". Or would finding these minima be of the same level of difficulty as finding the roots of the polynomial itself?
Thus far, the only simplification I have been able to come up with is that if all the coefficients of $p_n(z)$ are real, I can restrict the search for the optimal $\theta$ in the interval $[0,\pi]$, since $p_n(\bar{z})=\overline{p_n(z)}$. A "grid search", using FFT to evaluate the polynomial at equispaced points around the circle was one idea I thought of, but it seemed wasteful of effort since I have been unable to find a way to reuse the effort done by FFT when the number of points around the circle is doubled.
In short: might there be an easier, more obvious way I am missing?
Addendum:
The application where I'm considering this procedure as a subroutine operates as follows:
- The complex polynomial and an initial estimate of $\rho$ are given.
- The minimization procedure finds the value of $\theta$ where the objective function is minimized; if there is more than one possible $\theta$, the value nearest to the positive real axis is taken (this is the rather ad hoc portion of the application I'm looking at).
The tentative $\theta$ is subjected to an "oracle" that
a. if a success flag is returned, the algorithm exits, else
b. a smaller value of $\rho$ is computed through another black-box procedure, and we return to step 2.
$p_n(z)$
is represented in the monomial basis ($p_n(z)=c_n z^n+c_{n-1}z^{n-1}+\ldots$
), but it would probably be better if the method can be made "basis-agnostic", e.g. if the polynomial is in fact represented as a Chebyshev series, so that one would not have to perform a basis conversion which can be ill-conditioned. $\endgroup$