Finding the jacobian of polynomial roots as a function of coefficients.

jacobianpolynomialsroots

I am doing some operations with polynomial roots. For a fixed polynomial degree $n$ we can think of the roots of $x^n + c_{n-1}x^{n-1} + … + c_1 x + c_0$ as being a function of the coefficient vector $[c_{n-1}, …, c_1, c_0]^T$ in some neighborhood of a fixed coefficient vector that gives distinct roots. This function takes in a coefficient vector and outputs a root vector of the distinct roots in some order, say lexicographic order (sort first by the real component then the imaginary one). Since the roots $x_k$ $0 \leq k \leq n-1$ obey the equation:

$$x_k^n + c_{n-1}x_k^{n-1} + … + c_1 x_k + c_0 = 0$$

We use implicit differentiation to find the derivative of the inputs (the coefficients $c_i$) with respect to the outputs ($x_k$):

$$nx_k^{n-1} + \sum_{i=0}^{n-1} \left(\frac{\partial c_i}{\partial x_k} x_k^i + ic_ix_k^{i-1} \right) = 0$$

This gives a system of $n$ equations (one for each root $x_k$), but with $n^2$ unknowns (the various $\frac{\partial c_i}{\partial x_k}$).

What am I missing here? How can I compute the Jacobian of the function that obtains polynomial roots?

Best Answer

You have $n$ equations: $$ x_1^n +c_{n-1}x_1^{n-1} + \ldots + c_1 x_1 + c_0 = 0 \\ \vdots \\ x_n^n +c_{n-1}x_n^{n-1} + \ldots + c_1 x_n + c_0 = 0 $$ and $n$ variables. You must use each of those equations and differentiate it with respect to each of the variables. Then you will have $n^2$ resulting equations in total.

Related Question