168 SUBROUTINE dlahrd( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
176 INTEGER K, LDA, LDT, LDY, N, NB
179 DOUBLE PRECISION A( lda, * ), T( ldt, nb ), TAU( nb ),
186 DOUBLE PRECISION ZERO, ONE
187 parameter ( zero = 0.0d+0, one = 1.0d+0 )
213 CALL dgemv(
'No transpose', n, i-1, -one, y, ldy,
214 $ a( k+i-1, 1 ), lda, one, a( 1, i ), 1 )
226 CALL dcopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
227 CALL dtrmv(
'Lower',
'Transpose',
'Unit', i-1, a( k+1, 1 ),
228 $ lda, t( 1, nb ), 1 )
232 CALL dgemv(
'Transpose', n-k-i+1, i-1, one, a( k+i, 1 ),
233 $ lda, a( k+i, i ), 1, one, t( 1, nb ), 1 )
237 CALL dtrmv(
'Upper',
'Transpose',
'Non-unit', i-1, t, ldt,
242 CALL dgemv(
'No transpose', n-k-i+1, i-1, -one, a( k+i, 1 ),
243 $ lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
247 CALL dtrmv(
'Lower',
'No transpose',
'Unit', i-1,
248 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
249 CALL daxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
257 CALL dlarfg( n-k-i+1, a( k+i, i ), a( min( k+i+1, n ), i ), 1,
264 CALL dgemv(
'No transpose', n, n-k-i+1, one, a( 1, i+1 ), lda,
265 $ a( k+i, i ), 1, zero, y( 1, i ), 1 )
266 CALL dgemv(
'Transpose', n-k-i+1, i-1, one, a( k+i, 1 ), lda,
267 $ a( k+i, i ), 1, zero, t( 1, i ), 1 )
268 CALL dgemv(
'No transpose', n, i-1, -one, y, ldy, t( 1, i ), 1,
269 $ one, y( 1, i ), 1 )
270 CALL dscal( n, tau( i ), y( 1, i ), 1 )
274 CALL dscal( i-1, -tau( i ), t( 1, i ), 1 )
275 CALL dtrmv(
'Upper',
'No transpose',
'Non-unit', i-1, t, ldt,
subroutine dcopy(N, DX, INCX, DY, INCY)
DCOPY
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DGEMV
subroutine daxpy(N, DA, DX, INCX, DY, INCY)
DAXPY
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 dscal(N, DA, DX, INCX)
DSCAL
subroutine dlarfg(N, ALPHA, X, INCX, TAU)
DLARFG generates an elementary reflector (Householder matrix).
subroutine dtrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
DTRMV