390 SUBROUTINE clarfb_gett( IDENT, M, N, K, T, LDT, A, LDA, B, LDB,
400 INTEGER K, LDA, LDB, LDT, LDWORK, M, N
403 COMPLEX A( LDA, * ), B( LDB, * ), T( LDT, * ),
411 parameter( cone = ( 1.0e+0, 0.0e+0 ),
412 $ czero = ( 0.0e+0, 0.0e+0 ) )
429 IF( m.LT.0 .OR. n.LE.0 .OR. k.EQ.0 .OR. k.GT.n )
432 lnotident = .NOT.lsame( ident,
'I' )
449 CALL ccopy( k, a( 1, k+j ), 1, work( 1, j ), 1 )
459 CALL ctrmm(
'L',
'L',
'C',
'U', k, n-k, cone, a, lda,
467 CALL cgemm(
'C',
'N', k, n-k, m, cone, b, ldb,
468 $ b( 1, k+1 ), ldb, cone, work, ldwork )
474 CALL ctrmm(
'L',
'U',
'N',
'N', k, n-k, cone, t, ldt,
481 CALL cgemm(
'N',
'N', m, n-k, k, -cone, b, ldb,
482 $ work, ldwork, cone, b( 1, k+1 ), ldb )
491 CALL ctrmm(
'L',
'L',
'N',
'U', k, n-k, cone, a, lda,
501 a( i, k+j ) = a( i, k+j ) - work( i, j )
521 CALL ccopy( j, a( 1, j ), 1, work( 1, j ), 1 )
539 CALL ctrmm(
'L',
'L',
'C',
'U', k, k, cone, a, lda,
547 CALL ctrmm(
'L',
'U',
'N',
'N', k, k, cone, t, ldt,
554 CALL ctrmm(
'R',
'U',
'N',
'N', m, k, -cone, work, ldwork,
566 CALL ctrmm(
'L',
'L',
'N',
'U', k, k, cone, a, lda,
579 a( i, j ) = - work( i, j )
589 a( i, j ) = a( i, j ) - work( i, j )
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 clarfb_gett(ident, m, n, k, t, ldt, a, lda, b, ldb, work, ldwork)
CLARFB_GETT
subroutine ctrmm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
CTRMM