How do you find all the real and complex roots of #x^4 – 13x^3 + x^2 – 5 = 0#?
1 Answer
Use a numerical method to find approximate roots:
#x_1 ~~ 12.9249#
#x_2 ~~ 0.383152 + 0.64252i#
#x_3 ~~ 0.383152 - 0.64252i#
#x_4 ~~ -0.691249#
Explanation:
#f(x) = x^4-13x^3+x^2-5#
By the rational root theorem, any rational zeros of
So the only possible zeros are:
#+-1# ,#+-5#
None of these work, so
It is possible to solve algebraically, but the solution is horribly messy.
Instead, find approximations to the zeros using a numerical method known as the Durand-Kerner method.
Suppose the
Choose initial approximations:
#p_0 = (0.4+0.9i)^0#
#q_0 = (0.4+0.9i)^1#
#r_0 = (0.4+0.9i)^2#
#s_0 = (0.4+0.9i)^3#
Then iterate using the formulas:
#p_(i+1) = p_i-f(p_i)/((p_i-q_i)(p_i-r_i)(p_i-s_i))#
#q_(i+1) = q_i-f(q_i)/((q_i-p_(i+1))(q_i-r_i)(q_i-s_i))#
#r_(i+1) = r_i-f(r_i)/((r_i-p_(i+1))(r_i-q_(i+1))(r_i-s_i))#
#s_(i+1) = s_i-f(s_i)/((s_i-p_(i+1))(s_i-q_(i+1))(s_i-r_(i+1))#
Using this method and iterating a few times, we find approximations:
#x_1 ~~ 12.9249#
#x_2 ~~ 0.383152 + 0.64252i#
#x_3 ~~ 0.383152 - 0.64252i#
#x_4 ~~ -0.691249#
Here's a C++ program that I used...