A library for numerically computing the Pfaffian of a real or complex skew-symmetric matrix. This is based on
computing the tridiagonal form of the matrix under unitary congruence transformations.
The theory behind the implementation is explained in
ACM Trans. Math. Software 38 30 (2012)
(also on arxiv). Please cite this paper
if you use the PFAPACK library in your work.
Download the library here: pfapack.tgz.
Update on September, 17th 2014
Update on April, 4th 2011
- Added a C-interface (was already present in the ACM TOMS version)
- Fixed a bug in the python implementation where a matrix with data type
integer would give wrong results. (Other implementations were not affected)
PFAPACK has seen a major update:
- Overall speed-up of the Pfaffian routines
by using only a partial tridiagonalization (typically twice as fast)
- New algorithm for computing the Pfaffian (Parlett-Reid) that
is typically twice as fast as the Householder based algorithm
- Fortran 95 interface
- Extended test suite
- Matlab implementation (in addition to Fortran, Mathematica and Python)