Skip to content

Rust port of the Fortran library pfapack (arXiv:1102.3440)

License

Notifications You must be signed in to change notification settings

Duumbo/pfapack-rs

Repository files navigation

pfapack-rs

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.

Rust

Build release PULLREQUESTS CRATES

Table of contents

Requirements
  • Rust
  • LAPACK and BLAS
  • Installation
    Usage
    Todo

    Requirements

    Rust

    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.

    LAPACK and BLAS

    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.

    Installation

    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.

    Usage

    TODO

    • Complete the README.md
    • Finish testing
    • Document code base

    About

    Rust port of the Fortran library pfapack (arXiv:1102.3440)

    Topics

    Resources

    License

    Stars

    Watchers

    Forks

    Packages

    No packages published

    Languages