Subroutine */
| 40950 | } /* strevc_ */ |
| 40951 | |
| 40952 | /* Subroutine */ int strexc_(char *compq, integer *n, real *t, integer *ldt, |
| 40953 | real *q, integer *ldq, integer *ifst, integer *ilst, real *work, |
| 40954 | integer *info) |
| 40955 | { |
| 40956 | /* System generated locals */ |
| 40957 | integer q_dim1, q_offset, t_dim1, t_offset, i__1; |
| 40958 | |
| 40959 | /* Local variables */ |
| 40960 | static integer nbf, nbl, here; |
| 40961 | extern logical lsame_(char *, char *); |
| 40962 | static logical wantq; |
| 40963 | extern /* Subroutine */ int xerbla_(char *, integer *), slaexc_( |
| 40964 | logical *, integer *, real *, integer *, real *, integer *, |
| 40965 | integer *, integer *, integer *, real *, integer *); |
| 40966 | static integer nbnext; |
| 40967 | |
| 40968 | |
| 40969 | /* |
| 40970 | -- LAPACK routine (version 3.2) -- |
| 40971 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 40972 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 40973 | November 2006 |
| 40974 | |
| 40975 | |
| 40976 | Purpose |
| 40977 | ======= |
| 40978 | |
| 40979 | STREXC reorders the real Schur factorization of a real matrix |
| 40980 | A = Q*T*Q**T, so that the diagonal block of T with row index IFST is |
| 40981 | moved to row ILST. |
| 40982 | |
| 40983 | The real Schur form T is reordered by an orthogonal similarity |
| 40984 | transformation Z**T*T*Z, and optionally the matrix Q of Schur vectors |
| 40985 | is updated by postmultiplying it with Z. |
| 40986 | |
| 40987 | T must be in Schur canonical form (as returned by SHSEQR), that is, |
| 40988 | block upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each |
| 40989 | 2-by-2 diagonal block has its diagonal elements equal and its |
| 40990 | off-diagonal elements of opposite sign. |
| 40991 | |
| 40992 | Arguments |
| 40993 | ========= |
| 40994 | |
| 40995 | COMPQ (input) CHARACTER*1 |
| 40996 | = 'V': update the matrix Q of Schur vectors; |
| 40997 | = 'N': do not update Q. |
| 40998 | |
| 40999 | N (input) INTEGER |
| 41000 | The order of the matrix T. N >= 0. |
| 41001 | |
| 41002 | T (input/output) REAL array, dimension (LDT,N) |
| 41003 | On entry, the upper quasi-triangular matrix T, in Schur |
| 41004 | Schur canonical form. |
| 41005 | On exit, the reordered upper quasi-triangular matrix, again |
| 41006 | in Schur canonical form. |
| 41007 | |
| 41008 | LDT (input) INTEGER |
| 41009 | The leading dimension of the array T. LDT >= max(1,N). |