See the following commands:
(%i1) load(fourier_elim);
(%i2) fourier_elim((x-1)/(x-5) <= 1/3,[x]);
(%o2) [x=-1] or [-1<x,x<5]
(%i3) domain : complex;
(%i4) fourier_elim((x-1)/(x-5) <= 1/3,[x]);
(%o4) [x=-1,-6#0] or [-1<x,x<5]
In the complex case, should fourier_elim compute this interval solution or should it give some kind of error when dealing with inequalities?
Also, the inequality "-6#0" is redundant and should not be generated.
(Context: https://groups.google.com/forum/#!topic/sage-devel/QLEFLgkuXRg)
My thoughts:
Setting domain to complex doesn't affect all the calculations that Maxima does (that's an empirical fact, not something about which I have strong opinions either way).
Fourier elimination doesn't really make sense with complex numbers. Indeed, you write (x-1)/(x-5) <= 1/3. What does that mean if x is not real?
There aren't any functions (I don't think) that call fourier_elim "behind the scenes". So I don't think the user should be surprised if, after he or she types "fourier_elim" and some inequalities, Maxima does Fourier elimination based on those inequalities.
A simple fix is to set domain to true at the top level of fourier_elim.
This was fixed by Commit [a0e80d]
Related
Commit: [a0e80d]