124 SUBROUTINE zgeql2( M, N, A, LDA, TAU, WORK, INFO )
132 INTEGER INFO, LDA, M, N
135 COMPLEX*16 A( lda, * ), TAU( * ), WORK( * )
142 parameter ( one = ( 1.0d+0, 0.0d+0 ) )
152 INTRINSIC dconjg, max, min
161 ELSE IF( n.LT.0 )
THEN
163 ELSE IF( lda.LT.max( 1, m ) )
THEN
167 CALL xerbla(
'ZGEQL2', -info )
178 alpha = a( m-k+i, n-k+i )
179 CALL zlarfg( m-k+i, alpha, a( 1, n-k+i ), 1, tau( i ) )
183 a( m-k+i, n-k+i ) = one
184 CALL zlarf(
'Left', m-k+i, n-k+i-1, a( 1, n-k+i ), 1,
185 $ dconjg( tau( i ) ), a, lda, work )
186 a( m-k+i, n-k+i ) = alpha
subroutine zgeql2(M, N, A, LDA, TAU, WORK, INFO)
ZGEQL2 computes the QL factorization of a general rectangular matrix using an unblocked algorithm...
subroutine zlarfg(N, ALPHA, X, INCX, TAU)
ZLARFG generates an elementary reflector (Householder matrix).
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zlarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
ZLARF applies an elementary reflector to a general rectangular matrix.