Developer Reference

  • 0.10
  • 10/21/2020
  • Public Content
Contents

?dbtf2

Computes an LU factorization of a general band matrix with no pivoting (local unblocked algorithm).

Syntax

void
sdbtf2
(
MKL_INT
*m
,
MKL_INT
*n
,
MKL_INT
*kl
,
MKL_INT
*ku
,
float
*ab
,
MKL_INT
*ldab
,
MKL_INT
*info
);
void
ddbtf2
(
MKL_INT
*m
,
MKL_INT
*n
,
MKL_INT
*kl
,
MKL_INT
*ku
,
double
*ab
,
MKL_INT
*ldab
,
MKL_INT
*info
);
void
cdbtf2
(
MKL_INT
*m
,
MKL_INT
*n
,
MKL_INT
*kl
,
MKL_INT
*ku
,
MKL_Complex8
*ab
,
MKL_INT
*ldab
,
MKL_INT
*info
);
void
zdbtf2
(
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
The
?dbtf2
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
Array of size
ldab
*
n
.
The matrix
A
in band storage, in rows
kl
+1
to
2
kl
+
ku
+1
; rows 1 to
kl
of the
matrix
need not be set. The
j
-th column of
A
is stored in the array
ab
as follows:
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
2
kl
+
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
:
Equation
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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804