---
name: "pbtrs"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pbtrs"
---

# pbtrs(3)

pbtrs: triangular solve using factor

## NAME

pbtrs - pbtrs: triangular solve using factor

## SYNOPSIS

### Functions

subroutine **cpbtrs** (uplo, n, kd, nrhs, ab, ldab, b, ldb, info)\
 **CPBTRS**  subroutine **dpbtrs** (uplo, n, kd, nrhs, ab, ldab, b, ldb, info)\
 **DPBTRS**  subroutine **spbtrs** (uplo, n, kd, nrhs, ab, ldab, b, ldb, info)\
 **SPBTRS**  subroutine **zpbtrs** (uplo, n, kd, nrhs, ab, ldab, b, ldb, info)\
 **ZPBTRS**

## Detailed Description

## Function Documentation

### subroutine cpbtrs (character uplo, integer n, integer kd, integer nrhs, complex, dimension( ldab, \* ) ab, integer ldab, complex, dimension( ldb, \* ) b, integer ldb, integer info)

**CPBTRS**

**Purpose:**

```
!>
!> CPBTRS solves a system of linear equations A*X = B with a Hermitian
!> positive definite band matrix A using the Cholesky factorization
!> A = U**H*U or A = L*L**H computed by CPBTRF.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangular factor stored in AB;
!>          = 'L':  Lower triangular factor stored in AB.
!>
```

*N*

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

*KD*

```
!>          KD is INTEGER
!>          The number of superdiagonals of the matrix A if UPLO = 'U',
!>          or the number of subdiagonals if UPLO = 'L'.  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 triangular factor U or L from the Cholesky factorization
!>          A = U**H*U or A = L*L**H of the band matrix A, stored in the
!>          first KD+1 rows of the array.  The j-th column of U or L is
!>          stored in the j-th column of the array AB as follows:
!>          if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j;
!>          if UPLO ='L', AB(1+i-j,j)    = L(i,j) for j<=i<=min(n,j+kd).
!>
```

*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, 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
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **120** of file **cpbtrs.f**.

### subroutine dpbtrs (character uplo, integer n, integer kd, integer nrhs, double precision, dimension( ldab, \* ) ab, integer ldab, double precision, dimension( ldb, \* ) b, integer ldb, integer info)

**DPBTRS**

**Purpose:**

```
!>
!> DPBTRS solves a system of linear equations A*X = B with a symmetric
!> positive definite band matrix A using the Cholesky factorization
!> A = U**T*U or A = L*L**T computed by DPBTRF.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangular factor stored in AB;
!>          = 'L':  Lower triangular factor stored in AB.
!>
```

*N*

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

*KD*

```
!>          KD is INTEGER
!>          The number of superdiagonals of the matrix A if UPLO = 'U',
!>          or the number of subdiagonals if UPLO = 'L'.  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 triangular factor U or L from the Cholesky factorization
!>          A = U**T*U or A = L*L**T of the band matrix A, stored in the
!>          first KD+1 rows of the array.  The j-th column of U or L is
!>          stored in the j-th column of the array AB as follows:
!>          if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j;
!>          if UPLO ='L', AB(1+i-j,j)    = L(i,j) for j<=i<=min(n,j+kd).
!>
```

*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, 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
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **120** of file **dpbtrs.f**.

### subroutine spbtrs (character uplo, integer n, integer kd, integer nrhs, real, dimension( ldab, \* ) ab, integer ldab, real, dimension( ldb, \* ) b, integer ldb, integer info)

**SPBTRS**

**Purpose:**

```
!>
!> SPBTRS solves a system of linear equations A*X = B with a symmetric
!> positive definite band matrix A using the Cholesky factorization
!> A = U**T*U or A = L*L**T computed by SPBTRF.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangular factor stored in AB;
!>          = 'L':  Lower triangular factor stored in AB.
!>
```

*N*

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

*KD*

```
!>          KD is INTEGER
!>          The number of superdiagonals of the matrix A if UPLO = 'U',
!>          or the number of subdiagonals if UPLO = 'L'.  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 triangular factor U or L from the Cholesky factorization
!>          A = U**T*U or A = L*L**T of the band matrix A, stored in the
!>          first KD+1 rows of the array.  The j-th column of U or L is
!>          stored in the j-th column of the array AB as follows:
!>          if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j;
!>          if UPLO ='L', AB(1+i-j,j)    = L(i,j) for j<=i<=min(n,j+kd).
!>
```

*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, 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
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **120** of file **spbtrs.f**.

### subroutine zpbtrs (character uplo, integer n, integer kd, integer nrhs, complex\*16, dimension( ldab, \* ) ab, integer ldab, complex\*16, dimension( ldb, \* ) b, integer ldb, integer info)

**ZPBTRS**

**Purpose:**

```
!>
!> ZPBTRS solves a system of linear equations A*X = B with a Hermitian
!> positive definite band matrix A using the Cholesky factorization
!> A = U**H *U or A = L*L**H computed by ZPBTRF.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangular factor stored in AB;
!>          = 'L':  Lower triangular factor stored in AB.
!>
```

*N*

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

*KD*

```
!>          KD is INTEGER
!>          The number of superdiagonals of the matrix A if UPLO = 'U',
!>          or the number of subdiagonals if UPLO = 'L'.  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 triangular factor U or L from the Cholesky factorization
!>          A = U**H *U or A = L*L**H of the band matrix A, stored in the
!>          first KD+1 rows of the array.  The j-th column of U or L is
!>          stored in the j-th column of the array AB as follows:
!>          if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j;
!>          if UPLO ='L', AB(1+i-j,j)    = L(i,j) for j<=i<=min(n,j+kd).
!>
```

*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, 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
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **120** of file **zpbtrs.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
