README ¶
Gonum LAPACK
A collection of packages to provide LAPACK functionality for the Go programming language (http://golang.org). This provides a partial implementation in native go and a wrapper using cgo to a c-based implementation.
Installation
go get github.com/gonum/blas
Install OpenBLAS:
git clone https://github.com/xianyi/OpenBLAS
cd OpenBLAS
make
Then install the lapack/cgo package:
CGO_LDFLAGS="-L/path/to/OpenBLAS -lopenblas" go install github.com/gonum/lapack/cgo
For Windows you can download binary packages for OpenBLAS at http://sourceforge.net/projects/openblas/files/
If you want to use a different BLAS package such as the Intel MKL you can
adjust the CGO_LDFLAGS
variable:
CGO_LDFLAGS="-lmkl_rt" go install github.com/gonum/lapack/cgo
Packages
lapack
Defines the LAPACK API based on http://www.netlib.org/lapack/lapacke.html
lapack/clapack
Binding to a C implementation of the lapacke interface (e.g. OpenBLAS or intel MKL)
The linker flags (i.e. path to the BLAS library and library name) might have to be adapted.
The recommended (free) option for good performance on both linux and darwin is OpenBLAS.
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
Please see github.com/gonum/license for general license information, contributors, authors, etc on the Gonum suite of packages.
Documentation ¶
Index ¶
Constants ¶
const None = 'N'
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompSV ¶
type CompSV byte
CompSV determines if the singular values are to be computed in compact form.
type Complex128 ¶
type Complex128 interface{}
Complex128 defines the public complex128 LAPACK API supported by gonum/lapack.
type Direct ¶
type Direct byte
Direct specifies the direction of the multiplication for the Householder matrix.
type MatrixNorm ¶
type MatrixNorm byte
MatrixNorm represents the kind of matrix norm to compute.
const ( MaxAbs MatrixNorm = 'M' // max(abs(A(i,j))) ('M') MaxColumnSum MatrixNorm = 'O' // Maximum column sum (one norm) ('1', 'O') MaxRowSum MatrixNorm = 'I' // Maximum row sum (infinity norm) ('I', 'i') NormFrob MatrixNorm = 'F' // Frobenium norm (sqrt of sum of squares) ('F', 'f', E, 'e') )
type MatrixType ¶
type MatrixType byte
MatrixType represents the kind of matrix represented in the data.
const (
General MatrixType = 'G' // A dense matrix (like blas64.General).
)
Directories ¶
Path | Synopsis |
---|---|
Package cgo provides an interface to bindings for a C LAPACK library.
|
Package cgo provides an interface to bindings for a C LAPACK library. |
clapack
Package clapack provides bindings to a C LAPACK library.
|
Package clapack provides bindings to a C LAPACK library. |
Package lapack64 provides a set of convenient wrapper functions for LAPACK calls, as specified in the netlib standard (www.netlib.org).
|
Package lapack64 provides a set of convenient wrapper functions for LAPACK calls, as specified in the netlib standard (www.netlib.org). |
Package native is a pure-go implementation of the LAPACK API.
|
Package native is a pure-go implementation of the LAPACK API. |