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

NAME

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

SYNOPSIS

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

PURPOSE

24       SLAED8 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) REAL 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) REAL 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) REAL
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 SLAED3.
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) REAL 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) REAL array, dimension (N) A copy of the first K
88              eigenvalues which will be used by SLAED3  to  form  the  secular
89              equation.
90
91       Q2     (output) REAL 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 SLAED7  in  a  matrix
94              multiply (SGEMM) 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) REAL array, dimension (N)
100              The  first  k values of the final deflation-altered z-vector and
101              will be passed to SLAED3.
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) REAL array, dimension (2, N) Each  number  indi‐
115              cates  the  S value to be used in the corresponding Givens rota‐
116              tion.
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                       SLAED8(1)
Impressum