pfapack 0.3.1
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)
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.