# ?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 )

## Include Files

• Fortran: mkl.fi
• C: mkl.h

## Description

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

For more complete information about compiler optimizations, see our Optimization Notice.