scivex-core
The foundation crate of the Scivex ecosystem. Provides N-dimensional tensors, linear algebra, FFT, and math primitives — all implemented from scratch with zero external dependencies for math.
Highlights
- Tensor<T> — Dynamic N-dimensional array with row-major storage and broadcasting
- BLAS Level 1-3 —
dot,axpy,nrm2,gemv,gemmfrom scratch - Matrix decompositions — LU, QR, Cholesky, SVD, Eigendecomposition, Schur
- Linear solvers —
solve(A, b),inv(A),det(A),lstsq(A, b) - Sparse matrices — COO, CSR, CSC formats with conversion and arithmetic
- FFT — Real and complex transforms (Cooley-Tukey radix-2), IFFT
- PRNG — xoshiro256** with normal/uniform/exponential sampling
- Interpolation — Linear, polynomial, and cubic spline interpolation
- Special functions — Gamma, beta, erf, bessel, and more
- 35+ math functions — sin, cos, exp, ln, sqrt, abs, etc. (element-wise on tensors)
- Generic — All operations generic over
Scalar > Float > Realtrait hierarchy
Usage
use *;
let a = from_vec;
let b = from_vec;
// Arithmetic with broadcasting
let c = &a + &b;
// Linear algebra
let lu = decompose.unwrap;
let svd = decompose.unwrap;
let eig = decompose.unwrap;
// FFT
let spectrum = rfft;
License
MIT