# gtsv - Man Page

gtsv: factor and solve

## Synopsis

### Functions

subroutine **cgtsv** (n, nrhs, dl, d, du, b, ldb, info)

**CGTSV computes the solution to system of linear equations A * X = B for GT matrices**

subroutine **dgtsv** (n, nrhs, dl, d, du, b, ldb, info)

**DGTSV computes the solution to system of linear equations A * X = B for GT matrices**

subroutine **sgtsv** (n, nrhs, dl, d, du, b, ldb, info)

**SGTSV computes the solution to system of linear equations A * X = B for GT matrices**

subroutine **zgtsv** (n, nrhs, dl, d, du, b, ldb, info)

**ZGTSV computes the solution to system of linear equations A * X = B for GT matrices**

## Detailed Description

## Function Documentation

### subroutine cgtsv (integer n, integer nrhs, complex, dimension( * ) dl, complex, dimension( * ) d, complex, dimension( * ) du, complex, dimension( ldb, * ) b, integer ldb, integer info)

**CGTSV computes the solution to system of linear equations A * X = B for GT matrices**

**Purpose:**

CGTSV solves the equation A*X = B, where A is an N-by-N tridiagonal matrix, by Gaussian elimination with partial pivoting. Note that the equation A**T *X = B may be solved by interchanging the order of the arguments DU and DL.

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

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

*DL*DL is COMPLEX array, dimension (N-1) On entry, DL must contain the (n-1) subdiagonal elements of A. On exit, DL is overwritten by the (n-2) elements of the second superdiagonal of the upper triangular matrix U from the LU factorization of A, in DL(1), ..., DL(n-2).

*D*D is COMPLEX array, dimension (N) On entry, D must contain the diagonal elements of A. On exit, D is overwritten by the n diagonal elements of U.

*DU*DU is COMPLEX array, dimension (N-1) On entry, DU must contain the (n-1) superdiagonal elements of A. On exit, DU is overwritten by the (n-1) elements of the first superdiagonal of U.

*B*B is COMPLEX array, dimension (LDB,NRHS) On entry, the N-by-NRHS right hand side matrix B. On exit, if INFO = 0, the N-by-NRHS 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, U(i,i) is exactly zero, and the solution has not been computed. The factorization has not been completed unless i = N.

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **123** of file **cgtsv.f**.

### subroutine dgtsv (integer n, integer nrhs, double precision, dimension( * ) dl, double precision, dimension( * ) d, double precision, dimension( * ) du, double precision, dimension( ldb, * ) b, integer ldb, integer info)

**DGTSV computes the solution to system of linear equations A * X = B for GT matrices**

**Purpose:**

DGTSV solves the equation A*X = B, where A is an n by n tridiagonal matrix, by Gaussian elimination with partial pivoting. Note that the equation A**T*X = B may be solved by interchanging the order of the arguments DU and DL.

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

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

*DL*DL is DOUBLE PRECISION array, dimension (N-1) On entry, DL must contain the (n-1) sub-diagonal elements of A. On exit, DL is overwritten by the (n-2) elements of the second super-diagonal of the upper triangular matrix U from the LU factorization of A, in DL(1), ..., DL(n-2).

*D*D is DOUBLE PRECISION array, dimension (N) On entry, D must contain the diagonal elements of A. On exit, D is overwritten by the n diagonal elements of U.

*DU*DU is DOUBLE PRECISION array, dimension (N-1) On entry, DU must contain the (n-1) super-diagonal elements of A. On exit, DU is overwritten by the (n-1) elements of the first super-diagonal of U.

*B*B is DOUBLE PRECISION array, dimension (LDB,NRHS) On entry, the N by NRHS matrix of right hand side matrix B. On exit, if INFO = 0, the N by NRHS 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, U(i,i) is exactly zero, and the solution has not been computed. The factorization has not been completed unless i = N.

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **126** of file **dgtsv.f**.

### subroutine sgtsv (integer n, integer nrhs, real, dimension( * ) dl, real, dimension( * ) d, real, dimension( * ) du, real, dimension( ldb, * ) b, integer ldb, integer info)

**SGTSV computes the solution to system of linear equations A * X = B for GT matrices**

**Purpose:**

SGTSV solves the equation A*X = B, where A is an n by n tridiagonal matrix, by Gaussian elimination with partial pivoting. Note that the equation A**T*X = B may be solved by interchanging the order of the arguments DU and DL.

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

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

*DL*DL is REAL array, dimension (N-1) On entry, DL must contain the (n-1) sub-diagonal elements of A. On exit, DL is overwritten by the (n-2) elements of the second super-diagonal of the upper triangular matrix U from the LU factorization of A, in DL(1), ..., DL(n-2).

*D*D is REAL array, dimension (N) On entry, D must contain the diagonal elements of A. On exit, D is overwritten by the n diagonal elements of U.

*DU*DU is REAL array, dimension (N-1) On entry, DU must contain the (n-1) super-diagonal elements of A. On exit, DU is overwritten by the (n-1) elements of the first super-diagonal of U.

*B*B is REAL array, dimension (LDB,NRHS) On entry, the N by NRHS matrix of right hand side matrix B. On exit, if INFO = 0, the N by NRHS 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, U(i,i) is exactly zero, and the solution has not been computed. The factorization has not been completed unless i = N.

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **126** of file **sgtsv.f**.

### subroutine zgtsv (integer n, integer nrhs, complex*16, dimension( * ) dl, complex*16, dimension( * ) d, complex*16, dimension( * ) du, complex*16, dimension( ldb, * ) b, integer ldb, integer info)

**ZGTSV computes the solution to system of linear equations A * X = B for GT matrices**

**Purpose:**

ZGTSV solves the equation A*X = B, where A is an N-by-N tridiagonal matrix, by Gaussian elimination with partial pivoting. Note that the equation A**T *X = B may be solved by interchanging the order of the arguments DU and DL.

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

*NRHS**DL*DL is COMPLEX*16 array, dimension (N-1) On entry, DL must contain the (n-1) subdiagonal elements of A. On exit, DL is overwritten by the (n-2) elements of the second superdiagonal of the upper triangular matrix U from the LU factorization of A, in DL(1), ..., DL(n-2).

*D*D is COMPLEX*16 array, dimension (N) On entry, D must contain the diagonal elements of A. On exit, D is overwritten by the n diagonal elements of U.

*DU*DU is COMPLEX*16 array, dimension (N-1) On entry, DU must contain the (n-1) superdiagonal elements of A. On exit, DU is overwritten by the (n-1) elements of the first superdiagonal of U.

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

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

*INFO***Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **123** of file **zgtsv.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.