Approximate the structure factor of a stationary point process, test its hyperuniformity, and identify its class of hyperuniformity.
Project description
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
spatstat
R package to estimate the pair correlation function of point processes usingspatstat-interface
. -
Python dependencies are listed in the
pyproject.toml
file.
Installation
Once installed it can be called from
import structure_factor
from 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},
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for structure_factor-2.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 970954ecab8d79c9706f7202407e37156afa13bd35dc503f4af864875b7158cb |
|
MD5 | 2c06e3baa66341c15ed08862450583ba |
|
BLAKE2b-256 | 030b671410fee70508715b1183647e39c4ecd4b15b83af8355f92c0f2418db71 |