Adam Majewski pisze:
> Adam Majewski pisze:
>> Raymond Toy pisze:
>>> Adam Majewski wrote:
>>>> Raymond Toy pisze:
>>>>
>>>>> Adam Majewski wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I use bfallroots function :
>>>>>> https://apps.sourceforge.net/mediawiki/maxima/index.php?title=Image:Centers_9_new.png
>>>>>> Can it be done for higher periods ? ( for me (GCL) it fails for period
>>>>>> 10 and fpprec:150 or 256)
>>>>>>
>>>>>>
>>>>> Assuming I did this right, I see that the polynomial for period 10 is of
>>>>> order 495. The largest coefficient has about 285 bits in it. So maybe
>>>>> you need to use fpprec of 300 or more?
>>>>>
>>>> I have changed to :
>>>>
>>>> elseif p=10 then fpprec:300,
>>>>
>>>> but there is error after computing numbers :
>>>>
>>>>
>>>>
>>> [snip]
>>>> Maxima encountered a Lisp error: Error in FORMAT [or a callee]: The
>>>> storage for STREAM is exhausted.Currently,
>>>>
>>>> 205 pages are allocated.Use ALLOCATE to expand the space.Automatically
>>>> continuing.To reenable the Lisp debugger set *debugger-hook* to nil.
>>>>
>>>> I think that it is coused by bf number format :
>>>> 9.4630276158882190662033636749[245 digits]42308247717006463653684639b-91*%i
>>>> -1.9959241519307532077928469860[243 digits]8039417293485824429601363747b0
>>>>
>>>> I have prpbably to remove "[245 digits]" to get number
>>>>
>>> Does this mean you were actually able to compute all 495 roots? Cool!
>>>
>>> Maybe setting fpprintprec to 10 or 20 would be good enough to see the
>>> roots so you don't have to look at all 300 digits?
>>>
>>> Ray
>> I have changed code :
>> GiveCenters_bf(p):=
>> block(
>> [g,
>> cc:[]],
>> fpprintprec:10, /* number of digits to display */
>> if p<7 then fpprec:16
>> elseif p=7 then fpprec:32
>> elseif p=8 then fpprec:64
>> elseif p=9 then fpprec:128
>> elseif p=10 then fpprec:300,
>> g:GiveG[p],
>> cc:GiveRoots_bf(g),
>> return(cc)
>>
>>
>> );
>> Now numbers are :
>> 4.736182403b-1*%i-7.112999953b-1
>>
>>
>> but :
>> (%i12) for period from 9 thru period_Max do
>> (centers[period]:GiveCenters_bf(period),N_of_centers:length(centers[period])+N_of_centers)
>> (%o12) done
>> (%i13) stop:elapsed_run_time()
>> (%o13) 3679.6
>> (%i14) time:fix(stop-start)
>> (%o14) 3524
>> (%i15) load(draw)
>> (%o15) C:/PROGRA~1/MAXIMA~1.3/share/maxima/5.16.3/share/draw/draw.lisp
>> (%i16)
>> draw2d(file_name=centers_10_new,pic_width=1000,pic_height=1000,yrange=[-1.5,1.5],xrange=[-2.5,0.5],title=concat
>> (centers of,string(N_of_centers), hyperbolic components of Mandelbrot
>> set for periods 1-,string(period_Max),made in ,string(time),sec),
>> user_preamble=set size square;set key out;set key top
>> left,terminal='png,pic_width=1000,pic_height=1000,xlabel=re ,ylabel=im,
>> point_type=filled_circle,points_joined=false,key=9,color=gray,points(map(realpart,centers[9]),map(imagpart,centers[9])),key=10,color
>> =purple,points(map(realpart,centers[10]),map(imagpart,centers[10])))
>> Maxima encountered a Lisp error:
>> Error in FORMAT [or a callee]: The storage for STREAM is exhausted.
>> Currently, 204 pages are allocated.
>> Use ALLOCATE to expand the space.
>> Automatically continuing.
>> To reenable the Lisp debugger set *debugger-hook* to nil.
>>
>> ?
>>
>> Adam
> It seems that bfallroots computes all roots and the problem is in draw2d
>
> Adam
After a few test I see that is not a problem of draw.
I can run this program for period 10 from console or xmaxima
but not from wxMaxima.
So probably gui of Maximam takes to much memory.
New version computes 983 centers for periods 1-10
https://apps.sourceforge.net/mediawiki/maxima/index.php?title=Image:Centers_9_new.png
Regards
Adam