en bilinear



Niitsuma,

You might like to look at share/contrib/multiadditive.lisp. Maybe you could figure out
how to declare a function to be outative (say multioutative) in each of its arguments. 
Then declare(k,multiadditive), declare(k, multioutative) might automatically do what you want
without the call to ev(..., nouns).

--Barton

-----maxima-bounces at math.utexas.edu wrote: -----


>I?made?function?en_bilinear
>
>usage?:
>
>(%i23)?en_bilinear(k);
>(%o23)??????????????[krule4,?krule3,?krule2,?krule1,?false]
>(%i24)?k(3*x+y,u+10*v);
>(%o24)???????????????map(lambda([e],?k(xx,?e)),?10?v?+?u)
>(%i25)?ev(k(3*x+y,u+10*v),nouns);
>(%o25)??????????10?(k(y,?v)?+?3?k(x,?v))?+?k(y,?u)?+?3?k(x,?u)
>