140 SUBROUTINE ztrtrs( UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB,
149 CHARACTER diag, trans, uplo
150 INTEGER info, lda, ldb, n, nrhs
153 COMPLEX*16 a( lda, * ), b( ldb, * )
160 parameter( zero = ( 0.0d+0, 0.0d+0 ),
161 $ one = ( 1.0d+0, 0.0d+0 ) )
181 nounit =
lsame( diag,
'N' )
182 IF( .NOT.
lsame( uplo,
'U' ) .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
184 ELSE IF( .NOT.
lsame( trans,
'N' ) .AND. .NOT.
185 $
lsame( trans,
'T' ) .AND. .NOT.
lsame( trans,
'C' ) )
THEN
187 ELSE IF( .NOT.nounit .AND. .NOT.
lsame( diag,
'U' ) )
THEN
189 ELSE IF( n.LT.0 )
THEN
191 ELSE IF( nrhs.LT.0 )
THEN
193 ELSE IF( lda.LT.max( 1, n ) )
THEN
195 ELSE IF( ldb.LT.max( 1, n ) )
THEN
199 CALL
xerbla(
'ZTRTRS', -info )
212 IF( a( info, info ).EQ.zero )
220 CALL
ztrsm(
'Left', uplo, trans, diag, n, nrhs, one, a, lda, b,