?dttrf
?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
?dttrf
function
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 matrixA(.n≥0)
- dl,d,du
- Arrays containing elements ofA.The arraydlof size(contains the sub-diagonal elements ofn-1)A.The arraydof sizencontains the diagonal elements ofA.The arrayduof size(contains the super-diagonal elements ofn-1)A.
Output Parameters
- dl
- Overwritten by the(multipliers that define the matrixn-1)Lfrom theLUfactorization ofA.
- d
- Overwritten by thendiagonal elements of the upper triangular matrixUfrom theLUfactorization ofA.
- du
- Overwritten by the(elements of the first super-diagonal ofn-1)U.
- info
- = 0: successful exit< 0: ifinfo= -i, thei-th argument had an illegal value,> 0: ifinfo=i,the matrix elementis exactly 0. The factorization has been completed, but the factorU(i,i)Uis exactly singular. Division by 0 will occur if you use the factorUfor solving a system of linear equations.