1CHSEQR(1)             LAPACK driver routine (version 3.2)            CHSEQR(1)
2
3
4

NAME

6       CHSEQR  - CHSEQR compute the eigenvalues of a Hessenberg matrix H  and,
7       optionally, the matrices T and Z from the Schur decomposition  H = Z  T
8       Z**H, where T is an upper triangular matrix (the  Schur form), and Z is
9       the unitary matrix of Schur vectors
10

SYNOPSIS

12       SUBROUTINE CHSEQR( JOB, COMPZ, N, ILO, IHI, H, LDH, W,  Z,  LDZ,  WORK,
13                          LWORK, INFO )
14
15           INTEGER        IHI, ILO, INFO, LDH, LDZ, LWORK, N
16
17           CHARACTER      COMPZ, JOB
18
19           COMPLEX        H( LDH, * ), W( * ), WORK( * ), Z( LDZ, * )
20

PURPOSE

22          CHSEQR computes the eigenvalues of a Hessenberg matrix H
23          and, optionally, the matrices T and Z from the Schur decomposition
24          H = Z T Z**H, where T is an upper triangular matrix (the
25          Schur form), and Z is the unitary matrix of Schur vectors.
26          Optionally Z may be postmultiplied into an input unitary
27          matrix Q so that this routine can give the Schur factorization
28          of a matrix A which has been reduced to the Hessenberg form H
29          by the unitary matrix Q:  A = Q*H*Q**H = (QZ)*H*(QZ)**H.
30

ARGUMENTS

32       JOB   (input) CHARACTER*1
33             = 'E':  compute eigenvalues only;
34             =  'S':  compute eigenvalues and the Schur form T.  COMPZ (input)
35             CHARACTER*1
36             = 'N':  no Schur vectors are computed;
37             = 'I':  Z is initialized to the unit matrix and the matrix  Z  of
38             Schur vectors of H is returned; = 'V':  Z must contain an unitary
39             matrix Q on entry, and the product Q*Z is returned.
40
41       N     (input) INTEGER
42             The order of the matrix H.  N .GE. 0.
43
44       ILO   (input) INTEGER
45             IHI   (input) INTEGER It is assumed that H is already upper  tri‐
46             angular  in rows and columns 1:ILO-1 and IHI+1:N. ILO and IHI are
47             normally set by a previous call to CGEBAL,  and  then  passed  to
48             CGEHRD  when the matrix output by CGEBAL is reduced to Hessenberg
49             form. Otherwise ILO and IHI should be set  to  1  and  N  respec‐
50             tively.   If  N.GT.0,  then 1.LE.ILO.LE.IHI.LE.N.  If N = 0, then
51             ILO = 1 and IHI = 0.
52
53       H     (input/output) COMPLEX array, dimension (LDH,N)
54             On entry, the upper Hessenberg matrix H.  On exit, if  INFO  =  0
55             and  JOB = 'S', H contains the upper triangular matrix T from the
56             Schur decomposition (the Schur form). If INFO = 0 and JOB =  'E',
57             the  contents of H are unspecified on exit.  (The output value of
58             H when INFO.GT.0 is given under the description of  INFO  below.)
59             Unlike earlier versions of CHSEQR, this subroutine may explicitly
60             H(i,j) = 0 for i.GT.j and j = 1, 2,  ...  ILO-1  or  j  =  IHI+1,
61             IHI+2, ... N.
62
63       LDH   (input) INTEGER
64             The leading dimension of the array H. LDH .GE. max(1,N).
65
66       W        (output) COMPLEX array, dimension (N)
67                The  computed  eigenvalues.  If JOB = 'S', the eigenvalues are
68                stored in the same order as on the diagonal of the Schur  form
69                returned in H, with W(i) = H(i,i).
70
71       Z     (input/output) COMPLEX array, dimension (LDZ,N)
72             If  COMPZ = 'N', Z is not referenced.  If COMPZ = 'I', on entry Z
73             need not be set and on exit, if INFO = 0, Z contains the  unitary
74             matrix  Z  of the Schur vectors of H.  If COMPZ = 'V', on entry Z
75             must contain an N-by-N matrix Q, which is assumed to be equal  to
76             the  unit  matrix except for the submatrix Z(ILO:IHI,ILO:IHI). On
77             exit, if INFO = 0, Z contains Q*Z.  Normally  Q  is  the  unitary
78             matrix  generated by CUNGHR after the call to CGEHRD which formed
79             the Hessenberg matrix H. (The output value of Z when INFO.GT.0 is
80             given under the description of INFO below.)
81
82       LDZ   (input) INTEGER
83             The  leading dimension of the array Z.  if COMPZ = 'I' or COMPZ =
84             'V', then LDZ.GE.MAX(1,N).  Otherwize, LDZ.GE.1.
85
86       WORK  (workspace/output) COMPLEX array, dimension (LWORK)
87             On exit, if INFO = 0, WORK(1) returns an estimate of the  optimal
88             value  for  LWORK.   LWORK  (input)  INTEGER The dimension of the
89             array WORK.  LWORK .GE. max(1,N) is sufficient and delivers  very
90             good  and sometimes optimal performance.  However, LWORK as large
91             as 11*N may be required for  optimal  performance.   A  workspace
92             query is recommended to determine the optimal workspace size.  If
93             LWORK = -1, then CHSEQR does a workspace query.   In  this  case,
94             CHSEQR  checks  the  input  parameters  and estimates the optimal
95             workspace size for the given values of N, ILO and IHI.  The esti‐
96             mate  is  returned in WORK(1).  No error message related to LWORK
97             is issued by XERBLA.  Neither H nor Z are accessed.
98
99       INFO  (output) INTEGER
100             =  0:  successful exit
101             value
102             the eigenvalues.  Elements 1:ilo-1 and i+1:n of WR and WI contain
103             those  eigenvalues which have been successfully computed.  (Fail‐
104             ures are rare.)  If INFO .GT. 0 and JOB = 'E', then on exit,  the
105             remaining  unconverged  eigenvalues  are the eigen- values of the
106             upper Hessenberg matrix rows and columns ILO through INFO of  the
107             final,  output  value of H.  If INFO .GT. 0 and JOB   = 'S', then
108             on exit
109
110       (*)  (initial value of H)*U  = U*(final value of H)
111            where U is a unitary matrix.  The final value of  H is upper  Hes‐
112            senberg and triangular in rows and columns INFO+1 through IHI.  If
113            INFO .GT. 0 and COMPZ = 'V', then on exit (final value  of  Z)   =
114            (initial  value  of  Z)*U  where  U  is  the unitary matrix in (*)
115            (regard- less of the value of JOB.)  If INFO .GT. 0  and  COMPZ  =
116            'I',  then  on exit (final value of Z)  = U where U is the unitary
117            matrix in (*) (regard- less of the value of JOB.)  If INFO .GT.  0
118            and COMPZ = 'N', then Z is not accessed.
119
120
121
122 LAPACK driver routine (version 3.N2o)vember 2008                       CHSEQR(1)
Impressum