168 SUBROUTINE clahrd( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
176 INTEGER K, LDA, LDT, LDY, N, NB
179 COMPLEX A( lda, * ), T( ldt, nb ), TAU( nb ),
187 parameter ( zero = ( 0.0e+0, 0.0e+0 ),
188 $ one = ( 1.0e+0, 0.0e+0 ) )
215 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
216 CALL cgemv(
'No transpose', n, i-1, -one, y, ldy,
217 $ a( k+i-1, 1 ), lda, one, a( 1, i ), 1 )
218 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
230 CALL ccopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
231 CALL ctrmv(
'Lower',
'Conjugate transpose',
'Unit', i-1,
232 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
236 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
237 $ a( k+i, 1 ), lda, a( k+i, i ), 1, one,
242 CALL ctrmv(
'Upper',
'Conjugate transpose',
'Non-unit', i-1,
243 $ t, ldt, t( 1, nb ), 1 )
247 CALL cgemv(
'No transpose', n-k-i+1, i-1, -one, a( k+i, 1 ),
248 $ lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
252 CALL ctrmv(
'Lower',
'No transpose',
'Unit', i-1,
253 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
254 CALL caxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
263 CALL clarfg( n-k-i+1, ei, a( min( k+i+1, n ), i ), 1,
269 CALL cgemv(
'No transpose', n, n-k-i+1, one, a( 1, i+1 ), lda,
270 $ a( k+i, i ), 1, zero, y( 1, i ), 1 )
271 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
272 $ a( k+i, 1 ), lda, a( k+i, i ), 1, zero, t( 1, i ),
274 CALL cgemv(
'No transpose', n, i-1, -one, y, ldy, t( 1, i ), 1,
275 $ one, y( 1, i ), 1 )
276 CALL cscal( n, tau( i ), y( 1, i ), 1 )
280 CALL cscal( i-1, -tau( i ), t( 1, i ), 1 )
281 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 cscal(N, CA, CX, INCX)
CSCAL
subroutine cgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CGEMV
subroutine ctrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
CTRMV
subroutine ccopy(N, CX, INCX, CY, INCY)
CCOPY
subroutine clacgv(N, X, INCX)
CLACGV conjugates a complex vector.
subroutine caxpy(N, CA, CX, INCX, CY, INCY)
CAXPY
subroutine clarfg(N, ALPHA, X, INCX, TAU)
CLARFG generates an elementary reflector (Householder matrix).