# About finding roots of polynomials in specific domains

I have two polynomials $p(x)$ and $q(x)$ and I want to know if there are roots of the equation $\frac{p'}{p} = \frac{q'}{q}$ in the domain $(a,\infty)$ , where $a = max { roots(p), roots(q) }$

This is the same as asking for the roots of the polynomial, $p'q - pq' = 0$ in the same domain.

• Can something in Sage help?
edit retag close merge delete

Sort by » oldest newest most voted

I would do as follows:

sage: r = p.derivative()*q - q*p.derivative()
sage: R_r = r.roots(RR)


This gives you the real roots of r in the variable R_r. Now to filter the roots that make sense to you, you need to compute the roots of p and q:

sage: R_p = p.roots(RR)
sage: R_q = q.roots(RR)


In R_p and R_q, you have the real roots of p and q, given as pairs with the root and the multiplicity. To find a:

sage: a = max([x for x in R_p] + [x for x in R_q])


And finally, the roots you want:

sage: R = [x in R_r if x > a]

more

If you just wrote "p.roots()" would it give all the roots? (and not just the reals)

And what would be a command to check if R turned out to be empty? I need some kind of an error catching for that.

If I am reading the code correctly and R is a list, then you could try len(R) == 0 . If I misunderstood, then nevermind.

Alternatively

def are_there_roots(p, q):
return False

more

What if, for example, $p=q\neq 0$ or if $p'$ and $q'$ have a common root that is larger than $a$ ?

I think it's hard for $p'$ and $q'$ to have a common root larger that the largest root of $p$ and $q$... I am impressed by how exact yet uninformative this answer is!

@b-r-u-n-o wrote:

I think it's hard f=or p′ and q′ to have a common root larger that the largest root of p and q...

What about, say, $p=q=x^3+8$ whose single real root is -2, but whose derivative have root 0 ?