CXML

stbsv, dtbsv, ctbsv, ztbsv 


FORMAT

  {S,D,C,Z}TBSV (uplo, trans, diag, n, k, a, lda, x, incx)

Arguments

  uplo                character*1
                      On entry, specifies whether the matrix A is an upper-
                      or lower-triangular matrix:

                      If uplo = 'U' or 'u', A is an upper-triangular matrix.

                      If uplo = 'L' or 'l', A is a lower-triangular matrix.
                      On exit, uplo is unchanged.

  trans               character*1
                      On entry, specifies the system to be solved:

                      If trans = 'N' or 'n', the system is Ax = b.

                      If trans = 'T' or 't', the system is transp(A)*x = b.

                      If trans = 'C' or 'c', the system is conjug_transp(A)*x
                      = b.
                      On exit, trans is unchanged.

  diag                character*1
                      On entry, specifies whether the matrix A is unit-
                      triangular:

                      If diag = 'U' or

                      If diag = 'N' or 'n', A is not a unit-triangular
                      matrix.
                      On exit, diag is unchanged.

  n                   integer*4
                      On entry, the order of the matrix A; n >= 0.
                      On exit, n is unchanged.

  k                   integer*4
                      On entry, if uplo is equal to 'U' or matrix A.  If uplo
                      is equal to 'L' or 'l', the number of sub-diagonals k
                      of the matrix A; k >= 0.
                      On exit, k is unchanged.

  a                   real*4 | real*8 | complex*8 | complex*16
                      On entry, a two-dimensional array with dimensions lda
                      by n.

  When uplo specifies the upper portion of the matrix, the leading (k + 1) by
  n part of the array contains the upper-triangular band part of the matrix,
  supplied column by column.  The main diagonal of the matrix is stored in
  row (k + 1) of the array, the first super-diagonal is stored in row k
  starting at position 2, and so on. The top left k by k triangle of the
  array A is not referenced.

  When uplo specifies the lower portion, the leading (k + 1) by n part of the
  array contains the lower-triangular band part of the matrix, supplied
  column by column. The main diagonal of the matrix is stored in row 1 of the
  array, the first sub-diagonal  is stored in row 2 starting at position 1,
  and so on.  The top right k by k triangle of the array A is not referenced.

  If diag is equal to 'U' or 'u', the elements of the array A corresponding
  to the diagonal elements of the matrix are not referenced, but are assumed
  to be unity.
  On exit, a is unchanged.

  lda                 integer*4
                      On entry, the first dimension of array A; lda >= (k+1).
                      On exit, lda is unchanged.

  x                   real*4 | real*8 | complex*8 | complex*16
                      On entry, a one-dimensional array X of length at least
                      (1+(n-1)*|incx|).  Array X contains the vector b.
                      On exit, x is overwritten with the solution vector x.

  incx                integer*4
                      On entry, the increment for the elements of X; incx
                      must not equal zero.
                      On exit, incx is unchanged.

Description

  The _TBSV subprograms solve one of the following systems of linear
  equations for x: Ax = b or transp(A)*x = b .  In addition to these
  operations, the CTBSV and ZTBSV subprograms solve the following system of
  linear equations for x: conjug_transp(A)*x = b.

  b and x are vectors with n elements and A is an n by n band matrix with (k
  + 1) diagonals. The matrix is a  unit or non-unit, upper- or lower-
  triangular band matrix.

  The _TBSV routines do not perform checks for singularity or near
  singularity of the triangular matrix.  The requirements for such a test
  depend on the application.  If necessary, perform the test in your
  application program before calling the routine.

Example

  REAL*8 A(10,100), X(100)
  INCX = 1
  K = 9
  LDA = 10
  N = 100
  CALL DTBSV('L','T','U',N,K,A,LDA,X,INCX)

  This FORTRAN code solves the system transp(A)*x = b where A is a lower-
  triangular matrix, with a unit diagonal and 9 subdiagonals.  The right hand
  side b is originally contained in the vector x.

CXML Home Page

Index of CXML Routines