124 SUBROUTINE cgeql2( M, N, A, LDA, TAU, WORK, INFO )
132 INTEGER info, lda, m, n
135 COMPLEX a( lda, * ), tau( * ), work( * )
142 parameter( one = ( 1.0e+0, 0.0e+0 ) )
152 INTRINSIC conjg, max, min
161 ELSE IF( n.LT.0 )
THEN
163 ELSE IF( lda.LT.max( 1, m ) )
THEN
167 CALL
xerbla(
'CGEQL2', -info )
178 alpha = a( m-k+i, n-k+i )
179 CALL
clarfg( m-k+i, alpha, a( 1, n-k+i ), 1, tau( i ) )
183 a( m-k+i, n-k+i ) = one
184 CALL
clarf(
'Left', m-k+i, n-k+i-1, a( 1, n-k+i ), 1,
185 $ conjg( tau( i ) ), a, lda, work )
186 a( m-k+i, n-k+i ) = alpha
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine cgeql2(M, N, A, LDA, TAU, WORK, INFO)
CGEQL2 computes the QL factorization of a general rectangular matrix using an unblocked algorithm...
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.