Click or drag to resize

DGBSVRun Method

Purpose ======= DGBSV computes the solution to a real system of linear equations A * X = B, where A is a band matrix of order N with KL subdiagonals and KU superdiagonals, and X and B are N-by-NRHS matrices. The LU decomposition with partial pivoting and row interchanges is used to factor A as A = L * U, where L is a product of permutation and unit lower triangular matrices with KL subdiagonals, and U is upper triangular with KL+KU superdiagonals. The factored form of A is then used to solve the system of equations A * X = B.

Namespace: DotNumerics.LinearAlgebra.CSLapack
Assembly: DWSIM.MathOps.DotNumerics (in DWSIM.MathOps.DotNumerics.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
public void Run(
	int N,
	int KL,
	int KU,
	int NRHS,
	ref double[] AB,
	int offset_ab,
	int LDAB,
	ref int[] IPIV,
	int offset_ipiv,
	ref double[] B,
	int offset_b,
	int LDB,
	ref int INFO
)
Request Example View Source

Parameters

N  Int32
(input) INTEGER The number of linear equations, i.e., the order 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.
NRHS  Int32
(input) INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS .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(N,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 (N) The pivot indices that define the permutation matrix P; row i of the matrix was interchanged with row IPIV(i).
offset_ipiv  Int32
 
B  Double
(input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) On entry, the N-by-NRHS right hand side matrix B. On exit, if INFO = 0, the N-by-NRHS solution matrix X.
offset_b  Int32
 
LDB  Int32
(input) INTEGER The leading dimension of the array B. LDB .GE. max(1,N).
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 the solution has not been computed.
See Also