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...