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

NAME

6       SLAHQR  - i an auxiliary routine called by SHSEQR to update the  eigen‐
7       values and Schur decomposition already computed by SHSEQR, by   dealing
8       with the Hessenberg submatrix in rows and columns ILO to  IHI
9

SYNOPSIS

11       SUBROUTINE SLAHQR( WANTT,  WANTZ,  N,  ILO,  IHI, H, LDH, WR, WI, ILOZ,
12                          IHIZ, Z, LDZ, INFO )
13
14           INTEGER        IHI, IHIZ, ILO, ILOZ, INFO, LDH, LDZ, N
15
16           LOGICAL        WANTT, WANTZ
17
18           REAL           H( LDH, * ), WI( * ), WR( * ), Z( LDZ, * )
19

PURPOSE

21          SLAHQR is an auxiliary routine called by SHSEQR to update the
22          eigenvalues and Schur decomposition already computed by SHSEQR, by
23          dealing with the Hessenberg submatrix in rows and columns ILO to
24          IHI.
25
26

ARGUMENTS

28       WANTT   (input) LOGICAL
29               = .TRUE. : the full Schur form T is required;
30               = .FALSE.: only eigenvalues are required.
31
32       WANTZ   (input) LOGICAL
33               = .TRUE. : the matrix of Schur vectors Z is required;
34               = .FALSE.: Schur vectors are not required.
35
36       N       (input) INTEGER
37               The order of the matrix H.  N >= 0.
38
39       ILO     (input) INTEGER
40               IHI     (input) INTEGER It is assumed that H is  already  upper
41               quasi-triangular   in   rows  and  columns  IHI+1:N,  and  that
42               H(ILO,ILO-1) = 0 (unless ILO = 1). SLAHQR works primarily  with
43               the  Hessenberg  submatrix  in rows and columns ILO to IHI, but
44               applies transformations to all of H if WANTT is .TRUE..   1  <=
45               ILO <= max(1,IHI); IHI <= N.
46
47       H       (input/output) REAL array, dimension (LDH,N)
48               On  entry,  the upper Hessenberg matrix H.  On exit, if INFO is
49               zero and if WANTT is .TRUE., H  is  upper  quasi-triangular  in
50               rows  and  columns  ILO:IHI, with any 2-by-2 diagonal blocks in
51               standard form. If INFO is zero and WANTT is .FALSE.,  the  con‐
52               tents  of  H are unspecified on exit.  The output state of H if
53               INFO is nonzero is given below under the description of INFO.
54
55       LDH     (input) INTEGER
56               The leading dimension of the array H. LDH >= max(1,N).
57
58       WR      (output) REAL array, dimension (N)
59               WI      (output) REAL array, dimension (N) The real and  imagi‐
60               nary  parts,  respectively,  of the computed eigenvalues ILO to
61               IHI are stored in the corresponding elements of WR and  WI.  If
62               two  eigenvalues are computed as a complex conjugate pair, they
63               are stored in consecutive elements of WR and WI, say  the  i-th
64               and  (i+1)th,  with  WI(i)  >  0  and  WI(i+1) < 0. If WANTT is
65               .TRUE., the eigenvalues are stored in the same order as on  the
66               diagonal  of the Schur form returned in H, with WR(i) = H(i,i),
67               and, if H(i:i+1,i:i+1) is a  2-by-2  diagonal  block,  WI(i)  =
68               sqrt(H(i+1,i)*H(i,i+1)) and WI(i+1) = -WI(i).
69
70       ILOZ    (input) INTEGER
71               IHIZ     (input)  INTEGER Specify the rows of Z to which trans‐
72               formations must be applied if WANTZ is .TRUE..  1  <=  ILOZ  <=
73               ILO; IHI <= IHIZ <= N.
74
75       Z       (input/output) REAL array, dimension (LDZ,N)
76               If  WANTZ is .TRUE., on entry Z must contain the current matrix
77               Z of transformations accumulated by SHSEQR, and on exit  Z  has
78               been updated; transformations are applied only to the submatrix
79               Z(ILOZ:IHIZ,ILO:IHI).  If WANTZ is .FALSE.,  Z  is  not  refer‐
80               enced.
81
82       LDZ     (input) INTEGER
83               The leading dimension of the array Z. LDZ >= max(1,N).
84
85       INFO    (output) INTEGER
86               =   0: successful exit
87               eigenvalues  ILO  to IHI in a total of 30 iterations per eigen‐
88               value; elements i+1:ihi of WR and WI contain those  eigenvalues
89               which have been successfully computed.
90
91               If  INFO .GT. 0 and WANTT is .FALSE., then on exit, the remain‐
92               ing unconverged eigenvalues are the eigenvalues  of  the  upper
93               Hessenberg  matrix  rows  and  columns  ILO thorugh INFO of the
94               final, output value of H.
95
96               If  INFO  .GT.  0  and  WANTT  is  .TRUE.,  then  on  exit  (*)
97               (initial  value  of  H)*U  = U*(final value of H) where U is an
98               orthognal matrix.    The final value of H is  upper  Hessenberg
99               and triangular in rows and columns INFO+1 through IHI.
100
101               If  INFO  .GT. 0 and WANTZ is .TRUE., then on exit (final value
102               of Z)  = (initial value of  Z)*U  where  U  is  the  orthogonal
103               matrix in (*) (regardless of the value of WANTT.)
104

FURTHER DETAILS

106          02-96 Based on modifications by
107          David Day, Sandia National Laboratory, USA
108
109          12-04 Further modifications by
110          Ralph Byers, University of Kansas, USA
111
112            This is a modified version of SLAHQR from LAPACK version 3.0.
113            It is (1) more robust against overflow and underflow and
114            (2) adopts the more conservative Ahues & Tisseur stopping
115            criterion (LAWN 122, 1997).
116
117
118
119
120 LAPACK auxiliary routine (versionNo3v.e1m)ber 2006                       SLAHQR(1)
Impressum