structure-factor
Approximate the structure factor of a stationary point process, test its hyperuniformity, and identify its class of hyperuniformity.
Introduction
structure-factor is an open-source Python project which currently collects
- various estimators of the structure factor
- several diagnostics of hyperuniformity
for stationary and isotropic point processes.
Please checkout the documentation for more details.
Dependencies
-
R programming language, since we call the
spatstatR package to estimate the pair correlation function of point processes usingspatstat-interface. -
Python dependencies are listed in the
pyproject.tomlfile.
Installation
Once installed it can be called from
import structure_factorfrom structure_factor import ...
Install the project as a dependency
-
Install the latest version published on
# activate your virtual environment an run poetry add structure-factor # poetry add structure-factor@latest to update if already present # pip install --upgrade structure-factor
-
Install from source (this may be broken)
# activate your virtual environment and run poetry add git+https://github.com/For-a-few-DPPs-more/structure-factor.git # pip install git+https://github.com/For-a-few-DPPs-more/structure-factor.git
Install in editable mode and potentially contribute to the project
The package can be installed in editable mode using poetry.
To do this, clone the repository:
-
if you considered forking the repository
git clone https://github.com/your_user_name/structure-factor.git
-
if you have not forked the repository
git clone https://github.com/For-a-few-DPPs-more/structure-factor.git
and install the package in editable mode
cd structure-factor
poetry shell # to create/activate local .venv (see poetry.toml)
poetry install
# poetry install --no-dev # to avoid installing the development dependencies
# poetry add -E docs -E notebook # to install extra dependencies
Documentation
- generated using Sphinx, and
- published via the GitHub workflow file .github/workflows/docs.yml.
Build the documentation
If you use poetry
-
install the documentation dependencies (see
[tool.poetry.extras]inpyproject.toml)cd structure-factor poetry shell # to create/activate local .venv (see poetry.toml) poetry install -E docs # (see [tool.poetry.extras] in pyproject.toml)
-
and run
# cd structure-factor # poetry shell # to create/activate local .venv (see poetry.toml) poetry run sphinx-build -b html docs docs/_build/html open _build/html/index.html
Otherwise, if you don't use poetry
-
install the documentation dependencies (listed in
[tool.poetry.extras]inpyproject.toml), and -
run
cd structure-factor # activate a virtual environment pip install '.[notebook]' # (see [tool.poetry.extras] in pyproject.toml) sphinx-build -b html docs docs/_build/html open _build/html/index.html
Getting started
Documentation
Notebooks
Jupyter that showcase structure-factor are available in the ./notebooks folder.
How to cite this work
Companion paper
We wrote a companion paper to structure-factor,
On estimating the structure factor of a point process, with applications to hyperuniformity
where we provided rigorous mathematical derivations of the structure factor's estimators of a stationary point process and showcased structure-factor on different point processes.
We also contribute a new asymptotically valid statistical test of hyperuniformity.
Finally, we compared numerically the accuracy of the estimators.
Citation
If you use structure-factor, please consider citing it with this piece of BibTeX:
@article{HGBLR:22,
arxivid = {2203.08749},
journal = {arXiv preprint},
author = {Hawat, Diala and Gautier, Guillaume and Bardenet, R{\'{e}}mi and Lachi{\`{e}}ze-Rey, Rapha{\"{e}}l},
note = {arXiv: 2203.08749},
title = {On estimating the structure factor of a point process, with applications to hyperuniformity},
year = {2022},
}
Metadata
Release files for structure-factor 2.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| structure_factor-2.2.1.tar.gz | 3.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| structure_factor-2.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.0 MB
Release files / structure_factor-2.2.1.tar.gz
| Download URL | structure_factor-2.2.1.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6ba30b65c17b3eeb59698e6210921204239293738d02d1c32567647d94296753
|
|
BLAKE2b-256 checksum How to use checksums |
9c7de7703d892a1024a4167e185e47a662b0f0374a3d318f9b05417541bcf8e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.1 CPython/3.9.2 Darwin/20.6.0
|
Release files / structure_factor-2.2.1-py3-none-any.whl
| Download URL | structure_factor-2.2.1-py3-none-any.whl |
|---|---|
| Size | 3.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
970954ecab8d79c9706f7202407e37156afa13bd35dc503f4af864875b7158cb
|
|
BLAKE2b-256 checksum How to use checksums |
030b671410fee70508715b1183647e39c4ecd4b15b83af8355f92c0f2418db71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.1 CPython/3.9.2 Darwin/20.6.0
|