|   | 1 |  initial version  | 
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)
To find a:
sage: a = max(max([x[0] for x in R_p]), max([x[0] for x in R_q]))
And finally, the roots you want:
sage: R = [x in R_r if x[0] > a]
|   | 2 |  No.2 Revision  | 
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(max([x[0] for x in R_p]), max([x[0] for x in R_q]))
R_p] + [x[0] for x in R_q])
And finally, the roots you want:
sage: R = [x in R_r if x[0] > a]
 Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.
 
                
                Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.