Robert Dodier
-
2006-07-29
- labels: --> 460522
solve(rat(a+c,a,b,c,d),[a,b])
=> [[a=-%r1, b=%r1]] NO!
Remove the extra variable:
solve(rat(a+c,a,b,c),[a,b])
=> [[a = - c, b = %r2]] OK
Also works fine if you call algsys directly:
algsys([rat(a+c,a,b,c,d)],[a,b]);
At first I thought this had something to do with the
variable *ordering* in the first case, but in fact it
happens with all orderings. The problem is the number
of ratvars.
Note that this is *not* an artificial situation. It is
common to have CREs with more ratvars than they use
after arithmetic operations, e.g. rat(a+b)-rat(a).