gtts2#

Functions

void sgtts2(
    const INT           itrans,
    const INT           n,
    const INT           nrhs,
    const f32* restrict DL,
    const f32* restrict D,
    const f32* restrict DU,
    const f32* restrict DU2,
    const INT* restrict ipiv,
          f32* restrict B,
    const INT           ldb
);
void sgtts2(const INT itrans, const INT n, const INT nrhs, const f32 *restrict DL, const f32 *restrict D, const f32 *restrict DU, const f32 *restrict DU2, const INT *restrict ipiv, f32 *restrict B, const INT ldb)#

SGTTS2 solves one of the systems of equations A*X = B or A**T*X = B, with a tridiagonal matrix A using the LU factorization computed by SGTTRF.

Parameters

in
itrans

Specifies the form of the system of equations. = 0: A * X = B (No transpose) = 1: A**T * X = B (Transpose) = 2: A**T * X = B (Conjugate transpose = Transpose)

in
n

The order of the matrix A. n >= 0.

in
nrhs

The number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.

in
DL

The (n-1) multipliers that define the matrix L from the LU factorization of A. Array of dimension (n-1).

in
D

The n diagonal elements of the upper triangular matrix U from the LU factorization of A. Array of dimension (n).

in
DU

The (n-1) elements of the first super-diagonal of U. Array of dimension (n-1).

in
DU2

The (n-2) elements of the second super-diagonal of U. Array of dimension (n-2).

in
ipiv

The pivot indices; for 0 <= i < n, row i of the matrix was interchanged with row ipiv[i]. ipiv[i] will always be either i or i+1; ipiv[i] = i indicates a row interchange was not required. Array of dimension (n).

inout
B

On entry, the matrix of right hand side vectors B. On exit, B is overwritten by the solution vectors X. Array of dimension (ldb, nrhs).

in
ldb

The leading dimension of the array B. ldb >= max(1, n).

Functions

void dgtts2(
    const INT           itrans,
    const INT           n,
    const INT           nrhs,
    const f64* restrict DL,
    const f64* restrict D,
    const f64* restrict DU,
    const f64* restrict DU2,
    const INT* restrict ipiv,
          f64* restrict B,
    const INT           ldb
);
void dgtts2(const INT itrans, const INT n, const INT nrhs, const f64 *restrict DL, const f64 *restrict D, const f64 *restrict DU, const f64 *restrict DU2, const INT *restrict ipiv, f64 *restrict B, const INT ldb)#

DGTTS2 solves one of the systems of equations A*X = B or A**T*X = B, with a tridiagonal matrix A using the LU factorization computed by DGTTRF.

Parameters

in
itrans

Specifies the form of the system of equations. = 0: A * X = B (No transpose) = 1: A**T * X = B (Transpose) = 2: A**T * X = B (Conjugate transpose = Transpose)

in
n

The order of the matrix A. n >= 0.

in
nrhs

The number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.

in
DL

The (n-1) multipliers that define the matrix L from the LU factorization of A. Array of dimension (n-1).

in
D

The n diagonal elements of the upper triangular matrix U from the LU factorization of A. Array of dimension (n).

in
DU

The (n-1) elements of the first super-diagonal of U. Array of dimension (n-1).

in
DU2

The (n-2) elements of the second super-diagonal of U. Array of dimension (n-2).

in
ipiv

The pivot indices; for 0 <= i < n, row i of the matrix was interchanged with row ipiv[i]. ipiv[i] will always be either i or i+1; ipiv[i] = i indicates a row interchange was not required. Array of dimension (n).

inout
B

On entry, the matrix of right hand side vectors B. On exit, B is overwritten by the solution vectors X. Array of dimension (ldb, nrhs).

in
ldb

The leading dimension of the array B. ldb >= max(1, n).

Functions

void cgtts2(
    const INT           itrans,
    const INT           n,
    const INT           nrhs,
    const c64* restrict DL,
    const c64* restrict D,
    const c64* restrict DU,
    const c64* restrict DU2,
    const INT* restrict ipiv,
          c64* restrict B,
    const INT           ldb
);
void cgtts2(const INT itrans, const INT n, const INT nrhs, const c64 *restrict DL, const c64 *restrict D, const c64 *restrict DU, const c64 *restrict DU2, const INT *restrict ipiv, c64 *restrict B, const INT ldb)#

CGTTS2 solves one of the systems of equations A * X = B, A**T * X = B, or A**H * X = B, with a tridiagonal matrix A using the LU factorization computed by CGTTRF.

Parameters

in
itrans

Specifies the form of the system of equations. = 0: A * X = B (No transpose) = 1: A**T * X = B (Transpose) = 2: A**H * X = B (Conjugate transpose)

in
n

The order of the matrix A. n >= 0.

in
nrhs

The number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.

in
DL

The (n-1) multipliers that define the matrix L from the LU factorization of A. Array of dimension (n-1).

in
D

The n diagonal elements of the upper triangular matrix U from the LU factorization of A. Array of dimension (n).

in
DU

The (n-1) elements of the first super-diagonal of U. Array of dimension (n-1).

in
DU2

The (n-2) elements of the second super-diagonal of U. Array of dimension (n-2).

in
ipiv

The pivot indices; for 0 <= i < n, row i of the matrix was interchanged with row ipiv[i]. ipiv[i] will always be either i or i+1; ipiv[i] = i indicates a row interchange was not required. Array of dimension (n).

inout
B

On entry, the matrix of right hand side vectors B. On exit, B is overwritten by the solution vectors X. Array of dimension (ldb, nrhs).

in
ldb

The leading dimension of the array B. ldb >= max(1, n).

Functions

void zgtts2(
    const INT            itrans,
    const INT            n,
    const INT            nrhs,
    const c128* restrict DL,
    const c128* restrict D,
    const c128* restrict DU,
    const c128* restrict DU2,
    const INT*  restrict ipiv,
          c128* restrict B,
    const INT            ldb
);
void zgtts2(const INT itrans, const INT n, const INT nrhs, const c128 *restrict DL, const c128 *restrict D, const c128 *restrict DU, const c128 *restrict DU2, const INT *restrict ipiv, c128 *restrict B, const INT ldb)#

ZGTTS2 solves one of the systems of equations A * X = B, A**T * X = B, or A**H * X = B, with a tridiagonal matrix A using the LU factorization computed by ZGTTRF.

Parameters

in
itrans

Specifies the form of the system of equations. = 0: A * X = B (No transpose) = 1: A**T * X = B (Transpose) = 2: A**H * X = B (Conjugate transpose)

in
n

The order of the matrix A. n >= 0.

in
nrhs

The number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.

in
DL

The (n-1) multipliers that define the matrix L from the LU factorization of A. Array of dimension (n-1).

in
D

The n diagonal elements of the upper triangular matrix U from the LU factorization of A. Array of dimension (n).

in
DU

The (n-1) elements of the first super-diagonal of U. Array of dimension (n-1).

in
DU2

The (n-2) elements of the second super-diagonal of U. Array of dimension (n-2).

in
ipiv

The pivot indices; for 0 <= i < n, row i of the matrix was interchanged with row ipiv[i]. ipiv[i] will always be either i or i+1; ipiv[i] = i indicates a row interchange was not required. Array of dimension (n).

inout
B

On entry, the matrix of right hand side vectors B. On exit, B is overwritten by the solution vectors X. Array of dimension (ldb, nrhs).

in
ldb

The leading dimension of the array B. ldb >= max(1, n).