remove dependencies inside function?



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