Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more
Clone or download
Permalink
Failed to load latest commit information.
.github github: extend issues templates Sep 29, 2018
.travis travis: check for copyright headers Sep 5, 2018
blas blas: change matrix description types to byte Sep 30, 2018
diff all: fix build and make tests pass with new streams Nov 17, 2017
floats travis: check for copyright headers Sep 5, 2018
fourier all: fix up missing or malformatted package doc comments Jun 7, 2018
graph graph/formats: add packages for serialising graphs to js rendering en… Oct 19, 2018
integrate all: change capitalization of gonum in license header Nov 1, 2017
internal all: add safe synonym for appengine tag Jul 22, 2018
lapack lapack: unify comments for constants Oct 17, 2018
mat lapack: rename NormFrob to Frobenius Oct 17, 2018
mathext all: fix up missing or malformatted package doc comments Jun 7, 2018
optimize mat: Add Diagonal interface and DiagDense type (#594) Oct 4, 2018
stat stat: reduce golint warnings Oct 15, 2018
unit unit/internal: remove build ignore comment May 13, 2018
.travis.yml travis: check for copyright headers Sep 5, 2018
AUTHORS A + C: add Vincent Thiery Oct 6, 2018
CONTRIBUTING.md doc: fix links to repositories Aug 31, 2018
CONTRIBUTORS A + C: add Vincent Thiery Oct 6, 2018
GOPHER README: add README.md stub and move licensing to front page May 23, 2017
LICENSE all: change capitalization of gonum in license header Nov 1, 2017
README.md README: fix travis badge and link Sep 13, 2018
go.mod gonum: add initial vgo support Jul 10, 2018
gopher.png README: add README.md stub and move licensing to front page May 23, 2017

README.md

Gonum Build Status Coverage Status GoDoc Go Report Card

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 three most recent major versions of Go.

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