cgees(3)

NAME

CGEES - compute for an N-by-N complex nonsymmetric matrix
A, the eigenvalues, the Schur form T, and, optionally, the matrix
of Schur vectors Z

SYNOPSIS

SUBROUTINE CGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, W,
VS, LDVS, WORK, LWORK, RWORK, BWORK, INFO )
    CHARACTER     JOBVS, SORT
    INTEGER       INFO, LDA, LDVS, LWORK, N, SDIM
    LOGICAL       BWORK( * )
    REAL          RWORK( * )
    COMPLEX        A(  LDA,  *  ),  VS( LDVS, * ), W( * ),
WORK( * )
    LOGICAL       SELECT
    EXTERNAL      SELECT

PURPOSE

CGEES computes for an N-by-N complex nonsymmetric matrix
A, the eigenvalues, the Schur form T, and, optionally, the matrix
of Schur vectors Z. This gives the Schur factorization A =
Z*T*(Z**H). Optionally, it also orders the eigenvalues on the
diagonal of the Schur form so that selected eigenvalues are at
the top left. The leading columns of Z then form an orthonormal
basis for the invariant subspace corresponding to the selected
eigenvalues.
A complex matrix is in Schur form if it is upper triangu
lar.

ARGUMENTS

JOBVS (input) CHARACTER*1
= 'N': Schur vectors are not computed;
= 'V': Schur vectors are computed.
SORT (input) CHARACTER*1
Specifies whether or not to order the eigenvalues
on the diagonal of the Schur form. = 'N': Eigenvalues are not
ordered:
= 'S': Eigenvalues are ordered (see SELECT).
SELECT (input) LOGICAL FUNCTION of one COMPLEX argument
SELECT must be declared EXTERNAL in the calling
subroutine. If SORT = 'S', SELECT is used to select eigenvalues
to order to the top left of the Schur form. IF SORT = 'N', SE
LECT is not referenced. The eigenvalue W(j) is selected if SE
LECT(W(j)) is true.
N (input) INTEGER
The order of the matrix A. N >= 0.
A (input/output) COMPLEX array, dimension (LDA,N)
On entry, the N-by-N matrix A. On exit, A has
been overwritten by its Schur form T.
LDA (input) INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
SDIM (output) INTEGER
If SORT = 'N', SDIM = 0. If SORT = 'S', SDIM =
number of eigenvalues for which SELECT is true.
W (output) COMPLEX array, dimension (N)
W contains the computed eigenvalues, in the same
order that they appear on the diagonal of the output Schur form
T.
VS (output) COMPLEX array, dimension (LDVS,N)
If JOBVS = 'V', VS contains the unitary matrix Z
of Schur vectors. If JOBVS = 'N', VS is not referenced.
LDVS (input) INTEGER
The leading dimension of the array VS. LDVS >= 1;
if JOBVS = 'V', LDVS >= N.
WORK (workspace/output) COMPLEX array, dimension
(LWORK)
On exit, if INFO = 0, WORK(1) returns the optimal
LWORK.
LWORK (input) INTEGER
The dimension of the array WORK. LWORK >=
max(1,2*N). For good performance, LWORK must generally be larg
er.
If LWORK = -1, then a workspace query is assumed;
the routine only calculates the optimal size of the WORK array,
returns this value as the first entry of the WORK array, and no
error message related to LWORK is issued by XERBLA.
RWORK (workspace) REAL array, dimension (N)
BWORK (workspace) LOGICAL array, dimension (N)
Not referenced if SORT = 'N'.
INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an ille
gal value.
> 0: if INFO = i, and i is
<= N: the QR algorithm failed to compute all the
eigenvalues; elements 1:ILO-1 and i+1:N of W con
tain those eigenvalues which have converged; if JOBVS = 'V', VS
contains the matrix which reduces A to its partially converged
Schur form. = N+1: the eigenvalues could not be reordered be
cause some eigenvalues were too close to separate (the problem is
very ill-conditioned); = N+2: after reordering, roundoff changed
values of some complex eigenvalues so that leading eigenvalues in
the Schur form no longer satisfy SELECT = .TRUE.. This could al
so be caused by underflow due to scaling.
LAPACK version 3.0 15 June 2000
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout