Question: ?? best way to make a point plot with many points and not have maple hang??

hello,

i have had many troubles with maple 12 recently, and perhaps some of you could educate me on how to do things better.  although i could use different software, i've been doing this particular project on maple and figure that it should be able to work.

some background first.  i am running maple 12.02 on a mac pro (dual quadcore) with 10 GB of memory.  the mserver processes are 64-bit.  at first i was running into memory issues, because maplesoft has restricted memory use to 500 MB. however with a shell script suggested by maplesoft, i've been able to extend the memory allocation to my choosing.  the restriction was causing a loss of connection to the kernel because of memory allocation.  while that is no longer occurring, what IS occuring is that it hangs when i try plotting (either to display inline OR to output to a ps/GIF figure using plotsetup). in particular, it says "evaluating" with the cycling icon and maple12 and java start picking up cpu cycles, but then they stop, yet i still get the evaluating/cycling icon.  when i try interrupting, it does nothing.

what am i trying to do?  two tasks involving plotting. 

task 1 --  i am trying to iterate an implicit, nonlinear map and generate a figure of a strange attractor.  the problem is that the map visits some spots on the attractor infrequently, so i've been extending the number of iterations of the map to a large degree. in particular i am creating 10-20 plot structures each with 100,000 points ... to 1-2 million points. is this too intensive for maple?  is there something special i need to do to help it handle that many points?

here is a bit of test code that demonstrates my issue.

x:=array(1..100001):y:=array(1..100001):
a:=1.2: b:=0.4: imax:=100000:
x[1]:=0.1:y[1]:=0:

for N from 1 to 20 do
for i from 1 to imax do
x[i+1]:= 1+y[i]-a*(x[i])^2:
y[i+1]:= b*x[i]:
od:

Pts[N]:=[[x[n],y[n]] $n=1..imax]:
x[1]:=x[imax+1]:y[1]:=y[imax+1]:
P[N]:=plot(Pts[N],style=point,symbol=solidcircle,symbolsize=4, color=black, axes=boxed,font=[arial,normal, 18]):
od:

display(seq(P[n],n=1..20));

warning this runs up about 1.7 GB of memory usage in the process. it uses the same 100,000 element array 20 times to generate 20 plot structures comprising the full 2,000,000 points.

is there a better way of dealing with this on maple? or should one resort to other software?

 

task 2 -- similar to task one, but instead of doing one plot of 2,000,000 points,  i am make an animation of many plots (each at a different parameter value). 

the only qualitatively different line of code from the above is:

display(seq(P[n],n=1..20),insequence=true);

 

both task 1 and task 2 are fine if the total number of points being plotted is "reasonable," but once they pass some threshold, it seems maple/java can't handle it.  furthermore, when the number of points is that high, i can't even export the plot directly using plotsetup as it results in an apparently identical hang.

i don't know if it's due to the OS X platform i am running it on? (i am planning to test this on solaris when i get a chance). OR if it's at all related to some aspect of the shell script initiation of maple to boost the memory allocation? 

any advice or insight on how to do what i am trying to do more intelligently on maple would be immensely appreciated.

thanks!

 

 

 

 

 

Please Wait...