how to add new stuff to Maxima



CY wrote:

>On Tuesday 20 July 2004 11:51 pm, Richard Fateman wrote:
>
>  
>
>>Depends on what you mean by "added functionality".  If you add a "new
>>representation" then I think the answer is yes, you have to consider what 
>>each command might do, and whether the default for "unknown" stuff is good
>>enough.  Added functionality which fits in the standard representation is 
>>not so problematical. E.g. adding the Lambert W function which would 
>>require a handful of additions:   
>>
>>a. how to differentiate
>>b. how to evaluate in floating point
>>c. how to evaluate in bigfloat
>>d. maybe some integration formulas
>>e. some fact about the inverse  (for solve)
>>f. maybe some facts about taylor series
>>g. simplification at special arguments.
>>    
>>
>
>But if we have more series representations present in the system than just 
>taylor do we need to also consider those, for example?
>
It might be possible to have one scheme for essentially "all" series, 
but I haven't
thought about it.

>  It would be nice 
>if, for given types of new additions, we have a checklist of items that 
>need to be thought out/documented before the addition is ready for prime 
>time. 
>
Yes

> (I guess in that sense a lot of Maxima isn't ready for prime time, 
>for that matter.)  For people wanting to add functions, a standard function 
>programmer documentation template addressing various points like the ones 
>you listed above would (IMHO anyway) be an excellent policy to implement.  
>(And create for what's already there.) 
>
>  
>
>>None of these requires changing existing programs, but only data, and
>>new programs. some other stuff might need changes, e.g.
>>simplification of  expressions around W;   e.g. exp(W(x)) would require
>>changes to exp simplifier.
>>    
>>
>
>Which is a good illustration of why I think there should be some systematic 
>way a programmer could have a checklist - so they can say "Yep, OK, got the 
>simplifier rules for exp, foo, bar, ..." even if the decision is no new 
>rules are needed.
>
>  
>
>>Introduction of new functions is much simpler.  It is even simpler
>>if you just define away the function as, for example, if sinh were not
>>there, you could define sinh(x):=(exp(x)-exp(-x))/2 ,   or if all
>>functions were immediately replaced by their (truncated) taylor series. 
>>So not all is quite so desperate.
>>    
>>
>
>No, but it would be nice if it were systematic.
>
>  
>
>>The point of the Axiom system is, at least in principle, to make use of
>>declarative knowledge about stuff like "polynomials" over "rings"  in 
>>which case you know that to define such domains, you need to build upon 
>>the operations and representations of specific rings, and all these 
>>operations and related axioms are listed.  So you will in that sense get 
>>the job done right in an abstract mathematical sense.    
>>    
>>
>
>In principle I like the sound of that.  How do the feature sets of Maxima 
>and Axiom compare for real world use?  Axiom seems to be the more "solid" 
>of the two systems, but I've always had the impression Maxima was the more 
>practical of the two for non mathematical research type work.
>
I think the Axiom people should respond. I do not have any recent 
experience with
Axiom.  I suspect that Axiom does less, overall.  What it does may be 
extensible in
abstract domains which are not covered by 3M, but those areas are of 
limited interest.

>
>  
>
>>The extent to which this can actually work has been an issue.  If all
>>you get is "modern algebra" but not analysis, then the result is 
>>insufficient for Macsyma, unless you do a lot of faking. 
>>If you are less ambitious and are interesting in (say) univariate
>>polynomials over finite fields, then you can be linguistically very clean, 
>>and I suspect you could even  add new representations in a fairly clean
>>manner. 
>>
>>My feeling is that any of the "3M" CAS are too ambitious.
>>    
>>
>
>Perhaps, but their success as products indicates that what they do is 
>something people find useful.  I guess its the old problem that nothing 
>worthwhile is easy.
>
The market is not necessarily the best judge.  Most sales are to support
calculus labs, I suspect.

RJF

>
>CY
>
>_______________________________________________
>Maxima mailing list
>Maxima@www.math.utexas.edu
>http://www.math.utexas.edu/mailman/listinfo/maxima
>  
>