Developer Reference for Intel® oneAPI Math Kernel Library for C
?dbtrf
Computes an LU factorization of a general band matrix with no pivoting (local blocked algorithm).
Syntax
void sdbtrf(MKL_INT *m, MKL_INT *n, MKL_INT *kl, MKL_INT *ku, float *ab, MKL_INT *ldab,
MKL_INT *info);
void ddbtrf(MKL_INT *m, MKL_INT *n, MKL_INT *kl, MKL_INT *ku, double *ab, MKL_INT *ldab,
MKL_INT *info);
void cdbtrf(MKL_INT *m, MKL_INT *n, MKL_INT *kl, MKL_INT *ku, MKL_Complex8 *ab,
MKL_INT *ldab, MKL_INT *info);
void zdbtrf(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
sdbtrf ddbtrf cdbtrf zdbtrf This routine function computes an LU factorization of a real m -by- n band matrix A without using partial pivoting or row interchanges.
This is the blocked 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 sdbtrf DOUBLE PRECISION for ddbtrf COMPLEX for cdbtrf COMPLEX*16 for zdbtrf .
Array of size ldab * n .
The matrix A in band storage, in rows kl+1 to 2kl+ku+1 ; rows 1 to kl need not be set. The j -th column of A is stored in the array ab as follows: ab(kl+ku+1+i-j,j)ab[kl+ku+i-j+(j-1)*ldab] =A(i,j) for max(1,j-ku) ≤ i ≤ min(m,j+kl) .
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,
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 *.