|
|
◆ banfac()
| void banfac |
( |
int |
n, |
|
|
int |
kl, |
|
|
int |
ku, |
|
|
int |
ldab, |
|
|
double |
ab[], |
|
|
int * |
info |
|
) |
| |
LU factorization of banded coefficient matrix of system of linear equations (support routine for bint4 and bintk)
- Purpose
- This routine computes the LU factorization (without pivoting) of the banded matrix A of order n with (kl + 1 + ku) bands or diagonals.
The LU factorized matrix is used by banslv to compoute the B-spline coefficients by solving the system of linear equations.
banfac and banslv are the support routines for bint4 and bintk.
- Parameters
-
| [in] | n | Number of linear equations, i.e., order of the matrix A (n >= 1) |
| [in] | kl | Number of sub-diagonals within the band of A (kl >= 0) |
| [in] | ku | Number of super-diagonals within the band of A (ku >= 0) |
| [in] | ldab | Leading dimension of the two dimensional array ab[][] (ldab >= kl + 1 + ku) |
| [in,out] | ab[][] | Array ab[lab][ldab] (lab >= n)
[in] The matrix A in band matrix form.
[out] The LU factorization of A into a unit lower triangular matrix L and an upper triangular matrix U (both banded) and stored in customary fashion over the corresponding entries of A. |
| [out] | info | = 0: Successful exit
= -1: The argument n had an illegal value (n < 0)
= -2: The argument kl had an illegal value (kl < 0)
= -3: The argument ku had an illegal value (ku < 0)
= -4: The argument ldab had an illegal value (ldab < kl + 1 + ku)
= 1: Failed to factorize A. This implies that A is singular. |
- Further Details
- The band matrix form is illustrated by the following example, when n = 9, kl = 1, ku = 2:
* a13 a24 a35 a46 a57 a68 a79
a12 a23 a34 a45 a56 a67 a78 a89
a11 a22 a33 a44 a55 a66 a77 a88 a99
a21 a32 a43 a54 a65 a76 a87 a98 *
Array elements marked * are not used by the routine.
- Reference
- SLATEC
|