# roots

Polynomial roots

## Syntax

## Description

`r = roots(`

returns the roots of the polynomial
represented by `p`

)`p`

as a column vector. Input `p`

is a vector containing `n+1`

polynomial coefficients, starting with
the coefficient of *x*^{n}. For example,
`p = [3 2 -2]`

represents the polynomial $$3{x}^{2}+2x-2$$. A coefficient of `0`

indicates an intermediate
power that is not present in the equation.

The `roots`

function solves polynomial equations
of the form $${p}_{1}{x}^{n}+\mathrm{...}+{p}_{n}x+{p}_{n+1}=0$$.
Polynomial equations contain a single variable with nonnegative exponents.

## Examples

## Input Arguments

## Tips

Use the

`poly`

function to obtain a polynomial from its roots:`p = poly(r)`

. The`poly`

function is the inverse of the`roots`

function.Use the

`fzero`

function to find the roots of nonlinear equations. While the`roots`

function works only with polynomials, the`fzero`

function is more broadly applicable to different types of equations.

## Algorithms

The `roots`

function considers `p`

to
be a vector with `n+1`

elements representing the `n`

th
degree characteristic polynomial of an `n`

-by-`n`

matrix, `A`

.
The roots of the polynomial are calculated by computing the eigenvalues
of the companion matrix, `A`

.

A = diag(ones(n-1,1),-1); A(1,:) = -p(2:n+1)./p(1); r = eig(A)

The results produced are the exact eigenvalues of a matrix within
roundoff error of the companion matrix, `A`

. However,
this does not mean that they are the exact roots of a polynomial whose
coefficients are within roundoff error of those in `p`

.

## Extended Capabilities

## Version History

**Introduced before R2006a**