166 SUBROUTINE clahrd( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
173 INTEGER K, LDA, LDT, LDY, N, NB
176 COMPLEX A( LDA, * ), T( LDT, NB ), TAU( NB ),
184 parameter( zero = ( 0.0e+0, 0.0e+0 ),
185 $ one = ( 1.0e+0, 0.0e+0 ) )
212 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
213 CALL cgemv(
'No transpose', n, i-1, -one, y, ldy,
214 $ a( k+i-1, 1 ), lda, one, a( 1, i ), 1 )
215 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
227 CALL ccopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
228 CALL ctrmv(
'Lower',
'Conjugate transpose',
'Unit', i-1,
229 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
233 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
234 $ a( k+i, 1 ), lda, a( k+i, i ), 1, one,
239 CALL ctrmv(
'Upper',
'Conjugate transpose',
'Non-unit', i-1,
240 $ t, ldt, t( 1, nb ), 1 )
244 CALL cgemv(
'No transpose', n-k-i+1, i-1, -one, a( k+i, 1 ),
245 $ lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
249 CALL ctrmv(
'Lower',
'No transpose',
'Unit', i-1,
250 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
251 CALL caxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
260 CALL clarfg( n-k-i+1, ei, a( min( k+i+1, n ), i ), 1,
266 CALL cgemv(
'No transpose', n, n-k-i+1, one, a( 1, i+1 ), lda,
267 $ a( k+i, i ), 1, zero, y( 1, i ), 1 )
268 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
269 $ a( k+i, 1 ), lda, a( k+i, i ), 1, zero, t( 1, i ),
271 CALL cgemv(
'No transpose', n, i-1, -one, y, ldy, t( 1, i ), 1,
272 $ one, y( 1, i ), 1 )
273 CALL cscal( n, tau( i ), y( 1, i ), 1 )
277 CALL cscal( i-1, -tau( i ), t( 1, i ), 1 )
278 CALL ctrmv(
'Upper',
'No transpose',
'Non-unit', i-1, t, ldt,
subroutine clahrd(n, k, nb, a, lda, tau, t, ldt, y, ldy)
CLAHRD reduces the first nb columns of a general rectangular matrix A so that elements below the k-th...
subroutine caxpy(n, ca, cx, incx, cy, incy)
CAXPY
subroutine ccopy(n, cx, incx, cy, incy)
CCOPY
subroutine cgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
CGEMV
subroutine clacgv(n, x, incx)
CLACGV conjugates a complex vector.
subroutine clarfg(n, alpha, x, incx, tau)
CLARFG generates an elementary reflector (Householder matrix).
subroutine cscal(n, ca, cx, incx)
CSCAL
subroutine ctrmv(uplo, trans, diag, n, a, lda, x, incx)
CTRMV