blas alternatives and similar packages
Based on the "Science and Data Analysis" category.
Alternatively, view blas alternatives based on common mentions on social networks and blogs.
-
gonum
Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more -
Stats
A well tested and comprehensive Golang statistics library package with no dependencies. -
gosl
Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations. -
dataframe-go
DataFrames for Go: For statistics, machine-learning, and data manipulation/exploration -
gonum/mat64
The general purpose package for matrix computation. Package mat64 provides basic linear algebra operations for float64 matrices. -
calendarheatmap
📅 Calendar heatmap inspired by GitHub contribution activity -
TextRank
:wink: :cyclone: :strawberry: TextRank implementation in Golang with extendable features (summarization, phrase extraction) and multithreading (goroutine). -
sparse
Sparse matrix formats for linear algebra supporting scientific and machine learning applications -
evaler
Implements a simple floating point arithmetic expression evaluator in Go (golang). -
triangolatte
2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs. -
piecewiselinear
tiny linear interpolation library for go (factored out from https://github.com/sgreben/yeetgif) -
PiHex
PiHex Library, written in Go, generates a hexadecimal number sequence in the number Pi in the range from 0 to 10,000,000. -
GoStats
GoStats is a go library for math statistics mostly used in ML domains, it covers most of the statistical measures functions. -
assocentity
Package assocentity returns the mean distance from tokens to an entity and its synonyms -
gograph
A golang generic graph library that provides mathematical graph-theory and algorithms. -
mudlark-go
A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language.
Access the most powerful time series database as a service
Do you think we are missing an alternative of blas or a related project?
Popular Comparisons
README
Go implementation of BLAS (Basic Linear Algebra Subprograms)
Any function is implemented in generic Go and if it is justified, it is optimized for AMD64 (using SSE2 instructions).
AMD64 implementation uses MOVUPS/MOVUPD instructions if all strides equal to 1 so it run fast on Nehalem, Sandy Bridge and newer processors but relatively slow on older processors.
Any implemented function has its own unity test and benchmark.
Implemented functions
Level 1
Sdsdot, Sdot, Ddot, Snrm2, Dnrm2, Sasum, Dasum, Isamax, Idamax, Sswap, Dswap, Scopy, Dcopy, Saxpy, Daxpy, Sscal, Dscal, Srotg, Drotg, Srot, Drot
Level 2
not implemented
Level 3
not implemented
Example benchmarks
FunctionGeneric GoOptimized for AMD64 Ddot2825 ns/op895 ns/op Dnrm22787 ns/op597 ns/op Dasum3145 ns/op560 ns/op Sdsdot3133 ns/op1733 ns/op Sdot2832 ns/op508 ns/op