1DLAED4(1) LAPACK routine (version 3.2) DLAED4(1)
2
3
4
6 DLAED4 - subroutine compute the I-th updated eigenvalue of a symmetric
7 rank-one modification to a diagonal matrix whose elements are given in
8 the array d, and that D(i) < D(j) for i < j and that RHO > 0
9
11 SUBROUTINE DLAED4( N, I, D, Z, DELTA, RHO, DLAM, INFO )
12
13 INTEGER I, INFO, N
14
15 DOUBLE PRECISION DLAM, RHO
16
17 DOUBLE PRECISION D( * ), DELTA( * ), Z( * )
18
20 This subroutine computes the I-th updated eigenvalue of a symmetric
21 rank-one modification to a diagonal matrix whose elements are given in
22 the array d, and that no loss in generality. The rank-one modified
23 system is thus
24 diag( D ) + RHO * Z * Z_transpose.
25 where we assume the Euclidean norm of Z is 1.
26 The method consists of approximating the rational functions in the sec‐
27 ular equation by simpler interpolating rational functions.
28
30 N (input) INTEGER
31 The length of all arrays.
32
33 I (input) INTEGER
34 The index of the eigenvalue to be computed. 1 <= I <= N.
35
36 D (input) DOUBLE PRECISION array, dimension (N)
37 The original eigenvalues. It is assumed that they are in order,
38 D(I) < D(J) for I < J.
39
40 Z (input) DOUBLE PRECISION array, dimension (N)
41 The components of the updating vector.
42
43 DELTA (output) DOUBLE PRECISION array, dimension (N)
44 If N .GT. 2, DELTA contains (D(j) - lambda_I) in its j-th com‐
45 ponent. If N = 1, then DELTA(1) = 1. If N = 2, see DLAED5 for
46 detail. The vector DELTA contains the information necessary to
47 construct the eigenvectors by DLAED3 and DLAED9.
48
49 RHO (input) DOUBLE PRECISION
50 The scalar in the symmetric updating formula.
51
52 DLAM (output) DOUBLE PRECISION
53 The computed lambda_I, the I-th updated eigenvalue.
54
55 INFO (output) INTEGER
56 = 0: successful exit
57 > 0: if INFO = 1, the updating process failed.
58
60 Logical variable ORGATI (origin-at-i?) is used for distinguishing
61 whether D(i) or D(i+1) is treated as the origin. ORGATI = .true.
62 origin at i ORGATI = .false. origin at i+1 Logical variable SWTCH3
63 (switch-for-3-poles?) is for noting if we are working with THREE poles!
64 MAXIT is the maximum number of iterations allowed for each eigenvalue.
65 Further Details =============== Based on contributions by Ren-Cang Li,
66 Computer Science Division, University of California at Berkeley, USA
67
68
69
70 LAPACK routine (version 3.2) November 2008 DLAED4(1)