Fw: Non-polinomial equations



> I'd like to know if maxima can solve equations with absolute values or
> irrational equations. 
> 1) solve(abs(x)=2,x); 
> 2) solve(sqrt(x+1)=2*x,x); 

Maxima cannot currently solve equations involving abs of the main
variable: that is, it can solve abs(q)*x=3 for x but not for q.

Maxima also cannot solve equations involving roots of the main
variable.  This is actually a subtler problem than you might think. 
Part of the problem is the ambiguity of the root notation.  For
Maxima, x^(1/2)=sqrt(x) is single-valued function: 1^(1/2)=1.  But if
you define y=x^(1/2) to mean the same thing as y^2=x, then sqrt has
two values: 1^(1/2) = both 1 and -1.  Moreover, if you have more than
one root in an equation, it is not clear whether they are the same
root or not.  Presumably sqrt(x)+sqrt(x)=2*sqrt(x), but if they are
*independent* multivalued functions, then sqrt(x)+sqrt(x) could equal
0 as well.

Fortunately, there *is* a way to handle the multivalued case in
Maxima.  Convert roots into equations, and solve the equations.

In your example, rewrite sqrt(x+1)=2*x as

   eq1:    [ sx1^2 = x+1, sx1=2*x ]

by using subst(sx1,sqrt(x+1),...).

You can now solve those equations for x and sx1:

   solve(eq1, [x,sx1]) =>

        [[x = -(SQRT(17)-1)/8,y = -(SQRT(17)-1)/4],
         [x = (SQRT(17)+1)/8,y = (SQRT(17)+1)/4]]

Note that this will sometimes repeat roots.  And remember that these
solutions assume that sqrt is multi-valued, not single-valued, which
may or may not be what you intend.

           -s