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

Latest commit

Latest commit 043b26c May 25, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github ci: don't lint on merge into master May 23, 2020
.travis travis: install golangci-lint from source May 17, 2020
THIRD_PARTY_LICENSES prng: Mersenne Twister PRNG implementations Nov 29, 2019
blas blas/{gonum,testblas}: zero out elements of c when beta is zero Mar 30, 2020
diff diff/fd: make tests parallel Mar 16, 2020
dsp dsp: make tests parallel Mar 16, 2020
floats floats: fix typo in Same documentation Mar 20, 2020
graph graph/flow: avoid non-rune to string conversion May 17, 2020
integrate integrate: make tests parallel Mar 16, 2020
internal internal/testrand: random package for testing Mar 22, 2020
lapack lapack64: add Pbtrs Mar 30, 2020
mat mat: fix typos May 25, 2020
mathext amos: add bug note to failing tests May 17, 2020
num num: make tests parallel Mar 16, 2020
optimize optimize: make tests parallel Mar 16, 2020
spatial spatial/{r2,r3}: add Cos, Unit Apr 8, 2020
stat stat/distuv: make tests parallel Mar 16, 2020
unit unit: make tests parallel Mar 16, 2020
.travis.yml travis: update test matrix for go1.14 Feb 26, 2020
AUTHORS A+C: add Marco Leogrande May 25, 2020
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 A+C: add Marco Leogrande May 25, 2020
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 README: add TODOs badge Mar 13, 2020
appveyor.yml appveyor: update test matrix for go1.14 Feb 26, 2020
doc.go gonum: add Version query function Mar 5, 2019
go.mod modules: bump Go version Feb 26, 2020
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
gopher.svg gopher: add svg format version Mar 5, 2020
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 (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: 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 TODOs

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.