Commit Graph

153 Commits

Author SHA1 Message Date
Vladimir Chalupecky
ddcb2ddb07 lapack/gonum: clean up panic strings and their usage 2019-03-08 09:10:47 +01:00
Vladimir Chalupecky
7cc92e21e0 lapack/gonum: unify parameter checks 2019-02-28 12:40:53 +01:00
Vladimir Chalupecky
8ea67971a6 lapack/gonum: unify parameter checks 2019-02-21 14:28:55 +01:00
Vladimir Chalupecky
f3eaeb8407 lapack/gonum: unify parameter checks 2019-02-19 12:43:31 +01:00
Vladimir Chalupecky
70a1e933af lapack/gonum: unify parameter checks 2019-02-15 23:07:11 +01:00
Vladimir Chalupecky
dca16df666 lapack/gonum: fix bugs in Dgesvd and rewrite DgesvdTest
- if condition for one the paths in workspace size calculation was
  misspelled
- return value from Dbdsqr was ignored in some paths, leaving it at
  false (failed) value
- if the input matrix A was rescaled, the output singular values have
  to be unscaled back. The code uses Dlascl which treats the s slice as
  a matrix. The column major reference treats it as minmn-by-1 matrix
  with the stride minmn, and this was not correctly translated in our
  row major implementation.

Also clean up the initial parameter checks.
2019-01-28 10:32:12 +01:00
Vladimir Chalupecky
a4e1906430 lapack/gonum: pass exact-sliced tau to Dormqr 2019-01-28 10:32:12 +01:00
Vladimir Chalupecky
edc5a6c9aa lapack/testlapack: add svdJobString helper 2019-01-28 10:32:12 +01:00
Vladimir Chalupecky
e855e9fa8f lapack/testlapack: add hasOrthonormalRows helper 2019-01-28 10:32:12 +01:00
Dan Kortschak
b37c259f6b lapack/gonum: remove ineffectual assignments
Identified by github.com/gordonklaus/ineffassign.

$ ineffassign .
.../gonum.org/v1/gonum/lapack/gonum/dbdsqr.go:90:4: ineffectual assignment to info
.../gonum.org/v1/gonum/lapack/gonum/dlasq2.go:101:2: ineffectual assignment to qmax
.../gonum.org/v1/gonum/lapack/gonum/dlasq2.go:333:3: ineffectual assignment to n1
.../gonum.org/v1/gonum/lapack/gonum/dtrevc3.go:606:7: ineffectual assignment to vcrit
.../gonum.org/v1/gonum/lapack/gonum/dtrevc3.go:629:7: ineffectual assignment to vcrit
.../gonum.org/v1/gonum/lapack/gonum/dtrevc3.go:714:7: ineffectual assignment to vcrit
.../gonum.org/v1/gonum/lapack/gonum/dtrevc3.go:741:7: ineffectual assignment to vcrit
2019-01-27 21:39:27 +10:30
Vladimir Chalupecky
dd4cc715c5 lapack/gonum: fix ldwork in Dgeqrf and update its test 2019-01-23 12:32:41 +01:00
Vladimir Chalupecky
08a35caaad lapack/gonum: fix ldwork in Dgelqf and update its test 2019-01-23 12:32:41 +01:00
Vladimir Chalupecky
85a94c5204 lapack/testlapack: use worklen type in DgetriTest
... and make worklen type a Stringer.
2019-01-23 12:32:41 +01:00
Vladimir Chalupecky
0662aa10a9 lapack/gonum: fix workspace usage in Dgetri
... and extend its test which uncovered these bugs.
2019-01-22 14:25:03 +01:00
Vladimir Chalupecky
246a5a92a2 lapack/testlapack: use const tol in DlarfgTest 2019-01-19 00:28:03 +01:00
Vladimir Chalupecky
f81f6eef22 lapack/gonum: fix for-loop end condition in Dgetri 2019-01-19 00:28:03 +01:00
Vladimir Chalupecky
419d102703 lapack/gonum: clean up Dgetri 2019-01-19 00:28:03 +01:00
Vladimir Chalupecky
9b35a0af0f lapack/gonum: fix where Dtrsm is called in Dgetri 2019-01-19 00:28:03 +01:00
Vladimir Chalupecky
a3f7b3340e lapack/gonum: fix block size adjustment in Dgetri 2019-01-19 00:28:03 +01:00
Vladimir Chalupecky
08d9e7ed28 lapack/testlapack: change isIdentity to distFromIdentity 2019-01-19 00:28:03 +01:00
Dan Kortschak
421b3dcd18 lapack/testlapack: use testing Logf instead of log.Printf 2019-01-18 18:46:23 +10:30
Vladimir Chalupecky
ce5163176b lapack/lapack64: add Potri to Float64 interface 2019-01-04 23:08:42 +01:00
Vladimir Chalupecky
ab2339bae3 lapack/gonum: add Dpotri 2019-01-04 23:08:42 +01:00
Vladimir Chalupecky
8323e5df1f lapack/testlapack: add sameLowerTri and sameUpperTri helpers 2019-01-04 23:08:42 +01:00
Vladimir Chalupecky
87489715e5 testlapack: add isIdentity helper 2019-01-04 23:08:42 +01:00
Vladimir Chalupecky
6ea0089704 lapack/testlapack: add tests for Dlauu2 and Dlauum 2018-12-20 06:20:48 +01:00
Vladimir Chalupecky
594646571c lapack/gonum: add Dlauu2 and Dlauum 2018-12-20 06:20:48 +01:00
Vladimir Chalupecky
bf83f2c3b8 lapack/testlapack: add implementation comments to Dgebd2 test 2018-12-12 11:53:36 +01:00
Vladimir Chalupecky
665d381a36 lapack/testlapack: add implementation comments to Dgelqf test 2018-12-12 11:53:36 +01:00
Vladimir Chalupecky
b9eabf83ee lapack/testlapack: add implementation comments to Dgeqp3 test 2018-12-12 11:53:36 +01:00
Vladimir Chalupecky
d4a060d493 lapack/testlapack: add implementation comments to Dlags2 test 2018-12-12 11:53:36 +01:00
Vladimir Chalupecky
f5caaf507d lapack/testlapack: add implementation comments to Dlange test 2018-12-12 11:53:36 +01:00
Vladimir Chalupecky
8ebfea9f67 lapack/testlapack: add implementation comments to Dlanst test 2018-12-12 11:53:36 +01:00
Vladimir Chalupecky
3ff63b0dd5 lapack/testlapack: add implementation comments to Dlansy test 2018-12-12 11:53:36 +01:00
Vladimir Chalupecky
3e1f1595e5 lapack/testlapack: add implementation comments to Dlapll test 2018-12-12 11:53:36 +01:00
Vladimir Chalupecky
f795de207b lapack/testlapack: add implementation comments to Dlartg test 2018-12-12 11:53:36 +01:00
Brendan Tracey
572d9101fe blas64: add length field N to Vector
blas64: add length field N to Vector

Alongside, fix the implementation of mat.VecDense and mat.Diagonal, as well as other changes needed to fix this change.

Fixes #736.
2018-12-10 08:36:04 +00:00
Vladimir Chalupecky
9a5244455e lapack/testlapack: add implementation comments to Dlasr test 2018-11-25 10:14:57 +01:00
Vladimir Chalupecky
c015e0732d lapack/testlapack: add implementation comments to Dlatrd test 2018-11-25 10:14:57 +01:00
Vladimir Chalupecky
6dfebf106b lapack/testlapack: add implementation comments to Dorg2r test 2018-11-25 10:14:57 +01:00
Vladimir Chalupecky
4bcd344ac3 lapack/testlapack: add implementation comments to Dorgtr test 2018-11-25 10:14:57 +01:00
Vladimir Chalupecky
7c04cab020 lapack/testlapack: add implementation comments to Dtrti2 test 2018-11-25 10:14:57 +01:00
Vladimir Chalupecky
a4ff288f27 lapack/gonum: clean up parameter checks in Dgelqf 2018-11-22 06:27:37 +01:00
Vladimir Chalupecky
d19441177a lapack/gonum: clean up parameter checks in Dorglq 2018-11-22 06:27:37 +01:00
Vladimir Chalupecky
f415dca77c lapack/gonum: clean up parameter checks in Dgehrd 2018-11-22 06:27:37 +01:00
Vladimir Chalupecky
a5c280a104 lapack/gonum: check lda after workspace query return in Dorgqr
Dorgqr is queried at several places in Dgesvd for workspace size with
varying arguments. With the current code it is impossible to pass
the lda check. The reference gets around this because it's column-major
and the number of rows is the same for each call.
2018-11-22 06:27:37 +01:00
Vladimir Chalupecky
c8ad599984 lapack/gonum: clean up parameter checks in Dorgqr 2018-11-22 06:27:37 +01:00
Vladimir Chalupecky
1cc352d23d lapack/gonum: clean up parameter checks in Dgerqf 2018-11-22 06:27:37 +01:00
Vladimir Chalupecky
30505441f7 lapack/gonum: clean up parameter checks in Dgeqrf 2018-11-22 06:27:37 +01:00
Vladimir Chalupecky
7b030a69db lapack/gonum: clean up parameter checks in Dsytrd 2018-11-22 06:27:37 +01:00