Developer Reference for Intel® oneAPI Math Kernel Library for C
A newer version of this document is available. Customers should click here to go to the newest version.
?dbtf2
Computes an LU factorization of a general band matrix with no pivoting (local unblocked algorithm).
Syntax
voidsdbtf2 ( MKL_INT*m , MKL_INT*n , MKL_INT*kl , MKL_INT*ku , float*ab , MKL_INT*ldab , MKL_INT*info );
voidddbtf2 ( MKL_INT*m , MKL_INT*n , MKL_INT*kl , MKL_INT*ku , double*ab , MKL_INT*ldab , MKL_INT*info );
voidcdbtf2 ( MKL_INT*m , MKL_INT*n , MKL_INT*kl , MKL_INT*ku , MKL_Complex8*ab , MKL_INT*ldab , MKL_INT*info );
voidzdbtf2 ( MKL_INT*m , MKL_INT*n , MKL_INT*kl , MKL_INT*ku , MKL_Complex16*ab , MKL_INT*ldab , MKL_INT*info );
Include Files
mkl_scalapack.h
Description
sdbtf2 ddbtf2 cdbtf2 zdbtf2 The ?dbtf2 routine function computes an LU factorization of a general real/complex m -by- n band matrix A without using partial pivoting with row interchanges.
This is the unblocked version of the algorithm, calling BLAS Routines and Functions .
Input Parameters
m
The number of rows of the matrix A(m ≥ 0) .
n
The number of columns in A(n ≥ 0) .
kl
The number of sub-diagonals within the band of A(kl ≥ 0) .
ku
The number of super-diagonals within the band of A(ku ≥ 0) .
- ab
-
REAL for sdbtf2 DOUBLE PRECISION for ddbtf2 COMPLEX for cdbtf2 COMPLEX*16 for zdbtf2 .
Array of size ldab * n .
ldab
The leading dimension of the array ab .
(ldab ≥ 2kl + ku +1)
Output Parameters
- ab
-
On exit, details of the factorization: U is stored as an upper triangular band matrix with kl + ku superdiagonals in rows 1 to kl+ku+1 , and the multipliers used during the factorization are stored in rows kl+ku+2 to 2*kl+ku+1 . See the Application Notes below for further details .
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 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.
Application Notes
The band storage scheme is illustrated by the following example, when m = n = 6 , kl = 2 , ku = 1 :
The function does not use array elements marked *; elements marked + need not be set on entry, but the function requires them to store elements of U , because of fill-in resulting from the row interchanges.