54 releases

Uses old Rust 2015

0.19.0 Apr 18, 2021
0.17.0 Feb 13, 2021
0.16.0 May 26, 2018
0.15.2 Mar 5, 2018
0.0.2 Nov 21, 2014

#74 in Math

Download history 4282/week @ 2024-07-20 3708/week @ 2024-07-27 4063/week @ 2024-08-03 3054/week @ 2024-08-10 2755/week @ 2024-08-17 3306/week @ 2024-08-24 3136/week @ 2024-08-31 4089/week @ 2024-09-07 4168/week @ 2024-09-14 3582/week @ 2024-09-21 3108/week @ 2024-09-28 3839/week @ 2024-10-05 3694/week @ 2024-10-12 4269/week @ 2024-10-19 3907/week @ 2024-10-26 4280/week @ 2024-11-02

16,809 downloads per month
Used in 73 crates (19 directly)

Apache-2.0/MIT

700KB
38K SLoC

LAPACK Package Documentation Build

The package provides wrappers for LAPACK (Fortran).

Architecture

Example

use lapack::*;

let n = 3;
let mut a = vec![3.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.0];
let mut w = vec![0.0; n as usize];
let mut work = vec![0.0; 4 * n as usize];
let lwork = 4 * n;
let mut info = 0;

unsafe {
    dsyev(b'V', b'U', n, &mut a, n, &mut w, &mut work, lwork, &mut info);
}

assert!(info == 0);
for (one, another) in w.iter().zip(&[2.0, 2.0, 5.0]) {
    assert!((one - another).abs() < 1e-14);
}

Development

The code is generated via a Python script based on the content the lapack-sys submodule. To re-generate, run the following commands:

./bin/generate.py > src/lapack-sys.rs
rustfmt src/lapack-sys.rs

Contribution

Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.

Dependencies

~60MB
~746K SLoC