Skip to content

grothesque/mdarray-linalg

Repository files navigation

mdarray-linalg: linear algebra bindings for Rust mdarray

Efficient, flexible, and idiomatic linear algebra bindings (BLAS, LAPACK, etc.) to the Rust mdarray crate.

Usage

These crates are released on crates.io:

cargo add mdarray-linalg

and if you need a backend:

cargo add mdarray-linalg-blas 

Important notes:

  • Use the latest version of mdarray.
  • When using the BLAS backend, include openblas-src to avoid linkage errors
  • When running doctests with Blas or Lapack, linking issues may occur due to this Rust issue: rust-lang/rust#125657. In that case, run the doctests with: RUSTDOCFLAGS="-L native=/usr/lib -C link-arg=-lopenblas" cargo test --doc

If you encounter linking issues with BLAS or LAPACK on Linux, one solution is to add a build.rs file and configure it to link the libraries manually. In your Cargo.toml, add:

[package]
build = "build.rs"

Then, create a build.rs file with the following content:

fn main() {
    println!("cargo:rustc-link-lib=openblas");
    println!("cargo:rustc-link-search=native=/usr/lib");
}

See docs.rs documentation for code examples and usage instructions.

License

Dual-licensed (Apache and MIT) to be compatible with the Rust project. See the file LICENSE.md in this directory.

About

Linear algebra bindings for Rust mdarray

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages