This library provides 2 implementations of B-Spline using the same API: one that evaluates fully in Go (CPU, slower)
and one using GoMLX
for ML and/or accelerators.
- Support for zero, constant or linear extrapolation beyond the region defined by the knots.
- Derivative B-spline.
- GoMLX "vector" version in github.com/gomlx/gomlx/ml/layers/kan
- Building block to build KAN: Kolmogorov–Arnold Networks
- Batch evaluation.
- Multiple control points -- for various different B-splines to be applied to the same input points. They share the same basis function calculation for improved efficiency.
- Plotting using
GoNB
Jupyter Notebook. - See demo notebook with some plot samples.
- Moved GoMLX code to github.com/gomlx/gomlx/ml/layers/kan, to avoid circular dependency across repositories.