Click or drag to resize

DLAZQ3Run Method

Purpose ======= DLAZQ3 checks for deflation, computes a shift (TAU) and calls dqds. In case of failure it changes shifts, and tries again until output is positive.

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 I0,
	ref int N0,
	ref double[] Z,
	int offset_z,
	int PP,
	ref double DMIN,
	ref double SIGMA,
	ref double DESIG,
	ref double QMAX,
	ref int NFAIL,
	ref int ITER,
	ref int NDIV,
	bool IEEE,
	ref int TTYPE,
	ref double DMIN1,
	ref double DMIN2,
	ref double DN,
	ref double DN1,
	ref double DN2,
	ref double TAU
)
Request Example View Source

Parameters

I0  Int32
(input) INTEGER First index.
N0  Int32
(input) INTEGER Last index.
Z  Double
(input) DOUBLE PRECISION array, dimension ( 4*N ) Z holds the qd array.
offset_z  Int32
 
PP  Int32
(input) INTEGER PP=0 for ping, PP=1 for pong.
DMIN  Double
(output) DOUBLE PRECISION Minimum value of d.
SIGMA  Double
(output) DOUBLE PRECISION Sum of shifts used in current segment.
DESIG  Double
(input/output) DOUBLE PRECISION Lower order part of SIGMA
QMAX  Double
(input) DOUBLE PRECISION Maximum value of q.
NFAIL  Int32
(output) INTEGER Number of times shift was too big.
ITER  Int32
(output) INTEGER Number of iterations.
NDIV  Int32
(output) INTEGER Number of divisions.
IEEE  Boolean
(input) LOGICAL Flag for IEEE or non IEEE arithmetic (passed to DLASQ5).
TTYPE  Int32
(input/output) INTEGER Shift type. TTYPE is passed as an argument in order to save its value between calls to DLAZQ3
DMIN1  Double
(input/output) REAL
DMIN2  Double
(input/output) REAL
DN  Double
(input/output) REAL
DN1  Double
(input/output) REAL
DN2  Double
(input/output) REAL
TAU  Double
(input/output) REAL These are passed as arguments in order to save their values between calls to DLAZQ3
See Also