🕸️ Nabled
Nabled is an ndarray-native Rust numerical library focused on production-grade linear algebra and ML-oriented matrix/vector operations.
Install
[]
= "0.0.3"
Implemented Domains
This list is ever-changing, consult the Rust Docs for the source of truth.
- SVD, QR, LU, Cholesky, Eigen, Schur, Polar
- Matrix functions (exp/log/power/sign)
- Triangular solve, Sylvester/Lyapunov
- PCA, regression, iterative solvers
- Numerical Jacobian/gradient/Hessian
- Statistics utilities
- Vector primitives (dot/norm/cosine/pairwise/batched)
Quick Example
use arr2;
use svd;
Review more examples in nabled.
Namespaced API
nabled::core: shared errors, validation, and prelude exports.nabled::linalg: linear algebra and decomposition modules.nabled::ml: ML-oriented numerical routines.
Features
blas: enablesndarray/blasacross participating workspace crates.openblas-system: enables provider-backed LAPACK paths via system OpenBLAS.openblas-static: enables provider-backed LAPACK paths via statically linked OpenBLAS.netlib-system: enables provider-backed LAPACK paths via system Netlib LAPACK.netlib-static: enables provider-backed LAPACK paths via statically linked Netlib LAPACK.accelerator-rayon: enables selected parallel CPU kernels.accelerator-wgpu: enables selected WGPU-backed kernels.
[]
= { = "0.0.3", = ["openblas-system"] }
Feature behavior:
openblas-systemimpliesblas.- Provider feature selection (
openblas-system,openblas-static,netlib-system,netlib-static) is compile-time and internal to decomposition paths. - Backend acceleration is compile-time and kernel-family-specific.
- Provider/toolchain requirements depend on backend choice;
openblas-staticandnetlib-staticrequire native build toolchains (gcc/gfortran/make), andnetlib-systemrequires a systemLAPACK/Fortran runtime available to the linker.
Quality Gates
On macOS, provider-enabled just recipes automatically set PKG_CONFIG_PATH and OPENBLAS_DIR for Homebrew OpenBLAS (/opt/homebrew/opt/openblas). No manual env export is required for those recipes.
Benchmarks
License
Licensed under either:
- MIT license
- Apache License, Version 2.0
at your option.