Click or drag to resize

DLAEDARun Method

Purpose ======= DLAEDA computes the Z vector corresponding to the merge step in the CURLVLth step of the merge process with TLVLS steps for the CURPBMth problem.

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 TLVLS,
	int CURLVL,
	int CURPBM,
	int[] PRMPTR,
	int offset_prmptr,
	int[] PERM,
	int offset_perm,
	int[] GIVPTR,
	int offset_givptr,
	int[] GIVCOL,
	int offset_givcol,
	double[] GIVNUM,
	int offset_givnum,
	double[] Q,
	int offset_q,
	int[] QPTR,
	int offset_qptr,
	ref double[] Z,
	int offset_z,
	ref double[] ZTEMP,
	int offset_ztemp,
	ref int INFO
)
Request Example View Source

Parameters

N  Int32
(input) INTEGER The dimension of the symmetric tridiagonal matrix. N .GE. 0.
TLVLS  Int32
(input) INTEGER The total number of merging levels in the overall divide and conquer tree.
CURLVL  Int32
(input) INTEGER The current level in the overall merge routine, 0 .LE. curlvl .LE. tlvls.
CURPBM  Int32
(input) INTEGER The current problem in the current level in the overall merge routine (counting from upper left to lower right).
PRMPTR  Int32
(input) INTEGER array, dimension (N lg N) Contains a list of pointers which indicate where in PERM a level's permutation is stored. PRMPTR(i+1) - PRMPTR(i) indicates the size of the permutation and incidentally the size of the full, non-deflated problem.
offset_prmptr  Int32
 
PERM  Int32
(input) INTEGER array, dimension (N lg N) Contains the permutations (from deflation and sorting) to be applied to each eigenblock.
offset_perm  Int32
 
GIVPTR  Int32
(input) INTEGER array, dimension (N lg N) Contains a list of pointers which indicate where in GIVCOL a level's Givens rotations are stored. GIVPTR(i+1) - GIVPTR(i) indicates the number of Givens rotations.
offset_givptr  Int32
 
GIVCOL  Int32
(input) INTEGER array, dimension (2, N lg N) Each pair of numbers indicates a pair of columns to take place in a Givens rotation.
offset_givcol  Int32
 
GIVNUM  Double
(input) DOUBLE PRECISION array, dimension (2, N lg N) Each number indicates the S value to be used in the corresponding Givens rotation.
offset_givnum  Int32
 
Q  Double
(input) DOUBLE PRECISION array, dimension (N**2) Contains the square eigenblocks from previous levels, the starting positions for blocks are given by QPTR.
offset_q  Int32
 
QPTR  Int32
(input) INTEGER array, dimension (N+2) Contains a list of pointers which indicate where in Q an eigenblock is stored. SQRT( QPTR(i+1) - QPTR(i) ) indicates the size of the block.
offset_qptr  Int32
 
Z  Double
(output) DOUBLE PRECISION array, dimension (N) On output this vector contains the updating vector (the last row of the first sub-eigenvector matrix and the first row of the second sub-eigenvector matrix).
offset_z  Int32
 
ZTEMP  Double
(workspace) DOUBLE PRECISION array, dimension (N)
offset_ztemp  Int32
 
INFO  Int32
(output) INTEGER = 0: successful exit. .LT. 0: if INFO = -i, the i-th argument had an illegal value.
See Also