1CLAED8(1)                LAPACK routine (version 3.1)                CLAED8(1)
2
3
4

NAME

6       CLAED8 - the two sets of eigenvalues together into a single sorted set
7

SYNOPSIS

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

PURPOSE

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

ARGUMENTS

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