Provided by: liblapack-doc_3.12.0-3build1_all bug

NAME

       lasd4 - lasd4: D&C step: secular equation nonlinear solver

SYNOPSIS

   Functions
       subroutine dlasd4 (n, i, d, z, delta, rho, sigma, work, info)
           DLASD4 computes the square root of the i-th updated eigenvalue of a positive symmetric
           rank-one modification to a positive diagonal matrix. Used by dbdsdc.
       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.

Detailed Description

Function Documentation

   subroutine dlasd4 (integer n, integer i, double precision, dimension( * ) d, double precision,
       dimension( * ) z, double precision, dimension( * ) delta, double precision rho, double
       precision sigma, double precision, dimension( * ) work, integer info)
       DLASD4 computes the square root of the i-th updated eigenvalue of a positive symmetric
       rank-one modification to a positive diagonal matrix. Used by dbdsdc.

       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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension ( N )
                    The components of the updating vector.

           DELTA

                     DELTA is DOUBLE PRECISION 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 DOUBLE PRECISION
                    The scalar in the symmetric updating formula.

           SIGMA

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

           WORK

                     WORK is DOUBLE PRECISION 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

   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

Author

       Generated automatically by Doxygen for LAPACK from the source code.