Skip to content

ML Primitives

Aether's ML code lives under crates/aether-core/src/ml. The documentation describes the module inventory and claim boundaries rather than presenting it as a benchmarked replacement for external ML frameworks.

Module Inventory

Module Active surface
tensor Owned tensor data, shapes, indexing, map, add, sub, mul, scale, transpose, matmul, reductions
linalg Loss functions, distances, RBF kernel, numerical gradients
regressor Linear, polynomial, RBF-style, Gaussian-process-labeled, and geodesic-labeled model enum paths
convergence Betti records, drift/error windows, residual analysis
benchmark Escalating benchmark runner over internal test functions
clustering KMeans, DBSCAN, agglomerative clustering, auto-k helper
classification Logistic regression, KNN, perceptron, Gaussian naive Bayes, decision stump, AdaBoost, nearest centroid
neural Dense layers, activations, optimizer config, MLP training loop
autograd Tape and variable scaffolding for differentiable tensor operations
convolution Conv2D forward path
dataloader Batch iteration over tensors
gossip Local centroid and consensus propagation

Language Boundary

The DSL exposes a narrower surface than the Rust crate inventory. Constructors such as Ml.MLP, Ml.KMeans, and Ml.Conv2D are available through native function dispatch. Individual methods should be documented as active only when the interpreter path is implemented and tested.

Claim Boundary

The ML module can be described as internal Rust ML primitives. It should not be documented as:

  • faster than PyTorch, TensorFlow, sklearn, GUDHI, or ripser;
  • production-ready for all model families;
  • equivalent to external framework semantics;
  • hardware accelerated.

Those claims require benchmark artifacts and parity tests.