# dlaeda.f - Man Page

## 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 (integer N, integer TLVLS, integer CURLVL, integer CURPBM, 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, integer 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.

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:

December 2016

Contributors:

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

Definition at line 168 of file dlaeda.f.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

The man page dlaeda(3) is an alias of dlaeda.f(3).

Tue Nov 14 2017 Version 3.8.0 LAPACK