> By the way, as far as I can tell, Barton's %solve is better in every way than solve. It might be a good idea to have it replace the base system's solve, except that its output
> format is (necessarily) different from solve's, and it doesn't handle many of solve's fancy modes, so any code that depends on solve will have problems.
The solve function sets the global multiplicities, but %solve doesn't. Actually, the mechanism is broken (and globals used this way are icky, I think)
(%i2) solve(x,x);
(%o2) [x=0]
OK:
(%i4) multiplicities;
(%o4) [1]
(%i5) solve(x^a,x);
(%o5) [x=0]
Bogus: (
(%i6) multiplicities;
(%o6) [1]
Compatibility with solve wasn't what I was aiming for when I wrote the to_poly_solver--replacing solve with %solve isn't something I've tried to do.
Most of %solve is written in Maxima--I think this was a good choice. Maybe it will make it easier for others to extend.
--bw