164 SUBROUTINE dlahrd( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
171 INTEGER K, LDA, LDT, LDY, N, NB
174 DOUBLE PRECISION A( LDA, * ), T( LDT, NB ), TAU( NB ),
181 DOUBLE PRECISION ZERO, ONE
182 parameter( zero = 0.0d+0, one = 1.0d+0 )
208 CALL dgemv(
'No transpose', n, i-1, -one, y, ldy,
209 $ a( k+i-1, 1 ), lda, one, a( 1, i ), 1 )
221 CALL dcopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
222 CALL dtrmv(
'Lower',
'Transpose',
'Unit', i-1,
223 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
227 CALL dgemv(
'Transpose', n-k-i+1, i-1, one, a( k+i, 1 ),
228 $ lda, a( k+i, i ), 1, one, t( 1, nb ), 1 )
232 CALL dtrmv(
'Upper',
'Transpose',
'Non-unit', i-1,
233 $ t, ldt, t( 1, nb ), 1 )
237 CALL dgemv(
'No transpose', n-k-i+1, i-1, -one,
238 $ a( k+i, 1 ), lda, t( 1, nb ), 1, one,
243 CALL dtrmv(
'Lower',
'No transpose',
'Unit', i-1,
244 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
245 CALL daxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
253 CALL dlarfg( n-k-i+1, a( k+i, i ), a( min( k+i+1, n ), i ), 1,
260 CALL dgemv(
'No transpose', n, n-k-i+1, one, a( 1, i+1 ),
261 $ lda, a( k+i, i ), 1, zero, y( 1, i ), 1 )
262 CALL dgemv(
'Transpose', n-k-i+1, i-1, one, a( k+i, 1 ),
263 $ lda, a( k+i, i ), 1, zero, t( 1, i ), 1 )
264 CALL dgemv(
'No transpose', n, i-1, -one, y, ldy, t( 1, i ),
265 $ 1, one, y( 1, i ), 1 )
266 CALL dscal( n, tau( i ), y( 1, i ), 1 )
270 CALL dscal( i-1, -tau( i ), t( 1, i ), 1 )
271 CALL dtrmv(
'Upper',
'No transpose',
'Non-unit', i-1,
272 $ t, ldt, t( 1, i ), 1 )
subroutine dlahrd(n, k, nb, a, lda, tau, t, ldt, y, ldy)
DLAHRD reduces the first nb columns of a general rectangular matrix A so that elements below the k-th...