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 --versionIf you want to update it anyways, just run the command
$ rustup updateand 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 buildalso in release mode using -r compiler flag.
- Complete the
README.md - Finish testing
- Document code base