Click or drag to resize

DGBSLRun Method

***PURPOSE Solve the real band system A*X=B or TRANS(A)*X=B using the factors computed by DGBCO or DGBFA. ***CATEGORY D2A2 ***TYPE DOUBLE PRECISION (SGBSL-S, DGBSL-D, CGBSL-C) ***KEYWORDS BANDED, LINEAR ALGEBRA, LINPACK, MATRIX, SOLVE ***AUTHOR Moler, C. B., (U. of New Mexico) ***DESCRIPTION DGBSL solves the double precision band system A * X = B or TRANS(A) * X = B using the factors computed by DGBCO or DGBFA. On Entry ABD DOUBLE PRECISION(LDA, N) the output from DGBCO or DGBFA. LDA INTEGER the leading dimension of the array ABD . N INTEGER the order of the original matrix. ML INTEGER number of diagonals below the main diagonal. MU INTEGER number of diagonals above the main diagonal. IPVT INTEGER(N) the pivot vector from DGBCO or DGBFA. B DOUBLE PRECISION(N) the right hand side vector. JOB INTEGER = 0 to solve A*X = B , = nonzero to solve TRANS(A)*X = B , where TRANS(A) is the transpose. On Return B the solution vector X . Error Condition A division by zero will occur if the input factor contains a zero on the diagonal. Technically this indicates singularity but it is often caused by improper arguments or improper setting of LDA . It will not occur if the subroutines are called correctly and if DGBCO has set RCOND .GT. 0.0 or DGBFA has set INFO .EQ. 0 . To compute INVERSE(A) * C where C is a matrix with P columns CALL DGBCO(ABD,LDA,N,ML,MU,IPVT,RCOND,Z) IF (RCOND is too small) GO TO ... DO 10 J = 1, P CALL DGBSL(ABD,LDA,N,ML,MU,IPVT,C(1,J),0) 10 CONTINUE ***REFERENCES J. J. Dongarra, J. R. Bunch, C. B. Moler, and G. W. Stewart, LINPACK Users' Guide, SIAM, 1979. ***ROUTINES CALLED DAXPY, DDOT ***REVISION HISTORY (YYMMDD) 780814 DATE WRITTEN 890531 Changed all specific intrinsics to generic. (WRB) 890831 Modified array declarations. (WRB) 890831 REVISION DATE from Version 3.2 891214 Prologue converted to Version 4.0 format. (BAB) 900326 Removed duplicate information from DESCRIPTION section. (WRB) 920501 Reformatted the REFERENCES section. (WRB) ***END PROLOGUE DGBSL ***FIRST EXECUTABLE STATEMENT DGBSL

Namespace: DotNumerics.ODE.DVode
Assembly: DWSIM.MathOps.DotNumerics (in DWSIM.MathOps.DotNumerics.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
public void Run(
	double[] ABD,
	int offset_abd,
	int LDA,
	int N,
	int ML,
	int MU,
	int[] IPVT,
	int offset_ipvt,
	ref double[] B,
	int offset_b,
	int JOB
)
Request Example View Source

Parameters

ABD  Double
DOUBLE PRECISION(LDA, N) the output from DGBCO or DGBFA.
offset_abd  Int32
 
LDA  Int32
INTEGER the leading dimension of the array ABD .
N  Int32
INTEGER the order of the original matrix.
ML  Int32
INTEGER number of diagonals below the main diagonal.
MU  Int32
INTEGER number of diagonals above the main diagonal.
IPVT  Int32
INTEGER(N) the pivot vector from DGBCO or DGBFA.
offset_ipvt  Int32
 
B  Double
DOUBLE PRECISION(N) the right hand side vector.
offset_b  Int32
 
JOB  Int32
INTEGER = 0 to solve A*X = B , = nonzero to solve TRANS(A)*X = B , where TRANS(A) is the transpose.
See Also