·  Home
+   man pages
 -> Linux -> FreeBSD -> OpenBSD -> NetBSD -> Tru64 Unix -> HP-UX 11i -> IRIX
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

man pages->IRIX man pages -> complib/slaeda (3)
 Title
 Content
 Arch
 Section All Sections 1 - General Commands 2 - System Calls 3 - Subroutines 4 - Special Files 5 - File Formats 6 - Games 7 - Macros and Conventions 8 - Maintenance Commands 9 - Kernel Interface n - New Commands

### Contents

```
SLAEDA(3F)							    SLAEDA(3F)

```

### NAME[Toc][Back]

```     SLAEDA - compute the Z vector corresponding to the	merge step in the
CURLVLth step of the merge	process	with TLVLS steps for the CURPBMth
problem
```

### SYNOPSIS[Toc][Back]

```     SUBROUTINE	SLAEDA(	N, TLVLS, CURLVL, CURPBM, PRMPTR, PERM,	GIVPTR,
GIVCOL,	GIVNUM,	Q, QPTR, Z, ZTEMP, INFO	)

INTEGER	CURLVL,	CURPBM,	INFO, N, TLVLS

INTEGER	GIVCOL(	2, * ),	GIVPTR(	* ), PERM( * ),	PRMPTR(	* ),
QPTR( *	)

REAL		GIVNUM(	2, * ),	Q( * ),	Z( * ),	ZTEMP( * )
```

### PURPOSE[Toc][Back]

```     SLAEDA computes the Z vector corresponding	to the merge step in the
CURLVLth step of the merge	process	with TLVLS steps for the CURPBMth
problem.

```

### ARGUMENTS[Toc][Back]

```     N	    (input) INTEGER
The	dimension of the symmetric tridiagonal matrix.	N >= 0.

TLVLS  (input) INTEGER
The	total number of	merging	levels in the overall divide and
conquer tree.

CURLVL (input) INTEGER The current level in	the overall merge
routine, 0 <= curlvl <= tlvls.

CURPBM (input) INTEGER The current problem in the current level in
the	overall	merge routine (counting	from upper left	to lower
right).

PRMPTR (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.

PERM   (input) INTEGER array, dimension (N	lg N)
Contains the permutations (from deflation and sorting) to be
applied to each eigenblock.

GIVPTR (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.

Page 1

SLAEDA(3F)							    SLAEDA(3F)

GIVCOL (input) INTEGER array, dimension (2,	N lg N)	Each pair of
numbers indicates a	pair of	columns	to take	place in a Givens
rotation.

GIVNUM (input) REAL	array, dimension (2, N lg N) Each number
indicates the S value to be	used in	the corresponding Givens
rotation.

Q	    (input) REAL array,	dimension (N**2)
Contains the square	eigenblocks from previous levels, the starting
positions for blocks are given by QPTR.

QPTR   (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.

Z	    (output) REAL 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).

ZTEMP  (workspace)	REAL array, dimension (N)

INFO   (output) INTEGER
= 0:  successful exit.
< 0:  if INFO = -i,	the i-th argument had an illegal value.
SLAEDA(3F)							    SLAEDA(3F)

```

### NAME[Toc][Back]

```     SLAEDA - compute the Z vector corresponding to the	merge step in the
CURLVLth step of the merge	process	with TLVLS steps for the CURPBMth
problem
```

### SYNOPSIS[Toc][Back]

```     SUBROUTINE	SLAEDA(	N, TLVLS, CURLVL, CURPBM, PRMPTR, PERM,	GIVPTR,
GIVCOL,	GIVNUM,	Q, QPTR, Z, ZTEMP, INFO	)

INTEGER	CURLVL,	CURPBM,	INFO, N, TLVLS

INTEGER	GIVCOL(	2, * ),	GIVPTR(	* ), PERM( * ),	PRMPTR(	* ),
QPTR( *	)

REAL		GIVNUM(	2, * ),	Q( * ),	Z( * ),	ZTEMP( * )
```

### PURPOSE[Toc][Back]

```     SLAEDA computes the Z vector corresponding	to the merge step in the
CURLVLth step of the merge	process	with TLVLS steps for the CURPBMth
problem.

```

### ARGUMENTS[Toc][Back]

```     N	    (input) INTEGER
The	dimension of the symmetric tridiagonal matrix.	N >= 0.

TLVLS  (input) INTEGER
The	total number of	merging	levels in the overall divide and
conquer tree.

CURLVL (input) INTEGER The current level in	the overall merge
routine, 0 <= curlvl <= tlvls.

CURPBM (input) INTEGER The current problem in the current level in
the	overall	merge routine (counting	from upper left	to lower
right).

PRMPTR (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.

PERM   (input) INTEGER array, dimension (N	lg N)
Contains the permutations (from deflation and sorting) to be
applied to each eigenblock.

GIVPTR (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.

Page 1

SLAEDA(3F)							    SLAEDA(3F)

GIVCOL (input) INTEGER array, dimension (2,	N lg N)	Each pair of
numbers indicates a	pair of	columns	to take	place in a Givens
rotation.

GIVNUM (input) REAL	array, dimension (2, N lg N) Each number
indicates the S value to be	used in	the corresponding Givens
rotation.

Q	    (input) REAL array,	dimension (N**2)
Contains the square	eigenblocks from previous levels, the starting
positions for blocks are given by QPTR.

QPTR   (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.

Z	    (output) REAL 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).

ZTEMP  (workspace)	REAL array, dimension (N)

INFO   (output) INTEGER
= 0:  successful exit.
< 0:  if INFO = -i,	the i-th argument had an illegal value.

PPPPaaaaggggeeee 2222```
[ Back ]
Similar pages