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 = 5Modules§
- 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).