Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?dttrf

Computes an LU factorization of a general tridiagonal matrix with no pivoting (local blocked algorithm).

Syntax

void sdttrf (MKL_INT *n , float *dl , float *d , float *du , MKL_INT *info );

void ddttrf (MKL_INT *n , double *dl , double *d , double *du , MKL_INT *info );

void cdttrf (MKL_INT *n , MKL_Complex8 *dl , MKL_Complex8 *d , MKL_Complex8 *du , MKL_INT *info );

void zdttrf (MKL_INT *n , MKL_Complex16 *dl , MKL_Complex16 *d , MKL_Complex16 *du , MKL_INT *info );

Include Files

  • mkl_scalapack.h

Description

The ?dttrffunction computes an LU factorization of a real or complex tridiagonal matrix A using elimination without partial pivoting.

The factorization has the form A = L*U, where L is a product of unit lower bidiagonal matrices and U is upper triangular with nonzeros only in the main diagonal and first superdiagonal.

Input Parameters

n

The order of the matrix A(n 0).

dl, d, du

Arrays containing elements of A.

The array dl of size (n-1) contains the sub-diagonal elements of A.

The array d of size n contains the diagonal elements of A.

The array du of size (n-1) contains the super-diagonal elements of A.

Output Parameters

dl

Overwritten by the (n-1) multipliers that define the matrix L from the LU factorization of A.

d

Overwritten by the n diagonal elements of the upper triangular matrix U from the LU factorization of A.

du

Overwritten by the (n-1) elements of the first super-diagonal of U.

info

= 0: successful exit

< 0: if info = - i, the i-th argument had an illegal value,

> 0: if info = i, the matrix element U(i,i) is exactly 0. The factorization has been completed, but the factor U is exactly singular. Division by 0 will occur if you use the factor U for solving a system of linear equations.

See Also