Visible to Intel only — GUID: GUID-BF713616-3313-4C41-A6F4-0799F477D2B5
Visible to Intel only — GUID: GUID-BF713616-3313-4C41-A6F4-0799F477D2B5
?lasd4
Computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix. Used by ?bdsdc.
Syntax
call slasd4( n, i, d, z, delta, rho, sigma, work, info)
call dlasd4( n, i, d, z, delta, rho, sigma, work, info )
Include Files
- mkl.fi
Description
The routine computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix whose entries are given as the squares of the corresponding entries in the array d, and that 0 ≤ d(i) < d(j) for i < j and that rho > 0. This is arranged by the calling routine, and is no loss in generality. The rank-one modified system is thus
diag(d)*diag(d) + rho*Z*ZT,
where the Euclidean norm of Z is equal to 1.The method consists of approximating the rational functions in the secular equation by simpler interpolating rational functions.
Input Parameters
- n
-
INTEGER. The length of all arrays.
- i
-
INTEGER.
The index of the eigenvalue to be computed. 1 ≤ i ≤ n.
- d
-
REAL for slasd4
DOUBLE PRECISION for dlasd4
Array, DIMENSION (n).
The original eigenvalues. They must be in order, 0 ≤ d(i) < d(j) for i < j.
- z
-
REAL for slasd4
DOUBLE PRECISION for dlasd4
Array, DIMENSION (n).
The components of the updating vector.
- rho
-
REAL for slasd4
DOUBLE PRECISION for dlasd4
The scalar in the symmetric updating formula.
- work
-
REAL for slasd4
DOUBLE PRECISION for dlasd4
Workspace array, DIMENSION (n ).
If n≠ 1, work contains (d(j) + sigma_i) in its j-th component.
If n = 1, then work( 1 ) = 1.
Output Parameters
- delta
-
REAL for slasd4
DOUBLE PRECISION for dlasd4
Array, DIMENSION (n).
If n≠ 1, delta contains (d(j) - sigma_i) in its j-th component.
If n = 1, then delta (1) = 1. The vector delta contains the information necessary to construct the (singular) eigenvectors.
- sigma
-
REAL for slasd4
DOUBLE PRECISION for dlasd4
The computed sigma_i, the i-th updated eigenvalue.
- info
-
INTEGER.
= 0: successful exit
> 0: If info = 1, the updating process failed.