Documentation

# `numeric`::`polyrootbound`

Bound for the roots of a univariate polynomial

MuPAD® notebooks will be removed in a future release. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.

## Syntax

```numeric::polyrootbound(`p`)
```

## Description

`numeric::polyrootbound(p)` returns a bound b, such that all real and complex roots z of the univariate polynomial p satisfy |z| ≤ b.

The coefficients of `p` may be real or complex numbers. Also exact numerical coefficients such as π, etc. are accepted if they can be converted to floats.

For non-zero constant polynomials, `numeric::polyrootbound` returns `infinity`.

For monomials p(x) = cnxn with n > 0, `numeric::polyrootbound` returns `0.0`.

Consider the polynomial p(z) = zn + cn - 1zn - 1 + ··· + c0. If max(|cn - 1|, …, |c0|) > 0, the polynomial

has a single real root b > 0 which is an upper bound for the absolute values of all real and complex roots of p. The bound returned by `numeric::polyrootbound(p)` approximates b to about 3 leading decimal digits.

## Environment Interactions

The function is sensitive to the environment variable `DIGITS`, which determines the numerical working precision.

## Examples

### Example 1

Both polynomial expressions as well as `DOM_POLY` objects may be used to specify the polynomial:

`p := x^3 + PI*x - sqrt(2): numeric::polyrootbound(p)`

`p := poly(p, [x]): numeric::polyrootbound(p)`

The absolute values of all real and complex roots of p are bounded by this number:

`numeric::polyroots(p)`

`max(abs(z) \$ z in %)`

`delete p:`

## Parameters

 `p` A univariate polynomial expression or a univariate polynomial of domain type `DOM_POLY`.

## Return Values

Nonnegative real floating-point number or `infinity`.

#### Mathematical Modeling with Symbolic Math Toolbox

Get examples and videos