Subroutine */
| 7952 | } /* chetrd_ */ |
| 7953 | |
| 7954 | /* Subroutine */ int chseqr_(char *job, char *compz, integer *n, integer *ilo, |
| 7955 | integer *ihi, complex *h__, integer *ldh, complex *w, complex *z__, |
| 7956 | integer *ldz, complex *work, integer *lwork, integer *info) |
| 7957 | { |
| 7958 | /* System generated locals */ |
| 7959 | address a__1[2]; |
| 7960 | integer h_dim1, h_offset, z_dim1, z_offset, i__1, i__2, i__3[2]; |
| 7961 | real r__1, r__2, r__3; |
| 7962 | complex q__1; |
| 7963 | char ch__1[2]; |
| 7964 | |
| 7965 | /* Local variables */ |
| 7966 | static complex hl[2401] /* was [49][49] */; |
| 7967 | static integer kbot, nmin; |
| 7968 | extern logical lsame_(char *, char *); |
| 7969 | extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, |
| 7970 | complex *, integer *); |
| 7971 | static logical initz; |
| 7972 | static complex workl[49]; |
| 7973 | static logical wantt, wantz; |
| 7974 | extern /* Subroutine */ int claqr0_(logical *, logical *, integer *, |
| 7975 | integer *, integer *, complex *, integer *, complex *, integer *, |
| 7976 | integer *, complex *, integer *, complex *, integer *, integer *), |
| 7977 | clahqr_(logical *, logical *, integer *, integer *, integer *, |
| 7978 | complex *, integer *, complex *, integer *, integer *, complex *, |
| 7979 | integer *, integer *), clacpy_(char *, integer *, integer *, |
| 7980 | complex *, integer *, complex *, integer *), claset_(char |
| 7981 | *, integer *, integer *, complex *, complex *, complex *, integer |
| 7982 | *), xerbla_(char *, integer *); |
| 7983 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 7984 | integer *, integer *, ftnlen, ftnlen); |
| 7985 | static logical lquery; |
| 7986 | |
| 7987 | |
| 7988 | /* |
| 7989 | -- LAPACK computational routine (version 3.2.2) -- |
| 7990 | Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd.. |
| 7991 | June 2010 |
| 7992 | |
| 7993 | Purpose |
| 7994 | ======= |
| 7995 | |
| 7996 | CHSEQR computes the eigenvalues of a Hessenberg matrix H |
| 7997 | and, optionally, the matrices T and Z from the Schur decomposition |
| 7998 | H = Z T Z**H, where T is an upper triangular matrix (the |
| 7999 | Schur form), and Z is the unitary matrix of Schur vectors. |
| 8000 | |
| 8001 | Optionally Z may be postmultiplied into an input unitary |
| 8002 | matrix Q so that this routine can give the Schur factorization |
| 8003 | of a matrix A which has been reduced to the Hessenberg form H |
| 8004 | by the unitary matrix Q: A = Q*H*Q**H = (QZ)*H*(QZ)**H. |
| 8005 | |
| 8006 | Arguments |
| 8007 | ========= |
| 8008 | |
| 8009 | JOB (input) CHARACTER*1 |
| 8010 | = 'E': compute eigenvalues only; |
| 8011 | = 'S': compute eigenvalues and the Schur form T. |