Solve triangular band system

STBSV/DTBSV/CTBSV/ZTBSV

Name STBSV/DTBSV/CTBSV/ZTBSV

Solve triangular band system

Purpose Given an n-by-nupper- or lower-triangular band matrix A and an n-vector x, these subprograms overwrite x with the solution y to the system of linear equations Ay = x. This operation is the forward elimination or back substitution step of Gaussian elimination for band matrices. Optionally, A can

be replaced by AT, the transpose of A, or by A*, the conjugate transpose of A.

A lower-triangular band matrix is a matrix whose strict upper triangle is zero and whose nonzero lower-triangular elements all are on, or fairly near, the principal diagonal. Specifically, aij ≠ 0 only if 0 ≤ ij kd for some integer kd.

In contrast, an upper-triangular band matrix is a matrix whose strict lower triangle is zero and whose nonzero upper-triangular elements all are on, or fairly near, the principal diagonal, but with aij ≠ 0 only if 0 ≤ ji kd.

Specifically, these subprograms compute

x A–1x, x ATx, and x A–*x

where AT is the inverse of the transpose of A, and A–*is the inverse of the conjugate transpose of A.

These subprograms are more primitive than the LAPACK band equation solvers. As such, they are intended to supplement the equation solvers but not replace them, serving instead as building blocks in constructing optimized linear algebra software. In fact, many of the LAPACK subprograms have been recoded to call these routines.

Refer to “F_STBSV/F_DTBSV/F_CTBSV/F_ZTBSV” on page 400 for details about the equivalent BLAS Standard subprograms.

Matrix Triangular band matrices are stored in a compressed form that takes

Storage advantage of knowing the positions of the only elements that can be nonzero. The following examples illustrate the storage of triangular band matrices.

Chapter 3 Basic Matrix Operations 301