Hello,

I am in doubt that the LAPACK test suite (Xchkbd.f) performs correctly

For example in schkbd.f

line 777 CALL SGEBRD( M, N, Q, LDQ, BD, BE, WORK, WORK( MNMIN+1 ),

$ WORK( 2*MNMIN+1 ), LWORK-2*MNMIN, IINFO )

// Perform bidiagonalization on Q with dimensions M and N.

line 801 CALL SORGBR( 'Q', M, MQ, N, Q, LDQ, WORK,

$ WORK( 2*MNMIN+1 ), LWORK-2*MNMIN, IINFO )

// Form Q from the result of SGEBRD where the dimension MQ is set to be same as M (MQ= M)

line 838 CALL SORT01( 'Columns', M, MQ, Q, LDQ, WORK, LWORK,

$ RESULT( 2 ) )

// Test I - QQ' and store it as result 2.

When N is zero and M is non-zero (LAPACK performs these cases), SGEBRD does not perform anything.

SORGBR does not perform anything either as N = 0.

However, SORT01 tests orthogonality of Q with dimensions M and MQ (=M), which are non zeros.

Does this make sense ? I think that the dimensions should be M and MNMIN for SORT01 test.

I am writing my own svd and testing the numerical correctness w.r.t. LAPACK test suite. Maybe LAPACK does something (make it identity for a trivial case), but this test logic certainly does not cover the cases in svd.in.

If I am wrong, please correct me.

Thank you.

Kyungjoo