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( JOBZ, SORTEV, SELECT, N, A, LDA, NOUT, W, Z, LDZ, 
 *      WORK, LDWORK, WORK2, WORK3, INFO)
  CHARACTER * 1 JOBZ, SORTEV
  COMPLEX A(LDA,*), W(*), Z(LDZ,*), WORK(*)
  INTEGER N, LDA, NOUT, LDZ, LDWORK, INFO
  LOGICAL SELECT
  LOGICAL WORK3(*)
  REAL WORK2(*)
  SUBROUTINE CGEES_64( JOBZ, SORTEV, SELECT, N, A, LDA, NOUT, W, Z, 
 *      LDZ, WORK, LDWORK, WORK2, WORK3, INFO)
  CHARACTER * 1 JOBZ, SORTEV
  COMPLEX A(LDA,*), W(*), Z(LDZ,*), WORK(*)
  INTEGER*8 N, LDA, NOUT, LDZ, LDWORK, INFO
  LOGICAL*8 SELECT
  LOGICAL*8 WORK3(*)
  REAL WORK2(*)

F95 INTERFACE

  SUBROUTINE GEES( JOBZ, SORTEV, SELECT, [N], A, [LDA], NOUT, W, Z, 
 *       [LDZ], [WORK], [LDWORK], [WORK2], [WORK3], [INFO])
  CHARACTER(LEN=1) :: JOBZ, SORTEV
  COMPLEX, DIMENSION(:) :: W, WORK
  COMPLEX, DIMENSION(:,:) :: A, Z
  INTEGER :: N, LDA, NOUT, LDZ, LDWORK, INFO
  LOGICAL :: SELECT
  LOGICAL, DIMENSION(:) :: WORK3
  REAL, DIMENSION(:) :: WORK2
  SUBROUTINE GEES_64( JOBZ, SORTEV, SELECT, [N], A, [LDA], NOUT, W, Z, 
 *       [LDZ], [WORK], [LDWORK], [WORK2], [WORK3], [INFO])
  CHARACTER(LEN=1) :: JOBZ, SORTEV
  COMPLEX, DIMENSION(:) :: W, WORK
  COMPLEX, DIMENSION(:,:) :: A, Z
  INTEGER(8) :: N, LDA, NOUT, LDZ, LDWORK, INFO
  LOGICAL(8) :: SELECT
  LOGICAL(8), DIMENSION(:) :: WORK3
  REAL, DIMENSION(:) :: WORK2

C INTERFACE

#include <sunperf.h>

void cgees(char jobz, char sortev, logical(*select)(complex), int n, complex *a, int lda, int *nout, complex *w, complex *z, int ldz, int *info);

void cgees_64(char jobz, char sortev, logical(*select)(complex), long n, complex *a, long lda, long *nout, complex *w, complex *z, long ldz, long *info);


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 triangular.


ARGUMENTS