Maxima: simplification function error message.




I am applying my own simplification function mysimprec.mac (in Maxima 5.10 
and 5.12) to a complicated expression and running the program in the 
backround under suse linux 10.2.

After some time I obtain the following error at the linux command line:

*A2 gc_alloc_new_region failed, nbytes=8.
 CMUCL has run out of dynamic heap space (512 MB).
  You can control heap size with the -dynamic-space-size commandline option.
Help! 12 nested errors.  KERNEL:*MAXIMUM-ERROR-DEPTH* exceeded.
Received EOF on *standard-input*, switching to *terminal-io*.
* 

For the same function mysimprec.mac and another error reported to the list 
recently, Stavros suggested the global settings: gcd : spmod,
algebraic : true. I am now using this and have obtained a significant 
improvement. Thanks again Stavro !

Maybe setting other global variables, or possibly applying the built-in 
Maxima simplification functions in a different manner in mysimprec.mac , 
can help in the simplification of  very large expressions ?

Any assistance would be very much appreciated.

C. Frangos.




mysimprec(s) := block(

[indexlist,sx,nf,listsimpf,nsx,nmin,simpf,sxnew],

/*listsimpf : [trigexpand, fullratsimp, trigsimp, factor, trigreduce],*/

/*listsimpf : [fullratsimp, trigrat, trigsimp, factor, trigreduce,
dividethru],*/

listsimpf : [fullratsimp, trigsimp, factor, trigreduce, dividethru],

/*listsimpf : [fullratsimp, trigsimp, factor, trigreduce],*/

nf : length(listsimpf),

sx : s,

nmin : length(string(sx)),

indexlist : [nmin],

for i1 : 1 thru nf do (

simpf : listsimpf[i1],

sxnew : apply(simpf,[sx]),

nsx : length(string(sxnew)),

if (nsx < nmin) then (
indexlist : endcons(simpf,indexlist),
indexlist : endcons(nsx,indexlist),
sx : sxnew,
nmin : nsx
)

),

display(indexlist),

return(sx)

);