Skip to content
CPU, SIMD & numerics

CPU, SIMD & numerics

CPU, SIMD & numerics

Getting the machine’s width out of pure Go, on all six 64-bit targets — and the scientific stack built on top of it, measured against NumPy, SciPy and mpmath rather than against itself.

OrganisationReposSiteDocsWhat it holds
go-asmgen1sitedocsErgonomic generation of Go-compatible Plan 9 assembly for every 64-bit Go target.
go-simd23sitedocsSIMD kernels on all six of Go’s 64-bit targets — codecs, hashes, string scans, bitsets, float and int8 dot products.
go-ndarray1sitedocsA numpy-shaped n-dimensional array, with GEMM at vecLib parity.
go-fft1sitedocsFast Fourier transforms at numpy and scipy accuracy, without FFTW.
go-numerics3sitedocsThe three pieces a numerical program reaches for after the array: special functions (gamma, beta, erf, Bessel, zeta), optimisation and root finding, and quadrature with ODE solvers including the stiff ones (Radau, BDF).
go-statistics1sitedocsProbability distributions, descriptive statistics and hypothesis tests, with accuracy measured against mpmath rather than against another Go implementation.
go-approx2site—Interpolation, splines and smoothing, and polynomials in the Chebyshev, Legendre, Hermite and Laguerre bases — validated against SciPy and NumPy.
go-sparse1sitedocsSparse matrices, the orderings that make them tractable (RCM, AMD, COLAMD), and iterative solvers.
go-dsp1sitedocsSignal processing: filter design and filtering, spectral estimation, resampling and peak finding, following SciPy and MATLAB.
go-bignum1sitedocsCorrectly rounded elementary functions and constants on math/big.Float, at any precision and in every rounding mode — what the accuracy of everything above is checked against.
go-dataframe1sitedocsLabelled columnar tables: DataFrame and Series, CSV, Parquet and Arrow, group-by, joins and time series.
go-plot1sitedocsMatplotlib-class figures for the stack above, to SVG, PNG and the screen, with real LaTeX in labels.
go-notebook2sitedocsNotebooks over that stack: a reactive compiled kernel that keeps its values and orders cells by what they use, and a browser playground that interprets the cells in WebAssembly while the libraries they call stay compiled.
go-scikit2site—The parity programme for the stack as a whole — an inventory, a bibliography and a measured status against MATLAB and Mathematica — plus its Ruby bindings.

Counts are public repositories that hold code; brand, docs and landing repositories are excluded.