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*L :code:`H` factorization computed by ?pttrf .
Syntax
voidspttrsv ( char*trans , MKL_INT*n , MKL_INT*nrhs , float*d , float*e , float*b , MKL_INT*ldb , MKL_INT*info );
voiddpttrsv ( char*trans , MKL_INT*n , MKL_INT*nrhs , double*d , double*e , double*b , MKL_INT*ldb , MKL_INT*info );
voidcpttrsv ( char*uplo , char*trans , MKL_INT*n , MKL_INT*nrhs , float*d , MKL_Complex8*e , MKL_Complex8*b , MKL_INT*ldb , MKL_INT*info );
voidzpttrsv ( 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
spttrsv dpttrsv cpttrsv zpttrsv The ?pttrsv routine function solves one of the triangular systems:
L^{T}*X = B , or L*X = B for real flavors,
or
L*X = B , or L^{H}*X = B ,
U*X = B , or U^{H}*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*L^{H} (computed by spttrf/dpttrf (Computes the factorization of a symmetric (Hermitian) positive-definite tridiagonal matrix.) )
or
A = U^{H}*D*U or A = L*D*L^{H} (computed by cpttrf/zpttrf (Computes the factorization of a symmetric (Hermitian) positive-definite tridiagonal matrix.) ).
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 = U^{H}*D*U or A = L*D*L^{H} ; if uplo = 'L' , e is the subdiagonal of L , and A = L*D*L^{H} . 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' : L^{T}*X = B (transpose) for complex flavors: if trans = 'N' : U*X = B or L*X = B (no transpose) if trans = 'C' : U^{H}*X = B or L^{H}*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 (Computes the factorization of a symmetric (Hermitian) positive-definite tridiagonal matrix.) .
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 (Computes the factorization of a symmetric (Hermitian) positive-definite tridiagonal matrix.) . 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.