Skip to content

fails of tests for QR and LQ decompositions #973

Open
@dklyuchinskiy

Description

@dklyuchinskiy

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions