ESMF_DLAED9 Subroutine

subroutine ESMF_DLAED9(K, KSTART, KSTOP, N, D, Q, LDQ, RHO, DLAMDA, W, S, LDS, INFO)

\brief \b ESMF_DLAED9 used by sstedc. Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is dense. \htmlonly Download ESMF_DLAED9 + dependencies [TGZ] [ZIP] [TXT] \endhtmlonly \par Purpose:

\verbatim

ESMF_DLAED9 finds the roots of the secular equation, as defined by the values in D, Z, and RHO, between KSTART and KSTOP. It makes the appropriate calls to ESMF_DLAED4 and then stores the new matrix of eigenvectors for use in calculating the next level of Z vectors. \endverbatim \param[in] K \verbatim K is INTEGER The number of terms in the rational function to be solved by ESMF_DLAED4. K >= 0. \endverbatim

\param[in] KSTART \verbatim KSTART is INTEGER \endverbatim

\param[in] KSTOP \verbatim KSTOP is INTEGER The updated eigenvalues Lambda(I), KSTART <= I <= KSTOP are to be computed. 1 <= KSTART <= KSTOP <= K. \endverbatim

\param[in] N \verbatim N is INTEGER The number of rows and columns in the Q matrix. N >= K (delation may result in N > K). \endverbatim

\param[out] D \verbatim D is DOUBLE PRECISION array, dimension (N) D(I) contains the updated eigenvalues for KSTART <= I <= KSTOP. \endverbatim

\param[out] Q \verbatim Q is DOUBLE PRECISION array, dimension (LDQ,N) \endverbatim

\param[in] LDQ \verbatim LDQ is INTEGER The leading dimension of the array Q. LDQ >= max( 1, N ). \endverbatim

\param[in] RHO \verbatim RHO is DOUBLE PRECISION The value of the parameter in the rank one update equation. RHO >= 0 required. \endverbatim

\param[in] DLAMDA \verbatim DLAMDA is DOUBLE PRECISION array, dimension (K) The first K elements of this array contain the old roots of the deflated updating problem. These are the poles of the secular equation. \endverbatim

\param[in] W \verbatim W is DOUBLE PRECISION array, dimension (K) The first K elements of this array contain the components of the deflation-adjusted updating vector. \endverbatim

\param[out] S \verbatim S is DOUBLE PRECISION array, dimension (LDS, K) Will contain the eigenvectors of the repaired matrix which will be stored for subsequent Z vector calculation and multiplied by the previously accumulated eigenvectors to update the system. \endverbatim

\param[in] LDS \verbatim LDS is INTEGER The leading dimension of S. LDS >= max( 1, K ). \endverbatim

\param[out] INFO \verbatim INFO is INTEGER = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. > 0: if INFO = 1, an eigenvalue did not converge \endverbatim \author Univ. of Tennessee \author Univ. of California Berkeley \author Univ. of Colorado Denver \author NAG Ltd. \date December 2016 \ingroup auxOTHERcomputational \par Contributors:

Jeff Rutter, Computer Science Division, University of California at Berkeley, USA

Arguments

Type IntentOptional Attributes Name
integer :: K
integer :: KSTART
integer :: KSTOP
integer :: N
double precision :: D(*)
double precision :: Q(LDQ,*)
integer :: LDQ
double precision :: RHO
double precision :: DLAMDA(*)
double precision :: W(*)
double precision :: S(LDS,*)
integer :: LDS
integer :: INFO