Subroutine */
| 25087 | } /* csteqr_ */ |
| 25088 | |
| 25089 | /* Subroutine */ int ctrevc_(char *side, char *howmny, logical *select, |
| 25090 | integer *n, complex *t, integer *ldt, complex *vl, integer *ldvl, |
| 25091 | complex *vr, integer *ldvr, integer *mm, integer *m, complex *work, |
| 25092 | real *rwork, integer *info) |
| 25093 | { |
| 25094 | /* System generated locals */ |
| 25095 | integer t_dim1, t_offset, vl_dim1, vl_offset, vr_dim1, vr_offset, i__1, |
| 25096 | i__2, i__3, i__4, i__5; |
| 25097 | real r__1, r__2, r__3; |
| 25098 | complex q__1, q__2; |
| 25099 | |
| 25100 | /* Local variables */ |
| 25101 | static integer i__, j, k, ii, ki, is; |
| 25102 | static real ulp; |
| 25103 | static logical allv; |
| 25104 | static real unfl, ovfl, smin; |
| 25105 | static logical over; |
| 25106 | static real scale; |
| 25107 | extern logical lsame_(char *, char *); |
| 25108 | extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex * |
| 25109 | , complex *, integer *, complex *, integer *, complex *, complex * |
| 25110 | , integer *); |
| 25111 | static real remax; |
| 25112 | extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, |
| 25113 | complex *, integer *); |
| 25114 | static logical leftv, bothv, somev; |
| 25115 | extern /* Subroutine */ int slabad_(real *, real *); |
| 25116 | extern integer icamax_(integer *, complex *, integer *); |
| 25117 | extern doublereal slamch_(char *); |
| 25118 | extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer |
| 25119 | *), xerbla_(char *, integer *), clatrs_(char *, char *, |
| 25120 | char *, char *, integer *, complex *, integer *, complex *, real * |
| 25121 | , real *, integer *); |
| 25122 | extern doublereal scasum_(integer *, complex *, integer *); |
| 25123 | static logical rightv; |
| 25124 | static real smlnum; |
| 25125 | |
| 25126 | |
| 25127 | /* |
| 25128 | -- LAPACK routine (version 3.2) -- |
| 25129 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 25130 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 25131 | November 2006 |
| 25132 | |
| 25133 | |
| 25134 | Purpose |
| 25135 | ======= |
| 25136 | |
| 25137 | CTREVC computes some or all of the right and/or left eigenvectors of |
| 25138 | a complex upper triangular matrix T. |
| 25139 | Matrices of this type are produced by the Schur factorization of |
| 25140 | a complex general matrix: A = Q*T*Q**H, as computed by CHSEQR. |
| 25141 | |
| 25142 | The right eigenvector x and the left eigenvector y of T corresponding |
| 25143 | to an eigenvalue w are defined by: |
| 25144 | |
| 25145 | T*x = w*x, (y**H)*T = w*(y**H) |
| 25146 |