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

NAME

6       DLASD4  -  compute  the square root of the I-th updated eigenvalue of a
7       positive symmetric rank-one modification to a positive diagonal  matrix
8       whose  entries are given as the squares of the corresponding entries in
9       the array d, and that   0 <= D(i) < D(j) for i < j  and that RHO > 0
10

SYNOPSIS

12       SUBROUTINE DLASD4( N, I, D, Z, DELTA, RHO, SIGMA, WORK, INFO )
13
14           INTEGER        I, INFO, N
15
16           DOUBLE         PRECISION RHO, SIGMA
17
18           DOUBLE         PRECISION D( * ), DELTA( * ), WORK( * ), Z( * )
19

PURPOSE

21       This subroutine computes the square root of the I-th updated eigenvalue
22       of  a  positive  symmetric rank-one modification to a positive diagonal
23       matrix whose entries are given as  the  squares  of  the  corresponding
24       entries  in  the array d, and that no loss in generality.  The rank-one
25       modified system is thus
26
27              diag( D ) * diag( D ) +  RHO *  Z * Z_transpose.
28
29       where we assume the Euclidean norm of Z is 1.
30
31       The method consists of approximating the rational functions in the sec‐
32       ular equation by simpler interpolating rational functions.
33
34

ARGUMENTS

36       N      (input) INTEGER
37              The length of all arrays.
38
39       I      (input) INTEGER
40              The index of the eigenvalue to be computed.  1 <= I <= N.
41
42       D      (input) DOUBLE PRECISION array, dimension ( N )
43              The original eigenvalues.  It is assumed that they are in order,
44              0 <= D(I) < D(J)  for I < J.
45
46       Z      (input) DOUBLE PRECISION array, dimension ( N )
47              The components of the updating vector.
48
49       DELTA  (output) DOUBLE PRECISION array, dimension ( N )
50              If N .ne. 1, DELTA contains (D(j) - sigma_I) in its  j-th compo‐
51              nent.   If  N = 1, then DELTA(1) = 1.  The vector DELTA contains
52              the information necessary to construct the (singular)  eigenvec‐
53              tors.
54
55       RHO    (input) DOUBLE PRECISION
56              The scalar in the symmetric updating formula.
57
58       SIGMA  (output) DOUBLE PRECISION
59              The computed sigma_I, the I-th updated eigenvalue.
60
61       WORK   (workspace) DOUBLE PRECISION array, dimension ( N )
62              If  N .ne. 1, WORK contains (D(j) + sigma_I) in its  j-th compo‐
63              nent.  If N = 1, then WORK( 1 ) = 1.
64
65       INFO   (output) INTEGER
66              = 0:  successful exit
67              > 0:  if INFO = 1, the updating process failed.
68

PARAMETERS

70       Logical variable  ORGATI  (origin-at-i?)  is  used  for  distinguishing
71       whether D(i) or D(i+1) is treated as the origin.
72
73       ORGATI = .true.    origin at i ORGATI = .false.   origin at i+1
74
75       Logical  variable  SWTCH3 (switch-for-3-poles?) is for noting if we are
76       working with THREE poles!
77
78       MAXIT is the maximum number of iterations allowed for each eigenvalue.
79
80       Further Details ===============
81
82       Based on contributions by Ren-Cang Li, Computer Science Division,  Uni‐
83       versity of California at Berkeley, USA
84
85
86
87 LAPACK auxiliary routine (versionNo3v.e1m)ber 2006                       DLASD4(1)
Impressum