Given a polynomial on the form:
$$0=x^{6}+k_1{1}x^{5}+k_2x^{4}+k_3x^{3}+k_4x^{2}+k_5x+k_6$$
Whats the best(read: fastest) numerical root finding algorithm ? And one which should include complex roots preferably. Assume a multiprocessor environment (for simplicity assume at least 4 processor cores) on the target machine.
Currently I have been using a companion matrix and finding eigenvalues (using the non-free intel mkl lib), but wondering if there could be better method ?
Update: Algorithm doesn't need to calculate complex if it makes any difference.
A standard algorithm is the Jenkins–Traub algorithm, which is fast and globally convergent.