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 )
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV
subroutine zgeqrt2(M, N, A, LDA, T, LDT, INFO)
ZGEQRT2 computes a QR factorization of a general real or complex matrix using the compact WY represen...
subroutine zgerc(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
ZGERC
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ztrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
ZTRMV
subroutine zlarfg(N, ALPHA, X, INCX, TAU)
ZLARFG generates an elementary reflector (Householder matrix).