Skip to content

go-scikit documentation

The scientific stack for Go, in pure Go (CGO=0), and the organisations that extend it towards MATLAB and Mathematica.

go-scikit is the umbrella over the organisations that make up a scientific stack for Go. Each one is a library, or a few, with its own site, documentation and release cycle. There is no cgo and no C library: one go build gives a static binary. Where a library is slower or less accurate than its Python reference, its own documentation says so.

The established organisations

OrganisationWhat it isLandingDocumentation
go-ndarrayN-dimensional arrays, numpy.linalg, numpy.fft, numpy.randomsitedocs
go-fftnumpy.fft and scipy.fft equivalentssitedocs
go-numericsoptimisation, quadrature and ODE solvers, special functionssitedocs
go-statisticsdistributions, descriptive statistics, statistical testssitedocs
go-dataframelabelled tablessitedocs
go-plotmatplotlib-class figuressitedocs
go-notebookcompiled, reactive Go notebookssitedocs

The parity-plan organisations

The roadmap plans feature parity with MATLAB and Mathematica. Wave 1 is under way, in four organisations:

OrganisationPackageStatusPages
go-approxinterpreleased v0.2.0go-approx
go-approxpolyreleased v0.1.0go-approx
go-dspsignalreleased v0.1.0go-dsp
go-sparsesparsereleased v0.1.0go-sparse
go-bignumbigfloatreleased v0.1.0go-bignum

The other organisations of the plan (go-symbolic, go-mlkit, go-autodiff, go-geometry, go-fem, go-graphalgo, go-control, go-units, go-sciio) are planned; nothing is released there.

“Released” means a tag exists. The status of every item, with its evidence, is in STATUS.md.

Where else

Created on by tannevaled

Modified on by tannevaled