---
name: "dlaeda"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/dlaeda.f"
---

# dlaeda(3)

Part of [dlaeda.f(3)](/dlaeda.f/3.md).

## NAME

SRC/dlaeda.f

## SYNOPSIS

### Functions/Subroutines

subroutine **dlaeda** (n, tlvls, curlvl, curpbm, prmptr, perm, givptr, givcol, givnum, q, qptr, z, ztemp, info)\
 **DLAEDA** used by DSTEDC. 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 DSTEDC. 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

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**

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

Definition at line **164** of file **dlaeda.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
