Click or drag to resize

DGESLRun Method

***PURPOSE Solve the real system A*X=B or TRANS(A)*X=B using the factors computed by DGECO or DGEFA. ***CATEGORY D2A1 ***TYPE DOUBLE PRECISION (SGESL-S, DGESL-D, CGESL-C) ***KEYWORDS LINEAR ALGEBRA, LINPACK, MATRIX, SOLVE ***AUTHOR Moler, C. B., (U. of New Mexico) ***DESCRIPTION DGESL solves the double precision system A * X = B or TRANS(A) * X = B using the factors computed by DGECO or DGEFA. On Entry A DOUBLE PRECISION(LDA, N) the output from DGECO or DGEFA. LDA INTEGER the leading dimension of the array A . N INTEGER the order of the matrix A . IPVT INTEGER(N) the pivot vector from DGECO or DGEFA. 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 DGECO has set RCOND .GT. 0.0 or DGEFA has set INFO .EQ. 0 . To compute INVERSE(A) * C where C is a matrix with P columns CALL DGECO(A,LDA,N,IPVT,RCOND,Z) IF (RCOND is too small) GO TO ... DO 10 J = 1, P CALL DGESL(A,LDA,N,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 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 DGESL ***FIRST EXECUTABLE STATEMENT DGESL

Namespace: Altaxo.Calc.Ode.Obsolete.DVode
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public void Run(
	double[] A,
	int offset_a,
	int LDA,
	int N,
	int[] IPVT,
	int offset_ipvt,
	ref double[] B,
	int offset_b,
	int JOB
)

Parameters

A  Double
DOUBLE PRECISION(LDA, N) the output from DGECO or DGEFA.
offset_a  Int32

[Missing <param name="offset_a"/> documentation for "M:Altaxo.Calc.Ode.Obsolete.DVode.DGESL.Run(System.Double[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Double[]@,System.Int32,System.Int32)"]

LDA  Int32
INTEGER the leading dimension of the array A .
N  Int32
INTEGER the order of the matrix A .
IPVT  Int32
INTEGER(N) the pivot vector from DGECO or DGEFA.
offset_ipvt  Int32

[Missing <param name="offset_ipvt"/> documentation for "M:Altaxo.Calc.Ode.Obsolete.DVode.DGESL.Run(System.Double[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Double[]@,System.Int32,System.Int32)"]

B  Double
DOUBLE PRECISION(N) the right hand side vector.
offset_b  Int32

[Missing <param name="offset_b"/> documentation for "M:Altaxo.Calc.Ode.Obsolete.DVode.DGESL.Run(System.Double[],System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32,System.Double[]@,System.Int32,System.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