mdarray-linalg

Crates.iomdarray-linalg
lib.rsmdarray-linalg
version0.1.2
created_at2025-10-24 16:01:10.448446+00
updated_at2025-11-05 20:59:18.14632+00
descriptionLinear algebra operations for mdarray, with multiple exchangeable backends
homepage
repositoryhttps://github.com/grothesque/mdarray-linalg
max_upload_size
id1898643
size132,429
Christoph Groth (grothesque)

documentation

README

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.

Commit count: 0

cargo fmt