388 SUBROUTINE slarfb_gett( IDENT, M, N, K, T, LDT, A, LDA, B, LDB,
398 INTEGER K, LDA, LDB, LDT, LDWORK, M, N
401 REAL A( LDA, * ), B( LDB, * ), T( LDT, * ),
409 parameter( one = 1.0e+0, zero = 0.0e+0 )
426 IF( m.LT.0 .OR. n.LE.0 .OR. k.EQ.0 .OR. k.GT.n )
429 lnotident = .NOT.lsame( ident,
'I' )
446 CALL scopy( k, a( 1, k+j ), 1, work( 1, j ), 1 )
456 CALL strmm(
'L',
'L',
'T',
'U', k, n-k, one, a, lda,
464 CALL sgemm(
'T',
'N', k, n-k, m, one, b, ldb,
465 $ b( 1, k+1 ), ldb, one, work, ldwork )
471 CALL strmm(
'L',
'U',
'N',
'N', k, n-k, one, t, ldt,
478 CALL sgemm(
'N',
'N', m, n-k, k, -one, b, ldb,
479 $ work, ldwork, one, b( 1, k+1 ), ldb )
488 CALL strmm(
'L',
'L',
'N',
'U', k, n-k, one, a, lda,
498 a( i, k+j ) = a( i, k+j ) - work( i, j )
518 CALL scopy( j, a( 1, j ), 1, work( 1, j ), 1 )
536 CALL strmm(
'L',
'L',
'T',
'U', k, k, one, a, lda,
544 CALL strmm(
'L',
'U',
'N',
'N', k, k, one, t, ldt,
551 CALL strmm(
'R',
'U',
'N',
'N', m, k, -one, work, ldwork,
563 CALL strmm(
'L',
'L',
'N',
'U', k, k, one, a, lda,
576 a( i, j ) = - work( i, j )
586 a( i, j ) = a( i, j ) - work( i, j )
subroutine sgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
SGEMM
subroutine slarfb_gett(ident, m, n, k, t, ldt, a, lda, b, ldb, work, ldwork)
SLARFB_GETT
subroutine strmm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
STRMM