slasd4 (l)  Linux Manuals
slasd4: subroutine compute the square root of the Ith updated eigenvalue of a positive symmetric rankone 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
NAME
SLASD4  subroutine compute the square root of the Ith updated eigenvalue of a positive symmetric rankone 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 > 0SYNOPSIS
 SUBROUTINE SLASD4(
 N, I, D, Z, DELTA, RHO, SIGMA, WORK, INFO )
 INTEGER I, INFO, N
 REAL RHO, SIGMA
 REAL D( * ), DELTA( * ), WORK( * ), Z( * )
PURPOSE
This subroutine computes the square root of the Ith updated eigenvalue of a positive symmetric rankone modification to a positive diagonal matrix whose entries are given as the squares of the corresponding entries in the array d, and that no loss in generality. The rankone modified system is thuswhere we assume the Euclidean norm of Z is 1.
The method consists of approximating the rational functions in the secular equation by simpler interpolating rational functions.
ARGUMENTS
 N (input) INTEGER
 The length of all arrays.
 I (input) INTEGER
 The index of the eigenvalue to be computed. 1 <= I <= N.
 D (input) REAL array, dimension ( N )
 The original eigenvalues. It is assumed that they are in order, 0 <= D(I) < D(J) for I < J.
 Z (input) REAL array, dimension (N)
 The components of the updating vector.
 DELTA (output) REAL array, dimension (N)
 If N .ne. 1, DELTA contains (D(j)  sigma_I) in its jth component. If N = 1, then DELTA(1) = 1. The vector DELTA contains the information necessary to construct the (singular) eigenvectors.
 RHO (input) REAL
 The scalar in the symmetric updating formula.
 SIGMA (output) REAL
 The computed sigma_I, the Ith updated eigenvalue.
 WORK (workspace) REAL array, dimension (N)
 If N .ne. 1, WORK contains (D(j) + sigma_I) in its jth component. If N = 1, then WORK( 1 ) = 1.
 INFO (output) INTEGER

= 0: successful exit
> 0: if INFO = 1, the updating process failed.
PARAMETERS
Logical variable ORGATI (originati?) is used for distinguishing whether D(i) or D(i+1) is treated as the origin. ORGATI = .true. origin at i ORGATI = .false. origin at i+1 Logical variable SWTCH3 (switchfor3poles?) is for noting if we are working with THREE poles! MAXIT is the maximum number of iterations allowed for each eigenvalue. Further Details =============== Based on contributions by RenCang Li, Computer Science Division, University of California at Berkeley, USA