Visible to Intel only — GUID: GUID-ED5CFCFB-DD13-4AD5-95DA-8AADBAD6F708
Visible to Intel only — GUID: GUID-ED5CFCFB-DD13-4AD5-95DA-8AADBAD6F708
?pttrsv
Solves a symmetric (Hermitian) positive-definite tridiagonal system of linear equations, using the L*D*LH factorization computed by ?pttrf.
Syntax
void spttrsv (char *trans , MKL_INT *n , MKL_INT *nrhs , float *d , float *e , float *b , MKL_INT *ldb , MKL_INT *info );
void dpttrsv (char *trans , MKL_INT *n , MKL_INT *nrhs , double *d , double *e , double *b , MKL_INT *ldb , MKL_INT *info );
void cpttrsv (char *uplo , char *trans , MKL_INT *n , MKL_INT *nrhs , float *d , MKL_Complex8 *e , MKL_Complex8 *b , MKL_INT *ldb , MKL_INT *info );
void zpttrsv (char *uplo , char *trans , MKL_INT *n , MKL_INT *nrhs , double *d , MKL_Complex16 *e , MKL_Complex16 *b , MKL_INT *ldb , MKL_INT *info );
Include Files
- mkl_scalapack.h
Description
The ?pttrsvfunction solves one of the triangular systems:
LT*X = B, or L*X = B for real flavors,
or
L*X = B, or LH*X = B,
U*X = B, or UH*X = B for complex flavors,
where L (or U for complex flavors) is the Cholesky factor of a Hermitian positive-definite tridiagonal matrix A such that
A = L*D*LH (computed by spttrf/dpttrf)
or
A = UH*D*U or A = L*D*LH (computed by cpttrf/zpttrf).
Input Parameters
- uplo
-
Must be 'U' or 'L'.
Specifies whether the superdiagonal or the subdiagonal of the tridiagonal matrix A is stored and the form of the factorization:
If uplo = 'U', e is the superdiagonal of U, and A = UH*D*U or A = L*D*LH;
if uplo = 'L', e is the subdiagonal of L, and A = L*D*LH.
The two forms are equivalent, if A is real.
- trans
-
Specifies the form of the system of equations:
for real flavors:
if trans = 'N': L*X = B (no transpose)
if trans = 'T': LT*X = B (transpose)
for complex flavors:
if trans = 'N': U*X = B or L*X = B (no transpose)
if trans = 'C': UH*X = B or LH*X = B (conjugate transpose).
- n
-
The order of the tridiagonal matrix A. n ≥ 0.
- nrhs
-
The number of right hand sides, that is, the number of columns of the matrix B. nrhs ≥ 0.
- d
-
array of size n. The n diagonal elements of the diagonal matrix D from the factorization computed by ?pttrf.
- e
-
array of size (n-1). The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization computed by ?pttrf. See uplo.
- b
-
array of size ldb* nrhs.
On entry, the right hand side matrix B.
- ldb
-
The leading dimension of the array b.
ldb ≥ max(1, n).
Output Parameters
- b
-
On exit, the solution matrix X.
- info
-
= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value.