For functions F of >=2
args, "linearity" is defined to be as in the case of 'SUM or
'INTEGRATE, i.e. F(A*X+B,X) -> A*F(X,X)+B*F(1,X) for A,B FREEOF X.
That is, O(2*y,x) notices that 2*y is free of x,
and therefore the result is 2*y*O(1,x).
It doesn't look at any properties of y at all
except that y is not dependent of x.
Szucs Szabolcs Laszlo wrote:
>Hi all,
>
>
>I do the following:
>
>(%i1) declare(O, linear);
>(%o1) DONE
>(%i2) declare(y, noun);
>(%o2) DONE
>(%i3) O(2*y);
>(%o3) 2 O(y)
>(%i4) O(2*y,x);
>(%o4) 2 O(1, x) y
>(%i5)
>
>At (%o4) why the `y' comes out? I want to
>stay inside therefore it is a noun not a
>scalar! I also try `declare (y, nonscalar);'.
>It won't work.
>
>What to do?
>thx
>
>
>