gonum alternatives and similar packages
Based on the "Science and Data Analysis" category.
Alternatively, view gonum alternatives based on common mentions on social networks and blogs.
-
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. -
gonum/mat64
DISCONTINUED. The general purpose package for matrix computation. Package mat64 provides basic linear algebra operations for float64 matrices. -
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 -
triangolatte
2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs. -
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. -
mudlark-go
DISCONTINUED. A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language.
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of gonum or a related project?
Popular Comparisons
README
Gonum
Installation
The core packages of the Gonum suite are written in pure Go with some assembly.
Installation is done using go get
.
go get -u gonum.org/v1/gonum/...
Supported Go versions
Gonum supports and tests using the gc compiler on the two most recent Go releases on Linux (386, amd64 and arm64), macOS and Windows (both on amd64).
Release schedule
The Gonum modules are released on a six-month release schedule, aligned with the Go releases.
i.e.: when Go-1.x
is released, Gonum-v0.n.0
is released around the same time.
Six months after, Go-1.x+1
is released, and Gonum-v0.n+1.0
as well.
The release schedule, based on the current Go release schedule is thus:
Gonum-v0.n.0
: FebruaryGonum-v0.n+1.0
: August
Build tags
The Gonum packages use a variety of build tags to set non-standard build conditions. Building Gonum applications will work without knowing how to use these tags, but they can be used during testing and to control the use of assembly and CGO code.
The current list of non-internal tags is as follows:
- safe โ do not use assembly or unsafe
- bounds โ use bounds checks even in internal calls
- noasm โ do not use assembly implementations
- tomita โ use Tomita, Tanaka, Takahashi pivot choice for maximimal clique calculation, otherwise use random pivot (only in topo package)
Issues
If you find any bugs, feel free to file an issue on the github issue tracker. Discussions on API changes, added features, code review, or similar requests are preferred on the gonum-dev Google Group.
https://groups.google.com/forum/#!forum/gonum-dev
License
Original code is licensed under the Gonum License found in the LICENSE file. Portions of the code are subject to the additional licenses found in THIRD_PARTY_LICENSES. All third party code is licensed either under a BSD or MIT license.
Code in graph/formats/dot is dual licensed Public Domain Dedication and Gonum License, and users are free to choose the license which suits their needs for this code.
The W3C test suites in graph/formats/rdf are distributed under both the W3C Test Suite License and the W3C 3-clause BSD License.
*Note that all licence references and agreements mentioned in the gonum README section above
are relevant to that project's source code only.