128 SUBROUTINE zgeqrt2( M, N, A, LDA, T, LDT, INFO )
136 INTEGER info, lda, ldt, m, n
139 COMPLEX*16 a( lda, * ), t( ldt, * )
146 parameter( one = (1.0d+00,0.0d+00), zero = (0.0d+00,0.0d+00) )
150 COMPLEX*16 aii, alpha
162 ELSE IF( n.LT.0 )
THEN
164 ELSE IF( lda.LT.max( 1, m ) )
THEN
166 ELSE IF( ldt.LT.max( 1, n ) )
THEN
170 CALL
xerbla(
'ZGEQRT2', -info )
180 CALL
zlarfg( m-i+1, a( i, i ), a( min( i+1, m ), i ), 1,
191 CALL
zgemv(
'C',m-i+1, n-i, one, a( i, i+1 ), lda,
192 $ a( i, i ), 1, zero, t( 1, n ), 1 )
196 alpha = -conjg(t( i, 1 ))
197 CALL
zgerc( m-i+1, n-i, alpha, a( i, i ), 1,
198 $ t( 1, n ), 1, a( i, i+1 ), lda )
210 CALL
zgemv(
'C', m-i+1, i-1, alpha, a( i, 1 ), lda,
211 $ a( i, i ), 1, zero, t( 1, i ), 1 )
216 CALL
ztrmv(
'U',
'N',
'N', i-1, t, ldt, t( 1, i ), 1 )
220 t( i, i ) = t( i, 1 )