Gonum Numerical Packages

Gonum Numerical Packages

Consistent, composable, and comprehensible scientific code

Gonum is a set of packages designed to make writing numerical and scientific algorithms productive, performant, and scalable.

Gonum contains libraries for matrices and linear algebra; statistics, probability distributions, and sampling; tools for function differentiation, integration, and optimization; network creation and analysis; and more.

We encourage you to get started with Go and Gonum if

  • You are tired of sluggish performance, and fighting C and vectorization.
  • You are struggling with managing programs as they grow larger.
  • You struggle to re-use – even the code you tried to make reusable.
  • You would like easy access to parallel computing.
  • You want code to be fully transparent, and want the ability to read the source code you use.
  • You’d like a compiler to catch mistakes early, but hate fighting linker and unintelligible compile errors.

Posts

Introduction to Statistics with Gonum

The first of a series of short posts providing an introduction and code examples for using the Gonum packages.

The Gonum Numerical Computing Packages

An introduction to the philosophy of Gonum and instructions on getting started.

Talks

Accidentally Starting a Community Project in Go

This is a talk about the accident of coming to write a suite of scientific software and how that works with Go, and some design principles in Gonum that deviate from idiomatic Go.

An Introduction to Gonum

An introduction to Gonum detailing the basic functionality of the suite explaining the basis for Gonum design and giving examples of use.

Introduction to Go and Concurrency

An introduction to Go in the context of scientific and numerical computing with examples showing how Go’s concurrency model can be used simply to allow parallel computation.

Publications using Gonum

Estimating Mixture Entropy with Pairwise Distances

Mixture distributions arise in many parametric and non-parametric settings, for example in Gaussian mixture models and in …