SRC/slasd4.f(3)

NAME
SRC/slasd4.f

SYNOPSIS

  Functions/Subroutines
subroutine slasd4 (n, i, d, z, delta, rho, sigma, work, info)
SLASD4 computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix. Used by sbdsdc.

Function/Subroutine Documentation

  subroutine slasd4 (integer n, integer i, real, dimension( * ) d, real, dimension( * ) z, real, dimension( * ) delta, real rho, real sigma, real, dimension( * ) work, integer info)

SLASD4 computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix. Used by sbdsdc.

Purpose:

     This subroutine 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_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.

Parameters
    N

              N is INTEGER
             The length of all arrays.

    I

              I is INTEGER
             The index of the eigenvalue to be computed.  1 <= I <= N.

    D

              D is REAL array, dimension ( N )
             The original eigenvalues.  It is assumed that they are in
             order, 0 <= D(I) < D(J)  for I < J.

    Z

              Z is REAL array, dimension ( N )
             The components of the updating vector.

    DELTA

              DELTA is REAL array, dimension ( N )
             If N .ne. 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.

    RHO

              RHO is REAL
             The scalar in the symmetric updating formula.

    SIGMA

              SIGMA is REAL
             The computed sigma_I, the I-th updated eigenvalue.

    WORK

              WORK is REAL array, dimension ( N )
             If N .ne. 1, WORK contains (D(j) + sigma_I) in its  j-th
             component.  If N = 1, then WORK( 1 ) = 1.

    INFO

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

Internal 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.

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Contributors:
    Ren-Cang Li, Computer Science Division, University of California at Berkeley, USA

Definition at line 152 of file slasd4.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.