Subroutine */
| 11911 | } /* dlaed7_ */ |
| 11912 | |
| 11913 | /* Subroutine */ int dlaed8_(integer *icompq, integer *k, integer *n, integer |
| 11914 | *qsiz, doublereal *d__, doublereal *q, integer *ldq, integer *indxq, |
| 11915 | doublereal *rho, integer *cutpnt, doublereal *z__, doublereal *dlamda, |
| 11916 | doublereal *q2, integer *ldq2, doublereal *w, integer *perm, integer |
| 11917 | *givptr, integer *givcol, doublereal *givnum, integer *indxp, integer |
| 11918 | *indx, integer *info) |
| 11919 | { |
| 11920 | /* System generated locals */ |
| 11921 | integer q_dim1, q_offset, q2_dim1, q2_offset, i__1; |
| 11922 | doublereal d__1; |
| 11923 | |
| 11924 | /* Local variables */ |
| 11925 | static doublereal c__; |
| 11926 | static integer i__, j; |
| 11927 | static doublereal s, t; |
| 11928 | static integer k2, n1, n2, jp, n1p1; |
| 11929 | static doublereal eps, tau, tol; |
| 11930 | static integer jlam, imax, jmax; |
| 11931 | extern /* Subroutine */ int drot_(integer *, doublereal *, integer *, |
| 11932 | doublereal *, integer *, doublereal *, doublereal *), dscal_( |
| 11933 | integer *, doublereal *, doublereal *, integer *), dcopy_(integer |
| 11934 | *, doublereal *, integer *, doublereal *, integer *); |
| 11935 | |
| 11936 | extern integer idamax_(integer *, doublereal *, integer *); |
| 11937 | extern /* Subroutine */ int dlamrg_(integer *, integer *, doublereal *, |
| 11938 | integer *, integer *, integer *), dlacpy_(char *, integer *, |
| 11939 | integer *, doublereal *, integer *, doublereal *, integer *), xerbla_(char *, integer *); |
| 11940 | |
| 11941 | |
| 11942 | /* |
| 11943 | -- LAPACK routine (version 3.2.2) -- |
| 11944 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 11945 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 11946 | June 2010 |
| 11947 | |
| 11948 | |
| 11949 | Purpose |
| 11950 | ======= |
| 11951 | |
| 11952 | DLAED8 merges the two sets of eigenvalues together into a single |
| 11953 | sorted set. Then it tries to deflate the size of the problem. |
| 11954 | There are two ways in which deflation can occur: when two or more |
| 11955 | eigenvalues are close together or if there is a tiny element in the |
| 11956 | Z vector. For each such occurrence the order of the related secular |
| 11957 | equation problem is reduced by one. |
| 11958 | |
| 11959 | Arguments |
| 11960 | ========= |
| 11961 | |
| 11962 | ICOMPQ (input) INTEGER |
| 11963 | = 0: Compute eigenvalues only. |
| 11964 | = 1: Compute eigenvectors of original dense symmetric matrix |
| 11965 | also. On entry, Q contains the orthogonal matrix used |
| 11966 | to reduce the original matrix to tridiagonal form. |
| 11967 | |
| 11968 | K (output) INTEGER |
| 11969 | The number of non-deflated eigenvalues, and the order of the |
| 11970 | related secular equation. |