1ZHSEQR(1)             LAPACK driver routine (version 3.1)            ZHSEQR(1)
2
3
4

NAME

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

SYNOPSIS

12       SUBROUTINE ZHSEQR( 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*16     H( LDH, * ), W( * ), WORK( * ), Z( LDZ, * )
20

PURPOSE

22          ZHSEQR 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
27          Optionally Z may be postmultiplied into an input unitary
28          matrix Q so that this routine can give the Schur factorization
29          of a matrix A which has been reduced to the Hessenberg form H
30          by the unitary matrix Q:  A = Q*H*Q**H = (QZ)*H*(QZ)**H.
31
32

ARGUMENTS

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