On Tuesday, November 4, 2014 9:52:03 AM UTC-8, kcrisman wrote:
>
> Interesting.  Since this assumption stuff does something in Maxima, 
> perhaps that is where the slowdown happens.  I'm not sure that we ask 
> Maxima to check for our equality, though perhaps it comes into play once 
> that assumption is made.
>

Sage apparently does not call Maxima for this, since 
  is(equal(0,exp(512*(x+1))));   takes 0.05ms,   even if one
provides the irrelevant   declare(x,real).


Or if it calls Maxima, it does something else for quite a while.
RJF

>
>  
>
>> Hi, 
>>
>> I know that comparing symbolic expressions of a real variable is 
>> generally an undecidable problem, but I've recently faced the following CPU 
>> time issue on very simple symbolic expressions:
>>
>> sage: assume(x, 'real')
>> sage: %time bool(exp(512*(x+1)) == 1)
>> CPU times: user 4min 46s, sys: 116 ms, total: 4min 46s
>> Wall time: 4min 48s
>> False
>>
>> The CPU time actually increases with the factor in front of (x+1):
>>
>> sage: %time bool(exp(2*(x+1)) == 1)
>> CPU times: user 24 ms, sys: 4 ms, total: 28 ms
>> Wall time: 23.7 ms
>> False
>> sage: %time bool(exp(32*(x+1)) == 1)
>> CPU times: user 108 ms, sys: 0 ns, total: 108 ms
>> Wall time: 105 ms
>> False
>> sage: %time bool(exp(64*(x+1)) == 1)
>> CPU times: user 660 ms, sys: 4 ms, total: 664 ms
>> Wall time: 664 ms
>> False
>> sage: %time bool(exp(128*(x+1)) == 1)
>> CPU times: user 4.2 s, sys: 0 ns, total: 4.2 s
>> Wall time: 4.23 s
>> False
>> sage: %time bool(exp(256*(x+1)) == 1)
>> CPU times: user 33.9 s, sys: 4 ms, total: 33.9 s
>> Wall time: 34.1 s
>> False
>>
>> If x is not assumed to be real, everything is fine: 
>>
>> sage: forget()
>> sage: %time bool(exp(512*(x+1)) == 1)
>> CPU times: user 32 ms, sys: 0 ns, total: 32 ms
>> Wall time: 31.7 ms
>> False
>>
>> Thanks for your comments / advice on this. 
>>
>> Eric.
>>
>

-- 
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 post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to