Skip to main content

Approximate the structure factor of a stationary point process, test its hyperuniformity, and identify its class of hyperuniformity.

Project description

structure-factor

CI-tests codecov docs-build docs-page PyPi version Python >=3.7.1,<3.10 Open In Colab

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

Installation

structure-factor works with Python >=3.7.1,<3.10.

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 PyPi version

    # 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

The documentation docs-page is

Build the documentation

If you use poetry

  • install the documentation dependencies (see [tool.poetry.extras] in pyproject.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] in pyproject.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

See the documentation docs-page

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

structure-factor-2.1.1.tar.gz (3.0 MB view details)

Uploaded Source

Built Distribution

structure_factor-2.1.1-py3-none-any.whl (3.0 MB view details)

Uploaded Python 3

File details

Details for the file structure-factor-2.1.1.tar.gz.

File metadata

  • Download URL: structure-factor-2.1.1.tar.gz
  • Upload date:
  • Size: 3.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.9.2 Darwin/20.6.0

File hashes

Hashes for structure-factor-2.1.1.tar.gz
Algorithm Hash digest
SHA256 3d0bc622a45ec9eeecaa095f2b2ce5205076a4884a301d17630c7d3a81a0a384
MD5 94943a8ca8dafe39fe94c6b800d1d634
BLAKE2b-256 6d160830e167eef157db06d2c646995cf746c6314968fa66ec31c95a2a039a71

See more details on using hashes here.

File details

Details for the file structure_factor-2.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for structure_factor-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f64fa534977b54082f1e9b37e640015c48059dddcacb52e1743d7035becae374
MD5 ce535015b0230eb4feed1fbffe5ab9fd
BLAKE2b-256 5b1ae22fdaafe81e2b1cfe8912cd0b62bb5d783adf2b9f79289238de69e08786

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page