# ?lasd5

Computes the square root of the i-th eigenvalue of a positive symmetric rank-one modification of a 2-by-2 diagonal matrix.Used by ?bdsdc.

## Syntax

call slasd5( i, d, z, delta, rho, dsigma, work )

call dlasd5( i, d, z, delta, rho, dsigma, work )

## Description

This routine computes the square root of the i-th eigenvalue of a positive symmetric rank-one modification of a 2-by-2 diagonal matrix `diag(d)*diag(d)+rho*Z*ZT`

The diagonal entries in the array d must satisfy `0 ≤ d(i) < d(j)` for `i<i`, rho mustbe greater than 0, and that the Euclidean norm of the vector Z is equal to 1.

## Input Parameters

i

  INTEGER.The index of the eigenvalue to be computed. `i = 1` or `i = 2`.

d

  REAL for slasd5

  DOUBLE PRECISION for dlasd5

  Array, dimension (2 ).

  The original eigenvalues, `0 ≤ d(1) < d(2)`.

z

  REAL for slasd5

  DOUBLE PRECISION for dlasd5

  Array, dimension ( 2 ).

  The components of the updating vector.

rho

  REAL for slasd5

  DOUBLE PRECISION for dlasd5

  The scalar in the symmetric updating formula.

work

  REAL for slasd5

  DOUBLE PRECISION for dlasd5.

  Workspace array, dimension ( 2 ). Contains (`d(j) + sigma_i`) in its j-th component.

## Output Parameters

delta

  REAL for slasd5

  DOUBLE PRECISION for dlasd5.

  Array, dimension ( 2 ).

  Contains (`d(j) - sigma_i`) in its j-th component. The vector delta contains the information necessary to construct the eigenvectors.

dsigma

  REAL for slasd5

  DOUBLE PRECISION for dlasd5.

  The computed sigma_i , the i-th updated eigenvalue.

Parent topic: Auxiliary Routines