Exact bounds for complex roots of a polynomial : complexroot

### 5.32.1 Exact bounds for complex roots of a polynomial : complexroot

complexroot takes 2 or 4 arguments : a polynomial and a real number є and optionally two complex numbers α,β.
complexroot returns a list of vectors.

- If complexroot has 2 arguments, the elements of each vector are
  - either an interval (the boundaries of this interval are the opposite vertices of a rectangle with sides parallel to the axis and containing a complex root of the polynomial) and the multiplicity of this root.
    Let the interval be [a1+ib1,a2+ib2] then |a1−a2|<є, |b1−b2|<є and the root a+ib verifies a1≤ a ≤ a2 and b1≤ b ≤ b2.
  - or the value of an exact complex root of the polynomial and the multiplicity of this root
- If complexroot has 4 arguments, complexroot returns a list of vectors as above, but only for the roots lying in the rectangle with sides parallel to the axis having α,β as opposite vertices.

To find the roots of x3+1, input:

complexroot(x`^`3+1,0.1)

Output :

[[-1,1],[[(4-7*i)/8,(8-13*i)/16],1],[[(8+13*i)/16,(4+7*i)/8],1]]

Hence, for x3+1 :

- -1 is a root of multiplicity 1,
- 1/2+i*b is a root of multiplicity 1 with −7/8≤ b ≤ −13/16,
- 1/2+i*c is a root of multiplicity 1 with 13/16≤ c ≤ 7/8.

To find the roots of x3+1 lying inside the rectangle of opposite vertices −1,1+2*i, input:

complexroot(x`^`3+1,0.1,-1,1+2*i)

Output :

[[-1,1],[[(8+13*i)/16,(4+7*i)/8],1]]