---
name: "pttrs"
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/pttrs"
---

# pttrs(3)

pttrs: triangular solve using factor

## NAME

pttrs - pttrs: triangular solve using factor

## SYNOPSIS

### Functions

subroutine **cpttrs** (uplo, n, nrhs, d, e, b, ldb, info)\
 **CPTTRS**  subroutine **dpttrs** (n, nrhs, d, e, b, ldb, info)\
 **DPTTRS**  subroutine **spttrs** (n, nrhs, d, e, b, ldb, info)\
 **SPTTRS**  subroutine **zpttrs** (uplo, n, nrhs, d, e, b, ldb, info)\
 **ZPTTRS**

## Detailed Description

## Function Documentation

### subroutine cpttrs (character uplo, integer n, integer nrhs, real, dimension( \* ) d, complex, dimension( \* ) e, complex, dimension( ldb, \* ) b, integer ldb, integer info)

**CPTTRS**

**Purpose:**

```
!>
!> CPTTRS solves a tridiagonal system of the form
!>    A * X = B
!> using the factorization A = U**H*D*U or A = L*D*L**H computed by CPTTRF.
!> D is a diagonal matrix specified in the vector D, U (or L) is a unit
!> bidiagonal matrix whose superdiagonal (subdiagonal) is specified in
!> the vector E, and X and B are N by NRHS matrices.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          Specifies the form of the factorization and whether the
!>          vector E is the superdiagonal of the upper bidiagonal factor
!>          U or the subdiagonal of the lower bidiagonal factor L.
!>          = 'U':  A = U**H*D*U, E is the superdiagonal of U
!>          = 'L':  A = L*D*L**H, E is the subdiagonal of L
!>
```

*N*

```
!>          N is INTEGER
!>          The order of the tridiagonal 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.
!>
```

*D*

```
!>          D is REAL array, dimension (N)
!>          The n diagonal elements of the diagonal matrix D from the
!>          factorization A = U**H*D*U or A = L*D*L**H.
!>
```

*E*

```
!>          E is COMPLEX array, dimension (N-1)
!>          If UPLO = 'U', the (n-1) superdiagonal elements of the unit
!>          bidiagonal factor U from the factorization A = U**H*D*U.
!>          If UPLO = 'L', the (n-1) subdiagonal elements of the unit
!>          bidiagonal factor L from the factorization A = L*D*L**H.
!>
```

*B*

```
!>          B is COMPLEX array, dimension (LDB,NRHS)
!>          On entry, the right hand side vectors B for the system of
!>          linear equations.
!>          On exit, the solution vectors, 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 = -k, the k-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 **cpttrs.f**.

### subroutine dpttrs (integer n, integer nrhs, double precision, dimension( \* ) d, double precision, dimension( \* ) e, double precision, dimension( ldb, \* ) b, integer ldb, integer info)

**DPTTRS**

**Purpose:**

```
!>
!> DPTTRS solves a tridiagonal system of the form
!>    A * X = B
!> using the L*D*L**T factorization of A computed by DPTTRF.  D is a
!> diagonal matrix specified in the vector D, L is a unit bidiagonal
!> matrix whose subdiagonal is specified in the vector E, and X and B
!> are N by NRHS matrices.
!>
```

**Parameters**

*N*

```
!>          N is INTEGER
!>          The order of the tridiagonal 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.
!>
```

*D*

```
!>          D is DOUBLE PRECISION array, dimension (N)
!>          The n diagonal elements of the diagonal matrix D from the
!>          L*D*L**T factorization of A.
!>
```

*E*

```
!>          E is DOUBLE PRECISION array, dimension (N-1)
!>          The (n-1) subdiagonal elements of the unit bidiagonal factor
!>          L from the L*D*L**T factorization of A.  E can also be regarded
!>          as the superdiagonal of the unit bidiagonal factor U from the
!>          factorization A = U**T*D*U.
!>
```

*B*

```
!>          B is DOUBLE PRECISION array, dimension (LDB,NRHS)
!>          On entry, the right hand side vectors B for the system of
!>          linear equations.
!>          On exit, the solution vectors, 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 = -k, the k-th argument had an illegal value
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **108** of file **dpttrs.f**.

### subroutine spttrs (integer n, integer nrhs, real, dimension( \* ) d, real, dimension( \* ) e, real, dimension( ldb, \* ) b, integer ldb, integer info)

**SPTTRS**

**Purpose:**

```
!>
!> SPTTRS solves a tridiagonal system of the form
!>    A * X = B
!> using the L*D*L**T factorization of A computed by SPTTRF.  D is a
!> diagonal matrix specified in the vector D, L is a unit bidiagonal
!> matrix whose subdiagonal is specified in the vector E, and X and B
!> are N by NRHS matrices.
!>
```

**Parameters**

*N*

```
!>          N is INTEGER
!>          The order of the tridiagonal 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.
!>
```

*D*

```
!>          D is REAL array, dimension (N)
!>          The n diagonal elements of the diagonal matrix D from the
!>          L*D*L**T factorization of A.
!>
```

*E*

```
!>          E is REAL array, dimension (N-1)
!>          The (n-1) subdiagonal elements of the unit bidiagonal factor
!>          L from the L*D*L**T factorization of A.  E can also be regarded
!>          as the superdiagonal of the unit bidiagonal factor U from the
!>          factorization A = U**T*D*U.
!>
```

*B*

```
!>          B is REAL array, dimension (LDB,NRHS)
!>          On entry, the right hand side vectors B for the system of
!>          linear equations.
!>          On exit, the solution vectors, 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 = -k, the k-th argument had an illegal value
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **108** of file **spttrs.f**.

### subroutine zpttrs (character uplo, integer n, integer nrhs, double precision, dimension( \* ) d, complex\*16, dimension( \* ) e, complex\*16, dimension( ldb, \* ) b, integer ldb, integer info)

**ZPTTRS**

**Purpose:**

```
!>
!> ZPTTRS solves a tridiagonal system of the form
!>    A * X = B
!> using the factorization A = U**H *D* U or A = L*D*L**H computed by ZPTTRF.
!> D is a diagonal matrix specified in the vector D, U (or L) is a unit
!> bidiagonal matrix whose superdiagonal (subdiagonal) is specified in
!> the vector E, and X and B are N by NRHS matrices.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          Specifies the form of the factorization and whether the
!>          vector E is the superdiagonal of the upper bidiagonal factor
!>          U or the subdiagonal of the lower bidiagonal factor L.
!>          = 'U':  A = U**H *D*U, E is the superdiagonal of U
!>          = 'L':  A = L*D*L**H, E is the subdiagonal of L
!>
```

*N*

```
!>          N is INTEGER
!>          The order of the tridiagonal 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.
!>
```

*D*

```
!>          D is DOUBLE PRECISION array, dimension (N)
!>          The n diagonal elements of the diagonal matrix D from the
!>          factorization A = U**H *D*U or A = L*D*L**H.
!>
```

*E*

```
!>          E is COMPLEX*16 array, dimension (N-1)
!>          If UPLO = 'U', the (n-1) superdiagonal elements of the unit
!>          bidiagonal factor U from the factorization A = U**H*D*U.
!>          If UPLO = 'L', the (n-1) subdiagonal elements of the unit
!>          bidiagonal factor L from the factorization A = L*D*L**H.
!>
```

*B*

```
!>          B is COMPLEX*16 array, dimension (LDB,NRHS)
!>          On entry, the right hand side vectors B for the system of
!>          linear equations.
!>          On exit, the solution vectors, 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 = -k, the k-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 **zpttrs.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
