bfallroots



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