fourier_elim does not always return empty set as emptyset
Subject: fourier_elim does not always return empty set as emptyset
From: Barton Willis
Date: Wed, 6 Mar 2013 18:26:22 +0000
Fourier elimination is only defined on sets of linear inequations. But Maxima's Fourier code has a preprocessor that is able to convert some
nonlinear inequations to linear inequations (it doesn't try all that hard). The pre-processor is unable to convert [x^2 < y , x^2 > y] to
a linear form--in this case it simply returns the inequations unchanged. If you view Fourier elimination as a simplification, this behavior is consistent
with other Maxima simplification functions--when no simplification is found, the input is returned. Programatically, this means that a calling
function may need to check if Fourier elimination returns a triangularized systems of inequations--and that's not all that convenient.
If your code calls Fourier elimination inside some code, I would suggest that it checks that the inputs are all linear inequations. If the inputs aren't
linear, it's unlikely that Fouier elimination will return a triangularized systems of inequations.
--Barton (author of fourier_elimination)
________________________________
From: maxima-bounces at math.utexas.edu [maxima-bounces at math.utexas.edu] on behalf of Cary Cherng [ccherng at gmail.com]
Sent: Tuesday, March 05, 2013 19:19
To: maxima at math.utexas.edu
Subject: fourier_elim does not always return empty set as emptyset
(%i1) load(fourier_elim);
(%i2) fourier_elim([x^2 < y , x^2 > y],[x,y]);
2 2
(%o2) [- (y - x ) > 0, y - x > 0]
The empty set should be displayed as emptset not [- (y - x ) > 0, y - x > 0].
Is this a bug in fourier_elim or a limitation in the underlying algorithm?