dlaed4(3F)

DLAED4 - subroutine computes the I-th updated eigenvalue of a symmetric rank-one modification to a diagonal matrix whose elements are given in the array d, and that D(i) < D(j) for i < j and that RHO > 0

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     DLAED4 - subroutine computes the I-th updated eigenvalue of a symmetric
     rank-one modification to a diagonal matrix whose elements are given in
     the array d, and that   D(i) < D(j) for i < j  and that RHO > 0

SYNOPSIS
     SUBROUTINE DLAED4( N, I, D, Z, DELTA, RHO, DLAM, INFO )

         INTEGER        I, INFO, N

         DOUBLE         PRECISION DLAM, RHO

         DOUBLE         PRECISION D( * ), DELTA( * ), Z( * )

PURPOSE
     This subroutine computes the I-th updated eigenvalue of a symmetric
     rank-one modification to a diagonal matrix whose elements are given in
     the array d, and that no loss in generality.  The rank-one modified
     system is thus

                diag( D )  +  RHO *  Z * Z_transpose.

     where 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) DOUBLE PRECISION array, dimension (N)
            The original eigenvalues.  It is assumed that they are in order,
            D(I) < D(J)  for I < J.

     Z      (input) DOUBLE PRECISION array, dimension (N)
            The components of the updating vector.

     DELTA  (output) DOUBLE PRECISION array, dimension (N)
            If N .ne. 1, DELTA contains (D(j) - lambda_I) in its  j-th
            component.  If N = 1, then DELTA(1) = 1.  The vector DELTA
            contains the information necessary to construct the eigenvectors.

     RHO    (input) DOUBLE PRECISION
            The scalar in the symmetric updating formula.
     DLAM   (output) DOUBLE PRECISION
            The computed lambda_I, the I-th updated eigenvalue.

     INFO   (output) INTEGER
            = 0:  successful exit
            > 0:  if INFO = 1, the updating process failed.

PARAMETERS
     Logical variable ORGATI (origin-at-i?) 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 (switch-for-3-poles?) is for noting if we are
     working with THREE poles!

     MAXIT is the maximum number of iterations allowed for each eigenvalue.