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