How do you find the zeros of #f(z) = z^4+2z^3-5z^2-7z+20# ?

1 Answer
Nov 3, 2016

Use a numerical method to find approximations to the zeros:

#x_(1,2) ~~ 1.49358+-0.773932i#

#x_(3,4) ~~ -2.49358+-0.921833i#

Explanation:

#f(z) = z^4+2z^3-5z^2-7z+20#

By the rational roots theorem, any rational zeros of #f(z)# are expressible in the form #p/q# for integers #p, q# with #p# a divisor of the constant term #20# and #q# a divisor of the coefficient #1# of the leading term.

That means that the only possible rational zeros are:

#+-1#, #+-2#, #+-4#, #+-5#, #+-10#, #+-20#

None of these works (in fact they all give positive values), so #f(z)# has no rational zeros.

This is a fairly typical quartic with two complex conjugate pairs of roots. It is possible to solve algebraically, but gets very messy.

The way I would approach it algebraically would be:

  • Use a Tschirnhaus transformation to derive a simplified quartic of the form: #t^4+pt^2+qt+r = 0#

  • Consider a factorisation of this simplified quartic of the form #(t^2-at+b)(t^2+at+c)#

  • Equate coefficients and use #(b+c)^2 = (b-c)^2+4bc# to get a cubic in #a^2#

  • If the resulting cubic has three Real irrational roots then use a #t = k cos theta# substitution to find the solutions in trigonometric form. Otherwise use Cardano's method to find the one Real zero.

  • Use the positive zero of the cubic as #a^2# and the positive square root of that as #a#.

  • Derive #b# and #c# to get two quadratics to solve.

  • Solve the quadratics using the quadratic formula.

As I say, this (usually) gets rather messy.

Alternatively we can use a numerical method such as Durand Kerner to find approximations to the zeros:

#x_(1,2) ~~ 1.49358+-0.773932i#

#x_(3,4) ~~ -2.49358+-0.921833i#

Here's the C++ program I used (implementing the Durand Kerner algorithm)...

enter image source here