lapack

package
v1.3.0-alpha.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2016 License: Apache-2.0 Imports: 1 Imported by: 0

README

Gonum LAPACK Build Status Coverage Status

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

View Source
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.

const (
	Compact  CompSV = 'P'
	Explicit CompSV = 'I'
)

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.

const (
	Forward  Direct = 'F' // Reflectors are right-multiplied, H_1 * H_2 * ... * H_k
	Backward Direct = 'B' // Reflectors are left-multiplied, H_k * ... * H_2 * H_1
)

type Float64

type Float64 interface {
	Dpotrf(ul blas.Uplo, n int, a []float64, lda int) (ok bool)
}

Float64 defines the public float64 LAPACK API supported by gonum/lapack.

type Job

type Job byte

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).
)

type StoreV

type StoreV byte

StoreV indicates the storage direction of elementary reflectors.

const (
	ColumnWise StoreV = 'C' // Reflector stored in a column of the matrix.
	RowWise    StoreV = 'R' // Reflector stored in a row of the matrix.
)

Directories

Path Synopsis
cgo
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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL