machine: MAC
mkl version: 2019.4.233
compiler: clang-1001.0.46.4
LAPACKE_dtpqrt:
layout row major
prameters m = n = l = lda = ldb = ldt = 12
if we set nb > 1,
the routines generates nan in the lower part of the triangular matrices stored in t.
This makes LAPACKE_dtpmqrt returns an error indicating invalid t array.
LAPACKE_dtpmqrt:
layout row major, left side multiplication, no transposition
case 1:
prameters m = k = n = l = ldv = ldt = lda = ldb = 12
If nb != k
The routines does not compute the correct product.
case 2:
prameters m = k = l = nb = ldv = ldt = 12,
n = lda = ldb
if n != k
the routines returns an error -14 meaning that lda does not have a valid value,
however, it should be valid
链接已复制
Here I attach the file.
I compute the QR decomposition of the matrix [a ; b] (vertical block concatenation) by using dtpqrt.
I set a matrix [c ; d] to match the first n columns of the identity and apply Q from the left by using dtpmqrt.
I get the error from dtpmqrt.
I form the concatenated matrices from their original data (i.e., before any computation).
I call dgeqrf and dormqr to compare data and clearly it is wrong
Note: In this example I didn't get nans from dtpqrt in my other code I did have some.
Following the mkl reference the argument lda is the leading dimension of the array c in the code which is equal to n in that case (number of columns). I do pass this argument.
Excuse me I did not get what is wrong.
