Adding differentiation/integration rules



>>>>> "Boris" == Boris Veytsman <borisv@lk.net> writes:

    >> From: Raymond Toy <toy at rtp>
    >> Date: 24 Sep 2001 13:34:10 -0400
    >> 
    >> 
    >> While learning and playing around with elliptic functions and
    >> integrals, I'm getting tired of manually looking up the rules for
    >> differentiation and integration of elliptic functions.
    >> 
    >> Can someone tell me how to get maxima to understand this?
    >> 
    >> For example
    >> 
    >> diff(sn(u),u) = cn(u)*dn(u),
    >> diff(cn(u),u) = -sn(u)*dn(u),
    >> 


    Boris> Note that dn, cn, etc are used by maxima's ellipt
    Boris> package. Unfortunately it is used for numerical calclation only. So
    Boris> let us defne sn1, dn1, etc. Then you can say:

    Boris> (C12) gradef(sn1(u),cn1(u)*dn1(u));

    Boris> (D12)				    sn1(u)
    Boris> (C13) diff(sn1(x),x);

    Boris> (D13)				 cn1(x) dn1(x)

Thanks.  I noticed that and I've changed that in my copy of maxima.
(Renamed them them from <> to fp_<>, for floating-point version).

This works.  Now, how do I get it to recognize that sn(0,m) = 0,
cn(0,m) = 1, etc.?  With the gradef stuff above, I get this:

taylor(sn(u,m),u,0,2)

I get stuff involving sn(0,m), cn(0,m), etc., that should be
simplified out.

I tried copying what maxima does with %sin, but this doesn't cause
simplication to happen.

Ray