NAG Library Routine Document
F07BRF (ZGBTRF) computes the factorization of a complex by band matrix.
||M, N, KL, KU, LDAB, IPIV(min(M,N)), INFO
The routine may be called by its
F07BRF (ZGBTRF) forms the factorization of a complex by band matrix using partial pivoting, with row interchanges. Usually , and then, if has nonzero subdiagonals and nonzero superdiagonals, the factorization has the form , where is a permutation matrix, is a lower triangular matrix with unit diagonal elements and at most nonzero elements in each column, and is an upper triangular band matrix with superdiagonals.
Note that is not a band matrix, but the nonzero elements of can be stored in the same space as the subdiagonal elements of . is a band matrix but with additional superdiagonals compared with . These additional superdiagonals are created by the row interchanges.
Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
- 1: M – INTEGERInput
On entry: , the number of rows of the matrix .
- 2: N – INTEGERInput
On entry: , the number of columns of the matrix .
- 3: KL – INTEGERInput
On entry: , the number of subdiagonals within the band of the matrix .
- 4: KU – INTEGERInput
On entry: , the number of superdiagonals within the band of the matrix .
- 5: AB(LDAB,) – COMPLEX (KIND=nag_wp) arrayInput/Output
the second dimension of the array AB
must be at least
The matrix is stored in rows
; the first
rows need not be set, more precisely, the element
must be stored in
See Section 8
in F07BNF (ZGBSV) for further details.
is overwritten by details of the factorization.
The upper triangular band matrix , with superdiagonals, is stored in rows to of the array, and the multipliers used to form the matrix are stored in rows to .
- 6: LDAB – INTEGERInput
: the first dimension of the array AB
as declared in the (sub)program from which F07BRF (ZGBTRF) is called.
- 7: IPIV() – INTEGER arrayOutput
On exit: the pivot indices that define the permutation matrix. At the
th step, if then row of the matrix was interchanged with row , for . indicates that, at the th step, a row interchange was not required.
- 8: INFO – INTEGEROutput
unless the routine detects an error (see Section 6
6 Error Indicators and Warnings
Errors or warnings detected by the routine:
If , the th parameter had an illegal value. An explanatory message is output, and execution of the program is terminated.
If , is exactly zero. The factorization has been completed, but the factor is exactly singular, and division by zero will occur if it is used to solve a system of equations.
The computed factors
are the exact factors of a perturbed matrix
is a modest linear function of
is the machine precision
. This assumes
The total number of real floating point operations varies between approximately and , depending on the interchanges, assuming and .
A call to F07BRF (ZGBTRF) may be followed by calls to the routines:
The real analogue of this routine is F07BDF (DGBTRF)
This example computes the
factorization of the matrix
is treated as a band matrix with one subdiagonal and two superdiagonals.
9.1 Program Text
Program Text (f07brfe.f90)
9.2 Program Data
Program Data (f07brfe.d)
9.3 Program Results
Program Results (f07brfe.r)