Developer Reference for Intel® oneAPI Math Kernel Library for C
A newer version of this document is available. Customers should click here to go to the newest version.
?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
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
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
 -  
     
The length of all arrays.
 - i
 -  
      
     
The index of the eigenvalue to be computed. 1 ≤ i ≤ n.
 - d
 -  
     
Array, DIMENSION (n).
The original eigenvalues. They must be in order, 0 ≤ d(i) < d(j) for i < j.
 - z
 -  
     
Array, DIMENSION (n).
The components of the updating vector.
 - rho
 -  
     
The scalar in the symmetric updating formula.
 - work
 -  
     
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
 -  
     
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
 -  
     
The computed sigma_i, the i-th updated eigenvalue.
 - info
 -  
      
     
= 0: successful exit
> 0: If info = 1, the updating process failed.