Rust port of the Fortran library pfapack (arXiv:1102.3440) published on crates.io. Pfapack is 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 - Micheal Wimmer.
We recommend having a version of cargo >= 1.70.0
and Rust compiler rustc >= 1.70.0
to use this crate. If you don't know what version you have, run the following commands
$ cargo version
$ rustc --version
If you want to update it anyways, just run the command
$ rustup update
and it will update/upgrade the version of your Rust compiler.
Users must also have a version of LAPACK (Linear Algebra PACKage) and BLAS (Basic Linear Algebra Subprograms) on their computers. Pfapack uses directly those Fortran libraries.
Using cargo
, just add the following to your Cargo.toml
[dependencies]
pfapack = "0.2.0"
and the following lines inside the main function of the build.rs
script (present at the root of your project).
println!("cargo:rustc-link-lib=pfapack");
println!("cargo:rustc-link-lib=cpfapack");
println!("cargo:rustc-link-lib=lapack");
println!("cargo:rustc-link-lib=blas");
Then you should be able to build your project using the command
$ cargo build
also in release mode using -r
compiler flag.
- Complete the
README.md
- Finish testing
- Document code base