Developer Reference for Intel® oneAPI Math Kernel Library for C
?pttrs
Solves a system of linear equations with a symmetric (Hermitian) positive-definite tridiagonal coefficient matrix using the factorization computed by ?pttrf .
Syntax
lapack_int LAPACKE_spttrs(int matrix_layout, lapack_int n, lapack_int nrhs,
const float *d, const float *e, float *b, lapack_int ldb);
lapack_int LAPACKE_dpttrs(int matrix_layout, lapack_int n, lapack_int nrhs,
const double *d, const double *e, double *b, lapack_int ldb);
lapack_int LAPACKE_cpttrs(int matrix_layout, char uplo, lapack_int n, lapack_int nrhs,
const float *d, const lapack_complex_float *e,
lapack_complex_float *b, lapack_int ldb);
lapack_int LAPACKE_zpttrs(int matrix_layout, char uplo, lapack_int n, lapack_int nrhs,
const double *d, const lapack_complex_double *e,
lapack_complex_double *b, lapack_int ldb);
Include Files
mkl.h
Description
The routine solves for \(X\) a system of linear equations \(A*X = B\) with a symmetric (Hermitian) positive-definite tridiagonal matrix \(A\) . Before calling this routine, call ?pttrf (Computes the factorization of a symmetric (Hermitian) positive-definite tridiagonal matrix.) to compute the \(L*D*L^{T}\) or \(U^{T}*D*U\) for real data and the \(L*D*L^{H}\) or \(U^{H}*D*U\) factorization of \(A\) for complex data.
Input Parameters
matrix_layout
Specifies whether matrix storage layout is row major ( LAPACK_ROW_MAJOR ) or column major ( LAPACK_COL_MAJOR ).
uplo
Used for cpttrs / zpttrs only. Must be ‘U’ or ‘L’ .
Specifies whether the superdiagonal or the subdiagonal of the tridiagonal matrix A is stored and how A is factored:
If uplo = 'U' , the array e stores the conjugated values of the superdiagonal of \(U\) , and \(A\) is factored as \(U^{H}*D*U\) .
If uplo = 'L' , the array e stores the subdiagonal of \(L\) , and \(A\) is factored as \(L*D*L^{H}\) .
n
The order of A ; n ≥ 0.
nrhs
The number of right-hand sides, that is, the number of columns of the matrix B ; nrhs ≥ 0.
d
Array, dimension ( n ). Contains the 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 , b
Array e is of size ( n -1).
The array e contains the ( n - 1) sub-diagonal elements of the unit bidiagonal factor L or the conjugated values of the superdiagonal of U from the factorization computed by ?pttrf (Computes the factorization of a symmetric (Hermitian) positive-definite tridiagonal matrix.) (see uplo ).
e , b
The array b contains the matrix B whose columns are the right-hand sides for the systems of equations.
The size of b is at least max(1, ldb * nrhs ) for column major layout and max(1, ldb * n ) for row major layout.
ldb
The leading dimension of b ; ldb≥ max(1, n)ldb ≥ max(1, n ) for column major layout and ldb ≥ nrhs for row major layout .
Output Parameters
b
Overwritten by the solution matrix X .
Return Values
This function returns a value info .
If info=0 , the execution is successful.
If info = -i , parameter i had an illegal value.
LAPACK 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.