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)#
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
innThe order of the tridiagonal matrix A.
n>=0.innrhsThe number of right hand sides, i.e., the number of columns of the matrix B.
nrhs>=0.inDArray of dimension
n. The n diagonal elements of the diagonal matrix D from the L*D*L**T factorization of A.inEArray 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.inoutBArray of dimension
(ldb,nrhs). On entry, the right hand side vectors B for the system of linear equations. On exit, the solution vectors, X.inldbThe leading dimension of the array B.
ldb>=max(1,n).outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal value
void spttrs(
const INT n,
const INT nrhs,
const f32* restrict D,
const f32* restrict E,
f32* restrict B,
const INT ldb,
INT* info
);
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)#
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
innThe order of the tridiagonal matrix A.
n>=0.innrhsThe number of right hand sides, i.e., the number of columns of the matrix B.
nrhs>=0.inDArray of dimension
n. The n diagonal elements of the diagonal matrix D from the L*D*L**T factorization of A.inEArray 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.inoutBArray of dimension
(ldb,nrhs). On entry, the right hand side vectors B for the system of linear equations. On exit, the solution vectors, X.inldbThe leading dimension of the array B.
ldb>=max(1,n).outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal value
void dpttrs(
const INT n,
const INT nrhs,
const f64* restrict D,
const f64* restrict E,
f64* restrict B,
const INT ldb,
INT* info
);
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)#
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
inuplo'U': A = U**H *D*U, E is the superdiagonal of U'L': A = L*D*L**H, E is the subdiagonal of L
innThe order of the tridiagonal matrix A.
n>=0.innrhsThe number of right hand sides, i.e., the number of columns of the matrix B.
nrhs>=0.inDArray 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.inEComplex array of dimension
n-1. Ifuplo='U', the (n-1) superdiagonal elements of the unit bidiagonal factor U from the factorization A = U**H*D*U. Ifuplo='L', the (n-1) subdiagonal elements of the unit bidiagonal factor L from the factorization A = L*D*L**H.inoutBComplex 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.inldbThe leading dimension of the array B.
ldb>=max(1,n).outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal value
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
);
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)#
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
inuplo'U': A = U**H *D*U, E is the superdiagonal of U'L': A = L*D*L**H, E is the subdiagonal of L
innThe order of the tridiagonal matrix A.
n>=0.innrhsThe number of right hand sides, i.e., the number of columns of the matrix B.
nrhs>=0.inDArray 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.inEComplex array of dimension
n-1. Ifuplo='U', the (n-1) superdiagonal elements of the unit bidiagonal factor U from the factorization A = U**H*D*U. Ifuplo='L', the (n-1) subdiagonal elements of the unit bidiagonal factor L from the factorization A = L*D*L**H.inoutBComplex 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.inldbThe leading dimension of the array B.
ldb>=max(1,n).outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal value
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
);