Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?dbtf2
Computes an LU factorization of a general band matrix with no pivoting (local unblocked algorithm).
Syntax
call sdbtf2 ( m , n , kl , ku , ab , ldab , info )
call ddbtf2 ( m , n , kl , ku , ab , ldab , info )
call cdbtf2 ( m , n , kl , ku , ab , ldab , info )
call zdbtf2 ( m , n , kl , ku , ab , ldab , 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
INTEGER . The number of rows of the matrix A(m ≥ 0) .
n
INTEGER . The number of columns in A(n ≥ 0) .
kl
INTEGER . The number of sub-diagonals within the band of A(kl ≥ 0) .
ku
INTEGER . 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 by n .
ldab
INTEGER . 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
INTEGER .
= 0 : successful exit < 0 : if info = - i , the i -th argument had an illegal value,
> 0: if info = + i , 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 routine does not use array elements marked *; elements marked + need not be set on entry, but the routine requires them to store elements of U , because of fill-in resulting from the row interchanges.