---
name: "ctrexc"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/ctrexc/3lapack"
---

# ctrexc(3lapack)

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

## NAME

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

## 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 postmultplying 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 vectors. On exit, if COMPQ = 'V', Q has been postmultiplied 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
