It may be related, but I don't think it's exactly the same issue. For 
example, the following, involving no square root, still leaks memory:

for i in [1,..,20000]:
    if i%100 == 0:
        print(i);
        print(get_memory_usage());
    C = continued_fraction(pi^i);
    C.denominator(100);








On Thursday, July 23, 2020 at 4:27:46 PM UTC-5, Dave Morris wrote:
>
> Is this the issue that was reported in Trac #27185 
> <https://trac.sagemath.org/ticket/27185> (defect: sqrt memory leak)?
>
> On Thursday, July 23, 2020 at 3:12:07 PM UTC-6, Spencer Dembner wrote:
>>
>> Yup- what you wrote gives me the same result as far as climbing memory 
>> usage.
>>
>> On Thursday, July 23, 2020 at 4:07:23 PM UTC-5, vdelecroix wrote:
>>>
>>> Thanks for your report. 
>>>
>>> Actually, it does not seem to have much to do with continued 
>>> fractions but rather with the symbolic ring 
>>>
>>> sage[4]: for i in [2500000,..,3000000]: 
>>> .......:     if i%1000 == 0: 
>>> .......:         print(i); 
>>> .......:         print(get_memory_usage()) 
>>> .......:     _ = RIF(sqrt(i)) 
>>>
>>> Le 23/07/2020 à 18:30, Spencer Dembner a écrit : 
>>> > When using continued_fraction to compute denominators of continued 
>>> fraction 
>>> > convergents, I'm encountering what seems to be a memory leak. I'm 
>>> running 
>>> > SageMath 9.0 on Windows 10 64-bit. If I run the following, 
>>> > 
>>> > for i in [2500000,..,2600000]: 
>>> >      if i%1000 == 0: 
>>> >          print(i); 
>>> >          print(get_memory_usage()); 
>>> >      C = continued_fraction(sqrt(i)); 
>>> >      C.denominator(100); 
>>> > 
>>> > then I see memory usage steadily climbing as I iterate through the 
>>> loop. On 
>>> > the other hand, if I initialize sqrt(i) as an algebraic number, memory 
>>> > usage is essentially stable: 
>>> > 
>>> > for i in [2500000,..,2600000]: 
>>> >      if i%1000 == 0: 
>>> >          print(i); 
>>> >          print(get_memory_usage()); 
>>> >      if sqrt(i) not in QQ: 
>>> >          K.<sqrti> = QuadraticField(i); 
>>> >          C = continued_fraction(sqrti); 
>>> >          C.denominator(100); 
>>> > 
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/f29436f8-a4c0-4fc2-86b1-5960ad257a19o%40googlegroups.com.

Reply via email to