Skip to main content

Open source library for hafnian calculation

Project description

Travis Codecov coverage Codacy grade Read the Docs PyPI - Python Version

The fastest exact hafnian library for real and complex full rank matrices. For more information, please see the documentation.

Features

  • Provides the fastest calculation of the hafnian and loop hafnian.

  • The algorithms in this library are what Ryser’s formula is to the permanent.

Dependencies

Hafnian depends on the following Python packages:

These can be installed using pip, or, if on linux, using your package manager (i.e. apt if on a Debian-based system.)

Note that the C extension may need to be compiled; you will need the following libraries:

  • BLAS

  • LAPACKe

  • OpenMP

On Debian-based systems, this can be done via apt before installation:

$ sudo apt install liblapacke-dev

Installation

Installation of Hafnian, as well as all required Python packages mentioned above, can be done using pip:

$ python -m pip install hafnian

Software tests

To ensure that the Hafnian library is working correctly after installation, the test suite can be run by navigating to the source code folder and running

make test

Documentation

The Hafnian documentation is built automatically and hosted at Read the Docs. To build it locally, you need to have the following packages installed:

They can be installed via a combination of pip and apt if on a Debian-based system:

$ sudo apt install pandoc
$ pip3 install sphinx sphinxcontrib-bibtex nbsphinx --user

To build the HTML documentation, go to the top-level directory and run the command

$ make doc

The documentation can then be found in the docs/_build/html/ directory.

Authors

Nicolás Quesada, Brajesh Gupt, and Josh Izaac.

If you are doing research using Hafnian, please cite our paper:

Andreas Björklund, Brajesh Gupt, and Nicolás Quesada. A faster hafnian formula for complex matrices and its benchmarking on the Titan supercomputer arXiv, 2018. arxiv:1805.12498

Support

If you are having issues, please let us know by posting the issue on our Github issue tracker.

License

Hafnian is free and open source, released under the Apache License, Version 2.0.

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

Hafnian-0.1.2.tar.gz (43.9 kB view details)

Uploaded Source

File details

Details for the file Hafnian-0.1.2.tar.gz.

File metadata

  • Download URL: Hafnian-0.1.2.tar.gz
  • Upload date:
  • Size: 43.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.9.1 setuptools/38.5.1 requests-toolbelt/0.8.0 tqdm/4.19.8 CPython/3.6.3

File hashes

Hashes for Hafnian-0.1.2.tar.gz
Algorithm Hash digest
SHA256 452e657c1eadf9b6580428e724e67dfb55114559e79c9bd4d37ba9e14f106982
MD5 d53243540aa75d3940c38066ac90a55d
BLAKE2b-256 31e675364cb763711b67813a722143dae05c7eea57e6c4c910fd3c444b31a34a

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