# ?ptts2

Solves a tridiagonal system of the form `A*X=B` using the ``L*D*LH``/`L*D*LH` factorization computed by ?pttrf.

## Syntax

call sptts2( n, nrhs, d, e, b, ldb )

call dptts2( n, nrhs, d, e, b, ldb )

call cptts2( iuplo, n, nrhs, d, e, b, ldb )

call zptts2( iuplo, n, nrhs, d, e, b, ldb )

## Description

The routine ?ptts2 solves a tridiagonal system of the form

``A*X = B``

Real flavors sptts2/dptts2 use the `L*D*LT` factorization of A computed by spttrf/dpttrf, and complex flavors cptts2/zptts2 use the `UH*D*U` or `L*D*LH` factorization of A computed by cpttrf/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.

## Input Parameters

iuplo

  INTEGER. Used with complex flavors only.

  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.

  = 1: `A = `UH*D*U`` , e is the superdiagonal of U;

  = 0: `A = L*D*LH`, e is the subdiagonal of L

n

  INTEGER. The order of the tridiagonal matrix A. `n ≥ 0`.

nrhs

  INTEGER. The number of right hand sides, that is, the number of columns of the matrix B. `nrhs ≥ 0`.

d

  REAL for sptts2/cptts2

  DOUBLE PRECISION for dptts2/zptts2.

  Array, DIMENSION (n).

  The n diagonal elements of the diagonal matrix D from the factorization of A.

e

  REAL for sptts2

  DOUBLE PRECISION for dptts2

  COMPLEX for cptts2

  COMPLEX*16 for zptts2.

  Array, DIMENSION (n-1).

  Contains the (n-1) subdiagonal elements of the unit bidiagonal factor L from the `L*D*LT` (for real flavors) or `L*D*LH` (for complex flavors when `iuplo = 0`) factorization of A.

  For complex flavors when `iuplo = 1`, e contains the (n-1) superdiagonal elements of the unit bidiagonal factor U from the factorization `A = UH*D*U`.

B

  REAL for sptts2/cptts2

  DOUBLE PRECISION for dptts2/zptts2.

  Array, DIMENSION (ldb, nrhs).

  On entry, the right hand side vectors B for the system of linear equations.

ldb

  INTEGER. The leading dimension of the array B. `ldb ≥ max(1,n)`.

## Output Parameters

b

  On exit, the solution vectors, X.

Parent topic: Auxiliary Routines