#2783 fourier_elim and "domain : complex"

None
open
Barton Willis
None
5
2014-07-28
2014-07-11
Robert Pollak
No

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)

Discussion

  • 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.