Subroutine */
| 25202 | } /* zsteqr_ */ |
| 25203 | |
| 25204 | /* Subroutine */ int ztrevc_(char *side, char *howmny, logical *select, |
| 25205 | integer *n, doublecomplex *t, integer *ldt, doublecomplex *vl, |
| 25206 | integer *ldvl, doublecomplex *vr, integer *ldvr, integer *mm, integer |
| 25207 | *m, doublecomplex *work, doublereal *rwork, integer *info) |
| 25208 | { |
| 25209 | /* System generated locals */ |
| 25210 | integer t_dim1, t_offset, vl_dim1, vl_offset, vr_dim1, vr_offset, i__1, |
| 25211 | i__2, i__3, i__4, i__5; |
| 25212 | doublereal d__1, d__2, d__3; |
| 25213 | doublecomplex z__1, z__2; |
| 25214 | |
| 25215 | /* Local variables */ |
| 25216 | static integer i__, j, k, ii, ki, is; |
| 25217 | static doublereal ulp; |
| 25218 | static logical allv; |
| 25219 | static doublereal unfl, ovfl, smin; |
| 25220 | static logical over; |
| 25221 | static doublereal scale; |
| 25222 | extern logical lsame_(char *, char *); |
| 25223 | static doublereal remax; |
| 25224 | static logical leftv, bothv; |
| 25225 | extern /* Subroutine */ int zgemv_(char *, integer *, integer *, |
| 25226 | doublecomplex *, doublecomplex *, integer *, doublecomplex *, |
| 25227 | integer *, doublecomplex *, doublecomplex *, integer *); |
| 25228 | static logical somev; |
| 25229 | extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, |
| 25230 | doublecomplex *, integer *), dlabad_(doublereal *, doublereal *); |
| 25231 | |
| 25232 | extern /* Subroutine */ int xerbla_(char *, integer *), zdscal_( |
| 25233 | integer *, doublereal *, doublecomplex *, integer *); |
| 25234 | extern integer izamax_(integer *, doublecomplex *, integer *); |
| 25235 | static logical rightv; |
| 25236 | extern doublereal dzasum_(integer *, doublecomplex *, integer *); |
| 25237 | static doublereal smlnum; |
| 25238 | extern /* Subroutine */ int zlatrs_(char *, char *, char *, char *, |
| 25239 | integer *, doublecomplex *, integer *, doublecomplex *, |
| 25240 | doublereal *, doublereal *, integer *); |
| 25241 | |
| 25242 | |
| 25243 | /* |
| 25244 | -- LAPACK routine (version 3.2) -- |
| 25245 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 25246 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 25247 | November 2006 |
| 25248 | |
| 25249 | |
| 25250 | Purpose |
| 25251 | ======= |
| 25252 | |
| 25253 | ZTREVC computes some or all of the right and/or left eigenvectors of |
| 25254 | a complex upper triangular matrix T. |
| 25255 | Matrices of this type are produced by the Schur factorization of |
| 25256 | a complex general matrix: A = Q*T*Q**H, as computed by ZHSEQR. |
| 25257 | |
| 25258 | The right eigenvector x and the left eigenvector y of T corresponding |
| 25259 | to an eigenvalue w are defined by: |
| 25260 | |
| 25261 | T*x = w*x, (y**H)*T = w*(y**H) |