
CGBTF2(l) ) CGBTF2(l)
NAME
CGBTF2  compute an LU factorization of a complex mbyn band matrix A using partial piv
oting with row interchanges
SYNOPSIS
SUBROUTINE CGBTF2( M, N, KL, KU, AB, LDAB, IPIV, INFO )
INTEGER INFO, KL, KU, LDAB, M, N
INTEGER IPIV( * )
COMPLEX AB( LDAB, * )
PURPOSE
CGBTF2 computes an LU factorization of a complex mbyn band matrix A using partial pivot
ing with row interchanges. This is the unblocked version of the algorithm, calling Level
2 BLAS.
ARGUMENTS
M (input) INTEGER
The number of rows of the matrix A. M >= 0.
N (input) INTEGER
The number of columns of the matrix A. N >= 0.
KL (input) INTEGER
The number of subdiagonals within the band of A. KL >= 0.
KU (input) INTEGER
The number of superdiagonals within the band of A. KU >= 0.
AB (input/output) COMPLEX array, dimension (LDAB,N)
On entry, the matrix A in band storage, in rows KL+1 to 2*KL+KU+1; rows 1 to KL of
the array need not be set. The jth column of A is stored in the jth column of
the array AB as follows: AB(kl+ku+1+ij,j) = A(i,j) for max(1,j
ku)<=i<=min(m,j+kl)
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 below for
further details.
LDAB (input) INTEGER
The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
IPIV (output) INTEGER array, dimension (min(M,N))
The pivot indices; for 1 <= i <= min(M,N), row i of the matrix was interchanged
with row IPIV(i).
INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = i, the ith argument had an illegal value
> 0: if INFO = +i, U(i,i) is exactly zero. The factorization has been completed,
but the factor U is exactly singular, and division by zero will occur if it is
used to solve a system of equations.
FURTHER DETAILS
The band storage scheme is illustrated by the following example, when M = N = 6, KL = 2,
KU = 1:
On entry: On exit:
* * * + + + * * * u14 u25 u36
* * + + + + * * u13 u24 u35 u46
* a12 a23 a34 a45 a56 * u12 u23 u34 u45 u56
a11 a22 a33 a44 a55 a66 u11 u22 u33 u44 u55 u66
a21 a32 a43 a54 a65 * m21 m32 m43 m54 m65 *
a31 a42 a53 a64 * * m31 m42 m53 m64 * *
Array elements marked * are not used by the routine; elements marked + need not be set on
entry, but are required by the routine to store elements of U, because of fillin result
ing from the row
interchanges.
LAPACK version 3.0 15 June 2000 CGBTF2(l) 
