Expand description
§nabled
nabled is an ndarray-native numerical library focused on production-grade
linear algebra and ML-oriented primitives.
§Crate Layout
corefor shared error taxonomy, validation, and ndarray prelude exports.linalgfor linear algebra and decomposition domains (includinggeometryandsignal).- [
ml] for ML-oriented numerical routines. - [
embeddings] for embedding retrieval compute (normalize, score, rerank, kNN, compress). - [
kinematics] for chain specification, FK, Jacobian, and IK. - [
model] for robot model representation and URDF ingestion. - [
dynamics] for rigid-body dynamics algorithms. - [
control] for LTI control synthesis (DARE/LQR and related tools). - [
sensor] for sensor fusion (Kalman/EKF and related models). - [
sim] for cross-crate Physical AI orchestration (simulation, IK trajectories, control loops, estimation pipelines).
§Feature Flags
Per-domain opt-in features gate which sub-crate facades are re-exported. The
default is ["linalg"]; enable additional features as needed. See
docs/FEATURE_MATRIX.md for the full matrix.
Domain features:
linalg: re-exportscrate::linalg(nabled-linalg). Default.geometry: re-exportscrate::linalg::geometry(implied bylinalg).signal: enablesnabled-linalg::signalFFT-backed routines and propagates tonabled-simwhen enabled.ml: re-exports [crate::ml] (nabled-ml).embeddings: re-exports [crate::embeddings] (nabled-embeddings); implieslinalg+ml.model: re-exports [crate::model] (nabled-model).kinematics: re-exports [crate::kinematics] (impliesmodel).dynamics: re-exports [crate::dynamics] (implieskinematics+model).control: re-exports [crate::control] (nabled-control).sensor: re-exports [crate::sensor] (nabled-sensor).sim: re-exports [crate::sim] orchestration (implieskinematics + dynamics + control + sensor + ml + model + geometry).physical-ai: umbrella enabling every Physical AI domain feature.
BLAS/LAPACK provider features:
blas: enablesndarray/blasin lower crates.openblas-system/openblas-static/netlib-system/netlib-static: provider-backedLAPACKpaths.magma-system: NVIDIA MAGMA provider-backed decomposition paths.accelerator-rayon: enables parallel CPU kernels where implemented.accelerator-wgpu: enables WGPU-backed kernel paths where implemented.arrow: facade-only Arrow/ndarray interop adapters backed byndarrow.
§Execution Semantics
Provider: decomposition implementation source (internal vs selected LAPACK provider).Backend: primitive-kernel execution target (CPU/WGPU).Kernel: operation-family backend contract (matmat,matvec, sparse ops, tensor ops).
§Quick Start
use ndarray::arr2;
use nabled::linalg::svd;
let a = arr2(&[[1.0_f64, 2.0], [3.0, 4.0]]);
let decomposition = svd::decompose(&a)?;
assert_eq!(decomposition.singular_values.len(), 2);§Optional Provider Build
cargo test -p nabled --features openblas-system§Optional Accelerator Build
cargo test -p nabled --features accelerator-wgpu