Thanks!  This is very helpful.

On Mon, Jul 5, 2021 at 9:12 AM Nils Bruin <nbr...@sfu.ca> wrote:

> A workaround and general principle: if at all possible, avoid using the
> "symbolic ring", particularly if you're interested in numerical
> approximations anyway. Having all the overhead of SR involved will show
> down your computation considerably -- and, as you can see, can lead to
> unstable numerical schemes.
>
> In your case, the symbolic ring gets involved by mentioning "pi". You
> could do instead
>
> RR = RealField(100) #by default this is 53, which is fine too
> (-12.0*RR.pii()).exp() #sage has "float literals" which deals with the
> precision ambiguity in this notation
>
> A little more mathematical-looking notation:
>
> exp(-12.0 * RR.pi() )
> exp(-12.0 * RR(pi)) # this still involves SR, but only minimally
>
> Evaluating this expression should of course just work with pretty much any
> precision: exp is very well approximated. Rewriting it as a difference of
> hyperbolic functions is just obviously a bad idea. The reason why the SR
> takes such bad decisions may be deeper and more difficult to change. So I
> think it's a bug, but it may not be easily fixable. So: stick with the
> workaround (which will always be more efficient)
>
> On Sunday, 4 July 2021 at 23:04:44 UTC-7 Brian Lawrence wrote:
>
>>
>> Hi,
>>
>> I'm new to Sage, and I'm running across some unexpected behavior
>> involving numerical evaluation of exponentials involving pi.
>>
>> In my version (Sagemath 9.2), the following code
>> exp(-12.0*pi).n()
>> gives the output below.
>> 0.000000000000000
>>
>> The true value of the exponential is something like 4e-17: very small,
>> but definitely not zero.  The problem seems to be that Sage internally
>> converts the exponential to a difference (cosh-sinh) of two huge numbers,
>> and then precision problems kick in.
>>
>> This problem has been brought up before...
>> https://ask.sagemath.org/question/57182/numerical-
>> approximation-error-involving-cosh-and-sinh/
>> ... but the folks over there seem to have concluded (for reasons I don't
>> understand) that the behavior is not a bug at all.
>>
>> Brian Lawrence
>>
>> 'SageMath version 9.2, Release Date: 2020-10-24'
>>
>> (P.S. I ran across this trying to do some computations with q-expansions
>> of modular forms, where these sorts of exponentials are quite common.)
>>
>> (P.P.S. Apologies if I'm posting this in the wrong place, I'm new here
>> and not familiar with local norms...)
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sage-devel" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sage-devel/Ev9dSQNr4ig/unsubscribe.
> To unsubscribe from this group and all its topics, 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/aafa3344-60f6-4e0a-bfcd-59074ce15844n%40googlegroups.com
> <https://groups.google.com/d/msgid/sage-devel/aafa3344-60f6-4e0a-bfcd-59074ce15844n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAH3mTmahvHTp9Ob%3Dph4bi7tz8hYDOrxONaNWwYx2J7mWNUGyTg%40mail.gmail.com.

Reply via email to