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

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)

Source distribution for structure-factor 2.2.1
File Size Uploaded
structure_factor-2.2.1.tar.gz 3.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for structure-factor 2.2.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.2.1 This release

2 release files

2.1.1

2 release files

2.0.1

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page