Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 10/31/2024
Public
Document Table of Contents

?dttrsv

Solves a general tridiagonal system of linear equations using the LU factorization computed by ?dttrf.

Syntax

void sdttrsv (char *uplo , char *trans , MKL_INT *n , MKL_INT *nrhs , float *dl , float *d , float *du , float *b , MKL_INT *ldb , MKL_INT *info );

void ddttrsv (char *uplo , char *trans , MKL_INT *n , MKL_INT *nrhs , double *dl , double *d , double *du , double *b , MKL_INT *ldb , MKL_INT *info );

void cdttrsv (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 );

void zdttrsv (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

The ?dttrsvfunction solves one of the following systems of linear equations:

L*X = B, LT*X = B, or LH*X = B,

U*X = B, UT*X = B, or UH*X = B

with factors of the tridiagonal matrix A from the LU factorization computed by ?dttrf.

Input Parameters

uplo

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 AT*X = B is solved for X (transpose).

If trans = 'C', then AH*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

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.

See Also