How cyancirrus/stellar-math works
StellarMath is a low-level Rust numerical library for array operations, transforms, matrix decompositions, solvers, and learning algorithms. Users invoke these library domains to compute results over numerical data. The README documents row-major contiguous arrays and the major capabilities; sampled source confirms the module layout, but does not show internal call sites, so the graph avoids speculative links between subsystems.
Main entry points: ndarray.rs Array structures · mod.rs Algebra operations · fourier.rs Fourier transforms · signal.rs Signal operations
Components 18
Data and algebra
- Array structures
src/structure/ndarray.rs - Algebra operations
src/algebra/mod.rs - Fourier transforms
src/algebra/fourier.rs - Signal operations
src/algebra/signal.rs
Decompositions
- Cholesky and LU
src/decomposition/mod.rs - QR and LQ
src/decomposition/mod.rs - SVD
src/decomposition/svd/mod.rs - Schur methods
src/decomposition/schur.rs - Rotation transforms
src/decomposition/mod.rs
Solvers and control
- Linear solver
src/solver/linear.rs - Eigenvector solver
src/solver/eigenvector.rs - Randomized SVD
src/solver/randomized_svd.rs - EKF filtering
src/solver/ekf_filter.rs - EKF signal control
src/control/ekf_signal.rs
Learning and randomness
- Learning algorithms
src/learning/mod.rs - Random generation
src/random/mod.rs
Compute kernels
- Matrix kernels
src/kernel/mod.rs
Other components
- Library user
Connections 16
- Library user → Array structures: uses arrays
- Library user → Algebra operations: invokes
- Library user → Fourier transforms: invokes
- Library user → Signal operations: invokes
- Library user → Cholesky and LU: invokes
- Library user → QR and LQ: invokes
- Library user → SVD: invokes
- Library user → Schur methods: invokes
- Library user → Rotation transforms: invokes
- Library user → Linear solver: invokes
- Library user → Eigenvector solver: invokes
- Library user → Randomized SVD: invokes
- Library user → EKF filtering: invokes
- Library user → EKF signal control: invokes
- Library user → Learning algorithms: invokes
- Library user → Random generation: invokes