101 SUBROUTINE zlauum( UPLO, N, A, LDA, INFO )
112 COMPLEX*16 A( LDA, * )
119 parameter( one = 1.0d+0 )
121 parameter( cone = ( 1.0d+0, 0.0d+0 ) )
130 EXTERNAL lsame, ilaenv
143 upper = lsame( uplo,
'U' )
144 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
146 ELSE IF( n.LT.0 )
THEN
148 ELSE IF( lda.LT.
max( 1, n ) )
THEN
163 NB = ILAENV( 1, 'zlauum', UPLO, N, -1, -1, -1 )
165.LE..OR..GE.
IF( NB1 NBN ) THEN
169 CALL ZLAUU2( UPLO, N, A, LDA, INFO )
179 IB = MIN( NB, N-I+1 )
180 CALL ZTRMM( 'right
', 'upper
', 'conjugate transpose
',
181 $ 'non-unit
', I-1, IB, CONE, A( I, I ), LDA,
183 CALL ZLAUU2( 'upper
', IB, A( I, I ), LDA, INFO )
185 CALL ZGEMM( 'no transpose
', 'conjugate transpose
',
186 $ I-1, IB, N-I-IB+1, CONE, A( 1, I+IB ),
187 $ LDA, A( I, I+IB ), LDA, CONE, A( 1, I ),
189 CALL ZHERK( 'upper
', 'no transpose
', IB, N-I-IB+1,
190 $ ONE, A( I, I+IB ), LDA, ONE, A( I, I ),
199 IB = MIN( NB, N-I+1 )
200 CALL ZTRMM( 'left
', 'lower
', 'conjugate transpose
',
201 $ 'non-unit
', IB, I-1, CONE, A( I, I ), LDA,
203 CALL ZLAUU2( 'lower
', IB, A( I, I ), LDA, INFO )
205 CALL ZGEMM( 'conjugate transpose
', 'no transpose
', IB,
206 $ I-1, N-I-IB+1, CONE, A( I+IB, I ), LDA,
207 $ A( I+IB, 1 ), LDA, CONE, A( I, 1 ), LDA )
208 CALL ZHERK( 'lower
', 'conjugate transpose
', IB,
209 $ N-I-IB+1, ONE, A( I+IB, I ), LDA, ONE,
subroutine xerbla(srname, info)
XERBLA
subroutine zlauum(uplo, n, a, lda, info)
ZLAUUM computes the product UUH or LHL, where U and L are upper or lower triangular matrices (blocked...
subroutine zlauu2(uplo, n, a, lda, info)
ZLAUU2 computes the product UUH or LHL, where U and L are upper or lower triangular matrices (unblock...
subroutine ztrmm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
ZTRMM
subroutine zherk(uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
ZHERK
subroutine zgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
ZGEMM