Is there any necessary and sufficient condition for a complex polynomial to have a real root?


A complex polynomial has a real root if and only if...?



Real roots for polynomials
Yes. If your polynomial is not yet real, replace $P$ by $P\bar P$ ($\bar P$ has complex conjugated coefficients). Therefore we may suppose that $P\in{\mathbb R}[X]$.Using the Euclid algorithm, you may find the g.c.d of $P$ and $P'$. Dividing $P$ by this g.c.d, your are left with the case where $P$ is real and has simple roots.


Now, you use te Euclid algorithm : $P\_0=P$, $P\_1=P'$ and $P\_{k-1}=Q\_kP\_k-P\_{k+1}$. The sequence $(P\_k)\_k$ ends with a constant polynomial. Take $a>0$ large enough that $P$ may not have a root in $[a,+\infty)$. Let $V(a)$ be the number of sign changes in the sequence $(P\_k(a))\_k$. Likewise, take $b<0$ such that $P$ has no root in $(-\infty,b)$ and compute $V(b)$. 


Theorem : the number of real roots of $P$ equals $V(b)-V(a)$.


