Skip to content
Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more
Go Fortran Assembly TeX Shell MATLAB
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github github: add note about using play.golang.org May 15, 2019
.travis stat/card: new package for cardinality estimation Nov 21, 2019
THIRD_PARTY_LICENSES prng: Mersenne Twister PRNG implementations Nov 29, 2019
blas blas/{blas32,blas64,cblas64,cblas128}: check vector length agreement Nov 7, 2019
diff mat,all: Rename IsZero to IsEmpty (#1088) Sep 15, 2019
floats translate netlib l2norm algorithm to asm and remove branches Nov 15, 2019
fourier fourier: relax example test tolerance Jan 12, 2020
graph graph/layout: differentiate arm64 layout golden images Jan 12, 2020
integrate integrate: small cleanup in Simpsons Oct 20, 2019
internal internal/asm: clean up tolerant testing Jan 14, 2020
lapack lapack/testlapack: don't test unsupported matrix sizes in DlantrTest Dec 23, 2019
mat mat: relax SymRankOne test from perfect identity Jan 12, 2020
mathext mathext: make MvLgamma test pass on arm64 Jan 12, 2020
num num: clean up lint Nov 1, 2019
optimize all: remove redundant bad prefix and make panic strings const Dec 2, 2019
spatial spatial/barneshut: clean up lint Nov 7, 2019
stat stat: make ROC tests pass on arm64 Jan 21, 2020
unit unit/constant: update the values and uncertainties for 2018 CODATA Dec 23, 2019
.travis.yml travis: allow failures on arm64 Jan 12, 2020
AUTHORS all: fix capitalisation of Gonum Nov 16, 2019
CONDUCT.md CONTRIBUTING: link to CONDUCT.md rather than repeating Mar 1, 2019
CONTRIBUTING.md docs: fix link to LICENSE file Jan 5, 2020
CONTRIBUTORS all: fix capitalisation of Gonum Nov 16, 2019
GOPHER README: add README.md stub and move licensing to front page May 23, 2017
LICENSE all: fix capitalisation of Gonum Nov 16, 2019
README.md gonum: add release schedule Oct 20, 2019
appveyor.yml ci: drop third most recent Go version Oct 12, 2019
doc.go gonum: add Version query function Mar 5, 2019
go.mod graph/layout: new package for calculating graph layouts Jul 20, 2019
go.sum graph/layout: new package for calculating graph layouts Jul 20, 2019
gopher.png README: add README.md stub and move licensing to front page May 23, 2017
version.go gonum: add Version query function Mar 5, 2019

README.md

Gonum Build Status Build status codecov.io coveralls.io GoDoc Go Report Card stability-unstable

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 on the two most recent Go releases on Linux, macOS and Windows.

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: February
  • Gonum-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:

  • appengine — do not use assembly or unsafe
  • safe — synonym for appengine
  • bounds — use bounds checks even in internal calls
  • cblas — use CGO gonum.org/v1/netlib/blas/netlib BLAS implementation in tests (only in mat package)
  • 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.

You can’t perform that action at this time.