3 Description

The Schur factorization of A is given by

A=ZTZH,

where Z, the matrix of Schur vectors, is unitary and T is the Schur form. A complex matrix is in Schur form if it is upper triangular.

Optionally, F08PNF (ZGEES) 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 form an orthonormal basis for the invariant subspace corresponding to the selected eigenvalues.

On entry: the first dimension of the array VS as declared in the (sub)program from which F08PNF (ZGEES) is called.

Constraints:

if JOBVS='V', LDVS≥max1,N;

otherwise LDVS≥1.

11: WORK(max1,LWORK) – COMPLEX (KIND=nag_wp) arrayWorkspace

On exit: if INFO=0, the real part of WORK1 contains the minimum value of LWORK required for optimal performance.

12: LWORK – INTEGERInput

On entry: the dimension of the array WORK as declared in the (sub)program from which F08PNF (ZGEES) is called.

If LWORK=-1, 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.

Suggested value:
for optimal performance, LWORK must generally be larger than the minimum, say 2×N+nb×N, where nb is the optimal block size for F08NSF (ZGEHRD).

6 Error Indicators and Warnings

If INFO=-i, argument i had an illegal value. An explanatory message is output, and execution of the program is terminated.

INFO=1 to N

If INFO=i and i≤N, the QR algorithm failed to compute all the eigenvalues.

INFO=N+1

The eigenvalues could not be reordered because some eigenvalues were too close to separate (the problem is very ill-conditioned).

INFO=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 also be caused by underflow due to scaling.