Hello!
I have been running tests for QR and LQ (xlintstd_dtest) and sometimes I have got failures like
M= 10, N= 10, K= 5, NB= 1, NX= 1, type 2, test( 1)= 0.16408E+16
M= 10, N= 10, K= 5, NB= 1, NX= 1, type 2, test( 2)= 0.62678E+15
Usually, I need to change input file to reproduce error.
My investigation shows, that root-cause is PR 900 with replacement GELQS by GELS (in example of LQ). Behavior of the test is changed a bit (see TESTING/LIN/dchklq.f):
Before:
LQT01 is called to factorize matrix by GELQF for every combination of parameters m and n and this factorized matrix is used at any check of test parameter k.
Now:
LQT01 is again called to factorize matrix, but later array AF is cleared to A to call GELS since factorization is now performed inside call of GELS. But, unfortunately, if m = n in call of GELS then factorization is done by GEQRF instead GELQF (check SRC/dgels.f). And this is a main difference. For upper triangular matrix QR factorization doing nothing, which lead to failure of test(1) and test(2) on the next iteration of parameter k, since arrays A and AF are equal.
@angsch please take a look.
Input is attached input qr and lq.txt
Hello!
I have been running tests for QR and LQ (
xlintstd_dtest) and sometimes I have got failures likeUsually, I need to change input file to reproduce error.
My investigation shows, that root-cause is PR 900 with replacement
GELQSbyGELS(in example of LQ). Behavior of the test is changed a bit (seeTESTING/LIN/dchklq.f):Before:
LQT01is called to factorize matrix byGELQFfor every combination of parametersmandnand this factorized matrix is used at any check of test parameterk.Now:
LQT01is again called to factorize matrix, but later arrayAFis cleared toAto callGELSsince factorization is now performed inside call ofGELS. But, unfortunately, ifm = nin call ofGELSthen factorization is done byGEQRFinsteadGELQF(checkSRC/dgels.f). And this is a main difference. For upper triangular matrix QR factorization doing nothing, which lead to failure oftest(1)andtest(2)on the next iteration of parameterk, since arraysAandAFare equal.@angsch please take a look.
Input is attached input qr and lq.txt