mirror of
https://github.com/gonum/gonum.git
synced 2025-10-06 23:52:47 +08:00

The documentation for DLANTR in Reference-LAPACK says that the input matrix should not be tall if upper triangular and not wide if lower triangular. In most cases providing such "invalid" sizes is harmless and DLANTR works correctly. However, when computing the inf-norm of lower triangular matrices it currently causes an out-of-bound write if the work array is shorter than the number of columns. Even if the reference fixes this, we cannot assume when or if at all other LAPACK implementation providers include it (both OpenBLAS and MKL have this issue, obviously OpenBLAS being much easier to fix). Therefore, the restriction on matrix sizes will have to stay in the reference documentation and we should exlude them from our testing.
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 gonum.org/v1/gonum/lapack/...
Packages
lapack
Defines the LAPACK API based on http://www.netlib.org/lapack/lapacke.html
lapack/gonum
Go implementation of the LAPACK API (incomplete, implements the float64
API).
lapack/lapack64
Wrappers for an implementation of the double (i.e., float64
) precision real parts of
the LAPACK API.