166 SUBROUTINE dlahrd( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
173 INTEGER K, LDA, LDT, LDY, N, NB
176 DOUBLE PRECISION A( LDA, * ), T( LDT, NB ), TAU( NB ),
183 DOUBLE PRECISION ZERO, ONE
184 parameter( zero = 0.0d+0, one = 1.0d+0 )
210 CALL dgemv(
'No transpose', n, i-1, -one, y, ldy,
211 $ a( k+i-1, 1 ), lda, one, a( 1, i ), 1 )
223 CALL dcopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
224 CALL dtrmv(
'Lower',
'Transpose',
'Unit', i-1, a( k+1, 1 ),
225 $ lda, t( 1, nb ), 1 )
229 CALL dgemv(
'Transpose', n-k-i+1, i-1, one, a( k+i, 1 ),
230 $ lda, a( k+i, i ), 1, one, t( 1, nb ), 1 )
234 CALL dtrmv(
'Upper',
'Transpose',
'Non-unit', i-1, t, ldt,
239 CALL dgemv(
'No transpose', n-k-i+1, i-1, -one, a( k+i, 1 ),
240 $ lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
244 CALL dtrmv(
'Lower',
'No transpose',
'Unit', i-1,
245 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
246 CALL daxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
254 CALL dlarfg( n-k-i+1, a( k+i, i ), a( min( k+i+1, n ), i ), 1,
261 CALL dgemv(
'No transpose', n, n-k-i+1, one, a( 1, i+1 ), lda,
262 $ a( k+i, i ), 1, zero, y( 1, i ), 1 )
263 CALL dgemv(
'Transpose', n-k-i+1, i-1, one, a( k+i, 1 ), lda,
264 $ a( k+i, i ), 1, zero, t( 1, i ), 1 )
265 CALL dgemv(
'No transpose', n, i-1, -one, y, ldy, t( 1, i ), 1,
266 $ one, y( 1, i ), 1 )
267 CALL dscal( n, tau( i ), y( 1, i ), 1 )
271 CALL dscal( i-1, -tau( i ), t( 1, i ), 1 )
272 CALL dtrmv(
'Upper',
'No transpose',
'Non-unit', i-1, t, ldt,
subroutine dcopy(N, DX, INCX, DY, INCY)
DCOPY
subroutine dscal(N, DA, DX, INCX)
DSCAL
subroutine daxpy(N, DA, DX, INCX, DY, INCY)
DAXPY
subroutine dtrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
DTRMV
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DGEMV
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...
subroutine dlarfg(N, ALPHA, X, INCX, TAU)
DLARFG generates an elementary reflector (Householder matrix).