Initial- and boundary-value problems in Maxima.



Panagiotis Papasotiriou wrote:


>>
> There must be a bug concerning colnew in maxima 5.24, because even
> examples in share/colnew don't work for me. I am quite familiar with that
> package but still can't use it in maxima (installed from debian's 64-bit
> repositories). Anyway, I wrote a Fortran 90 interface that facilitates the
> use of colnew, as most arguments are set to optimal values automatically
> (but still supporting all "extra" capabilities via optional arguments). If
> someone needs it, drop me an email.

This may be the case. I have an "old" version:
niobe% \maxima
Maxima 5.22.1 http://maxima.sourceforge.net
using Lisp CMU Common Lisp 20a (20A Unicode)

but with more recent versions of the colnew wrapper, and indeed you are
right, prob1.mac and prob2.mac don't run, while they were certainly working
without these modifications.

More strange, the program we used to do these modifications runs OK. For
reference it is here:
http://www.lpthe.jussieu.fr/~talon/prob3.mac
while the corresponding fortran program is here:
http://www.lpthe.jussieu.fr/~talon/prob3.f

If i remember well the modifications that Raymond did to colnew-if.lisp
were mainly to facilitate profiling. A bug has unfortunately been
introduced. Indeed i have this check: (the old version of the wrapper
is available here:
http://www.lpthe.jussieu.fr/~talon/colnew-if.lisp.old).

niobe% maxima
(%i1) load(colnew);

;; Loading
#P"/home/michel/.maxima/binary/binary-cmucl/share/colnew/binary-cmucl/colnew-package.sse2f".
.....

(%i2) load("colnew-if.lisp.old");
(%o2)   /usr/local/share/maxima/5.22.1/share/colnew/colnew-if.lisp.old
(%i3) load("prob1.mac");


 VERSION *COLNEW* OF COLSYS .


 THE MAXIMUM NUMBER OF SUBINTERVALS IS MIN (  12 (ALLOWED FROM FSPACE),  16
(ALLOWED FROM ISPACE) )

 THE NEW MESH (OF    1 SUBINTERVALS),
    1.000000    2.000000

 THE NEW MESH (OF    2 SUBINTERVALS),
    1.000000    1.500000    2.000000

 THE NEW MESH (OF    4 SUBINTERVALS),
    1.000000    1.250000    1.500000    1.750000    2.000000
The exact errors are:
     1.7389e-10   6.2679e-9   2.1843e-7   9.5743e-6
(%o3)        /usr/local/share/maxima/5.22.1/share/colnew/prob1.mac

So reloading the old version of the wrapper, prob1.mac works. But on the
other hand prob3.mac now crashes:

(%i4) load("prob3.mac");


 VERSION *COLNEW* OF COLSYS .


 THE MAXIMUM NUMBER OF SUBINTERVALS IS MIN ( 117 (ALLOWED FROM FSPACE), 124
(ALLOWED FROM ISPACE) )

 THE NEW MESH (OF    4 SUBINTERVALS),
    0.000000    0.500000    1.000000    1.450000    1.900000
Too few arguments supplied to gsub(i, z1, z2, z3, z4); found:
[1, [- 1.0, 2.0, 1.0, .3571428571428572, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
 -- an error. To debug this try: debugmode(true);

Apparently there is a difference in the way to call the arguments.


-- 
Michel Talon