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 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 daxpy(n, da, dx, incx, dy, incy)
DAXPY
subroutine dcopy(n, dx, incx, dy, incy)
DCOPY
subroutine dgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
DGEMV
subroutine dlarfg(n, alpha, x, incx, tau)
DLARFG generates an elementary reflector (Householder matrix).
subroutine dscal(n, da, dx, incx)
DSCAL
subroutine dtrmv(uplo, trans, diag, n, a, lda, x, incx)
DTRMV