### 27.2 Finding Roots

Octave can find the roots of a given polynomial. This is done by computing the companion matrix of the polynomial (see the `compan` function for a definition), and then finding its eigenvalues.

— Function File: roots (v)

> For a vector v with N components, return the roots of the polynomial

>               v(1) * z^(N-1) + ... + v(N-1) * z + v(N)

> As an example, the following code finds the roots of the quadratic polynomial

>               p(x) = x^2 - 5.

>               c = [1, 0, -5];
>               roots(c)
>               =>  2.2361
>               => -2.2361

> Note that the true result is +/- sqrt(5) which is roughly +/- 2.2361.

> See also: compan.

— Function File: compan (c)

> Compute the companion matrix corresponding to polynomial coefficient vector c.

> The companion matrix is

>                    _                                                        _
>                   |  -c(2)/c(1)   -c(3)/c(1)  ...  -c(N)/c(1)  -c(N+1)/c(1)  |
>                   |       1            0      ...       0             0      |
>                   |       0            1      ...       0             0      |
>               A = |       .            .   .            .             .      |
>                   |       .            .       .        .             .      |
>                   |       .            .           .    .             .      |
>                   |_      0            0      ...       1             0     _|

> The eigenvalues of the companion matrix are equal to the roots of the polynomial.

> See also: poly, roots, residue, conv, deconv, polyval, polyderiv, polyinteg.