pttrs#

Functions

void spttrs(
    const INT           n,
    const INT           nrhs,
    const f32* restrict D,
    const f32* restrict E,
          f32* restrict B,
    const INT           ldb,
          INT*          info
);
void spttrs(const INT n, const INT nrhs, const f32 *restrict D, const f32 *restrict E, f32 *restrict B, const INT ldb, INT *info)#

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

in
n

The order of the tridiagonal 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
D

Array of dimension n. The n diagonal elements of the diagonal matrix D from the L*D*L**T factorization of A.

in
E

Array of 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.

inout
B

Array of dimension (ldb,nrhs). On entry, the right hand side vectors B for the system of linear equations. On exit, the solution vectors, X.

in
ldb

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

out
info

  • info=0: successful exit

  • info<0: if info=-k, the k-th argument had an illegal value

Functions

void dpttrs(
    const INT           n,
    const INT           nrhs,
    const f64* restrict D,
    const f64* restrict E,
          f64* restrict B,
    const INT           ldb,
          INT*          info
);
void dpttrs(const INT n, const INT nrhs, const f64 *restrict D, const f64 *restrict E, f64 *restrict B, const INT ldb, INT *info)#

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

in
n

The order of the tridiagonal 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
D

Array of dimension n. The n diagonal elements of the diagonal matrix D from the L*D*L**T factorization of A.

in
E

Array of 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.

inout
B

Array of dimension (ldb,nrhs). On entry, the right hand side vectors B for the system of linear equations. On exit, the solution vectors, X.

in
ldb

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

out
info

  • info=0: successful exit

  • info<0: if info=-k, the k-th argument had an illegal value

Functions

void cpttrs(
    const char*          uplo,
    const INT            n,
    const INT            nrhs,
    const f32*  restrict D,
    const c64*  restrict E,
          c64*  restrict B,
    const INT            ldb,
          INT*           info
);
void cpttrs(const char *uplo, const INT n, const INT nrhs, const f32 *restrict D, const c64 *restrict E, c64 *restrict B, const INT ldb, INT *info)#

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

in
uplo

  • 'U': A = U**H *D*U, E is the superdiagonal of U

  • 'L': A = L*D*L**H, E is the subdiagonal of L

in
n

The order of the tridiagonal 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
D

Array of 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.

in
E

Complex array of 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.

inout
B

Complex array of dimension (ldb,nrhs). On entry, the right hand side vectors B for the system of linear equations. On exit, the solution vectors, X.

in
ldb

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

out
info

  • info=0: successful exit

  • info<0: if info=-k, the k-th argument had an illegal value

Functions

void zpttrs(
    const char*          uplo,
    const INT            n,
    const INT            nrhs,
    const f64*  restrict D,
    const c128* restrict E,
          c128* restrict B,
    const INT            ldb,
          INT*           info
);
void zpttrs(const char *uplo, const INT n, const INT nrhs, const f64 *restrict D, const c128 *restrict E, c128 *restrict B, const INT ldb, INT *info)#

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

in
uplo

  • 'U': A = U**H *D*U, E is the superdiagonal of U

  • 'L': A = L*D*L**H, E is the subdiagonal of L

in
n

The order of the tridiagonal 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
D

Array of 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.

in
E

Complex array of 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.

inout
B

Complex array of dimension (ldb,nrhs). On entry, the right hand side vectors B for the system of linear equations. On exit, the solution vectors, X.

in
ldb

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

out
info

  • info=0: successful exit

  • info<0: if info=-k, the k-th argument had an illegal value