Created by: basnijholt
What is this Python project?
When evaluating a function numerically we would like to sample it more densely in the interesting regions instead of evaluating it on a manually-defined homogeneous grid. I am going to demonstrate an open-source software package Python Adaptive that evaluates the function at the optimal points by analysing existing data and planning ahead on the fly. With a few lines of code you define your goal, evaluate functions on a computing cluster, and live-plot the data. It performs averaging of stochastic functions, interpolation of vector-valued one and two-dimensional functions, and one-dimensional integration. In my work, using adaptive resulted in a ten-fold speed increase over using a homogeneous grid.
Repo link
https://github.com/python-adaptive/adaptive
What's the difference between this Python project and similar ones?
There are no other Python packages that do the same as adaptive
. There are some samplers that do high dimensional sampling, but adaptive is aimed at 0D, 1D and 2D. Besides it does:
- sampling in parallel (trivial to switch between your computer and a computing cluster)
- live plotting
- interpolation
Examples
Check out the adaptive
example notebook learner.ipynb
(or run it live on Binder) to see examples of how to use adaptive
.
--
Anyone who agrees with this pull request could vote for it by adding a