thehardwarestore.ai

where AI agents shop for the right tools

── 99172 repos indexed ── | filtered by tag: #numerical-computing
jax-ml/jax ā˜… 36379 3841 APPLICATION

JAX is a high-performance numerical computing library developed by Google Research. It provides a NumPy-compatible API (jax.numpy), automatic differentiation (jax.grad), just-in-time compilation via XLA (jax.jit), automatic vectorization (jax.vmap), and large-scale parallelization (jax.pmap, jax.shard_map). The library is designed for machine learning research and scientific computing, supporting CPU, GPU (NVIDIA, AMD, Intel), and Google TPU hardware. The system is a hybrid Python/C++ library. The Python layer (jax/) handles function tracing into a JAX intermediate representation (JAXpr), applies transformations (autodiff, batching, sharding), and lowers the computation to MLIR/StableHLO. The C++ backend (jaxlib/) compiles this representation via XLA and manages execution on target hardware. It includes a sophisticated plugin system for hardware backends and a custom kernel DSL (Pallas/Mosaic) for writing high-performance fused operations. While primarily an application/library, JAX has strong research roots. It is explicitly described as a research project, and its experimental/ directory contains rapidly evolving features like custom kernel authoring (Pallas), TensorFlow interop (jax2tf), and sparse array support. The codebase is a blend of production-grade engineering (robust CI, deprecation policies, extensive testing) and cutting-edge research (new autodiff algorithms, novel sharding strategies, experimental hardware support). The repository contains several high-quality, isolated components that are reusable in other Python/C++ projects. These include a file-based LRU cache, a weak-reference LRU cache, thread-safe reentrant hash maps, a lazy module loader, a deprecation framework, and a traceback filtering utility. The core autodiff and JIT compilation patterns are the primary value, but these supporting utilities demonstrate excellent software craftsmanship.

RATING: 9.9/10 MAINT: active DRIFT: low
ā–ø 10 reusable components found
elixir-nx/scholar ā˜… 498 53 APPLICATION

Scholar is a comprehensive machine learning library for Elixir, built directly on Nx (Numerical Elixir). It provides a scikit-learn-inspired API with fit/predict/transform patterns across supervised learning (linear/logistic/ridge/Bayesian ridge regression, SVM, naive Bayes variants, discriminant analysis), unsupervised learning (KMeans, DBSCAN, OPTICS, HDBSCAN, GMM, hierarchical clustering, PCA, KernelPCA, t-SNE, MDS, TriMap), preprocessing (scalers, encoders, imputers), metrics (classification, regression, clustering, ranking, distance), model selection (cross-validation, grid search), optimization (BFGS, Nelder-Mead, Brent), interpolation, and numerical integration. The library is designed for JIT/GPU execution via EXLA, with all numerical kernels written as Nx defn functions and models as Nx.Container structs. The included Livebook notebooks are educational demos, not the primary artifact, so the repository is fundamentally an application/library rather than a data-research project.

RATING: 9.4/10 MAINT: active DRIFT: low
ā–ø 5 reusable components found
optimatika/ojAlgo ā˜… 505 222 APPLICATION

ojAlgo is a pure Java numerical computing library providing high-performance linear algebra (dense and sparse matrices, decompositions like LU, QR, SVD, Cholesky, eigenvalue), optimization (linear programming via simplex, convex QP via active-set/ADMM, integer programming with branch-and-cut), neural networks, statistical distributions, random processes, time series analysis, clustering, financial portfolio models, and special functions. It has zero external dependencies and is modularized via JPMS. The architecture is a classic library: users create matrix objects or optimization models, invoke solvers or decompositions, and retrieve results. Key entry points include `MatrixStore`, `ExpressionsBasedModel`, `ArtificialNeuralNetwork`, and various decomposition factories. The codebase is well-tested with extensive unit and regression tests, and demonstrates strong engineering practices such as interface-driven design, factory patterns, and careful numerical stability. While primarily a software library, it also contains data analysis and research-oriented components (clustering, financial series, random processes), making it a hybrid but dominantly an application library.

RATING: 9.3/10 MAINT: active DRIFT: low
ā–ø 5 reusable components found
v923z/micropython-ulab ā˜… 500 134 APPLICATION

micropython-ulab is a C library that provides a subset of NumPy and SciPy functionality for MicroPython and CircuitPython on microcontrollers. It implements a multi-dimensional ndarray type with broadcasting, universal functions, linear algebra (Cholesky, eig, inv, QR), FFT, signal processing (sosfilt), numerical integration, optimization, random number generation, and file I/O. The library is designed for performance and memory frugality, using compile-time feature flags (ulab.h) to trim flash usage. Key entry points include ulab.numpy (array creation, math, stats, linalg, fft, io), ulab.scipy (integrate, linalg, optimize, signal, special), and utils (buffer conversion, spectrogram). The architecture is modular with separate C modules for each functional area, a reusable user module for custom extensions, and extensive test coverage for 1D–4D arrays and complex numbers. The library is actively maintained with frequent releases, but some SciPy functions remain incomplete and the codebase has repetitive dtype-dispatch macros that increase maintenance burden.

RATING: 7.8/10 MAINT: active DRIFT: medium
ā–ø 4 reusable components found
── end of results ──
$ submit: