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

NAME

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

SYNOPSIS

10       SUBROUTINE CLAED8( 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           REAL           RHO
17
18           INTEGER        GIVCOL( 2, * ), INDX( * ), INDXP( * ), INDXQ(  *  ),
19                          PERM( * )
20
21           REAL           D( * ), DLAMDA( * ), GIVNUM( 2, * ), W( * ), Z( * )
22
23           COMPLEX        Q( LDQ, * ), Q2( LDQ2, * )
24

PURPOSE

26       CLAED8 merges the two sets of eigenvalues together into a single sorted
27       set.  Then it tries to deflate the size of the problem.  There are  two
28       ways  in  which  deflation can occur:  when two or more eigenvalues are
29       close together or if there is a tiny element in the Z vector.  For each
30       such  occurrence  the  order of the related secular equation problem is
31       reduced by one.
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.  CUTPNT (input) INTEGER Contains  the  loca‐
66              tion of the last eigenvalue in the leading sub-matrix.  MIN(1,N)
67              <= CUTPNT <= N.
68
69       Z      (input) REAL array, dimension (N)
70              On input this vector contains the updating vector (the last  row
71              of  the  first  sub-eigenvector  matrix and the first row of the
72              second sub-eigenvector matrix).  The contents of Z are destroyed
73              during the updating process.  DLAMDA (output) REAL array, dimen‐
74              sion (N) Contains a copy of the first K eigenvalues  which  will
75              be used by SLAED3 to form the secular equation.
76
77       Q2     (output) COMPLEX array, dimension (LDQ2,N)
78              If ICOMPQ = 0, Q2 is not referenced.  Otherwise, Contains a copy
79              of the first K eigenvectors which will be used by  SLAED7  in  a
80              matrix multiply (SGEMM) to update the new eigenvectors.
81
82       LDQ2   (input) INTEGER
83              The leading dimension of the array Q2.  LDQ2 >= max( 1, N ).
84
85       W      (output) REAL array, dimension (N)
86              This will hold the first k values of the final deflation-altered
87              z-vector and will be passed to SLAED3.
88
89       INDXP  (workspace) INTEGER array, dimension (N)
90              This will contain the permutation used to place deflated  values
91              of D at the end of the array. On output INDXP(1:K)
92              points  to  the  nondeflated D-values and INDXP(K+1:N) points to
93              the deflated eigenvalues.
94
95       INDX   (workspace) INTEGER array, dimension (N)
96              This will contain the permutation used to sort the contents of D
97              into ascending order.
98
99       INDXQ  (input) INTEGER array, dimension (N)
100              This  contains  the  permutation  which separately sorts the two
101              sub-problems in D into ascending order.  Note that  elements  in
102              the second half of this permutation must first have CUTPNT added
103              to their values in order to be accurate.
104
105       PERM   (output) INTEGER array, dimension (N)
106              Contains the permutations (from deflation  and  sorting)  to  be
107              applied  to  each  eigenblock.  GIVPTR (output) INTEGER Contains
108              the number of Givens rotations which took place in this subprob‐
109              lem.   GIVCOL (output) INTEGER array, dimension (2, N) Each pair
110              of numbers indicates a pair of columns to take place in a Givens
111              rotation.   GIVNUM  (output)  REAL  array, dimension (2, N) Each
112              number indicates the S value to be  used  in  the  corresponding
113              Givens rotation.
114
115       INFO   (output) INTEGER
116              = 0:  successful exit.
117              < 0:  if INFO = -i, the i-th argument had an illegal value.
118
119
120
121 LAPACK routine (version 3.2)    November 2008                       CLAED8(1)
Impressum