On 2012-10-03, Edwin Woollett <woollett at charter.net> wrote:
> (%i8) diff11(expr,ydep,xindep) :=
> block([dep,dexpr],
> dep: depends(ydep,xindep),
> dexpr : diff(expr,xindep),
> display (dexpr),
> apply('remove, [ ydep , 'dependency ] ),
> solve (dexpr, diff (ydep,xindep)))$
>
> (%i9) diff11(y+log(y)+x,y,x);
> dexpr = 'diff(y,x,1)/y+'diff(y,x,1)+1
>
> solve: all variables must not be numbers.
Tracing solve shows that the problem is that its last argument is 0
(because the dependency was removed already). Try rearranging the code
so that solve is called before remove.
I agree that the error message isn't very clear.
best
Robert Dodier