180 SUBROUTINE clahr2( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
187 INTEGER K, LDA, LDT, LDY, N, NB
190 COMPLEX A( LDA, * ), T( LDT, NB ), TAU( NB ),
198 parameter( zero = ( 0.0e+0, 0.0e+0 ),
199 $ one = ( 1.0e+0, 0.0e+0 ) )
226 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
227 CALL cgemv(
'NO TRANSPOSE', n-k, i-1, -one, y(k+1,1), ldy,
228 $ a( k+i-1, 1 ), lda, one, a( k+1, i ), 1 )
229 CALL clacgv( i-1, a( k+i-1, 1 ), lda )
241 CALL ccopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
242 CALL ctrmv(
'Lower',
'Conjugate transpose',
'UNIT',
244 $ lda, t( 1, nb ), 1 )
248 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1,
250 $ lda, a( k+i, i ), 1, one, t( 1, nb ), 1 )
254 CALL ctrmv(
'Upper',
'Conjugate transpose',
'NON-UNIT',
260 CALL cgemv(
'NO TRANSPOSE', n-k-i+1, i-1, -one,
262 $ lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
266 CALL ctrmv(
'Lower',
'NO TRANSPOSE',
268 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
269 CALL caxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
277 CALL clarfg( n-k-i+1, a( k+i, i ), a( min( k+i+1, n ), i ), 1,
284 CALL cgemv(
'NO TRANSPOSE', n-k, n-k-i+1,
285 $ one, a( k+1, i+1 ),
286 $ lda, a( k+i, i ), 1, zero, y( k+1, i ), 1 )
287 CALL cgemv(
'Conjugate transpose', n-k-i+1, i-1,
288 $ one, a( k+i, 1 ), lda,
289 $ a( k+i, i ), 1, zero, t( 1, i ), 1 )
290 CALL cgemv(
'NO TRANSPOSE', n-k, i-1, -one,
292 $ t( 1, i ), 1, one, y( k+1, i ), 1 )
293 CALL cscal( n-k, tau( i ), y( k+1, i ), 1 )
297 CALL cscal( i-1, -tau( i ), t( 1, i ), 1 )
298 CALL ctrmv(
'Upper',
'No Transpose',
'NON-UNIT',
308 CALL clacpy(
'ALL', k, nb, a( 1, 2 ), lda, y, ldy )
309 CALL ctrmm(
'RIGHT',
'Lower',
'NO TRANSPOSE',
311 $ one, a( k+1, 1 ), lda, y, ldy )
313 $
CALL cgemm(
'NO TRANSPOSE',
'NO TRANSPOSE', k,
315 $ a( 1, 2+nb ), lda, a( k+1+nb, 1 ), lda, one, y,
317 CALL ctrmm(
'RIGHT',
'Upper',
'NO TRANSPOSE',
319 $ one, t, ldt, y, ldy )
subroutine caxpy(n, ca, cx, incx, cy, incy)
CAXPY
subroutine ccopy(n, cx, incx, cy, incy)
CCOPY
subroutine cgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
CGEMM
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 clacpy(uplo, m, n, a, lda, b, ldb)
CLACPY copies all or part of one two-dimensional array to another.
subroutine clahr2(n, k, nb, a, lda, tau, t, ldt, y, ldy)
CLAHR2 reduces the specified number of first columns of a general rectangular matrix A so that elemen...
subroutine clarfg(n, alpha, x, incx, tau)
CLARFG generates an elementary reflector (Householder matrix).
subroutine cscal(n, ca, cx, incx)
CSCAL
subroutine ctrmm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
CTRMM
subroutine ctrmv(uplo, trans, diag, n, a, lda, x, incx)
CTRMV