-----maxima-bounces at math.utexas.edu wrote: -----
>Thanks for working on the Fourier elimination code.
>It's OK by me if you want to commit it on the release branch if you have
>not done so already, or, if you don't want to deal with cvs, someone else
>could do it too.
If somebody wants to put my FE code in the release branch, that's OK. I
don't know how to do this.
>Just a minor comment about the format of the result.
>Maybe we already had a discussion about this.
>
>> (%i17) fourier_elim(abs(x) + abs(x/2) + abs(x / 3) # 1,[x]);
>> (%o17) [x = 0] or [0 < x,x < 6/11] or [-6/11 < x,x < 0] or [6/11 < x]
>or
>> [x < -6/11]
>
>I guess I'd like to see the results represented in a more obvious way.
>Instead of lists of conditions [a, b] how about explicit conjunctions
>a and b ?
If a user wants "and" instead of a list, subst("and","[", [xxx]) will
do the conversion (yes, it's obscure). Maxima has many tools for
working with lists, so I think lists are not a terrible choice.
(%i7) fourier_elim([x+y < 1, x - y > 5],[x,y]);
(%o7) [y+5<x,x<1-y,y<-2]
(%i8) subst("and","[",%);
(%o8) y+5<x and x<1-y and y<-2
The FE code does work for "and" and "or" inputs, by the way
(%i9) fourier_elim(%,[x,y]);
(%o9) [y+5<x,x<1-y,y<-2]
>or stuff like foo < x and x < bar could be turned into interval objects,
>
>x = 0 or x in open_interval (0, 6/11) or ...
>
>Or maybe the result should be a set?
>
>{x = 0, x in open_interval (0, 6/11), x in open_interval (...), ...}
>
>Just some ideas. Thanks again for this contribution.
>
Yeah, we'd have to modify and extend many parts of Maxima to be able
to do anything useful with interval objects. It's a big project, I think.
Barton