Recent changes to 495: solve and ALLhttp://sourceforge.net/p/maxima/bugs/495/Recent changes to 495: solve and ALLenSun, 25 Jan 2004 18:57:56 -0000solve and ALLhttp://sourceforge.net/p/maxima/bugs/495/Solve/algsys is inconsistent in how it represents the
solution "all values satisfy the equation":
solve\(\[x=x\],x\) returns ALL
solve\(\[y=y\],x\) returns ALL
solve\(\[x=x\],\[x\]\) returns ALL
solve\(\[x=x\],\[x,y\]\) returns \[\[x = %R10, y = %R9\]\]
solve\(\[\],\[x\]\) returns \[\]
First of all, the last case is simply wrong. The solution
to "find all x such that the empty set of constraints is
satisfied" is "all x", not "no x" \(which is what \[\] means\).
After all, the y=y case above includes an equation which
doesn't even mention x.
The other cases are inconsistent. We should use one or
the other. The %R10 approach \(from algsys\) seems
better, because it is completely consistent with the non-
all case. Any program using Solve will have to make a
special case for ALL otherwise.
I would also argue that SOLVE\_INCONSISTENT\_ERROR
should default to FALSE. That is, inconsistent systems
should return \[\], not give an error.
Stavros MacrakisSun, 25 Jan 2004 18:57:56 -0000http://sourceforge.net6a48c0eac20e34361b2f2c414b40431eb09fd2bb