388 SUBROUTINE clarfb_gett( IDENT, M, N, K, T, LDT, A, LDA, B, LDB,
398 INTEGER K, LDA, LDB, LDT, LDWORK, M, N
401 COMPLEX A( LDA, * ), B( LDB, * ), T( LDT, * ),
409 parameter( cone = ( 1.0e+0, 0.0e+0 ),
410 $ czero = ( 0.0e+0, 0.0e+0 ) )
427 IF( m.LT.0 .OR. n.LE.0 .OR. k.EQ.0 .OR. k.GT.n )
430 lnotident = .NOT.lsame( ident,
'I' )
447 CALL ccopy( k, a( 1, k+j ), 1, work( 1, j ), 1 )
457 CALL ctrmm(
'L',
'L',
'C',
'U', k, n-k, cone, a, lda,
465 CALL cgemm(
'C',
'N', k, n-k, m, cone, b, ldb,
466 $ b( 1, k+1 ), ldb, cone, work, ldwork )
472 CALL ctrmm(
'L',
'U',
'N',
'N', k, n-k, cone, t, ldt,
479 CALL cgemm(
'N',
'N', m, n-k, k, -cone, b, ldb,
480 $ work, ldwork, cone, b( 1, k+1 ), ldb )
489 CALL ctrmm(
'L',
'L',
'N',
'U', k, n-k, cone, a, lda,
499 a( i, k+j ) = a( i, k+j ) - work( i, j )
519 CALL ccopy( j, a( 1, j ), 1, work( 1, j ), 1 )
537 CALL ctrmm(
'L',
'L',
'C',
'U', k, k, cone, a, lda,
545 CALL ctrmm(
'L',
'U',
'N',
'N', k, k, cone, t, ldt,
552 CALL ctrmm(
'R',
'U',
'N',
'N', m, k, -cone, work, ldwork,
564 CALL ctrmm(
'L',
'L',
'N',
'U', k, k, cone, a, lda,
577 a( i, j ) = - work( i, j )
587 a( i, j ) = a( i, j ) - work( i, j )
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