  This work is a continuation of "Fast and backward stable computation of roots
of polynomials" by J.L. Aurentz, T. Mach, R. Vandebril, and D.S. Watkins, SIAM
Journal on Matrix Analysis and Applications, 36(3): 942--973, 2015. In that
paper we introduced a companion QR algorithm that finds the roots of a
polynomial by computing the eigenvalues of the companion matrix in $O(n^{2})$
time using $O(n)$ memory. We proved that the method is backward stable. Here we
introduce, as an alternative, a companion QZ algorithm that solves a
generalized eigenvalue problem for a companion pencil. More importantly, we
provide an improved backward error analysis that takes advantage of the special
structure of the problem. The improvement is also due, in part, to an
improvement in the accuracy (in both theory and practice) of the turnover
operation, which is the key component of our algorithms.
  We prove that for the companion QR algorithm, the backward error on the
polynomial coefficients varies linearly with the norm of the polynomial's
vector of coefficients. Thus the companion QR algorithm has a smaller backward
error than the unstructured QR algorithm (used by MATLAB's \texttt{roots}
command, for example), for which the backward error on the polynomial
coefficients grows quadratically with the norm of the coefficient vector. The
companion QZ algorithm has the same favorable backward error as companion QR,
provided that the polynomial coefficients are properly scaled.
