Menu

#2783 fourier_elim and "domain : complex"

None
closed
None
5
2021-06-11
2014-07-11
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

  • Rupert Swarbrick

    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.

     
  • Barton Willis

    Barton Willis - 2021-06-10

    A simple fix is to set domain to true at the top level of fourier_elim.

     
  • Barton Willis

    Barton Willis - 2021-06-11
    • status: open --> closed
     
  • Barton Willis

    Barton Willis - 2021-06-11

    This was fixed by Commit [a0e80d]

    (%i1) load(fourier_elim);
    (%o1)
        C:/Users/Barton/maxima-git/code/src/../share/fourier_elim/fourier_elim.lisp
    (%i2) block([domain : complex], fourier_elim((x-1)/(x-5) <= 1/3,[x]));
    (%o2)                    [x = - 1] or [- 1 < x, x < 5]
    (%i3) build_info();
    (%o3)
    Maxima version: "5.45post"
    Maxima build date: "2021-06-11 05:57:06"
    Host type: "unknown"
    Lisp implementation type: "SBCL"
    Lisp implementation version: "2.0.0"
    User dir: "C:/Users/Barton/maxima"
    Temp dir: "C:/Users/Barton/AppData/Local/Temp"
    Object dir: "C:/Users/Barton/maxima/binary/5_45post/sbcl/2_0_0"
    Frontend: false
    
     

    Related

    Commit: [a0e80d]


Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.