164 SUBROUTINE clahrd( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
171 INTEGER K, LDA, LDT, LDY, N, NB
174 COMPLEX A( LDA, * ), T( LDT, NB ), TAU( NB ),
182 parameter( zero = ( 0.0e+0, 0.0e+0 ),
183 $ one = ( 1.0e+0, 0.0e+0 ) )
210 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
211 CALL cgemv(
'No transpose', n, i-1, -one, y, ldy,
212 $ a( k+i-1, 1 ), lda, one, a( 1, i ), 1 )
213 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
225 CALL ccopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
226 CALL ctrmv(
'Lower',
'Conjugate transpose',
'Unit', i-1,
227 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
231 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
232 $ a( k+i, 1 ), lda, a( k+i, i ), 1, one,
237 CALL ctrmv(
'Upper',
'Conjugate transpose',
'Non-unit',
238 $ i-1, t, ldt, t( 1, nb ), 1 )
242 CALL cgemv(
'No transpose', n-k-i+1, i-1, -one,
243 $ a( k+i, 1 ), lda, t( 1, nb ), 1, one,
248 CALL ctrmv(
'Lower',
'No transpose',
'Unit', i-1,
249 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
250 CALL caxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
259 CALL clarfg( n-k-i+1, ei, a( min( k+i+1, n ), i ), 1,
265 CALL cgemv(
'No transpose', n, n-k-i+1, one, a( 1, i+1 ),
266 $ lda, a( k+i, i ), 1, zero, y( 1, i ), 1 )
267 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
268 $ a( k+i, 1 ), lda, a( k+i, i ), 1, zero, t( 1, i ),
270 CALL cgemv(
'No transpose', n, i-1, -one, y, ldy,
271 $ t( 1, i ), 1, one, y( 1, i ), 1 )
272 CALL cscal( n, tau( i ), y( 1, i ), 1 )
276 CALL cscal( i-1, -tau( i ), t( 1, i ), 1 )
277 CALL ctrmv(
'Upper',
'No transpose',
'Non-unit', i-1, t,
278 $ ldt, t( 1, i ), 1 )
subroutine clahrd(n, k, nb, a, lda, tau, t, ldt, y, ldy)
CLAHRD reduces the first nb columns of a general rectangular matrix A so that elements below the k-th...