DTBTRS(l)		LAPACK routine (version	1.1)		    DTBTRS(l)

NAME
  DTBTRS - solve a triangular system of	the form   A * X = B or	A**T * X = B,

SYNOPSIS

  SUBROUTINE DTBTRS( UPLO, TRANS, DIAG,	N, KD, NRHS, AB, LDAB, B, LDB, INFO )

      CHARACTER	     DIAG, TRANS, UPLO

      INTEGER	     INFO, KD, LDAB, LDB, N, NRHS

      DOUBLE	     PRECISION AB( LDAB, * ), B( LDB, *	)

PURPOSE
  DTBTRS solves	a triangular system of the form

  where	A is a triangular band matrix of order N, and B	is an N-by NRHS
  matrix.  A check is made to verify that A is nonsingular.

ARGUMENTS

  UPLO	  (input) CHARACTER*1
	  = 'U':  A is upper triangular;
	  = 'L':  A is lower triangular.

  TRANS	  (input) CHARACTER*1
	  Specifies the	form the system	of equations:
	  = 'N':  A * X	= B  (No transpose)
	  = 'T':  A**T * X = B	(Transpose)
	  = 'C':  A**H * X = B	(Conjugate transpose = Transpose)

  DIAG	  (input) CHARACTER*1
	  = 'N':  A is non-unit	triangular;
	  = 'U':  A is unit triangular.

  N	  (input) INTEGER
	  The order of the matrix A.  N	>= 0.

  KD	  (input) INTEGER
	  The number of	superdiagonals or subdiagonals of the triangular band
	  matrix A.  KD	>= 0.

  NRHS	  (input) INTEGER
	  The number of	right hand sides, i.e.,	the number of columns of the
	  matrix B.  NRHS >= 0.

  AB	  (input) DOUBLE PRECISION array, dimension (LDAB,N)
	  The upper or lower triangular	band matrix A, stored in the first
	  kd+1 rows of AB.  The	j-th column of A is stored in the j-th column
	  of the array AB as follows: if UPLO =	'U', AB(kd+1+i-j,j) = A(i,j)
	  for max(1,j-kd)<=i<=j; if UPLO = 'L',	AB(1+i-j,j)    = A(i,j)	for
	  j<=i<=min(n,j+kd).  If DIAG =	'U', the diagonal elements of A	are
	  not referenced and are assumed to be 1.

  LDAB	  (input) INTEGER
	  The leading dimension	of the array AB.  LDAB >= KD+1.

  B	  (input/output) DOUBLE	PRECISION array, dimension (LDB,NRHS)
	  On entry, the	right hand side	matrix B.  On exit, if INFO = 0, the
	  solution matrix X.

  LDB	  (input) INTEGER
	  The leading dimension	of the array B.	 LDB >=	max(1,N).

  INFO	  (output) INTEGER
	  = 0:	successful exit
	  < 0:	if INFO	= -i, the i-th argument	had an illegal value
	  > 0:	if INFO	= i, the i-th diagonal element of A is zero, indicat-
	  ing that the matrix is singular and the solutions X have not been
	  computed.


Back to the listing of computational routines for linear equations