Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration of functions that don't have closed-form expressions #229

Open
JCGoran opened this issue May 6, 2018 · 1 comment
Open

Integration of functions that don't have closed-form expressions #229

JCGoran opened this issue May 6, 2018 · 1 comment

Comments

@JCGoran
Copy link

JCGoran commented May 6, 2018

I was wondering if it was possible to perform rigorous integration using Arb with integrands which do not have a closed-form expression (i.e. that are obtained numerically for only a discrete set of points, in my case represented in C as two arrays (x,f(x)) of type double), and if so, how?

Looking over the documentation, I've tried using polynomial interpolation of the integrand for this task, however my particular function doesn't appear to be well approximated by a polynomial, no matter how high a degree I choose.
On the other hand, if I interpolate the function using double precision using, say, GSL, and in the integration function I use acb_set_d to directly set the result to the interpolated value, the integration algorithm doesn't appear to probe the domain of integration at all.

Is this feature implemented in Arb? If it's not, would you consider adding it in some future release?

@fredrik-johansson
Copy link
Collaborator

If the integrand is only known from a discrete set of points, then it is impossible to perform rigorous integration. You need some regularity condition for error bounds.

acb_calc_integrate allows integrating any kind of interpolating function that can be evaluated at arbitrary balls, but you do need to evaluate it in a way that preserves enclosures (and respects the analyticity conditions).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants