> 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.
