88 SUBROUTINE zlarge( N, A, LDA, ISEED, WORK, INFO )
100 COMPLEX*16 a( lda, * ), work( * )
107 parameter( zero = ( 0.0d+0, 0.0d+0 ),
108 $ one = ( 1.0d+0, 0.0d+0 ) )
113 COMPLEX*16 tau, wa, wb
119 INTRINSIC abs, dble, max
132 ELSE IF( lda.LT.max( 1, n ) )
THEN
136 CALL
xerbla(
'ZLARGE', -info )
146 CALL
zlarnv( 3, iseed, n-i+1, work )
147 wn =
dznrm2( n-i+1, work, 1 )
148 wa = ( wn / abs( work( 1 ) ) )*work( 1 )
149 IF( wn.EQ.zero )
THEN
153 CALL
zscal( n-i, one / wb, work( 2 ), 1 )
155 tau = dble( wb / wa )
160 CALL
zgemv(
'Conjugate transpose', n-i+1, n, one, a( i, 1 ),
161 $ lda, work, 1, zero, work( n+1 ), 1 )
162 CALL
zgerc( n-i+1, n, -tau, work, 1, work( n+1 ), 1, a( i, 1 ),
167 CALL
zgemv(
'No transpose', n, n-i+1, one, a( 1, i ), lda,
168 $ work, 1, zero, work( n+1 ), 1 )
169 CALL
zgerc( n, n-i+1, -tau, work( n+1 ), 1, work, 1, a( 1, i ),