1 SUBROUTINE dlahrd( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
9 INTEGER K, LDA, LDT, LDY, N, NB
12 DOUBLE PRECISION A( LDA, * ), T( LDT, NB ), TAU( NB ),
106 DOUBLE PRECISION ZERO, ONE
107 parameter( zero = 0.0d+0, one = 1.0d+0 )
133 CALL dgemv(
'No transpose', n, i-1, -one, y, ldy,
134 $ a( k+i-1, 1 ), lda, one, a( 1, i ), 1 )
146 CALL dcopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
147 CALL dtrmv(
'Lower',
'Transpose',
'Unit', i-1, a( k+1, 1 ),
148 $ lda, t( 1, nb ), 1 )
152 CALL dgemv(
'Transpose', n-k-i+1, i-1, one, a( k+i, 1 ),
153 $ lda, a( k+i, i ), 1, one, t( 1, nb ), 1 )
157 CALL dtrmv(
'Upper',
'Transpose',
'Non-unit', i-1, t, ldt,
162 CALL dgemv(
'No transpose', n-k-i+1, i-1, -one, a( k+i, 1 ),
163 $ lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
167 CALL dtrmv(
'Lower',
'No transpose',
'Unit', i-1,
168 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
169 CALL daxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
177 CALL dlarfg( n-k-i+1, a( k+i, i ), a( min( k+i+1, n ), i ), 1,
184 CALL dgemv(
'No transpose', n, n-k-i+1, one, a( 1, i+1 ), lda,
185 $ a( k+i, i ), 1, zero, y( 1, i ), 1 )
186 CALL dgemv(
'Transpose', n-k-i+1, i-1, one, a( k+i, 1 ), lda,
187 $ a( k+i, i ), 1, zero, t( 1, i ), 1 )
188 CALL dgemv(
'No transpose', n, i-1, -one, y, ldy, t( 1, i ), 1,
189 $ one, y( 1, i ), 1 )
190 CALL dscal( n, tau( i ), y( 1, i ), 1 )
194 CALL dscal( i-1, -tau( i ), t( 1, i ), 1 )
195 CALL dtrmv(
'Upper',
'No transpose',
'Non-unit', i-1, t, ldt,
subroutine daxpy(n, da, dx, incx, dy, incy)
subroutine dcopy(n, dx, incx, dy, incy)
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
subroutine dlahrd(N, K, NB, A, LDA, TAU, T, LDT, Y, LDY)
subroutine dlarfg(N, ALPHA, X, INCX, TAU)
subroutine dscal(n, da, dx, incx)
subroutine dtrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)