1ZLAED8(1)                LAPACK routine (version 3.2)                ZLAED8(1)
2
3
4

NAME

6       ZLAED8  -  merges  the  two  sets of eigenvalues together into a single
7       sorted set
8

SYNOPSIS

10       SUBROUTINE ZLAED8( K, N, QSIZ, Q, LDQ, D, RHO, CUTPNT, Z,  DLAMDA,  Q2,
11                          LDQ2,  W,  INDXP, INDX, INDXQ, PERM, GIVPTR, GIVCOL,
12                          GIVNUM, INFO )
13
14           INTEGER        CUTPNT, GIVPTR, INFO, K, LDQ, LDQ2, N, QSIZ
15
16           DOUBLE         PRECISION RHO
17
18           INTEGER        GIVCOL( 2, * ), INDX( * ), INDXP( * ), INDXQ(  *  ),
19                          PERM( * )
20
21           DOUBLE         PRECISION  D( * ), DLAMDA( * ), GIVNUM( 2, * ), W( *
22                          ), Z( * )
23
24           COMPLEX*16     Q( LDQ, * ), Q2( LDQ2, * )
25

PURPOSE

27       ZLAED8 merges the two sets of eigenvalues together into a single sorted
28       set.   Then it tries to deflate the size of the problem.  There are two
29       ways in which deflation can occur:  when two or  more  eigenvalues  are
30       close together or if there is a tiny element in the Z vector.  For each
31       such occurrence the order of the related secular  equation  problem  is
32       reduced by one.
33

ARGUMENTS

35       K      (output) INTEGER
36              Contains  the  number  of non-deflated eigenvalues.  This is the
37              order of the related secular equation.
38
39       N      (input) INTEGER
40              The dimension of the symmetric tridiagonal matrix.  N >= 0.
41
42       QSIZ   (input) INTEGER
43              The dimension of the unitary matrix used to reduce the dense  or
44              band matrix to tridiagonal form.  QSIZ >= N if ICOMPQ = 1.
45
46       Q      (input/output) COMPLEX*16 array, dimension (LDQ,N)
47              On  entry,  Q  contains the eigenvectors of the partially solved
48              system which has been previously updated  in  matrix  multiplies
49              with  other  partially solved eigensystems.  On exit, Q contains
50              the  trailing  (N-K)  updated  eigenvectors  (those  which  were
51              deflated) in its last N-K columns.
52
53       LDQ    (input) INTEGER
54              The leading dimension of the array Q.  LDQ >= max( 1, N ).
55
56       D      (input/output) DOUBLE PRECISION array, dimension (N)
57              On  entry,  D contains the eigenvalues of the two submatrices to
58              be combined.  On exit, D contains the trailing (N-K) updated ei‐
59              genvalues  (those  which  were  deflated) sorted into increasing
60              order.
61
62       RHO    (input/output) DOUBLE PRECISION
63              Contains the off diagonal element associated with the rank-1 cut
64              which  originally  split the two submatrices which are now being
65              recombined. RHO is modified during the computation to the  value
66              required  by  DLAED3.  CUTPNT (input) INTEGER Contains the loca‐
67              tion of the last eigenvalue in the leading sub-matrix.  MIN(1,N)
68              <= CUTPNT <= N.
69
70       Z      (input) DOUBLE PRECISION array, dimension (N)
71              On  input this vector contains the updating vector (the last row
72              of the first sub-eigenvector matrix and the  first  row  of  the
73              second sub-eigenvector matrix).  The contents of Z are destroyed
74              during the updating process.  DLAMDA (output)  DOUBLE  PRECISION
75              array,  dimension (N) Contains a copy of the first K eigenvalues
76              which will be used by DLAED3 to form the secular equation.
77
78       Q2     (output) COMPLEX*16 array, dimension (LDQ2,N)
79              If ICOMPQ = 0, Q2 is not referenced.  Otherwise, Contains a copy
80              of  the  first  K eigenvectors which will be used by DLAED7 in a
81              matrix multiply (DGEMM) to update the new eigenvectors.
82
83       LDQ2   (input) INTEGER
84              The leading dimension of the array Q2.  LDQ2 >= max( 1, N ).
85
86       W      (output) DOUBLE PRECISION array, dimension (N)
87              This will hold the first k values of the final deflation-altered
88              z-vector and will be passed to DLAED3.
89
90       INDXP  (workspace) INTEGER array, dimension (N)
91              This  will contain the permutation used to place deflated values
92              of D at the end of the array. On output INDXP(1:K)
93              points to the nondeflated D-values and  INDXP(K+1:N)  points  to
94              the deflated eigenvalues.
95
96       INDX   (workspace) INTEGER array, dimension (N)
97              This will contain the permutation used to sort the contents of D
98              into ascending order.
99
100       INDXQ  (input) INTEGER array, dimension (N)
101              This contains the permutation which  separately  sorts  the  two
102              sub-problems  in  D into ascending order.  Note that elements in
103              the second half of this permutation must first have CUTPNT added
104              to their values in order to be accurate.
105
106       PERM   (output) INTEGER array, dimension (N)
107              Contains  the  permutations  (from  deflation and sorting) to be
108              applied to each eigenblock.  GIVPTR  (output)  INTEGER  Contains
109              the number of Givens rotations which took place in this subprob‐
110              lem.  GIVCOL (output) INTEGER array, dimension (2, N) Each  pair
111              of numbers indicates a pair of columns to take place in a Givens
112              rotation.  GIVNUM (output) DOUBLE PRECISION array, dimension (2,
113              N)  Each  number  indicates the S value to be used in the corre‐
114              sponding Givens rotation.
115
116       INFO   (output) INTEGER
117              = 0:  successful exit.
118              < 0:  if INFO = -i, the i-th argument had an illegal value.
119
120
121
122 LAPACK routine (version 3.2)    November 2008                       ZLAED8(1)
Impressum