Subroutine */
| 8002 | } /* zhetrd_ */ |
| 8003 | |
| 8004 | /* Subroutine */ int zhseqr_(char *job, char *compz, integer *n, integer *ilo, |
| 8005 | integer *ihi, doublecomplex *h__, integer *ldh, doublecomplex *w, |
| 8006 | doublecomplex *z__, integer *ldz, doublecomplex *work, integer *lwork, |
| 8007 | integer *info) |
| 8008 | { |
| 8009 | /* System generated locals */ |
| 8010 | address a__1[2]; |
| 8011 | integer h_dim1, h_offset, z_dim1, z_offset, i__1, i__2, i__3[2]; |
| 8012 | doublereal d__1, d__2, d__3; |
| 8013 | doublecomplex z__1; |
| 8014 | char ch__1[2]; |
| 8015 | |
| 8016 | /* Local variables */ |
| 8017 | static doublecomplex hl[2401] /* was [49][49] */; |
| 8018 | static integer kbot, nmin; |
| 8019 | extern logical lsame_(char *, char *); |
| 8020 | static logical initz; |
| 8021 | static doublecomplex workl[49]; |
| 8022 | static logical wantt, wantz; |
| 8023 | extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, |
| 8024 | doublecomplex *, integer *), zlaqr0_(logical *, logical *, |
| 8025 | integer *, integer *, integer *, doublecomplex *, integer *, |
| 8026 | doublecomplex *, integer *, integer *, doublecomplex *, integer *, |
| 8027 | doublecomplex *, integer *, integer *), xerbla_(char *, integer * |
| 8028 | ); |
| 8029 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 8030 | integer *, integer *, ftnlen, ftnlen); |
| 8031 | extern /* Subroutine */ int zlahqr_(logical *, logical *, integer *, |
| 8032 | integer *, integer *, doublecomplex *, integer *, doublecomplex *, |
| 8033 | integer *, integer *, doublecomplex *, integer *, integer *), |
| 8034 | zlacpy_(char *, integer *, integer *, doublecomplex *, integer *, |
| 8035 | doublecomplex *, integer *), zlaset_(char *, integer *, |
| 8036 | integer *, doublecomplex *, doublecomplex *, doublecomplex *, |
| 8037 | integer *); |
| 8038 | static logical lquery; |
| 8039 | |
| 8040 | |
| 8041 | /* |
| 8042 | -- LAPACK computational routine (version 3.2.2) -- |
| 8043 | Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd.. |
| 8044 | June 2010 |
| 8045 | |
| 8046 | Purpose |
| 8047 | ======= |
| 8048 | |
| 8049 | ZHSEQR computes the eigenvalues of a Hessenberg matrix H |
| 8050 | and, optionally, the matrices T and Z from the Schur decomposition |
| 8051 | H = Z T Z**H, where T is an upper triangular matrix (the |
| 8052 | Schur form), and Z is the unitary matrix of Schur vectors. |
| 8053 | |
| 8054 | Optionally Z may be postmultiplied into an input unitary |
| 8055 | matrix Q so that this routine can give the Schur factorization |
| 8056 | of a matrix A which has been reduced to the Hessenberg form H |
| 8057 | by the unitary matrix Q: A = Q*H*Q**H = (QZ)*H*(QZ)**H. |
| 8058 | |
| 8059 | Arguments |
| 8060 | ========= |
| 8061 |