solve equtions in maxima (algorithms, description ofimplementation in clisp)



?????? ????????? wrote:
> Hi, all.
>
> If we try to solve equations of kind: (x+a)/(x+a)=1, a - fixed number,
> then the answer should be "all numbers, excepting x=-a". Maxima outputs the result "all", it does not exclude wrong solution x=-a. As I understand,
> Maxima simplifies expression and (x+a)/(x+a) and gets 1=1. So it answers "all".
>
> Could you advise how to avoid this error? Maybe could you tell me functions that do this simplification (is it possible to torn off such simplification)?
>
>   
If you turn off simplification, you will not be able to do much at all 
with Maxima. Solve does not even see (x+a)/(x+a).  It is reduced to 1 by 
the simplifier.

In this case the limit as x-> -a  of (x+a)/(x+a)  is equal to 1. There 
are probably worse examples with truly extraneous roots.

Sometimes, but not always,  the extraneous roots can be identified by 
back-substitution, but in this case, the equation is already simplified 
to 1=1.
Sometimes the solutions from solve are too clever for the simplifier to 
verify.

You are welcome to improve these programs, as long as you do not break 
anything that already works.

RJF