Developer Reference for Intel® oneAPI Math Kernel Library for C
?dttrfb
Computes the factorization of a diagonally dominant tridiagonal matrix.
Syntax
voidsdttrfb ( constMKL_INT*n , float*dl , float*d , constfloat*du , MKL_INT*info );
voidddttrfb ( constMKL_INT*n , double*dl , double*d , constdouble*du , MKL_INT*info );
voidcdttrfb ( constMKL_INT*n , MKL_Complex8*dl , MKL_Complex8*d , constMKL_Complex8*du , MKL_INT*info );
voidzdttrfb_ ( constMKL_INT*n , MKL_Complex16*dl , MKL_Complex16*d , constMKL_Complex16*du , MKL_INT*info );
Include Files
mkl.h
Description
sdttrfb ddttrfb cdttrfb zdttrfb
The ?dttrfb routine computes the factorization of a real or complex tridiagonal matrix A with the BABE (Burning At Both Ends) algorithm without pivoting. The factorization has the form
\(A = L_1 U L_2\)
where
\(L_1\) and \(L_2\) are unit lower bidiagonal with k and n - k - 1 subdiagonal elements, respectively, where k = n /2, and
\(U\) is an upper bidiagonal matrix with nonzeroes in only 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 dimension (n - 1) contains the subdiagonal elements of A .
The array d of dimension n contains the diagonal elements of A .
The array du of dimension (n - 1) contains the superdiagonal 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 element reciprocals of the upper triangular matrix U from the factorization of A .
du
Overwritten by the (n-1) elements of the superdiagonal of U .
info
Application Notes
A diagonally dominant tridiagonal system is defined such that \(|d_{i}| > |dl_{i-1}| + |du_{i}|\) for any i :
1 < i < n , and \(|d_{1}| > |du_{1}|, |d_{n}| > |dl_{n-1}|\)
The underlying BABE algorithm is designed for diagonally dominant systems. Such systems are free from the numerical stability issue unlike the canonical systems that use elimination with partial pivoting (see ?gttrf (Computes the LU factorization of a tridiagonal matrix.) ). The diagonally dominant systems are much faster than the canonical systems.