1CLAQR0(1)           LAPACK auxiliary routine (version 3.1)           CLAQR0(1)
2
3
4

NAME

6       CLAQR0 - 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 CLAQR0( WANTT, WANTZ, N, ILO, IHI, H, LDH, W, ILOZ, IHIZ, Z,
13                          LDZ, WORK, LWORK, INFO )
14
15           INTEGER        IHI, IHIZ, ILO, ILOZ, INFO, LDH, LDZ, LWORK, N
16
17           LOGICAL        WANTT, WANTZ
18
19           COMPLEX        H( LDH, * ), W( * ), WORK( * ), Z( LDZ, * )
20

PURPOSE

22          CLAQR0 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       WANTT   (input) LOGICAL
35               = .TRUE. : the full Schur form T is required;
36               = .FALSE.: only eigenvalues are required.
37
38       WANTZ   (input) LOGICAL
39               = .TRUE. : the matrix of Schur vectors Z is required;
40               = .FALSE.: Schur vectors are not required.
41
42       N     (input) INTEGER
43             The order of the matrix H.  N .GE. 0.
44
45       ILO   (input) INTEGER
46             IHI    (input) INTEGER It is assumed that H is already upper tri‐
47             angular in rows and columns 1:ILO-1 and IHI+1:N and, if ILO.GT.1,
48             H(ILO,ILO-1)  is zero. ILO and IHI are normally set by a previous
49             call to CGEBAL, and then passed to CGEHRD when the matrix  output
50             by  CGEBAL is reduced to Hessenberg form.  Otherwise, ILO and IHI
51             should be  set  to  1  and  N,  respectively.   If  N.GT.0,  then
52             1.LE.ILO.LE.IHI.LE.N.  If N = 0, then ILO = 1 and IHI = 0.
53
54       H     (input/output) COMPLEX array, dimension (LDH,N)
55             On  entry,  the  upper Hessenberg matrix H.  On exit, if INFO = 0
56             and WANTT is .TRUE., then H contains the upper triangular  matrix
57             T  from the Schur decomposition (the Schur form). If INFO = 0 and
58             WANT is (The output value of H when INFO.GT.0 is given under  the
59             description of INFO below.)
60
61             This  subroutine may explicitly set H(i,j) = 0 for i.GT.j and j =
62             1, 2, ... ILO-1 or j = IHI+1, IHI+2, ... N.
63
64       LDH   (input) INTEGER
65             The leading dimension of the array H. LDH .GE. max(1,N).
66
67       W        (output) COMPLEX array, dimension (N)
68                The computed eigenvalues of H(ILO:IHI,ILO:IHI) are stored
69                in W(ILO:IHI). If WANTT is .TRUE., then  the  eigenvalues  are
70                stored  in the same order as on the diagonal of the Schur form
71                returned in H, with W(i) = H(i,i).
72
73       Z     (input/output) COMPLEX array, dimension (LDZ,IHI)
74             If WANTZ is .FALSE., then Z  is  not  referenced.   If  WANTZ  is
75             .TRUE., then Z(ILO:IHI,ILOZ:IHIZ) is
76             replaced by Z(ILO:IHI,ILOZ:IHIZ)*U where U is the
77             orthogonal Schur factor of H(ILO:IHI,ILO:IHI).  (The output value
78             of Z when INFO.GT.0  is  given  under  the  description  of  INFO
79             below.)
80
81       LDZ   (input) INTEGER
82             The  leading  dimension of the array Z.  if WANTZ is .TRUE.  then
83             LDZ.GE.MAX(1,IHIZ).  Otherwize, LDZ.GE.1.
84
85       WORK  (workspace/output) COMPLEX array, dimension LWORK
86             On exit, if LWORK = -1, WORK(1) returns an estimate of the  opti‐
87             mal value for LWORK.
88
89             LWORK  (input)  INTEGER  The  dimension of the array WORK.  LWORK
90             .GE. max(1,N) is sufficient, but LWORK typically as large as  6*N
91             may  be  required  for optimal performance.  A workspace query to
92             determine the optimal workspace size is recommended.
93
94             If LWORK = -1, then CLAQR0 does a workspace query.  In this case,
95             CLAQR0  checks  the  input  parameters  and estimates the optimal
96             workspace size for the given values of N, ILO and IHI.  The esti‐
97             mate  is  returned in WORK(1).  No error message related to LWORK
98             is issued by XERBLA.  Neither H nor Z are accessed.
99
100       INFO  (output) INTEGER
101             =  0:  successful exit
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.)
105
106             If INFO .GT. 0 and WANT is .FALSE., then on exit,  the  remaining
107             unconverged  eigenvalues  are the eigen- values of the upper Hes‐
108             senberg matrix rows and columns ILO through INFO  of  the  final,
109             output value of H.
110
111             If INFO .GT. 0 and WANTT is .TRUE., then on exit
112
113       (*)  (initial value of H)*U  = U*(final value of H)
114
115            where  U is a unitary matrix.  The final value of  H is upper Hes‐
116            senberg and triangular in rows and columns INFO+1 through IHI.
117
118            If INFO .GT. 0 and WANTZ is .TRUE., then on exit
119
120            (final  value  of  Z(ILO:IHI,ILOZ:IHIZ)  =   (initial   value   of
121            Z(ILO:IHI,ILOZ:IHIZ)*U
122
123            where U is the unitary matrix in (*) (regard- less of the value of
124            WANTT.)
125
126            If INFO .GT. 0 and WANTZ is .FALSE., then Z is not accessed.
127
128
129
130 LAPACK auxiliary routine (versionNo3v.e1m)ber 2006                       CLAQR0(1)
Impressum