Colnew (Was Re: grinding to C, colnew)



On 3/8/11 10:20 AM, Michel Talon wrote:
> Now i am working on colnew, which has been ported to maxima by R. Toy. In 
> fact it works remarkably well. I cannot see much to be done to improve stuff
> except some dumbing down pre parametrizations. But i see at least one 
> problem, if one wants to do continuations, the way in which colnew:colnew is 
> called under a lot of flet, let, etc. stuff makes it hard to modify the 
> call. Let me recall that continuations consist in doing further calls to
> colnew keeping the old fspace and ispace, but moving slowly an optional 
> parameter. This way the old solution serves as a guess for the new one. This 
> is a very powerful feature very well exemplified in 
> http://www.mathworks.com/help/techdoc/math/f1-713877.html#brfhdqp-2
Thanks for this link.  I'll take a look at it and see how to use this
feature. I previously had not tried this because I couldn't find a
simple and readable example (using a language that I knew).
> Colnew has provisions to do that by setting ipar(9)= 2 or 3
> except for the first computation where ipar(9)=1 and a guess is provided.
> Well, i dont see easy way to do that with the way the wrapper is presently 
> formulated. I wonder if it would not be more expedient to put the wrapper
> in the colnew package, so that names don't need any more to be hidden under
> flets and lets, add another parameter (the continuation parameter) to 
> differential equations and boundary conditions, and write a smaller wrapper 
> in the maxima package.
If you have some simple examples, can you send them to me?  It will help
me understand how to use colnew in this way and how a user would want to
interact with colnew from maxima.  I made the interface to colnew to
support basic operations easily or at least what I thought would be
"natural".

We could also provide a more advance "expert" interface that exposes
more of the colnew interface for expert users to control.
>
> Second, there exists on maxima CVS a file called colnew.mac under 
> share/colnew, which contains
> /* Compile and load the colnew routines (in lisp) */
> load("load-colnew.lisp");
> At least in my installation this file is missing. But it is useful for 
>
This is a bug.  You're expected to use load("colnew") to load up the
colnew package.  I'll look into seeing that it gets installed.

Ray