142 SUBROUTINE ctrtrs( UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB,
150 CHARACTER DIAG, TRANS, UPLO
151 INTEGER INFO, LDA, LDB, N, NRHS
154 COMPLEX A( LDA, * ), B( LDB, * )
161 parameter( zero = ( 0.0e+0, 0.0e+0 ),
162 $ one = ( 1.0e+0, 0.0e+0 ) )
182 nounit = lsame( diag,
'N' )
183 IF( .NOT.lsame( uplo,
'U' ) .AND.
184 $ .NOT.lsame( uplo,
'L' ) )
THEN
186 ELSE IF( .NOT.lsame( trans,
'N' ) .AND. .NOT.
187 $ lsame( trans,
'T' ) .AND.
188 $ .NOT.lsame( trans,
'C' ) )
THEN
190 ELSE IF( .NOT.nounit .AND. .NOT.lsame( diag,
'U' ) )
THEN
192 ELSE IF( n.LT.0 )
THEN
194 ELSE IF( nrhs.LT.0 )
THEN
196 ELSE IF( lda.LT.max( 1, n ) )
THEN
198 ELSE IF( ldb.LT.max( 1, n ) )
THEN
202 CALL xerbla(
'CTRTRS', -info )
215 IF( a( info, info ).EQ.zero )
223 CALL ctrsm(
'Left', uplo, trans, diag, n, nrhs, one, a, lda, b,
subroutine ctrsm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
CTRSM
subroutine ctrtrs(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info)
CTRTRS