Intel® oneAPI Math Kernel Library Developer Reference - Fortran
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.
call slasd4( n, i, d, z, delta, rho, sigma, work, info)
call dlasd4( n, i, d, z, delta, rho, sigma, work, info )
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.
INTEGER. The length of all arrays.
INTEGER.
The index of the eigenvalue to be computed. 1 ≤ i ≤ n.
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.
REAL for slasd4
DOUBLE PRECISION for dlasd4
Array, DIMENSION (n).
The components of the updating vector.
REAL for slasd4
DOUBLE PRECISION for dlasd4
The scalar in the symmetric updating formula.
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.
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.
REAL for slasd4
DOUBLE PRECISION for dlasd4
The computed sigma_i, the i-th updated eigenvalue.
INTEGER.
= 0: successful exit
> 0: If info = 1, the updating process failed.