Efficient numerical computation of the Pfaffian for dense and banded skew-symmetric matrices.
Project description
pfapack
: Efficient numerical computation of the Pfaffian for dense and banded skew-symmetric matrices
Code and algorithms are taken from arXiv:1102.3440 which is authored by Michael Wimmer.
Install
Recommended way (because it includes faster C/FORTRAN bindings)
conda install pfapack
Alternatively use
pip install pfapack
Usage
from pfapack import pfaffian as pf
import numpy.matlib
A = numpy.matlib.rand(100, 100)
A = A - A.T
pfa1 = pf.pfaffian(A)
pfa2 = pf.pfaffian(A, method="H")
pfa3 = pf.pfaffian_schur(A)
print(pfa1, pfa2, pfa3)
If installed with conda
, C/FORTRAN code is included with Python bindings, use it like:
from pfapack.ctypes import pfaffian as cpf
pfa1 = cpf(A)
pfa2 = cpf(A, method="H")
print(pfa1, pfa2)
Citing
If you have used pfapack
in your research, please cite it using the following bib
entry:
@article{wimmer2012algorithm,
title={Efficient numerical computation of the pfaffian for dense and banded skew-symmetric matrices},
author={Michael Wimmer},
journal={ACM Transactions on Mathematical Software (TOMS)},
volume={38},
number={4},
pages={1--17},
year={2012},
publisher={ACM New York, NY, USA}
}
License
MIT License
Contributions
- Bas Nijholt
- Michael Wimmer (author of the algorithms)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pfapack-0.3.1.tar.gz
(13.0 kB
view details)
Built Distribution
pfapack-0.3.1-py3-none-any.whl
(12.8 kB
view details)
File details
Details for the file pfapack-0.3.1.tar.gz
.
File metadata
- Download URL: pfapack-0.3.1.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f2efe474f35f5c51e9c00789c0f0aeaa0d4495e75a3a23fc023914df4f95a51 |
|
MD5 | 9d892f64dbb9686ed904daad86905706 |
|
BLAKE2b-256 | e12e7d0f0b638160e8826c0d233d06439021a358b55d843987f57889d1c31950 |
File details
Details for the file pfapack-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: pfapack-0.3.1-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09eac9a2101b8cab99910711e182201f596602733e48255329cb3ff2ae0cbed6 |
|
MD5 | 297ea3be66aea48c5fc9aad619ccba4b |
|
BLAKE2b-256 | fd6b475e7ecc5a66cbc87f7a9f54ba92eea0f7d11a7e39d1d1dcc23eac39bbf3 |