Purpose
=======
DGBTRF computes an LU factorization of a real m-by-n band matrix A
using partial pivoting with row interchanges.
This is the blocked version of the algorithm, calling Level 3 BLAS.
Namespace: DotNumerics.LinearAlgebra.CSLapackAssembly: DWSIM.MathOps.DotNumerics (in DWSIM.MathOps.DotNumerics.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax public void Run(
int M,
int N,
int KL,
int KU,
ref double[] AB,
int offset_ab,
int LDAB,
ref int[] IPIV,
int offset_ipiv,
ref int INFO
)
Public Sub Run (
M As Integer,
N As Integer,
KL As Integer,
KU As Integer,
ByRef AB As Double(),
offset_ab As Integer,
LDAB As Integer,
ByRef IPIV As Integer(),
offset_ipiv As Integer,
ByRef INFO As Integer
)
Request Example
View SourceParameters
- M Int32
-
(input) INTEGER
The number of rows of the matrix A. M .GE. 0.
- N Int32
-
(input) INTEGER
The number of columns of the matrix A. N .GE. 0.
- KL Int32
-
(input) INTEGER
The number of subdiagonals within the band of A. KL .GE. 0.
- KU Int32
-
(input) INTEGER
The number of superdiagonals within the band of A. KU .GE. 0.
- AB Double
-
(input/output) DOUBLE PRECISION 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 j-th column of A is stored in the j-th column of the
array AB as follows:
AB(kl+ku+1+i-j,j) = A(i,j) for max(1,j-ku).LE.i.LE.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.
- offset_ab Int32
-
- LDAB Int32
-
(input) INTEGER
The leading dimension of the array AB. LDAB .GE. 2*KL+KU+1.
- IPIV Int32
-
(output) INTEGER array, dimension (min(M,N))
The pivot indices; for 1 .LE. i .LE. min(M,N), row i of the
matrix was interchanged with row IPIV(i).
- offset_ipiv Int32
-
- INFO Int32
-
(output) INTEGER
= 0: successful exit
.LT. 0: if INFO = -i, the i-th argument had an illegal value
.GT. 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.
See Also