tbtrs(3)

NAME
tbtrs - tbtrs: triangular solve

SYNOPSIS

  Functions

subroutine ctbtrs (uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, info)
CTBTRS
subroutine dtbtrs (uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, info)
DTBTRS
subroutine stbtrs (uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, info)
STBTRS
subroutine ztbtrs (uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, info)
ZTBTRS

Detailed Description

Function Documentation

  subroutine ctbtrs (character uplo, character trans, character diag, integer n, integer kd, integer nrhs, complex, dimension( ldab, * ) ab, integer ldab, complex, dimension( ldb, * ) b, integer ldb, integer info)

CTBTRS

Purpose:

    !>
    !> CTBTRS solves a triangular system of the form
    !>
    !>    A * X = B,  A**T * X = B,  or  A**H * X = B,
    !>
    !> where A is a triangular band matrix of order N, and B is an N-by-NRHS matrix.
    !>
    !> This subroutine verifies that A is nonsingular, but callers should note that only exact
    !> singularity is detected. It is conceivable for one or more diagonal elements of A to be
    !> subnormally tiny numbers without this subroutine signalling an error.
    !>
    !> If a possible loss of numerical precision due to near-singular matrices is a concern, the
    !> caller should verify that A is nonsingular within some tolerance before calling this subroutine.
    !>

Parameters
    UPLO

    !>          UPLO is CHARACTER*1
    !>          = 'U':  A is upper triangular;
    !>          = 'L':  A is lower triangular.
    !>

    TRANS

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

    DIAG

    !>          DIAG is CHARACTER*1
    !>          = 'N':  A is non-unit triangular;
    !>          = 'U':  A is unit triangular.
    !>

    N

    !>          N is INTEGER
    !>          The order of the matrix A.  N >= 0.
    !>

    KD

    !>          KD is INTEGER
    !>          The number of superdiagonals or subdiagonals of the
    !>          triangular band matrix A.  KD >= 0.
    !>

    NRHS

    !>          NRHS is INTEGER
    !>          The number of right hand sides, i.e., the number of columns
    !>          of the matrix B.  NRHS >= 0.
    !>

    AB

    !>          AB is COMPLEX 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

    !>          LDAB is INTEGER
    !>          The leading dimension of the array AB.  LDAB >= KD+1.
    !>

    B

    !>          B is COMPLEX array, dimension (LDB,NRHS)
    !>          On entry, the right hand side matrix B.
    !>          On exit, if INFO = 0, the solution matrix X.
    !>

    LDB

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

    INFO

    !>          INFO is 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 exactly zero,
    !>                indicating that the matrix is singular and the
    !>                solutions X have not been computed.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

  subroutine dtbtrs (character uplo, character trans, character diag, integer n, integer kd, integer nrhs, double precision, dimension( ldab, * ) ab, integer ldab, double precision, dimension( ldb, * ) b, integer ldb, integer info)

DTBTRS

Purpose:

    !>
    !> DTBTRS solves a triangular system of the form
    !>
    !>    A * X = B  or  A**T * X = B,
    !>
    !> where A is a triangular band matrix of order N, and B is an N-by-NRHS matrix.
    !>
    !> This subroutine verifies that A is nonsingular, but callers should note that only exact
    !> singularity is detected. It is conceivable for one or more diagonal elements of A to be
    !> subnormally tiny numbers without this subroutine signalling an error.
    !>
    !> If a possible loss of numerical precision due to near-singular matrices is a concern, the
    !> caller should verify that A is nonsingular within some tolerance before calling this subroutine.
    !>

Parameters
    UPLO

    !>          UPLO is CHARACTER*1
    !>          = 'U':  A is upper triangular;
    !>          = 'L':  A is lower triangular.
    !>

    TRANS

    !>          TRANS is 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

    !>          DIAG is CHARACTER*1
    !>          = 'N':  A is non-unit triangular;
    !>          = 'U':  A is unit triangular.
    !>

    N

    !>          N is INTEGER
    !>          The order of the matrix A.  N >= 0.
    !>

    KD

    !>          KD is INTEGER
    !>          The number of superdiagonals or subdiagonals of the
    !>          triangular band matrix A.  KD >= 0.
    !>

    NRHS

    !>          NRHS is INTEGER
    !>          The number of right hand sides, i.e., the number of columns
    !>          of the matrix B.  NRHS >= 0.
    !>

    AB

    !>          AB is 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

    !>          LDAB is INTEGER
    !>          The leading dimension of the array AB.  LDAB >= KD+1.
    !>

    B

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

    LDB

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

    INFO

    !>          INFO is 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 exactly zero,
    !>                indicating that the matrix is singular and the
    !>                solutions X have not been computed.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

  subroutine stbtrs (character uplo, character trans, character diag, integer n, integer kd, integer nrhs, real, dimension( ldab, * ) ab, integer ldab, real, dimension( ldb, * ) b, integer ldb, integer info)

STBTRS

Purpose:

    !>
    !> STBTRS solves a triangular system of the form
    !>
    !>    A * X = B  or  A**T * X = B,
    !>
    !> where A is a triangular band matrix of order N, and B is an N-by-NRHS matrix.
    !>
    !> This subroutine verifies that A is nonsingular, but callers should note that only exact
    !> singularity is detected. It is conceivable for one or more diagonal elements of A to be
    !> subnormally tiny numbers without this subroutine signalling an error.
    !>
    !> If a possible loss of numerical precision due to near-singular matrices is a concern, the
    !> caller should verify that A is nonsingular within some tolerance before calling this subroutine.
    !>

Parameters
    UPLO

    !>          UPLO is CHARACTER*1
    !>          = 'U':  A is upper triangular;
    !>          = 'L':  A is lower triangular.
    !>

    TRANS

    !>          TRANS is 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

    !>          DIAG is CHARACTER*1
    !>          = 'N':  A is non-unit triangular;
    !>          = 'U':  A is unit triangular.
    !>

    N

    !>          N is INTEGER
    !>          The order of the matrix A.  N >= 0.
    !>

    KD

    !>          KD is INTEGER
    !>          The number of superdiagonals or subdiagonals of the
    !>          triangular band matrix A.  KD >= 0.
    !>

    NRHS

    !>          NRHS is INTEGER
    !>          The number of right hand sides, i.e., the number of columns
    !>          of the matrix B.  NRHS >= 0.
    !>

    AB

    !>          AB is REAL 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

    !>          LDAB is INTEGER
    !>          The leading dimension of the array AB.  LDAB >= KD+1.
    !>

    B

    !>          B is REAL array, dimension (LDB,NRHS)
    !>          On entry, the right hand side matrix B.
    !>          On exit, if INFO = 0, the solution matrix X.
    !>

    LDB

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

    INFO

    !>          INFO is 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 exactly zero,
    !>                indicating that the matrix is singular and the
    !>                solutions X have not been computed.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

  subroutine ztbtrs (character uplo, character trans, character diag, integer n, integer kd, integer nrhs, complex*16, dimension( ldab, * ) ab, integer ldab, complex*16, dimension( ldb, * ) b, integer ldb, integer info)

ZTBTRS

Purpose:

    !>
    !> ZTBTRS solves a triangular system of the form
    !>
    !>    A * X = B,  A**T * X = B,  or  A**H * X = B,
    !>
    !> where A is a triangular band matrix of order N, and B is an N-by-NRHS matrix.
    !>
    !> This subroutine verifies that A is nonsingular, but callers should note that only exact
    !> singularity is detected. It is conceivable for one or more diagonal elements of A to be
    !> subnormally tiny numbers without this subroutine signalling an error.
    !>
    !> If a possible loss of numerical precision due to near-singular matrices is a concern, the
    !> caller should verify that A is nonsingular within some tolerance before calling this subroutine.
    !>

Parameters
    UPLO

    !>          UPLO is CHARACTER*1
    !>          = 'U':  A is upper triangular;
    !>          = 'L':  A is lower triangular.
    !>

    TRANS

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

    DIAG

    !>          DIAG is CHARACTER*1
    !>          = 'N':  A is non-unit triangular;
    !>          = 'U':  A is unit triangular.
    !>

    N

    !>          N is INTEGER
    !>          The order of the matrix A.  N >= 0.
    !>

    KD

    !>          KD is INTEGER
    !>          The number of superdiagonals or subdiagonals of the
    !>          triangular band matrix A.  KD >= 0.
    !>

    NRHS

    !>          NRHS is INTEGER
    !>          The number of right hand sides, i.e., the number of columns
    !>          of the matrix B.  NRHS >= 0.
    !>

    AB

    !>          AB is COMPLEX*16 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

    !>          LDAB is INTEGER
    !>          The leading dimension of the array AB.  LDAB >= KD+1.
    !>

    B

    !>          B is COMPLEX*16 array, dimension (LDB,NRHS)
    !>          On entry, the right hand side matrix B.
    !>          On exit, if INFO = 0, the solution matrix X.
    !>

    LDB

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

    INFO

    !>          INFO is 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 exactly zero,
    !>                indicating that the matrix is singular and the
    !>                solutions X have not been computed.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Author

Generated automatically by Doxygen for LAPACK from the source code.