Developer Reference for Intel® oneAPI Math Kernel Library for C
?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 )
void slasd4 ( lapack_int*n , lapack_int*i , float*d , float*z , float*delta , float*rho , float*sigma , float*work , lapack_int*info );
void dlasd4 ( lapack_int*n , lapack_int*i , double*d , double*z , double*delta , double*rho , double*sigma , double*work , lapack_int*info );
Include Files
mkl.h
Description
slasd4 dlasd4
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*Z^{T} ,
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
The length of all arrays.
i
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
= 0: successful exit
> 0: If info = 1 , the updating process failed.