gonum/gonum

Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more

Gonum is a collection of packages written in Go. The core code is pure Go with some assembly for performance.

  • What it does: Provides building blocks for numerical and graph work in Go — the README mentions graph-related packages (topo, graph/formats/dot, graph/formats/rdf) but does not list the full package set.
  • Installation: go get -u gonum.org/v1/gonum/...
  • Supported Go versions: The two most recent Go releases, using the gc compiler, on Linux (386, amd64, arm64), macOS, and Windows (amd64). Floating-point behavior may differ between compilers and architectures.
  • Release schedule: A new version every six months, aligned with Go releases — ~February and ~August.
  • Build options: Several flags change compilation:
    • safe — avoid assembly and unsafe code
    • bounds — add bounds checks even in internal calls
    • noasm — skip assembly implementations
    • tomita — use a specific pivot choice for maximal clique calculation (otherwise a random pivot is used; applies to the topo graph package)
  • Getting help / reporting bugs: GitHub issue tracker for bugs; the gonum-dev Google Group for API changes, feature requests, and code review discussions.
  • Licensing: Original code is under the Gonum License. Some parts have additional licenses (in THIRD_PARTY_LICENSES, all BSD or MIT). The graph/formats/dot code is dual-licensed (Public Domain Dedication or Gonum License). The W3C test suites in graph/formats/rdf use the W3C Test Suite License and the W3C 3-clause BSD License.

Related

  • Project
  • Project
  • Project
  • Project