1 | 1 |
deleted file mode 100644 |
... | ... |
@@ -1,100 +0,0 @@ |
1 |
-# ![][logo] adaptive |
|
2 |
- |
|
3 |
-[![PyPI](https://img.shields.io/pypi/v/adaptive.svg)](https://pypi.python.org/pypi/adaptive) |
|
4 |
-[![Conda](https://anaconda.org/conda-forge/adaptive/badges/installer/conda.svg)](https://anaconda.org/conda-forge/adaptive) |
|
5 |
-[![Downloads](https://anaconda.org/conda-forge/adaptive/badges/downloads.svg)](https://anaconda.org/conda-forge/adaptive) |
|
6 |
-[![pipeline status](https://gitlab.kwant-project.org/qt/adaptive/badges/master/pipeline.svg)](https://gitlab.kwant-project.org/qt/adaptive/pipelines) |
|
7 |
-[![DOI](https://zenodo.org/badge/113714660.svg)](https://zenodo.org/badge/latestdoi/113714660) |
|
8 |
-[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb) |
|
9 |
-[![Join the chat at https://gitter.im/python-adaptive/adaptive](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/python-adaptive/adaptive) |
|
10 |
- |
|
11 |
-**Tools for adaptive parallel sampling of mathematical functions.** |
|
12 |
- |
|
13 |
-`adaptive` is an [open-source](LICENSE) Python library designed to make adaptive parallel function evaluation simple. |
|
14 |
-With `adaptive` you just supply a function with its bounds, and it will be evaluated at the "best" points in parameter space. |
|
15 |
-With just a few lines of code you can evaluate functions on a computing cluster, live-plot the data as it returns, and fine-tune the adaptive sampling algorithm. |
|
16 |
- |
|
17 |
-Check out the `adaptive` [example notebook `learner.ipynb`](learner.ipynb) (or run it [live on Binder](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb)) to see examples of how to use `adaptive`. |
|
18 |
- |
|
19 |
- |
|
20 |
-**WARNING: `adaptive` is still in a beta development stage** |
|
21 |
- |
|
22 |
- |
|
23 |
-## Implemented algorithms |
|
24 |
-The core concept in `adaptive` is that of a *learner*. A *learner* samples |
|
25 |
-a function at the best places in its parameter space to get maximum |
|
26 |
-"information" about the function. As it evaluates the function |
|
27 |
-at more and more points in the parameter space, it gets a better idea of where |
|
28 |
-the best places are to sample next. |
|
29 |
- |
|
30 |
-Of course, what qualifies as the "best places" will depend on your application domain! |
|
31 |
-`adaptive` makes some reasonable default choices, but the details of the adaptive |
|
32 |
-sampling are completely customizable. |
|
33 |
- |
|
34 |
- |
|
35 |
-The following learners are implemented: |
|
36 |
-* `Learner1D`, for 1D functions `f: ℝ → ℝ^N`, |
|
37 |
-* `Learner2D`, for 2D functions `f: ℝ^2 → ℝ^N`, |
|
38 |
-* `LearnerND`, for ND functions `f: ℝ^N → ℝ^M`, |
|
39 |
-* `AverageLearner`, For stochastic functions where you want to average the result over many evaluations, |
|
40 |
-* `IntegratorLearner`, for when you want to intergrate a 1D function `f: ℝ → ℝ`, |
|
41 |
-* `BalancingLearner`, for when you want to run several learners at once, selecting the "best" one each time you get more points. |
|
42 |
- |
|
43 |
-In addition to the learners, `adaptive` also provides primitives for running |
|
44 |
-the sampling across several cores and even several machines, with built-in support |
|
45 |
-for [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html), |
|
46 |
-[`ipyparallel`](https://ipyparallel.readthedocs.io/en/latest/) |
|
47 |
-and [`distributed`](https://distributed.readthedocs.io/en/latest/). |
|
48 |
- |
|
49 |
- |
|
50 |
-## Examples |
|
51 |
-<img src="https://user-images.githubusercontent.com/6897215/38739170-6ac7c014-3f34-11e8-9e8f-93b3a3a3d61b.gif" width='20%'> </img> |
|
52 |
-<img src="https://user-images.githubusercontent.com/6897215/35219611-ac8b2122-ff73-11e7-9332-adffab64a8ce.gif" width='40%'> </img> |
|
53 |
- |
|
54 |
- |
|
55 |
-## Installation |
|
56 |
-`adaptive` works with Python 3.6 and higher on Linux, Windows, or Mac, and provides optional extensions for working with the Jupyter/IPython Notebook. |
|
57 |
- |
|
58 |
-The recommended way to install adaptive is using `conda`: |
|
59 |
-```bash |
|
60 |
-conda install -c conda-forge adaptive |
|
61 |
-``` |
|
62 |
- |
|
63 |
-`adaptive` is also available on PyPI: |
|
64 |
-```bash |
|
65 |
-pip install adaptive[notebook] |
|
66 |
-``` |
|
67 |
- |
|
68 |
-The `[notebook]` above will also install the optional dependencies for running `adaptive` inside |
|
69 |
-a Jupyter notebook. |
|
70 |
- |
|
71 |
- |
|
72 |
-## Development |
|
73 |
-Clone the repository and run `setup.py develop` to add a link to the cloned repo into your |
|
74 |
-Python path: |
|
75 |
-``` |
|
76 |
-git clone git@github.com:python-adaptive/adaptive.git |
|
77 |
-cd adaptive |
|
78 |
-python3 setup.py develop |
|
79 |
-``` |
|
80 |
- |
|
81 |
-We highly recommend using a Conda environment or a virtualenv to manage the versions of your installed |
|
82 |
-packages while working on `adaptive`. |
|
83 |
- |
|
84 |
-In order to not pollute the history with the output of the notebooks, please setup the git filter by executing |
|
85 |
- |
|
86 |
-```bash |
|
87 |
-python ipynb_filter.py |
|
88 |
-``` |
|
89 |
- |
|
90 |
-in the repository. |
|
91 |
- |
|
92 |
- |
|
93 |
-## Credits |
|
94 |
-We would like to give credits to the following people: |
|
95 |
-- 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. |
|
96 |
-- 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). |
|
97 |
- |
|
98 |
-For general discussion, we have a [Gitter chat channel](https://gitter.im/python-adaptive/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). |
|
99 |
- |
|
100 |
-[logo]: https://gitlab.kwant-project.org/qt/adaptive/uploads/d20444093920a4a0499e165b5061d952/logo.png "adaptive logo" |
... | ... |
@@ -35,6 +35,7 @@ sampling are completely customizable. |
35 | 35 |
The following learners are implemented: |
36 | 36 |
* `Learner1D`, for 1D functions `f: ℝ → ℝ^N`, |
37 | 37 |
* `Learner2D`, for 2D functions `f: ℝ^2 → ℝ^N`, |
38 |
+* `LearnerND`, for ND functions `f: ℝ^N → ℝ^M`, |
|
38 | 39 |
* `AverageLearner`, For stochastic functions where you want to average the result over many evaluations, |
39 | 40 |
* `IntegratorLearner`, for when you want to intergrate a 1D function `f: ℝ → ℝ`, |
40 | 41 |
* `BalancingLearner`, for when you want to run several learners at once, selecting the "best" one each time you get more points. |
... | ... |
@@ -47,7 +47,7 @@ and [`distributed`](https://distributed.readthedocs.io/en/latest/). |
47 | 47 |
|
48 | 48 |
|
49 | 49 |
## Examples |
50 |
-<img src="https://user-images.githubusercontent.com/6897215/35219603-a5a70e34-ff73-11e7-9a38-90749939a4a8.gif" width='20%'> </img> |
|
50 |
+<img src="https://user-images.githubusercontent.com/6897215/38739170-6ac7c014-3f34-11e8-9e8f-93b3a3a3d61b.gif" width='20%'> </img> |
|
51 | 51 |
<img src="https://user-images.githubusercontent.com/6897215/35219611-ac8b2122-ff73-11e7-9332-adffab64a8ce.gif" width='40%'> </img> |
52 | 52 |
|
53 | 53 |
|
... | ... |
@@ -83,7 +83,7 @@ packages while working on `adaptive`. |
83 | 83 |
In order to not pollute the history with the output of the notebooks, please setup the git filter by executing |
84 | 84 |
|
85 | 85 |
```bash |
86 |
-git config filter.nbclearoutput.clean "jupyter nbconvert --to notebook --ClearOutputPreprocessor.enabled=True --ClearOutputPreprocessor.remove_metadata_fields='[\"deletable\", \"editable\", \"collapsed\", \"scrolled\"]' --stdin --stdout" |
|
86 |
+python ipynb_filter.py |
|
87 | 87 |
``` |
88 | 88 |
|
89 | 89 |
in the repository. |
... | ... |
@@ -92,7 +92,6 @@ in the repository. |
92 | 92 |
## Credits |
93 | 93 |
We would like to give credits to the following people: |
94 | 94 |
- 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. |
95 |
-- Christoph Groth for his Python implementation of [`CQUAD`](https://gitlab.kwant-project.org/cwg/python-cquad) which served as basis for the [`IntegratorLearner`](adaptive/learner/integrator_learner.py). |
|
96 | 95 |
- 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). |
97 | 96 |
|
98 | 97 |
For general discussion, we have a [Gitter chat channel](https://gitter.im/python-adaptive/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). |
... | ... |
@@ -56,7 +56,7 @@ and [`distributed`](https://distributed.readthedocs.io/en/latest/). |
56 | 56 |
|
57 | 57 |
The recommended way to install adaptive is using `conda`: |
58 | 58 |
```bash |
59 |
-conda install adaptive |
|
59 |
+conda install -c conda-forge adaptive |
|
60 | 60 |
``` |
61 | 61 |
|
62 | 62 |
`adaptive` is also available on PyPI: |
... | ... |
@@ -54,12 +54,17 @@ and [`distributed`](https://distributed.readthedocs.io/en/latest/). |
54 | 54 |
## Installation |
55 | 55 |
`adaptive` works with Python 3.6 and higher on Linux, Windows, or Mac, and provides optional extensions for working with the Jupyter/IPython Notebook. |
56 | 56 |
|
57 |
-The recommended way to install adaptive is using `pip`: |
|
57 |
+The recommended way to install adaptive is using `conda`: |
|
58 |
+```bash |
|
59 |
+conda install adaptive |
|
60 |
+``` |
|
61 |
+ |
|
62 |
+`adaptive` is also available on PyPI: |
|
58 | 63 |
```bash |
59 | 64 |
pip install adaptive[notebook] |
60 | 65 |
``` |
61 | 66 |
|
62 |
-The `[notebook-extras]` above will also install the optional dependencies for running `adaptive` inside |
|
67 |
+The `[notebook]` above will also install the optional dependencies for running `adaptive` inside |
|
63 | 68 |
a Jupyter notebook. |
64 | 69 |
|
65 | 70 |
|
... | ... |
@@ -4,8 +4,6 @@ |
4 | 4 |
[![Conda](https://anaconda.org/conda-forge/adaptive/badges/installer/conda.svg)](https://anaconda.org/conda-forge/adaptive) |
5 | 5 |
[![Downloads](https://anaconda.org/conda-forge/adaptive/badges/downloads.svg)](https://anaconda.org/conda-forge/adaptive) |
6 | 6 |
[![pipeline status](https://gitlab.kwant-project.org/qt/adaptive/badges/master/pipeline.svg)](https://gitlab.kwant-project.org/qt/adaptive/pipelines) |
7 |
-[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](benchmarks) |
|
8 |
-[![coverage report](https://gitlab.kwant-project.org/qt/adaptive/badges/master/coverage.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
|
9 | 7 |
[![DOI](https://zenodo.org/badge/113714660.svg)](https://zenodo.org/badge/latestdoi/113714660) |
10 | 8 |
[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb) |
11 | 9 |
[![Join the chat at https://gitter.im/python-adaptive/adaptive](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/python-adaptive/adaptive) |
... | ... |
@@ -1,5 +1,8 @@ |
1 | 1 |
# ![][logo] adaptive |
2 | 2 |
|
3 |
+[![PyPI](https://img.shields.io/pypi/v/adaptive.svg)](https://pypi.python.org/pypi/adaptive) |
|
4 |
+[![Conda](https://anaconda.org/conda-forge/adaptive/badges/installer/conda.svg)](https://anaconda.org/conda-forge/adaptive) |
|
5 |
+[![Downloads](https://anaconda.org/conda-forge/adaptive/badges/downloads.svg)](https://anaconda.org/conda-forge/adaptive) |
|
3 | 6 |
[![pipeline status](https://gitlab.kwant-project.org/qt/adaptive/badges/master/pipeline.svg)](https://gitlab.kwant-project.org/qt/adaptive/pipelines) |
4 | 7 |
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](benchmarks) |
5 | 8 |
[![coverage report](https://gitlab.kwant-project.org/qt/adaptive/badges/master/coverage.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
... | ... |
@@ -3,6 +3,7 @@ |
3 | 3 |
[![pipeline status](https://gitlab.kwant-project.org/qt/adaptive/badges/master/pipeline.svg)](https://gitlab.kwant-project.org/qt/adaptive/pipelines) |
4 | 4 |
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](benchmarks) |
5 | 5 |
[![coverage report](https://gitlab.kwant-project.org/qt/adaptive/badges/master/coverage.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
6 |
+[![DOI](https://zenodo.org/badge/113714660.svg)](https://zenodo.org/badge/latestdoi/113714660) |
|
6 | 7 |
[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb) |
7 | 8 |
[![Join the chat at https://gitter.im/python-adaptive/adaptive](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/python-adaptive/adaptive) |
8 | 9 |
|
... | ... |
@@ -15,7 +15,7 @@ With just a few lines of code you can evaluate functions on a computing cluster, |
15 | 15 |
Check out the `adaptive` [example notebook `learner.ipynb`](learner.ipynb) (or run it [live on Binder](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb)) to see examples of how to use `adaptive`. |
16 | 16 |
|
17 | 17 |
|
18 |
-**WARNING: `adaptive` is still in an early alpha development stage** |
|
18 |
+**WARNING: `adaptive` is still in a beta development stage** |
|
19 | 19 |
|
20 | 20 |
|
21 | 21 |
## Implemented algorithms |
... | ... |
@@ -6,7 +6,7 @@ |
6 | 6 |
[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb) |
7 | 7 |
[![Join the chat at https://gitter.im/python-adaptive/adaptive](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/python-adaptive/adaptive) |
8 | 8 |
|
9 |
-**Tools for adaptive parallel evaluation of functions.** |
|
9 |
+**Tools for adaptive parallel sampling of mathematical functions.** |
|
10 | 10 |
|
11 | 11 |
`adaptive` is an [open-source](LICENSE) Python library designed to make adaptive parallel function evaluation simple. |
12 | 12 |
With `adaptive` you just supply a function with its bounds, and it will be evaluated at the "best" points in parameter space. |
... | ... |
@@ -19,7 +19,7 @@ Check out the `adaptive` [example notebook `learner.ipynb`](learner.ipynb) (or r |
19 | 19 |
|
20 | 20 |
|
21 | 21 |
## Implemented algorithms |
22 |
-The core concept in `adaptive` is that of a "learner". A "learner" samples |
|
22 |
+The core concept in `adaptive` is that of a *learner*. A *learner* samples |
|
23 | 23 |
a function at the best places in its parameter space to get maximum |
24 | 24 |
"information" about the function. As it evaluates the function |
25 | 25 |
at more and more points in the parameter space, it gets a better idea of where |
... | ... |
@@ -54,17 +54,31 @@ and [`distributed`](https://distributed.readthedocs.io/en/latest/). |
54 | 54 |
|
55 | 55 |
The recommended way to install adaptive is using `pip`: |
56 | 56 |
```bash |
57 |
-pip install https://gitlab.kwant-project.org/qt/adaptive/repository/master/archive.zip |
|
57 |
+pip install adaptive[notebook] |
|
58 | 58 |
``` |
59 | 59 |
|
60 |
+The `[notebook-extras]` above will also install the optional dependencies for running `adaptive` inside |
|
61 |
+a Jupyter notebook. |
|
62 |
+ |
|
60 | 63 |
|
61 | 64 |
## Development |
65 |
+Clone the repository and run `setup.py develop` to add a link to the cloned repo into your |
|
66 |
+Python path: |
|
67 |
+``` |
|
68 |
+git clone git@github.com:python-adaptive/adaptive.git |
|
69 |
+cd adaptive |
|
70 |
+python3 setup.py develop |
|
71 |
+``` |
|
72 |
+ |
|
73 |
+We highly recommend using a Conda environment or a virtualenv to manage the versions of your installed |
|
74 |
+packages while working on `adaptive`. |
|
62 | 75 |
|
63 | 76 |
In order to not pollute the history with the output of the notebooks, please setup the git filter by executing |
64 | 77 |
|
65 | 78 |
```bash |
66 | 79 |
git config filter.nbclearoutput.clean "jupyter nbconvert --to notebook --ClearOutputPreprocessor.enabled=True --ClearOutputPreprocessor.remove_metadata_fields='[\"deletable\", \"editable\", \"collapsed\", \"scrolled\"]' --stdin --stdout" |
67 | 80 |
``` |
81 |
+ |
|
68 | 82 |
in the repository. |
69 | 83 |
|
70 | 84 |
|
... | ... |
@@ -50,7 +50,7 @@ and [`distributed`](https://distributed.readthedocs.io/en/latest/). |
50 | 50 |
|
51 | 51 |
|
52 | 52 |
## Installation |
53 |
-`adaptive` works with Python 3.5 and higher on Linux, Windows, or Mac, and provides optional extensions for working with the Jupyter/IPython Notebook. |
|
53 |
+`adaptive` works with Python 3.6 and higher on Linux, Windows, or Mac, and provides optional extensions for working with the Jupyter/IPython Notebook. |
|
54 | 54 |
|
55 | 55 |
The recommended way to install adaptive is using `pip`: |
56 | 56 |
```bash |
... | ... |
@@ -4,7 +4,7 @@ |
4 | 4 |
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](benchmarks) |
5 | 5 |
[![coverage report](https://gitlab.kwant-project.org/qt/adaptive/badges/master/coverage.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
6 | 6 |
[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb) |
7 |
-[![Join the chat at https://gitter.im/python-adaptive/adaptive](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/python-adaptive/adaptive?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |
|
7 |
+[![Join the chat at https://gitter.im/python-adaptive/adaptive](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/python-adaptive/adaptive) |
|
8 | 8 |
|
9 | 9 |
**Tools for adaptive parallel evaluation of functions.** |
10 | 10 |
|
... | ... |
@@ -4,6 +4,7 @@ |
4 | 4 |
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](benchmarks) |
5 | 5 |
[![coverage report](https://gitlab.kwant-project.org/qt/adaptive/badges/master/coverage.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
6 | 6 |
[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb) |
7 |
+[![Join the chat at https://gitter.im/python-adaptive/adaptive](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/python-adaptive/adaptive?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |
|
7 | 8 |
|
8 | 9 |
**Tools for adaptive parallel evaluation of functions.** |
9 | 10 |
|
... | ... |
@@ -73,6 +74,6 @@ We would like to give credits to the following people: |
73 | 74 |
- Christoph Groth for his Python implementation of [`CQUAD`](https://gitlab.kwant-project.org/cwg/python-cquad) which served as basis for the [`IntegratorLearner`](adaptive/learner/integrator_learner.py). |
74 | 75 |
- 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). |
75 | 76 |
|
76 |
-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). |
|
77 |
+For general discussion, we have a [Gitter chat channel](https://gitter.im/python-adaptive/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). |
|
77 | 78 |
|
78 | 79 |
[logo]: https://gitlab.kwant-project.org/qt/adaptive/uploads/d20444093920a4a0499e165b5061d952/logo.png "adaptive logo" |
... | ... |
@@ -43,6 +43,11 @@ for [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures. |
43 | 43 |
and [`distributed`](https://distributed.readthedocs.io/en/latest/). |
44 | 44 |
|
45 | 45 |
|
46 |
+## Examples |
|
47 |
+<img src="https://user-images.githubusercontent.com/6897215/35219603-a5a70e34-ff73-11e7-9a38-90749939a4a8.gif" width='20%'> </img> |
|
48 |
+<img src="https://user-images.githubusercontent.com/6897215/35219611-ac8b2122-ff73-11e7-9332-adffab64a8ce.gif" width='40%'> </img> |
|
49 |
+ |
|
50 |
+ |
|
46 | 51 |
## Installation |
47 | 52 |
`adaptive` works with Python 3.5 and higher on Linux, Windows, or Mac, and provides optional extensions for working with the Jupyter/IPython Notebook. |
48 | 53 |
|
... | ... |
@@ -70,4 +70,4 @@ We would like to give credits to the following people: |
70 | 70 |
|
71 | 71 |
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). |
72 | 72 |
|
73 |
-[logo]: /uploads/d20444093920a4a0499e165b5061d952/logo.png "adaptive logo" |
|
73 |
+[logo]: https://gitlab.kwant-project.org/qt/adaptive/uploads/d20444093920a4a0499e165b5061d952/logo.png "adaptive logo" |
... | ... |
@@ -3,6 +3,7 @@ |
3 | 3 |
[![pipeline status](https://gitlab.kwant-project.org/qt/adaptive/badges/master/pipeline.svg)](https://gitlab.kwant-project.org/qt/adaptive/pipelines) |
4 | 4 |
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](benchmarks) |
5 | 5 |
[![coverage report](https://gitlab.kwant-project.org/qt/adaptive/badges/master/coverage.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
6 |
+[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb) |
|
6 | 7 |
|
7 | 8 |
**Tools for adaptive parallel evaluation of functions.** |
8 | 9 |
|
... | ... |
@@ -29,11 +29,11 @@ sampling are completely customizable. |
29 | 29 |
|
30 | 30 |
|
31 | 31 |
The following learners are implemented: |
32 |
-* `Learner1D`, for 1D functions `f: ℝ → ℝ^N` |
|
33 |
-* `Learner2D`, for 2D functions `f: ℝ^2 → ℝ^N` |
|
34 |
-* `AverageLearner`, For stochastic functions where you want to average the result over many evaluations |
|
35 |
-* `IntegratorLearner`, for when you want to intergrate a 1D function `f: ℝ → ℝ` |
|
36 |
-* `BalancingLearner`, for when you want to run several learners at once, selecting the "best" one each time you get more points |
|
32 |
+* `Learner1D`, for 1D functions `f: ℝ → ℝ^N`, |
|
33 |
+* `Learner2D`, for 2D functions `f: ℝ^2 → ℝ^N`, |
|
34 |
+* `AverageLearner`, For stochastic functions where you want to average the result over many evaluations, |
|
35 |
+* `IntegratorLearner`, for when you want to intergrate a 1D function `f: ℝ → ℝ`, |
|
36 |
+* `BalancingLearner`, for when you want to run several learners at once, selecting the "best" one each time you get more points. |
|
37 | 37 |
|
38 | 38 |
In addition to the learners, `adaptive` also provides primitives for running |
39 | 39 |
the sampling across several cores and even several machines, with built-in support |
... | ... |
@@ -64,8 +64,8 @@ in the repository. |
64 | 64 |
## Credits |
65 | 65 |
We would like to give credits to the following people: |
66 | 66 |
- 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. |
67 |
-- Christoph Groth for his Python implementation of [`CQUAD`](https://gitlab.kwant-project.org/cwg/python-cquad) which served as basis for the [`IntegratorLearner`](adaptive/learner/integrator_learner.py) |
|
68 |
-- 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) |
|
67 |
+- Christoph Groth for his Python implementation of [`CQUAD`](https://gitlab.kwant-project.org/cwg/python-cquad) which served as basis for the [`IntegratorLearner`](adaptive/learner/integrator_learner.py). |
|
68 |
+- 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). |
|
69 | 69 |
|
70 | 70 |
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). |
71 | 71 |
|
... | ... |
@@ -6,33 +6,44 @@ |
6 | 6 |
|
7 | 7 |
**Tools for adaptive parallel evaluation of functions.** |
8 | 8 |
|
9 |
-Adaptive is an [open-source](LICENSE) Python library designed to make adaptive parallel function evaluation simple. With adaptive, you can adaptively sample functions by only supplying (in general) a function and its bounds, and run it on a cluster in a few lines of code. Since `adaptive` knows the problem it is solving, it can plot the data for you (even live as the data returns) without any boilerplate. |
|
9 |
+`adaptive` is an [open-source](LICENSE) Python library designed to make adaptive parallel function evaluation simple. |
|
10 |
+With `adaptive` you just supply a function with its bounds, and it will be evaluated at the "best" points in parameter space. |
|
11 |
+With just a few lines of code you can evaluate functions on a computing cluster, live-plot the data as it returns, and fine-tune the adaptive sampling algorithm. |
|
10 | 12 |
|
11 |
-Check out the Adaptive [example notebook `learner.ipynb`](learner.ipynb) (or run it [live on Binder](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb)) to see examples of how to use `adaptive`. |
|
13 |
+Check out the `adaptive` [example notebook `learner.ipynb`](learner.ipynb) (or run it [live on Binder](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb)) to see examples of how to use `adaptive`. |
|
12 | 14 |
|
13 | 15 |
|
14 | 16 |
**WARNING: `adaptive` is still in an early alpha development stage** |
15 | 17 |
|
16 | 18 |
|
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) |
|
19 |
+## Implemented algorithms |
|
20 |
+The core concept in `adaptive` is that of a "learner". A "learner" samples |
|
21 |
+a function at the best places in its parameter space to get maximum |
|
22 |
+"information" about the function. As it evaluates the function |
|
23 |
+at more and more points in the parameter space, it gets a better idea of where |
|
24 |
+the best places are to sample next. |
|
22 | 25 |
|
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. |
|
26 |
+Of course, what qualifies as the "best places" will depend on your application domain! |
|
27 |
+`adaptive` makes some reasonable default choices, but the details of the adaptive |
|
28 |
+sampling are completely customizable. |
|
25 | 29 |
|
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 |
|
30 |
+ |
|
31 |
+The following learners are implemented: |
|
32 |
+* `Learner1D`, for 1D functions `f: ℝ → ℝ^N` |
|
33 |
+* `Learner2D`, for 2D functions `f: ℝ^2 → ℝ^N` |
|
34 |
+* `AverageLearner`, For stochastic functions where you want to average the result over many evaluations |
|
35 |
+* `IntegratorLearner`, for when you want to intergrate a 1D function `f: ℝ → ℝ` |
|
36 |
+* `BalancingLearner`, for when you want to run several learners at once, selecting the "best" one each time you get more points |
|
37 |
+ |
|
38 |
+In addition to the learners, `adaptive` also provides primitives for running |
|
39 |
+the sampling across several cores and even several machines, with built-in support |
|
40 |
+for [`concurrent.futures`](https://docs.python.org/3/library/concurrent.futures.html), |
|
41 |
+[`ipyparallel`](https://ipyparallel.readthedocs.io/en/latest/) |
|
42 |
+and [`distributed`](https://distributed.readthedocs.io/en/latest/). |
|
32 | 43 |
|
33 | 44 |
|
34 | 45 |
## Installation |
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. |
|
46 |
+`adaptive` works with Python 3.5 and higher on Linux, Windows, or Mac, and provides optional extensions for working with the Jupyter/IPython Notebook. |
|
36 | 47 |
|
37 | 48 |
The recommended way to install adaptive is using `pip`: |
38 | 49 |
```bash |
... | ... |
@@ -53,7 +64,7 @@ in the repository. |
53 | 64 |
## Credits |
54 | 65 |
We would like to give credits to the following people: |
55 | 66 |
- 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. |
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) |
|
67 |
+- Christoph Groth for his Python implementation of [`CQUAD`](https://gitlab.kwant-project.org/cwg/python-cquad) which served as basis for the [`IntegratorLearner`](adaptive/learner/integrator_learner.py) |
|
57 | 68 |
- 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) |
58 | 69 |
|
59 | 70 |
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). |
... | ... |
@@ -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 |
|
... | ... |
@@ -1,6 +1,6 @@ |
1 | 1 |
# ![][logo] adaptive |
2 | 2 |
|
3 |
-[![pipeline status](https://gitlab.kwant-project.org/qt/adaptive/badges/master/pipeline.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
|
3 |
+[![pipeline status](https://gitlab.kwant-project.org/qt/adaptive/badges/master/pipeline.svg)](https://gitlab.kwant-project.org/qt/adaptive/pipelines) |
|
4 | 4 |
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](benchmarks) |
5 | 5 |
[![coverage report](https://gitlab.kwant-project.org/qt/adaptive/badges/master/coverage.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
6 | 6 |
|
... | ... |
@@ -33,6 +33,12 @@ git config filter.nbclearoutput.clean "jupyter nbconvert --to notebook --ClearOu |
33 | 33 |
in the repository. |
34 | 34 |
|
35 | 35 |
|
36 |
+## Credits |
|
37 |
+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. |
|
39 |
+- 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) |
|
41 |
+ |
|
36 | 42 |
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). |
37 | 43 |
|
38 | 44 |
[logo]: /uploads/d20444093920a4a0499e165b5061d952/logo.png "adaptive logo" |
... | ... |
@@ -18,7 +18,7 @@ Check out the Adaptive [example notebook `learner.ipynb`](learner.ipynb) (or run |
18 | 18 |
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 | 19 |
|
20 | 20 |
The recommended way to install adaptive is using `pip`: |
21 |
-``` |
|
21 |
+```bash |
|
22 | 22 |
pip install https://gitlab.kwant-project.org/qt/adaptive/repository/master/archive.zip |
23 | 23 |
``` |
24 | 24 |
|
... | ... |
@@ -27,7 +27,7 @@ pip install https://gitlab.kwant-project.org/qt/adaptive/repository/master/archi |
27 | 27 |
|
28 | 28 |
In order to not pollute the history with the output of the notebooks, please setup the git filter by executing |
29 | 29 |
|
30 |
-``` |
|
30 |
+```bash |
|
31 | 31 |
git config filter.nbclearoutput.clean "jupyter nbconvert --to notebook --ClearOutputPreprocessor.enabled=True --ClearOutputPreprocessor.remove_metadata_fields='[\"deletable\", \"editable\", \"collapsed\", \"scrolled\"]' --stdin --stdout" |
32 | 32 |
``` |
33 | 33 |
in the repository. |
... | ... |
@@ -17,7 +17,7 @@ Check out the Adaptive [example notebook `learner.ipynb`](learner.ipynb) (or run |
17 | 17 |
## Installation |
18 | 18 |
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 | 19 |
|
20 |
-The recommended way to install adaptive is using the pip: |
|
20 |
+The recommended way to install adaptive is using `pip`: |
|
21 | 21 |
``` |
22 | 22 |
pip install https://gitlab.kwant-project.org/qt/adaptive/repository/master/archive.zip |
23 | 23 |
``` |
... | ... |
@@ -1,7 +1,7 @@ |
1 | 1 |
# ![][logo] adaptive |
2 | 2 |
|
3 | 3 |
[![pipeline status](https://gitlab.kwant-project.org/qt/adaptive/badges/master/pipeline.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
4 |
-[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](https://gitlab.kwant-project.org/qt/adaptive/) |
|
4 |
+[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](benchmarks) |
|
5 | 5 |
[![coverage report](https://gitlab.kwant-project.org/qt/adaptive/badges/master/coverage.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
6 | 6 |
|
7 | 7 |
**Tools for adaptive parallel evaluation of functions.** |
... | ... |
@@ -1,6 +1,6 @@ |
1 | 1 |
# ![][logo] adaptive |
2 | 2 |
|
3 |
-[![](https://gitlab.kwant-project.org/qt/adaptive/badges/master/build.svg)](https://gitlab.kwant-project.org/qt/adaptive/pipelines) |
|
3 |
+[![pipeline status](https://gitlab.kwant-project.org/qt/adaptive/badges/master/pipeline.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
|
4 | 4 |
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](https://gitlab.kwant-project.org/qt/adaptive/) |
5 | 5 |
[![coverage report](https://gitlab.kwant-project.org/qt/adaptive/badges/master/coverage.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
6 | 6 |
|
... | ... |
@@ -2,6 +2,7 @@ |
2 | 2 |
|
3 | 3 |
[![](https://gitlab.kwant-project.org/qt/adaptive/badges/master/build.svg)](https://gitlab.kwant-project.org/qt/adaptive/pipelines) |
4 | 4 |
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](https://gitlab.kwant-project.org/qt/adaptive/) |
5 |
+[![coverage report](https://gitlab.kwant-project.org/qt/adaptive/badges/master/coverage.svg)](https://gitlab.kwant-project.org/qt/adaptive/commits/master) |
|
5 | 6 |
|
6 | 7 |
**Tools for adaptive parallel evaluation of functions.** |
7 | 8 |
|
... | ... |
@@ -5,9 +5,9 @@ |
5 | 5 |
|
6 | 6 |
**Tools for adaptive parallel evaluation of functions.** |
7 | 7 |
|
8 |
-Adaptive is an [open-source](https://gitlab.kwant-project.org/qt/adaptive/blob/master/LICENSE) Python library designed to make adaptive parallel function evaluation simple. With adaptive, you can adaptively sample functions by only supplying (in general) a function and its bounds, and run it on a cluster in a few lines of code. Since `adaptive` knows the problem it is solving, it can plot the data for you (even live as the data returns) without any boilerplate. |
|
8 |
+Adaptive is an [open-source](LICENSE) Python library designed to make adaptive parallel function evaluation simple. With adaptive, you can adaptively sample functions by only supplying (in general) a function and its bounds, and run it on a cluster in a few lines of code. Since `adaptive` knows the problem it is solving, it can plot the data for you (even live as the data returns) without any boilerplate. |
|
9 | 9 |
|
10 |
-Check out the Adaptive [example notebook `learner.ipynb`](https://gitlab.kwant-project.org/qt/adaptive/blob/github_mirror/learner.ipynb) (or run it [live on Binder](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb)) to see examples of how to use `adaptive`. |
|
10 |
+Check out the Adaptive [example notebook `learner.ipynb`](learner.ipynb) (or run it [live on Binder](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb)) to see examples of how to use `adaptive`. |
|
11 | 11 |
|
12 | 12 |
|
13 | 13 |
**WARNING: `adaptive` is still in an early alpha development stage** |
... | ... |
@@ -1,4 +1,4 @@ |
1 |
-# <img src="https://gitlab.kwant-project.org/uploads/-/system/personal_snippet/11/51e76315d21adc5b072fab8a242ea99a/logo.png" alt="adaptive logo" height="40px" align="left"/> adaptive |
|
1 |
+# ![][logo] adaptive |
|
2 | 2 |
|
3 | 3 |
[![](https://gitlab.kwant-project.org/qt/adaptive/badges/master/build.svg)](https://gitlab.kwant-project.org/qt/adaptive/pipelines) |
4 | 4 |
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](https://gitlab.kwant-project.org/qt/adaptive/) |
... | ... |
@@ -33,3 +33,5 @@ in the repository. |
33 | 33 |
|
34 | 34 |
|
35 | 35 |
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). |
36 |
+ |
|
37 |
+[logo]: /uploads/d20444093920a4a0499e165b5061d952/logo.png "adaptive logo" |
... | ... |
@@ -1,6 +1,27 @@ |
1 |
-# Tools for adaptive parallel evaluation of functions |
|
1 |
+# <img src="https://gitlab.kwant-project.org/uploads/-/system/personal_snippet/11/51e76315d21adc5b072fab8a242ea99a/logo.png" alt="adaptive logo" height="40px" align="left"/> adaptive |
|
2 |
+ |
|
3 |
+[![](https://gitlab.kwant-project.org/qt/adaptive/badges/master/build.svg)](https://gitlab.kwant-project.org/qt/adaptive/pipelines) |
|
2 | 4 |
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](https://gitlab.kwant-project.org/qt/adaptive/) |
3 | 5 |
|
6 |
+**Tools for adaptive parallel evaluation of functions.** |
|
7 |
+ |
|
8 |
+Adaptive is an [open-source](https://gitlab.kwant-project.org/qt/adaptive/blob/master/LICENSE) Python library designed to make adaptive parallel function evaluation simple. With adaptive, you can adaptively sample functions by only supplying (in general) a function and its bounds, and run it on a cluster in a few lines of code. Since `adaptive` knows the problem it is solving, it can plot the data for you (even live as the data returns) without any boilerplate. |
|
9 |
+ |
|
10 |
+Check out the Adaptive [example notebook `learner.ipynb`](https://gitlab.kwant-project.org/qt/adaptive/blob/github_mirror/learner.ipynb) (or run it [live on Binder](https://mybinder.org/v2/gh/python-adaptive/adaptive/master?filepath=learner.ipynb)) to see examples of how to use `adaptive`. |
|
11 |
+ |
|
12 |
+ |
|
13 |
+**WARNING: `adaptive` is still in an early alpha development stage** |
|
14 |
+ |
|
15 |
+ |
|
16 |
+## Installation |
|
17 |
+Adaptive works with Python 3.5 and higher on Linux, Windows, or Mac, and provides optional extensions for working with the Jupyter/IPython Notebook. |
|
18 |
+ |
|
19 |
+The recommended way to install adaptive is using the pip: |
|
20 |
+``` |
|
21 |
+pip install https://gitlab.kwant-project.org/qt/adaptive/repository/master/archive.zip |
|
22 |
+``` |
|
23 |
+ |
|
24 |
+ |
|
4 | 25 |
## Development |
5 | 26 |
|
6 | 27 |
In order to not pollute the history with the output of the notebooks, please setup the git filter by executing |
... | ... |
@@ -8,5 +29,7 @@ In order to not pollute the history with the output of the notebooks, please set |
8 | 29 |
``` |
9 | 30 |
git config filter.nbclearoutput.clean "jupyter nbconvert --to notebook --ClearOutputPreprocessor.enabled=True --ClearOutputPreprocessor.remove_metadata_fields='[\"deletable\", \"editable\", \"collapsed\", \"scrolled\"]' --stdin --stdout" |
10 | 31 |
``` |
11 |
- |
|
12 | 32 |
in the repository. |
33 |
+ |
|
34 |
+ |
|
35 |
+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). |
1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,11 @@ |
1 |
+# Tools for adaptive parallel evaluation of functions |
|
2 |
+ |
|
3 |
+## Development |
|
4 |
+ |
|
5 |
+In order to not pollute the history with the output of the notebooks, please setup the git filter by executing |
|
6 |
+ |
|
7 |
+``` |
|
8 |
+git config filter.nbclearoutput.clean "jupyter nbconvert --to notebook --ClearOutputPreprocessor.enabled=True --ClearOutputPreprocessor.remove_metadata_fields='[\"deletable\", \"editable\", \"collapsed\", \"scrolled\"]' --stdin --stdout" |
|
9 |
+``` |
|
10 |
+ |
|
11 |
+in the repository. |