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 clarfg(N, ALPHA, X, INCX, TAU)
CLARFG generates an elementary reflector (Householder matrix).
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 clarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
CLARF applies an elementary reflector to a general rectangular matrix.