How do you find the zeros of #f(z) = z^4+2z^3-5z^2-7z+20# ?
1 Answer
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
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
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)...