equivalent to Mathematica's Reduce?



I'm pretty sure that there is no function in the Maxima distribution that
is
(or even tries to be) equivalent to Mathematica's reduce.

The only functions I know of that are remotely related are to_poly_solve
and
fourier_elim (requires Maxima 5.18)

 (%i1) load("to_poly_solver.mac")$

 (%i7) sol : to_poly_solve([x=1,x=a],[x], 'parameters=[a]);
 (%o7) %union(%if(a-1=0,[x=1],%union()))

 (%i8) sublis([a=1],sol);
 (%o8) %union([x=1])

When a = 2009, the solution set is empty:

 (%i9) sublis([a=2009],sol);
 (%o9) %union()

For linear inequations, we have code for Fourier elimination:

 (%i10) load(fourier_elim)$

 (%i15) fourier_elim([x + y < 1, x - 2 * y > 2],[x,y]);
 (%o15) [2*y+2<x,x<1-y,y<-1/3]

The functions to_poly_solve and fourier_elim are far from being clones of
Mathematica's reduce function.

Barton

-----maxima-bounces at math.utexas.edu wrote: -----


>Reduce?takes?an?equation?or?an??inequality?and?tries?to?simplify,
>eliminating?quantifiers
>
>e.g.
>Reduce[x^2?+?y^2?<?1,?{x,?y}]?-->?????-1?<?x?<?1?&&?-Sqrt[1?-?x^2]?<?y?<
>Sqrt[1?-?x^2]
>
>Has?anyone?written?something?like?this?
>
>It?is?related?to?solve,?eliminate,?..
>
>How?does?solve?and?reduce?differ?
>??From?the?documentation..
>
>
>The?general?question?of?whether?a?set?of?equations?has?any?consistent
>solution?is?quite?a?subtle?one.?For?example,?for?most?values?of?a,?the
>equations?{x==1,x==a}?are?inconsistent,?so?there?is?no?possible?solution
>for?x.?However,?if?a?is?equal?to?1,?then?the?equations?do?have?a
>solution.?Solve?is?set?up?to?give?you?generic?solutions?to?equations.?It
>discards?any?solutions?that?exist?only?when?special?constraints?between
>parameters?are?satisfied.
>
>If?you?use?Reduce?instead?of?Solve,?Mathematica?will?however?keep?all
>the?possible?solutions?to?a?set?of?equations,?including?those?that
>require?special?conditions?on?parameters.
>
>
>RJF
>