It is IMO not a bug but a correct answer.
You have asked for the explicit solution y(x) and Maxima is telling you that the explicit solution doesn't exist.
Last edit: sslavi 2015-05-07
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I thought the default is to return the original expression, although it doesn't say so in the manual. At the moment, sometimes it returns empty, sometimes the original expression, and sometimes a solution that is not explicit.
For instance:
res:a'integrate(1/(asqrt(y^2+1)+b),y)-a*x;
solve(res,y) ['integrate(1/(a*sqrt(y^2+1)+b),y) = x]
returns the original solution.
And for this expression, solve returns a solution, but it is not explicit in y:
res:log((sqrt(y-1)sqrt(y+1)+y)/(sqrt(x-1)sqrt(x+1)+x));
solve(res,y) [y = -sqrt(y-1)sqrt(y+1)+sqrt(x-1)sqrt(x+1)+x]
A consistent behavior should be implemented, either returning empty or returning the original expression, as long as it's consistent.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Well, this equation in fact has no solutions. It is equivalent to:
sin(y+x)-1 = sin(y+x)
which is equivalent to
-1 = 0
As for your "res" examples, Maxima is returning an equivalent expression, not necessarily the same expression. It cannot generally make solutions explicit in y.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It is IMO not a bug but a correct answer.
You have asked for the explicit solution y(x) and Maxima is telling you that the explicit solution doesn't exist.
Last edit: sslavi 2015-05-07
I thought the default is to return the original expression, although it doesn't say so in the manual. At the moment, sometimes it returns empty, sometimes the original expression, and sometimes a solution that is not explicit.
For instance:
res:a'integrate(1/(asqrt(y^2+1)+b),y)-a*x;
solve(res,y)
['integrate(1/(a*sqrt(y^2+1)+b),y) = x]
returns the original solution.
And for this expression, solve returns a solution, but it is not explicit in y:
res:log((sqrt(y-1)sqrt(y+1)+y)/(sqrt(x-1)sqrt(x+1)+x));
solve(res,y)
[y = -sqrt(y-1)sqrt(y+1)+sqrt(x-1)sqrt(x+1)+x]
A consistent behavior should be implemented, either returning empty or returning the original expression, as long as it's consistent.
Well, this equation in fact has no solutions. It is equivalent to:
sin(y+x)-1 = sin(y+x)
which is equivalent to
As for your "res" examples, Maxima is returning an equivalent expression, not necessarily the same expression. It cannot generally make solutions explicit in y.