Robert P.,
> Message-ID:
> <CAKFbC6287+OgQKdPkt9w1mYoG=
> 9jXgsDwu9h5hOBGfwKqWBA0A at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Another one is fourier_elim:
>
> (%i1) load(fourier_elim);
> (%o1)
>
> /usr/local/share/maxima/branch_5_30_base_98_g29f9239_dirty/share/fourier_elim/fourier_elim.lisp
>
> (%i4) fourier_elim([abs(x-1)/abs(x-5)<=1/3],[x]);
> (%o4) [x = - 1] or [x = 2] or [x = 1] or [1 < x, x < 2] or [- 1 < x, x < 1]
>
> Volker van Nek
>
>
>
This indeed turns out to be what solves the one you are looking for in Sage.
sage: B = abs((2*x-2)/(x-5)) <= 2/3
sage: sage.symbolic.relation.solve_ineq_fourier([B])
[[x == -1, -6 != 0, -6 != 0],
[x == -1, -6 != 0, -6 != 0, -6 != 0],
[x == -1, -6 != 0, -6 != 0],
[x == -1, -6 != 0, -6 != 0, -6 != 0],
[x == 2, -3 != 0, -3 != 0],
[x == 2, -3 != 0, -3 != 0, -3 != 0],
[x == 2, -3 != 0, -3 != 0],
[x == 2, -3 != 0, -3 != 0, -3 != 0],
[x == 1],
[1 < x, x < 2],
[-1 < x, x < 1]]
The message from solve_rat_ineq comes from the fact that we try it and it
raises an error. I believe this is more or less the thing that does the
job in %solve/to_poly_solve as well, which I think are both by the same
author (Barton, you did both of these, right?).
sage: B0 = B._maxima_()
sage: B0.to_poly_solve(x)
%union([-1<x,x<1],[1<x,x<2],[x=-1,-6#0,-6#0],[x=-1,-6#0,-6#0,-6#0],[x=1],[x=2,-3#0,-3#0],[x=2,-3#0,-3#0,-3#0])
I don't know whether it would be very easy to "clean up" these results
inside Maxima or not.