1DLAEIN(1) LAPACK auxiliary routine (version 3.1) DLAEIN(1)
2
3
4
6 DLAEIN - inverse iteration to find a right or left eigenvector corre‐
7 sponding to the eigenvalue (WR,WI) of a real upper Hessenberg matrix H
8
10 SUBROUTINE DLAEIN( RIGHTV, NOINIT, N, H, LDH, WR, WI, VR, VI, B, LDB,
11 WORK, EPS3, SMLNUM, BIGNUM, INFO )
12
13 LOGICAL NOINIT, RIGHTV
14
15 INTEGER INFO, LDB, LDH, N
16
17 DOUBLE PRECISION BIGNUM, EPS3, SMLNUM, WI, WR
18
19 DOUBLE PRECISION B( LDB, * ), H( LDH, * ), VI( * ), VR( *
20 ), WORK( * )
21
23 DLAEIN uses inverse iteration to find a right or left eigenvector cor‐
24 responding to the eigenvalue (WR,WI) of a real upper Hessenberg matrix
25 H.
26
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) DOUBLE PRECISION 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) DOUBLE PRECISION
47 WI (input) DOUBLE PRECISION The real and imaginary parts
48 of the eigenvalue of H whose corresponding right or left eigen‐
49 vector is to be computed.
50
51 VR (input/output) DOUBLE PRECISION array, dimension (N)
52 VI (input/output) DOUBLE PRECISION array, dimension (N) On
53 entry, if NOINIT = .FALSE. and WI = 0.0, VR must contain a real
54 starting vector for inverse iteration using the real eigenvalue
55 WR; if NOINIT = .FALSE. and WI.ne.0.0, VR and VI must contain
56 the real and imaginary parts of a complex starting vector for
57 inverse iteration using the complex eigenvalue (WR,WI); other‐
58 wise VR and VI need not be set. On exit, if WI = 0.0 (real ei‐
59 genvalue), VR contains the computed real eigenvector; if
60 WI.ne.0.0 (complex eigenvalue), VR and VI contain the real and
61 imaginary parts of the computed complex eigenvector. The eigen‐
62 vector is normalized so that the component of largest magnitude
63 has magnitude 1; here the magnitude of a complex number (x,y)
64 is taken to be |x| + |y|. VI is not referenced if WI = 0.0.
65
66 B (workspace) DOUBLE PRECISION array, dimension (LDB,N)
67
68 LDB (input) INTEGER
69 The leading dimension of the array B. LDB >= N+1.
70
71 WORK (workspace) DOUBLE PRECISION array, dimension (N)
72
73 EPS3 (input) DOUBLE PRECISION
74 A small machine-dependent value which is used to perturb close
75 eigenvalues, and to replace zero pivots.
76
77 SMLNUM (input) DOUBLE PRECISION
78 A machine-dependent value close to the underflow threshold.
79
80 BIGNUM (input) DOUBLE PRECISION
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.e1m)ber 2006 DLAEIN(1)