166 SUBROUTINE clahrd( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
173 INTEGER K, LDA, LDT, LDY, N, NB
176 COMPLEX A( LDA, * ), T( LDT, NB ), TAU( NB ),
184 parameter( zero = ( 0.0e+0, 0.0e+0 ),
185 $ one = ( 1.0e+0, 0.0e+0 ) )
212 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
213 CALL cgemv(
'No transpose', n, i-1, -one, y, ldy,
214 $ a( k+i-1, 1 ), lda, one, a( 1, i ), 1 )
215 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
227 CALL ccopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
228 CALL ctrmv(
'Lower',
'Conjugate transpose',
'Unit', i-1,
229 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
233 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
234 $ a( k+i, 1 ), lda, a( k+i, i ), 1, one,
239 CALL ctrmv(
'Upper',
'Conjugate transpose',
'Non-unit', i-1,
240 $ t, ldt, t( 1, nb ), 1 )
244 CALL cgemv(
'No transpose', n-k-i+1, i-1, -one, a( k+i, 1 ),
245 $ lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
249 CALL ctrmv(
'Lower',
'No transpose',
'Unit', i-1,
250 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
251 CALL caxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
260 CALL clarfg( n-k-i+1, ei, a(
min( k+i+1, n ), i ), 1,
266 CALL cgemv(
'No transpose', n, n-k-i+1, one, a( 1, i+1 ), lda,
267 $ a( k+i, i ), 1, zero, y( 1, i ), 1 )
268 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
269 $ a( k+i, 1 ), lda, a( k+i, i ), 1, zero, t( 1, i ),
271 CALL cgemv(
'No transpose', n, i-1, -one, y, ldy, t( 1, i ), 1,
272 $ one, y( 1, i ), 1 )
273 CALL cscal( n, tau( i ), y( 1, i ), 1 )
277 CALL cscal( i-1, -tau( i ), t( 1, i ), 1 )
278 CALL ctrmv(
'Upper',
'No transpose',
'Non-unit', i-1, t, ldt,
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...