Subroutine */
| 7453 | } /* sgetrs_ */ |
| 7454 | |
| 7455 | /* Subroutine */ int shseqr_(char *job, char *compz, integer *n, integer *ilo, |
| 7456 | integer *ihi, real *h__, integer *ldh, real *wr, real *wi, real *z__, |
| 7457 | integer *ldz, real *work, integer *lwork, integer *info) |
| 7458 | { |
| 7459 | /* System generated locals */ |
| 7460 | address a__1[2]; |
| 7461 | integer h_dim1, h_offset, z_dim1, z_offset, i__1, i__2[2], i__3; |
| 7462 | real r__1; |
| 7463 | char ch__1[2]; |
| 7464 | |
| 7465 | /* Local variables */ |
| 7466 | static integer i__; |
| 7467 | static real hl[2401] /* was [49][49] */; |
| 7468 | static integer kbot, nmin; |
| 7469 | extern logical lsame_(char *, char *); |
| 7470 | static logical initz; |
| 7471 | static real workl[49]; |
| 7472 | static logical wantt, wantz; |
| 7473 | extern /* Subroutine */ int slaqr0_(logical *, logical *, integer *, |
| 7474 | integer *, integer *, real *, integer *, real *, real *, integer * |
| 7475 | , integer *, real *, integer *, real *, integer *, integer *), |
| 7476 | xerbla_(char *, integer *); |
| 7477 | extern integer ilaenv_(integer *, char *, char *, integer *, integer *, |
| 7478 | integer *, integer *, ftnlen, ftnlen); |
| 7479 | extern /* Subroutine */ int slahqr_(logical *, logical *, integer *, |
| 7480 | integer *, integer *, real *, integer *, real *, real *, integer * |
| 7481 | , integer *, real *, integer *, integer *), slacpy_(char *, |
| 7482 | integer *, integer *, real *, integer *, real *, integer *), slaset_(char *, integer *, integer *, real *, real *, |
| 7483 | real *, integer *); |
| 7484 | static logical lquery; |
| 7485 | |
| 7486 | |
| 7487 | /* |
| 7488 | -- LAPACK computational routine (version 3.2.2) -- |
| 7489 | Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd.. |
| 7490 | June 2010 |
| 7491 | |
| 7492 | Purpose |
| 7493 | ======= |
| 7494 | |
| 7495 | SHSEQR computes the eigenvalues of a Hessenberg matrix H |
| 7496 | and, optionally, the matrices T and Z from the Schur decomposition |
| 7497 | H = Z T Z**T, where T is an upper quasi-triangular matrix (the |
| 7498 | Schur form), and Z is the orthogonal matrix of Schur vectors. |
| 7499 | |
| 7500 | Optionally Z may be postmultiplied into an input orthogonal |
| 7501 | matrix Q so that this routine can give the Schur factorization |
| 7502 | of a matrix A which has been reduced to the Hessenberg form H |
| 7503 | by the orthogonal matrix Q: A = Q*H*Q**T = (QZ)*T*(QZ)**T. |
| 7504 | |
| 7505 | Arguments |
| 7506 | ========= |
| 7507 | |
| 7508 | JOB (input) CHARACTER*1 |
| 7509 | = 'E': compute eigenvalues only; |
| 7510 | = 'S': compute eigenvalues and the Schur form T. |
| 7511 | |
| 7512 | COMPZ (input) CHARACTER*1 |