# ?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 )

## Include Files

• Fortran: mkl.fi
• C: mkl.h

## 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

DOUBLE COMPLEX 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.

For more complete information about compiler optimizations, see our Optimization Notice.