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

NAME

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

SYNOPSIS

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

PURPOSE

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

ARGUMENTS

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

FURTHER DETAILS

132       Based on contributions by
133          Jeff Rutter, Computer Science Division, University of California
134          at Berkeley, USA
135
136
137
138
139 LAPACK routine (version 3.1)    November 2006                       DLAED8(1)
Impressum