polyroot                package:base                R Documentation

_F_i_n_d _Z_e_r_o_s _o_f _a _R_e_a_l _o_r _C_o_m_p_l_e_x _P_o_l_y_n_o_m_i_a_l

_D_e_s_c_r_i_p_t_i_o_n:

     Find zeros of a real or complex polynomial.

_U_s_a_g_e:

     polyroot(z)

_A_r_g_u_m_e_n_t_s:

       z: the vector of polynomial coefficients in increasing order.

_D_e_t_a_i_l_s:

     A polynomial of degree n - 1,

              p(x) = z1 + z2 * x + ... + z[n] * x^(n-1)

     is given by its coefficient vector 'z[1:n]'. 'polyroot' returns
     the n-1 complex zeros of p(x) using the Jenkins-Traub algorithm.

     If the coefficient vector 'z' has zeroes for the highest powers,
     these are discarded.

     There is no maximum degree, but numerical stability may be an
     issue for all but low-degree polynomials.

_V_a_l_u_e:

     A complex vector of length n - 1, where n is the position of the
     largest non-zero element of 'z'.

_R_e_f_e_r_e_n_c_e_s:

     Jenkins and Traub (1972) TOMS Algorithm 419. _Comm. ACM_, *15*,
     97-99.

_S_e_e _A_l_s_o:

     'uniroot' for numerical root finding of arbitrary functions;
     'complex' and the 'zero' example in the demos directory.

_E_x_a_m_p_l_e_s:

     polyroot(c(1, 2, 1))
     round(polyroot(choose(8, 0:8)), 11) # guess what!
     for (n1 in 1:4) print(polyroot(1:n1), digits = 4)
     polyroot(c(1, 2, 1, 0, 0)) # same as the first

