Developer Reference for Intel® oneAPI Math Kernel Library for C
?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.