Previous: ctrevc Up: ../lapack-c.html Next: ctrrfs

# ctrexc

```
NAME
CTREXC - reorder the Schur factorization of a complex matrix
A = Q*T*Q**H, so that the diagonal element of T with row
index IFST is moved to row ILST

SYNOPSIS
SUBROUTINE CTREXC( COMPQ, N, T, LDT, Q, LDQ, IFST, ILST,
INFO )

CHARACTER      COMPQ

INTEGER        IFST, ILST, INFO, LDQ, LDT, N

COMPLEX        Q( LDQ, * ), T( LDT, * )

PURPOSE
CTREXC reorders the Schur factorization of a complex matrix
A = Q*T*Q**H, so that the diagonal element of T with row
index IFST is moved to row ILST.

The Schur form T is reordered by a unitary similarity
transformation Z**H*T*Z, and optionally the matrix Q of
Schur vectors is updated by postmultiplying it with Z.

ARGUMENTS
COMPQ   (input) CHARACTER*1
= 'V':  update the matrix Q of Schur vectors;
= 'N':  do not update Q.

N       (input) INTEGER
The order of the matrix T. N >= 0.

T       (input/output) COMPLEX array, dimension (LDT,N)
On entry, the upper triangular matrix T.  On exit,
the reordered upper triangular matrix.

LDT     (input) INTEGER
The leading dimension of the array T. LDT >=
max(1,N).

Q       (input/output) COMPLEX array, dimension (LDQ,N)
On entry, if COMPQ = 'V', the matrix Q of Schur vec-
tors.  On exit, if COMPQ = 'V', Q has been postmul-
tiplied by the unitary transformation matrix Z which
reorders T.  If COMPQ = 'N', Q is not referenced.

LDQ     (input) INTEGER
The leading dimension of the array Q.  LDQ >=
max(1,N).

IFST    (input) INTEGER

ILST    (input) INTEGER Specify the reordering of
the diagonal elements of T: The element with row
index IFST is moved to row ILST by a sequence of
transpositions between adjacent elements.  1 <= IFST
<= N; 1 <= ILST <= N.

INFO    (output) INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal
value
```