...
|
...
|
@@ -14,6 +14,23 @@ Check out the Adaptive [example notebook `learner.ipynb`](learner.ipynb) (or run
|
14
|
14
|
**WARNING: `adaptive` is still in an early alpha development stage**
|
15
|
15
|
|
16
|
16
|
|
|
17
|
+## Implemented algorithms / learners
|
|
18
|
+We introduce the concept of a "learner", which is an object that knows:
|
|
19
|
+* the function it is trying to "learn"
|
|
20
|
+* the bounds of the function domain that you are interested in
|
|
21
|
+* the data that has been calculated (which could be empty at the start)
|
|
22
|
+
|
|
23
|
+Using this information, a learner can return as many suggested points as are requested.
|
|
24
|
+Adding more data to the learner means that the newly suggested points will become better and better.
|
|
25
|
+
|
|
26
|
+The following learners are implemented
|
|
27
|
+* `Learner1D` which learns a 1D function `f: ℝ → ℝ^N`
|
|
28
|
+* `Learner2D` which learns a 2D function `f: ℝ^2 → ℝ^N`
|
|
29
|
+* `AverageLearner` which learns a 0D function that has a source of randomness
|
|
30
|
+* `IntegratorLearner` which learns the integral value of a 1D function `f: ℝ → ℝ` up to a specified tolerance
|
|
31
|
+* `BalancingLearner` which takes a list of learners and suggests points of the learners that improve the loss (quality) the most
|
|
32
|
+
|
|
33
|
+
|
17
|
34
|
## Installation
|
18
|
35
|
Adaptive works with Python 3.5 and higher on Linux, Windows, or Mac, and provides optional extensions for working with the Jupyter/IPython Notebook.
|
19
|
36
|
|
...
|
...
|
@@ -35,9 +52,9 @@ in the repository.
|
35
|
52
|
|
36
|
53
|
## Credits
|
37
|
54
|
We would like to give credits to the following people:
|
38
|
|
-- Pedro Gonnet for his implementation of [`CQUAD`](https://cran.r-project.org/web/packages/cquad/index.html), "Algorithm 3" as described in "Increasing the Reliability of Adaptive Quadrature Using Explicit Interpolants", P. Gonnet, ACM Transactions on Mathematical Software, 37 (3), art. no. 26, 2010.
|
|
55
|
+- Pedro Gonnet for his implementation of [`CQUAD`](https://www.gnu.org/software/gsl/manual/html_node/CQUAD-doubly_002dadaptive-integration.html), "Algorithm 4" as described in "Increasing the Reliability of Adaptive Quadrature Using Explicit Interpolants", P. Gonnet, ACM Transactions on Mathematical Software, 37 (3), art. no. 26, 2010.
|
39
|
56
|
- Christoph Groth for his Python implementation of [`CQUAD`](https://gitlab.kwant-project.org/cwg/python-cquad) which served as inspiration for the [`IntegratorLearner`](adaptive/learner/integrator_learner.py)
|
40
|
|
-- Pauli Virtanen for his `AdaptiveTriSampling` (no longer available online since SciPy Central went down) script which served as inspiration for the [`Learner2D`](adaptive/learner/learner2D.py)
|
|
57
|
+- Pauli Virtanen for his `AdaptiveTriSampling` script (no longer available online since SciPy Central went down) which served as inspiration for the [`Learner2D`](adaptive/learner/learner2D.py)
|
41
|
58
|
|
42
|
59
|
For general discussion, we have a [chat channel](https://chat.quantumtinkerer.tudelft.nl/external/channels/adaptive). If you find any bugs or have any feature suggestions please file a GitLab [issue](https://gitlab.kwant-project.org/qt/adaptive/issues/new?issue) or submit a [merge request](https://gitlab.kwant-project.org/qt/adaptive/merge_requests).
|
43
|
60
|
|