Crate oxiblas_lapack

Crate oxiblas_lapack 

Source
Expand description

OxiBLAS LAPACK - Pure Rust LAPACK implementation.

This crate provides LAPACK (Linear Algebra PACKage) operations implemented in pure Rust.

§Decompositions

  • LU: LU decomposition with partial/full pivoting ✓
  • Cholesky: LL^T and LDL^T decomposition for positive definite matrices ✓
  • QR: QR decomposition with optional column pivoting ✓
  • EVD: Eigenvalue decomposition (symmetric and general) ✓
  • SVD: Singular value decomposition (Jacobi, divide-and-conquer, randomized) ✓

§Example

use oxiblas_lapack::lu::Lu;
use oxiblas_matrix::Mat;

let a: Mat<f64> = Mat::from_rows(&[
    &[2.0, 1.0],
    &[1.0, 3.0],
]);

let lu = Lu::compute(a.as_ref()).expect("Matrix is not singular");
let det = lu.determinant();
assert!((det - 5.0).abs() < 1e-10); // det = 2*3 - 1*1 = 5

Modules§

cholesky
Cholesky Decomposition and Symmetric Factorizations.
error
Standardized error codes for LAPACK operations.
evd
Eigenvalue Decomposition.
info
Detailed information structures for matrix factorizations.
lu
LU Decomposition.
prelude
Prelude module for convenient imports.
qr
QR Decomposition and related factorizations.
solve
Linear system solvers.
svd
Singular Value Decomposition (SVD).
utils
Matrix utilities.
workspace
Workspace size query functions (LAPACK-style lwork queries).