122 SUBROUTINE zgeqls( M, N, NRHS, A, LDA, TAU, B, LDB, WORK, LWORK,
131 INTEGER INFO, LDA, LDB, LWORK, M, N, NRHS
134 COMPLEX*16 A( lda, * ), B( ldb, * ), TAU( * ),
142 parameter( one = ( 1.0d+0, 0.0d+0 ) )
157 ELSE IF( n.LT.0 .OR. n.GT.m )
THEN 159 ELSE IF( nrhs.LT.0 )
THEN 161 ELSE IF( lda.LT.max( 1, m ) )
THEN 163 ELSE IF( ldb.LT.max( 1, m ) )
THEN 165 ELSE IF( lwork.LT.1 .OR. lwork.LT.nrhs .AND. m.GT.0 .AND. n.GT.0 )
170 CALL xerbla(
'ZGEQLS', -info )
176 IF( n.EQ.0 .OR. nrhs.EQ.0 .OR. m.EQ.0 )
181 CALL zunmql(
'Left',
'Conjugate transpose', m, nrhs, n, a, lda,
182 $ tau, b, ldb, work, lwork, info )
186 CALL ztrsm(
'Left',
'Lower',
'No transpose',
'Non-unit', n, nrhs,
187 $ one, a( m-n+1, 1 ), lda, b( m-n+1, 1 ), ldb )
subroutine zunmql(SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
ZUNMQL
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zgeqls(M, N, NRHS, A, LDA, TAU, B, LDB, WORK, LWORK, INFO)
ZGEQLS
subroutine ztrsm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
ZTRSM