> For my own use-case, I expect to need very high precision (eg. the 
Mathematica code I'm trying to port uses  300 digits for the same model).
> Is DoubleFloat the correct Type to use?

> Given that the target is 300 digits precision,  I tried to run the 
adaptive integration with lower and lower errors (< 1.0e-16).
> It ended up taking a much longer time (didn't complete in 3mins). Do any 
of you have ideas on how to overcome this.

Are you sure that Mathematica gives you 300 digits precision 
(PrecisionGoal), and doesn't just require 300 digits working precision 
(WorkingPrecision)? Do you need 300 digits precision? If yes, then there 
likely won't be an out-of-the-box solution,
especially with an oscillatory integrand.

*If* Mathematica is able to get you 300 digits (PrecisionGoal) by just 
using NIntegrate, you should try to figure out which
method it uses. By default it uses heuristics to choose a good method 
( 
https://reference.wolfram.com/language/tutorial/NIntegrateIntegrationStrategies.html
 
). This is especially relevant
for those oscillatory integrands. I would try to replicate your success 
with Mathematica by explicitly specifying the integration method with 
NIntegrate. Once you have done so, you can either find a library that 
implements that method (or implement it yourself). For example
GSL has some routines for oscillatory integrands 

Best wishes,
Tobias

>
>

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/b0328438-2495-4798-9fd4-56830d0941f7n%40googlegroups.com.

Reply via email to