122 SUBROUTINE cgelq2( M, N, A, LDA, TAU, WORK, INFO )
130 INTEGER INFO, LDA, M, N
133 COMPLEX A( lda, * ), TAU( * ), WORK( * )
140 parameter( one = ( 1.0e+0, 0.0e+0 ) )
159 ELSE IF( n.LT.0 )
THEN
161 ELSE IF( lda.LT.max( 1, m ) )
THEN
165 CALL xerbla(
'CGELQ2', -info )
175 CALL clacgv( n-i+1, a( i, i ), lda )
177 CALL clarfg( n-i+1, alpha, a( i, min( i+1, n ) ), lda,
184 CALL clarf(
'Right', m-i, n-i+1, a( i, i ), lda, tau( i ),
185 $ a( i+1, i ), lda, work )
188 CALL clacgv( n-i+1, a( i, i ), lda )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine clacgv(N, X, INCX)
CLACGV conjugates a complex vector.
subroutine clarfg(N, ALPHA, X, INCX, TAU)
CLARFG generates an elementary reflector (Householder matrix).
subroutine clarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
CLARF applies an elementary reflector to a general rectangular matrix.
subroutine cgelq2(M, N, A, LDA, TAU, WORK, INFO)
CGELQ2 computes the LQ factorization of a general rectangular matrix using an unblocked algorithm...