137 SUBROUTINE zlatrz( M, N, L, A, LDA, TAU, WORK )
147 COMPLEX*16 A( LDA, * ), TAU( * ), WORK( * )
154 parameter( zero = ( 0.0d+0, 0.0d+0 ) )
172 ELSE IF( m.EQ.n )
THEN
184 CALL zlacgv( l, a( i, n-l+1 ), lda )
185 alpha = dconjg( a( i, i ) )
186 CALL zlarfg( l+1, alpha, a( i, n-l+1 ), lda, tau( i ) )
187 tau( i ) = dconjg( tau( i ) )
191 CALL zlarz(
'Right', i-1, n-i+1, l, a( i, n-l+1 ), lda,
192 $ dconjg( tau( i ) ), a( 1, i ), lda, work )
193 a( i, i ) = dconjg( alpha )
subroutine zlarfg(n, alpha, x, incx, tau)
ZLARFG generates an elementary reflector (Householder matrix).
subroutine zlarz(side, m, n, l, v, incv, tau, c, ldc, work)
ZLARZ applies an elementary reflector (as returned by stzrzf) to a general matrix.
subroutine zlatrz(m, n, l, a, lda, tau, work)
ZLATRZ factors an upper trapezoidal matrix by means of unitary transformations.