182 SUBROUTINE clahr2( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
190 INTEGER k, lda, ldt, ldy, n, nb
193 COMPLEX a( lda, * ), t( ldt, nb ), tau( nb ),
201 parameter( zero = ( 0.0e+0, 0.0e+0 ),
202 $ one = ( 1.0e+0, 0.0e+0 ) )
229 CALL
clacgv( i-1, a( k+i-1, 1 ), lda )
230 CALL
cgemv(
'NO TRANSPOSE', n-k, i-1, -one, y(k+1,1), ldy,
231 $ a( k+i-1, 1 ), lda, one, a( k+1, i ), 1 )
232 CALL
clacgv( i-1, a( k+i-1, 1 ), lda )
244 CALL
ccopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
245 CALL
ctrmv(
'Lower',
'Conjugate transpose',
'UNIT',
247 $ lda, t( 1, nb ), 1 )
251 CALL
cgemv(
'Conjugate transpose', n-k-i+1, i-1,
253 $ lda, a( k+i, i ), 1, one, t( 1, nb ), 1 )
257 CALL
ctrmv(
'Upper',
'Conjugate transpose',
'NON-UNIT',
263 CALL
cgemv(
'NO TRANSPOSE', n-k-i+1, i-1, -one,
265 $ lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
269 CALL
ctrmv(
'Lower',
'NO TRANSPOSE',
271 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
272 CALL
caxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
280 CALL
clarfg( n-k-i+1, a( k+i, i ), a( min( k+i+1, n ), i ), 1,
287 CALL
cgemv(
'NO TRANSPOSE', n-k, n-k-i+1,
288 $ one, a( k+1, i+1 ),
289 $ lda, a( k+i, i ), 1, zero, y( k+1, i ), 1 )
290 CALL
cgemv(
'Conjugate transpose', n-k-i+1, i-1,
291 $ one, a( k+i, 1 ), lda,
292 $ a( k+i, i ), 1, zero, t( 1, i ), 1 )
293 CALL
cgemv(
'NO TRANSPOSE', n-k, i-1, -one,
295 $ t( 1, i ), 1, one, y( k+1, i ), 1 )
296 CALL
cscal( n-k, tau( i ), y( k+1, i ), 1 )
300 CALL
cscal( i-1, -tau( i ), t( 1, i ), 1 )
301 CALL
ctrmv(
'Upper',
'No Transpose',
'NON-UNIT',
311 CALL
clacpy(
'ALL', k, nb, a( 1, 2 ), lda, y, ldy )
312 CALL
ctrmm(
'RIGHT',
'Lower',
'NO TRANSPOSE',
314 $ one, a( k+1, 1 ), lda, y, ldy )
316 $ CALL
cgemm(
'NO TRANSPOSE',
'NO TRANSPOSE', k,
318 $ a( 1, 2+nb ), lda, a( k+1+nb, 1 ), lda, one, y,
320 CALL
ctrmm(
'RIGHT',
'Upper',
'NO TRANSPOSE',
322 $ one, t, ldt, y, ldy )
subroutine cscal(N, CA, CX, INCX)
CSCAL
subroutine caxpy(N, CA, CX, INCX, CY, INCY)
CAXPY
subroutine ctrmm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
CTRMM
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 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 ccopy(N, CX, INCX, CY, INCY)
CCOPY
subroutine ctrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
CTRMV
subroutine cgemm(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
CGEMM