I thought that I would try to put some tips down in writing here, over time. I'll start off with something very easy.

Some users may have noticed that there is a new, faster routine in Maple 11 for finding purely real roots of polynomials, see ?RootFinding,Isolate . This gets used by fsolve, when only the real roots of a univariate polynomial are requested. Such a request occurs when the 'complex' option to fsolve is not supplied. This new solver is much faster than what was used by default in Maple 10.
<!--break-->
But suppose that you wish to obtain the purely imaginary roots of a univariate polynomial with complex coefficients. The tip is that you do not have to rely on the older, slower code which attempts to find all (both real and complex) roots. Instead, a simple substitution allows one to leverage the new faster solver.

Suppose that p is a polynomial in x. The (floating-point, approximate) purely real roots of p may be computed as follows,

> fsolve(p,x);

The purely imaginary roots of p may be found more quickly in Maple 11 as follows,

> newp := eval(p,x=I*y);
> fsolve(newp,y);


I told you that I'd start off easy,
Dave Linder
Mathematical software, Maplesoft

Please Wait...