Developer Reference for Intel® oneAPI Math Kernel Library for C
?dttrsv
Solves a general tridiagonal system of linear equations using the LU factorization computed by ?dttrf .
Syntax
voidsdttrsv ( char*uplo , char*trans , MKL_INT*n , MKL_INT*nrhs , float*dl , float*d , float*du , float*b , MKL_INT*ldb , MKL_INT*info );
voidddttrsv ( char*uplo , char*trans , MKL_INT*n , MKL_INT*nrhs , double*dl , double*d , double*du , double*b , MKL_INT*ldb , MKL_INT*info );
voidcdttrsv ( char*uplo , char*trans , MKL_INT*n , MKL_INT*nrhs , MKL_Complex8*dl , MKL_Complex8*d , MKL_Complex8*du , MKL_Complex8*b , MKL_INT*ldb , MKL_INT*info );
voidzdttrsv ( char*uplo , char*trans , MKL_INT*n , MKL_INT*nrhs , MKL_Complex16*dl , MKL_Complex16*d , MKL_Complex16*du , MKL_Complex16*b , MKL_INT*ldb , MKL_INT*info );
Include Files
mkl_scalapack.h
Description
sdttrsv ddttrsv cdttrsv zdttrsv The ?dttrsv routine function solves one of the following systems of linear equations:
L*X = B , L^{T}*X = B , or L^{H}*X = B ,
U*X = B , U^{T}*X = B , or U^{H}*X = B
with factors of the tridiagonal matrix A from the LU factorization computed by ?dttrf (Computes an LU factorization of a general tridiagonal matrix with no pivoting (local blocked algorithm).) .
Input Parameters
- uplo
-
CHARACTER*1 . Specifies whether to solve with L or U .
trans
Must be ‘N’ or ‘T’ or ‘C’ .
Indicates the form of the equations: If trans = 'N' , then A*X=B is solved for X (no transpose). If trans = 'T' , then A^{T}*X = B is solved for X (transpose). If trans = 'C' , then A^{H}*X = B is solved for X (conjugate transpose).
n
The order of the matrix A(n ≥ 0) .
nrhs
The number of right-hand sides, that is, the number of columns in the matrix B(nrhs ≥ 0) .
- dl , d , du , b
-
REAL for sdttrsv DOUBLE PRECISION for ddttrsv COMPLEX for cdttrsv COMPLEX*16 for zdttrsv . The array dl of size ( n - 1) contains the ( n - 1) multipliers that define the matrix L from the LU factorization of A . The array d of size n contains n diagonal elements of the upper triangular matrix U from the LU factorization of A . The array du of size ( n - 1) contains the ( n - 1) elements of the first super-diagonal of U .
On entry, the array b of size ldb * nrhs contains the right-hand side of matrix B .
ldb
The leading dimension of the array b ; ldb ≥ max(1, n) .
Output Parameters
- b
-
Overwritten by the solution matrix X .
info
If info=0 , the execution is successful.
If info = -i , the i -th parameter had an illegal value.