dlaeda (3) - Linux Manuals

dlaeda.f -

SYNOPSIS

Functions/Subroutines

subroutine dlaeda (N, TLVLS, CURLVL, CURPBM, PRMPTR, PERM, GIVPTR, GIVCOL, GIVNUM, Q, QPTR, Z, ZTEMP, INFO)
DLAEDA used by sstedc. Computes the Z vector determining the rank-one modification of the diagonal matrix. Used when the original matrix is dense.

Function/Subroutine Documentation

subroutine dlaeda (integerN, integerTLVLS, integerCURLVL, integerCURPBM, integer, dimension( * )PRMPTR, integer, dimension( * )PERM, integer, dimension( * )GIVPTR, integer, dimension( 2, * )GIVCOL, double precision, dimension( 2, * )GIVNUM, double precision, dimension( * )Q, integer, dimension( * )QPTR, double precision, dimension( * )Z, double precision, dimension( * )ZTEMP, integerINFO)

DLAEDA used by sstedc. Computes the Z vector determining the rank-one modification of the diagonal matrix. Used when the original matrix is dense.

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.
```

Parameters:

N

```          N is INTEGER
The dimension of the symmetric tridiagonal matrix.  N >= 0.
```

TLVLS

```          TLVLS is INTEGER
The total number of merging levels in the overall divide and
conquer tree.
```

CURLVL

```          CURLVL is INTEGER
The current level in the overall merge routine,
0 <= curlvl <= tlvls.
```

CURPBM

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

PRMPTR

```          PRMPTR is 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

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

GIVPTR

```          GIVPTR is 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.
```

GIVCOL

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

GIVNUM

```          GIVNUM is DOUBLE PRECISION array, dimension (2, N lg N)
Each number indicates the S value to be used in the
corresponding Givens rotation.
```

Q

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

QPTR

```          QPTR is 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

```          Z is 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).
```

ZTEMP

```          ZTEMP is DOUBLE PRECISION array, dimension (N)
```

INFO

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

Author:

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Date:

September 2012

Contributors:

Jeff Rutter, Computer Science Division, University of California at Berkeley, USA

Definition at line 166 of file dlaeda.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.