170 SUBROUTINE zlahrd( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
178 INTEGER K, LDA, LDT, LDY, N, NB
181 COMPLEX*16 A( lda, * ), T( ldt, nb ), TAU( nb ),
189 parameter( zero = ( 0.0d+0, 0.0d+0 ),
190 $ one = ( 1.0d+0, 0.0d+0 ) )
217 CALL zlacgv( i-1, a( k+i-1, 1 ), lda )
218 CALL zgemv(
'No transpose', n, i-1, -one, y, ldy,
219 $ a( k+i-1, 1 ), lda, one, a( 1, i ), 1 )
220 CALL zlacgv( i-1, a( k+i-1, 1 ), lda )
232 CALL zcopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
233 CALL ztrmv(
'Lower',
'Conjugate transpose',
'Unit', i-1,
234 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
238 CALL zgemv(
'Conjugate transpose', n-k-i+1, i-1, one,
239 $ a( k+i, 1 ), lda, a( k+i, i ), 1, one,
244 CALL ztrmv(
'Upper',
'Conjugate transpose',
'Non-unit', i-1,
245 $ t, ldt, t( 1, nb ), 1 )
249 CALL zgemv(
'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 ztrmv(
'Lower',
'No transpose',
'Unit', i-1,
255 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
256 CALL zaxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
265 CALL zlarfg( n-k-i+1, ei, a( min( k+i+1, n ), i ), 1,
271 CALL zgemv(
'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 zgemv(
'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 zgemv(
'No transpose', n, i-1, -one, y, ldy, t( 1, i ), 1,
277 $ one, y( 1, i ), 1 )
278 CALL zscal( n, tau( i ), y( 1, i ), 1 )
282 CALL zscal( i-1, -tau( i ), t( 1, i ), 1 )
283 CALL ztrmv(
'Upper',
'No transpose',
'Non-unit', i-1, t, ldt,
subroutine zlahrd(N, K, NB, A, LDA, TAU, T, LDT, Y, LDY)
ZLAHRD reduces the first nb columns of a general rectangular matrix A so that elements below the k-th...
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.
subroutine zcopy(N, ZX, INCX, ZY, INCY)
ZCOPY
subroutine zaxpy(N, ZA, ZX, INCX, ZY, INCY)
ZAXPY
subroutine ztrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
ZTRMV
subroutine zlarfg(N, ALPHA, X, INCX, TAU)
ZLARFG generates an elementary reflector (Householder matrix).
subroutine zscal(N, ZA, ZX, INCX)
ZSCAL