\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
Type | Intent | Optional | 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 |