Skip to main content

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},
}

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.2.1.tar.gz (3.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file structure_factor-2.2.1.tar.gz.

File metadata

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

File hashes

Hashes for structure_factor-2.2.1.tar.gz
Algorithm Hash digest
SHA256 6ba30b65c17b3eeb59698e6210921204239293738d02d1c32567647d94296753
MD5 548c6edbcb25abf6706ffcef0447e5bc
BLAKE2b-256 9c7de7703d892a1024a4167e185e47a662b0f0374a3d318f9b05417541bcf8e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: structure_factor-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.9.2 Darwin/20.6.0

File hashes

Hashes for structure_factor-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 970954ecab8d79c9706f7202407e37156afa13bd35dc503f4af864875b7158cb
MD5 2c06e3baa66341c15ed08862450583ba
BLAKE2b-256 030b671410fee70508715b1183647e39c4ecd4b15b83af8355f92c0f2418db71

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.2.1 This release

2 files

2.1.1

2 files

2.0.1

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page