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,
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ztrtrs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, INFO)
ZTRTRS
subroutine ztrsm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
ZTRSM