170 SUBROUTINE clahrd( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
178 INTEGER K, LDA, LDT, LDY, N, NB
181 COMPLEX A( lda, * ), T( ldt, nb ), TAU( nb ),
189 parameter( zero = ( 0.0e+0, 0.0e+0 ),
190 $ one = ( 1.0e+0, 0.0e+0 ) )
217 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
218 CALL cgemv(
'No transpose', n, i-1, -one, y, ldy,
219 $ a( k+i-1, 1 ), lda, one, a( 1, i ), 1 )
220 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
232 CALL ccopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
233 CALL ctrmv(
'Lower',
'Conjugate transpose',
'Unit', i-1,
234 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
238 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
239 $ a( k+i, 1 ), lda, a( k+i, i ), 1, one,
244 CALL ctrmv(
'Upper',
'Conjugate transpose',
'Non-unit', i-1,
245 $ t, ldt, t( 1, nb ), 1 )
249 CALL cgemv(
'No transpose', n-k-i+1, i-1, -one, a( k+i, 1 ),
250 $ lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
254 CALL ctrmv(
'Lower',
'No transpose',
'Unit', i-1,
255 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
256 CALL caxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
265 CALL clarfg( n-k-i+1, ei, a( min( k+i+1, n ), i ), 1,
271 CALL cgemv(
'No transpose', n, n-k-i+1, one, a( 1, i+1 ), lda,
272 $ a( k+i, i ), 1, zero, y( 1, i ), 1 )
273 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
274 $ a( k+i, 1 ), lda, a( k+i, i ), 1, zero, t( 1, i ),
276 CALL cgemv(
'No transpose', n, i-1, -one, y, ldy, t( 1, i ), 1,
277 $ one, y( 1, i ), 1 )
278 CALL cscal( n, tau( i ), y( 1, i ), 1 )
282 CALL cscal( i-1, -tau( i ), t( 1, i ), 1 )
283 CALL ctrmv(
'Upper',
'No transpose',
'Non-unit', i-1, t, ldt,
subroutine cscal(N, CA, CX, INCX)
CSCAL
subroutine caxpy(N, CA, CX, INCX, CY, INCY)
CAXPY
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 clacgv(N, X, INCX)
CLACGV conjugates a complex vector.
subroutine cgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CGEMV
subroutine clarfg(N, ALPHA, X, INCX, TAU)
CLARFG generates an elementary reflector (Householder matrix).
subroutine ccopy(N, CX, INCX, CY, INCY)
CCOPY
subroutine ctrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
CTRMV