139 SUBROUTINE ctzrqf( M, N, A, LDA, TAU, INFO )
147 INTEGER info, lda, m, n
150 COMPLEX a( lda, * ), tau( * )
157 parameter( cone = ( 1.0e+0, 0.0e+0 ),
158 $ czero = ( 0.0e+0, 0.0e+0 ) )
165 INTRINSIC conjg, max, min
178 ELSE IF( n.LT.m )
THEN
180 ELSE IF( lda.LT.max( 1, m ) )
THEN
184 CALL
xerbla(
'CTZRQF', -info )
203 a( k, k ) = conjg( a( k, k ) )
204 CALL
clacgv( n-m, a( k, m1 ), lda )
206 CALL
clarfg( n-m+1, alpha, a( k, m1 ), lda, tau( k ) )
208 tau( k ) = conjg( tau( k ) )
210 IF( tau( k ).NE.czero .AND. k.GT.1 )
THEN
219 CALL
ccopy( k-1, a( 1, k ), 1, tau, 1 )
223 CALL
cgemv(
'No transpose', k-1, n-m, cone, a( 1, m1 ),
224 $ lda, a( k, m1 ), lda, cone, tau, 1 )
229 CALL
caxpy( k-1, -conjg( tau( k ) ), tau, 1, a( 1, k ),
231 CALL
cgerc( k-1, n-m, -conjg( tau( k ) ), tau, 1,
232 $ a( k, m1 ), lda, a( 1, m1 ), lda )