- publishing free software manuals
GNU Octave Manual Version 3
by John W. Eaton, David Bateman, Søren Hauberg
Paperback (6"x9"), 568 pages
ISBN 095461206X
RRP £24.95 ($39.95)

Get a printed copy>>>

26.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

ISBN 095461206XGNU Octave Manual Version 3See the print edition