Open
Description
Description
As pointed out by Gonum's Dan Kortschak in OpenMathLib/OpenBLAS#5051 , the LAPACKE bindings for the GESVD functions appear to be overly restrictive in the LDVT argument check performed on row-major calls:
When the JOBVT argument is "N" and consequently the output matrix "VT" will not be referenced at all according to the provided documentation, the current code still insists on a nonzero LDVT, taking the INFO=12 error exit instead of providing a work size estimate in LAPACKE_?gesvd_work.c
It occurs to me that the code in e.g.
lapack/LAPACKE/src/lapacke_dgesvd_work.c
Line 75 in 6ec7f2b
should be conditional on
if( LAPACKE_lsame( jobvt, 'a' ) || LAPACKE_lsame( jobvt, 's' ) ) {
Checklist
- I've included a minimal example to reproduce the issue (see in referenced OpenBLAS ticket)
- I'd be willing to make a PR to solve this issue