1SLAEIN(1) LAPACK auxiliary routine (version 3.2) SLAEIN(1)
2
3
4
6 SLAEIN - uses inverse iteration to find a right or left eigenvector
7 corresponding to the eigenvalue (WR,WI) of a real upper Hessenberg
8 matrix H
9
11 SUBROUTINE SLAEIN( RIGHTV, NOINIT, N, H, LDH, WR, WI, VR, VI, B, LDB,
12 WORK, EPS3, SMLNUM, BIGNUM, INFO )
13
14 LOGICAL NOINIT, RIGHTV
15
16 INTEGER INFO, LDB, LDH, N
17
18 REAL BIGNUM, EPS3, SMLNUM, WI, WR
19
20 REAL B( LDB, * ), H( LDH, * ), VI( * ), VR( * ), WORK( *
21 )
22
24 SLAEIN uses inverse iteration to find a right or left eigenvector cor‐
25 responding to the eigenvalue (WR,WI) of a real upper Hessenberg matrix
26 H.
27
29 RIGHTV (input) LOGICAL
30 = .TRUE. : compute right eigenvector;
31 = .FALSE.: compute left eigenvector.
32
33 NOINIT (input) LOGICAL
34 = .TRUE. : no initial vector supplied in (VR,VI).
35 = .FALSE.: initial vector supplied in (VR,VI).
36
37 N (input) INTEGER
38 The order of the matrix H. N >= 0.
39
40 H (input) REAL array, dimension (LDH,N)
41 The upper Hessenberg matrix H.
42
43 LDH (input) INTEGER
44 The leading dimension of the array H. LDH >= max(1,N).
45
46 WR (input) REAL
47 WI (input) REAL The real and imaginary parts of the eigen‐
48 value of H whose corresponding right or left eigenvector is to
49 be computed.
50
51 VR (input/output) REAL array, dimension (N)
52 VI (input/output) REAL array, dimension (N) On entry, if
53 NOINIT = .FALSE. and WI = 0.0, VR must contain a real starting
54 vector for inverse iteration using the real eigenvalue WR; if
55 NOINIT = .FALSE. and WI.ne.0.0, VR and VI must contain the real
56 and imaginary parts of a complex starting vector for inverse
57 iteration using the complex eigenvalue (WR,WI); otherwise VR
58 and VI need not be set. On exit, if WI = 0.0 (real eigenval‐
59 ue), VR contains the computed real eigenvector; if WI.ne.0.0
60 (complex eigenvalue), VR and VI contain the real and imaginary
61 parts of the computed complex eigenvector. The eigenvector is
62 normalized so that the component of largest magnitude has mag‐
63 nitude 1; here the magnitude of a complex number (x,y) is taken
64 to be |x| + |y|. VI is not referenced if WI = 0.0.
65
66 B (workspace) REAL array, dimension (LDB,N)
67
68 LDB (input) INTEGER
69 The leading dimension of the array B. LDB >= N+1.
70
71 WORK (workspace) REAL array, dimension (N)
72
73 EPS3 (input) REAL
74 A small machine-dependent value which is used to perturb close
75 eigenvalues, and to replace zero pivots.
76
77 SMLNUM (input) REAL
78 A machine-dependent value close to the underflow threshold.
79
80 BIGNUM (input) REAL
81 A machine-dependent value close to the overflow threshold.
82
83 INFO (output) INTEGER
84 = 0: successful exit
85 = 1: inverse iteration did not converge; VR is set to the last
86 iterate, and so is VI if WI.ne.0.0.
87
88
89
90 LAPACK auxiliary routine (versionNo3v.e2m)ber 2008 SLAEIN(1)