139 SUBROUTINE ztzrqf( M, N, A, LDA, TAU, INFO )
147 INTEGER info, lda, m, n
150 COMPLEX*16 a( lda, * ), tau( * )
156 COMPLEX*16 cone, czero
157 parameter( cone = ( 1.0d+0, 0.0d+0 ),
158 $ czero = ( 0.0d+0, 0.0d+0 ) )
165 INTRINSIC dconjg, max, min
178 ELSE IF( n.LT.m )
THEN
180 ELSE IF( lda.LT.max( 1, m ) )
THEN
184 CALL
xerbla(
'ZTZRQF', -info )
203 a( k, k ) = dconjg( a( k, k ) )
204 CALL
zlacgv( n-m, a( k, m1 ), lda )
206 CALL
zlarfg( n-m+1, alpha, a( k, m1 ), lda, tau( k ) )
208 tau( k ) = dconjg( tau( k ) )
210 IF( tau( k ).NE.czero .AND. k.GT.1 )
THEN
219 CALL
zcopy( k-1, a( 1, k ), 1, tau, 1 )
223 CALL
zgemv(
'No transpose', k-1, n-m, cone, a( 1, m1 ),
224 $ lda, a( k, m1 ), lda, cone, tau, 1 )
229 CALL
zaxpy( k-1, -dconjg( tau( k ) ), tau, 1, a( 1, k ),
231 CALL
zgerc( k-1, n-m, -dconjg( tau( k ) ), tau, 1,
232 $ a( k, m1 ), lda, a( 1, m1 ), lda )