cgo,lapack,lapack64: add Dggsvd3 and Dlapmt to lapack.Float64
MODIFY
cgo/lapack.go
cgo/lapack.go
@@ -295,8 +295,6 @@ func (impl Implementation) Dlacpy(uplo blas.Uplo, m, n int, a []float64, lda int
// X[0:m, j] is moved to X[0:m, k[j]] for j = 0, 1, ..., n-1.
//
// k must have length n, otherwise Dlapmt will panic. k is zero-indexed.
-//
-// Dlapmt is an internal routine. It is exported for testing purposes.
func (impl Implementation) Dlapmt(forward bool, m, n int, x []float64, ldx int, k []int) {
checkMatrix(m, n, x, ldx)
if len(k) != n {

MODIFY
lapack.go
lapack.go
@@ -26,9 +26,11 @@ type Float64 interface {
Dgetrf(m, n int, a []float64, lda int, ipiv []int) (ok bool)
Dgetri(n int, a []float64, lda int, ipiv []int, work []float64, lwork int) (ok bool)
Dgetrs(trans blas.Transpose, n, nrhs int, a []float64, lda int, ipiv []int, b []float64, ldb int)
+ Dggsvd3(jobU, jobV, jobQ GSVDJob, m, n, p int, a []float64, lda int, b []float64, ldb int, alpha, beta, u []float64, ldu int, v []float64, ldv int, q []float64, ldq int, work []float64, lwork int, iwork []int) (k, l int, ok bool)
Dlantr(norm MatrixNorm, uplo blas.Uplo, diag blas.Diag, m, n int, a []float64, lda int, work []float64) float64
Dlange(norm MatrixNorm, m, n int, a []float64, lda int, work []float64) float64
Dlansy(norm MatrixNorm, uplo blas.Uplo, n int, a []float64, lda int, work []float64) float64
+ Dlapmt(forward bool, m, n int, x []float64, ldx int, k []int)
Dormqr(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int)
Dormlq(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int)
Dpocon(uplo blas.Uplo, n int, a []float64, lda int, anorm float64, work []float64, iwork []int) float64

MODIFY
native/dlapmt.go
native/dlapmt.go
@@ -18,8 +18,6 @@ import "github.com/gonum/blas/blas64"
// X[0:m, j] is moved to X[0:m, k[j]] for j = 0, 1, ..., n-1.
//
// k must have length n, otherwise Dlapmt will panic. k is zero-indexed.
-//
-// Dlapmt is an internal routine. It is exported for testing purposes.
func (impl Implementation) Dlapmt(forward bool, m, n int, x []float64, ldx int, k []int) {
checkMatrix(m, n, x, ldx)
if len(k) != n {

cgo,lapack,lapack64: add Dggsvd3 and Dlapmt to lapack.Float64