how to add new stuff to Maxima



>>>>> "Richard" == Richard Fateman <fateman@cs.berkeley.edu> writes:

    Richard> Depends on what you mean by "added functionality".  If you add a "new
    Richard> representation"
    Richard> then I think the answer is yes, you have to consider what each command
    Richard> might do, and whether
    Richard> the default for "unknown" stuff is good enough.  Added functionality
    Richard> which fits in the standard
    Richard> representation is not so problematical. E.g. adding the Lambert W
    Richard> function which would require
    Richard> a handful of additions:

    Richard> a. how to differentiate
    Richard> b. how to evaluate in floating point
    Richard> c. how to evaluate in bigfloat
    Richard> d. maybe some integration formulas
    Richard> e. some fact about the inverse  (for solve)
    Richard> f. maybe some facts about taylor series
    Richard> g. simplification at special arguments.

Let me also add item h. Limits.

Limits are particularly hard because you have to dig into the routines
and patch in some appropriate stuff.  I regret not taking any notes or
adding documentation when I added some limits for the elliptic
functions.  It took me some time to figure that out (probably because
I was stupid).

I have some preliminary stuff in maxima to evaluate some integrals to
get elliptic functions, but I don't even know where to begin to
integrate that with the integrate function.

Ray