Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Not directly. You may try :

sage: S1=solve_ineq([(a-b*x^2)/(x-1)>0],[x]);S1
[[x < 1, b*x^2 - a > 0], [1 < x, -b*x^2 + a > 0]]

But there, you're on your own:

sage: solve_ineq([(S1[0][1]+a)/b],[x])
[[b > 0, b*x^2 - a > 0], [-b > 0, -b*x^2 + a > 0]]

Sage may help you playing with that :

sage: S2=(S1[0][1]+a)/b; S2
x^2 > a/b

but

sage: solve_ineq([S2],[x])
[[b > 0, b*x^2 - a > 0], [-b > 0, -b*x^2 + a > 0]]

is pretty unhelpful.

Note that "the competition" isn't very helpful, either :

sage: mathematica("Reduce[Element[a, Reals] && Element[b, Reals] && Element[x, Reals] && (a-b*x^2)/(x-1)>0 ,x]")
(b < 0 && ((a < b && (Inequality[-Sqrt[a/b], Less, x, Less, 1] || 
     x > Sqrt[a/b])) || (a == b && (Inequality[-Sqrt[a/b], Less, x, Less, 
      1] || x > 1)) || (Inequality[b, Less, a, LessEqual, 0] && 
    (Inequality[-Sqrt[a/b], Less, x, Less, Sqrt[a/b]] || x > 1)) || 
   (a > 0 && x > 1))) || (b == 0 && ((a < 0 && x < 1) || 
   (a > 0 && x > 1))) || (b > 0 && ((a < 0 && x < 1) || 
   (Inequality[0, LessEqual, a, Less, b] && (x < -Sqrt[a/b] || 
     Inequality[Sqrt[a/b], Less, x, Less, 1])) || 
   (a == b && x < -Sqrt[a/b]) || (a > b && (x < -Sqrt[a/b] || 
     Inequality[1, Less, x, Less, Sqrt[a/b]]))))

Current progress in sympy may someday get us more helpful answere, but we're not here yet.

Another possibility is to use one of the linear prograpping packages available in Sage, bu I do not know them well enough to point you in the right direction...

HTH,