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

NAME

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

SYNOPSIS

10       SUBROUTINE SLAED2( K, N, N1, D, Q, LDQ, INDXQ, RHO, Z, DLAMDA,  W,  Q2,
11                          INDX, INDXC, INDXP, COLTYP, INFO )
12
13           INTEGER        INFO, K, LDQ, N, N1
14
15           REAL           RHO
16
17           INTEGER        COLTYP(  *  ),  INDX(  *  ), INDXC( * ), INDXP( * ),
18                          INDXQ( * )
19
20           REAL           D( * ), DLAMDA( * ), Q( LDQ, * ), Q2( * ), W(  *  ),
21                          Z( * )
22

PURPOSE

24       SLAED2 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 entry in the Z vector.   For  each
28       such  occurrence  the  order of the related secular equation problem is
29       reduced by one.
30

ARGUMENTS

32       K      (output) INTEGER
33              The number of non-deflated eigenvalues, and  the  order  of  the
34              related secular equation. 0 <= K <=N.
35
36       N      (input) INTEGER
37              The dimension of the symmetric tridiagonal matrix.  N >= 0.
38
39       N1     (input) INTEGER
40              The  location  of the last eigenvalue in the leading sub-matrix.
41              min(1,N) <= N1 <= N/2.
42
43       D      (input/output) REAL array, dimension (N)
44              On entry, D contains the eigenvalues of the two  submatrices  to
45              be combined.  On exit, D contains the trailing (N-K) updated ei‐
46              genvalues (those which were  deflated)  sorted  into  increasing
47              order.
48
49       Q      (input/output) REAL array, dimension (LDQ, N)
50              On  entry, Q contains the eigenvectors of two submatrices in the
51              two square blocks with corners  at  (1,1),  (N1,N1)  and  (N1+1,
52              N1+1),  (N,N).   On  exit, Q contains the trailing (N-K) updated
53              eigenvectors (those which were deflated) in its  last  N-K  col‐
54              umns.
55
56       LDQ    (input) INTEGER
57              The leading dimension of the array Q.  LDQ >= max(1,N).
58
59       INDXQ  (input/output) INTEGER array, dimension (N)
60              The permutation which separately sorts the two sub-problems in D
61              into ascending order.  Note that elements in the second half  of
62              this  permutation  must  first  have  N1  added to their values.
63              Destroyed on exit.
64
65       RHO    (input/output) REAL
66              On entry, the off-diagonal element associated  with  the  rank-1
67              cut  which  originally  split  the two submatrices which are now
68              being recombined.  On exit, RHO has been modified to  the  value
69              required by SLAED3.
70
71       Z      (input) REAL array, dimension (N)
72              On  entry,  Z  contains the updating vector (the last row of the
73              first sub-eigenvector matrix and the first  row  of  the  second
74              sub-eigenvector  matrix).   On exit, the contents of Z have been
75              destroyed by the updating process.  DLAMDA (output) REAL  array,
76              dimension  (N)  A  copy of the first K eigenvalues which will be
77              used by SLAED3 to form the secular equation.
78
79       W      (output) REAL array, dimension (N)
80              The first k values of the final deflation-altered z-vector which
81              will be passed to SLAED3.
82
83       Q2     (output) REAL array, dimension (N1**2+(N-N1)**2)
84              A  copy of the first K eigenvectors which will be used by SLAED3
85              in a matrix multiply (SGEMM) to solve for the new eigenvectors.
86
87       INDX   (workspace) INTEGER array, dimension (N)
88              The permutation used to sort the contents of DLAMDA into ascend‐
89              ing order.
90
91       INDXC  (output) INTEGER array, dimension (N)
92              The  permutation  used  to arrange the columns of the deflated Q
93              matrix into three groups:  the  first  group  contains  non-zero
94              elements only at and above N1, the second contains non-zero ele‐
95              ments only below N1, and the third is dense.
96
97       INDXP  (workspace) INTEGER array, dimension (N)
98              The permutation used to place deflated values of D at the end of
99              the array.  INDXP(1:K) points to the nondeflated D-values
100              and  INDXP(K+1:N)  points  to  the deflated eigenvalues.  COLTYP
101              (workspace/output) INTEGER array, dimension  (N)  During  execu‐
102              tion, a label which will indicate which of the following types a
103              column in the Q2 matrix is:
104              1 : non-zero in the upper half only;
105              2 : dense;
106              3 : non-zero in the lower half only;
107              4 : deflated.  On exit, COLTYP(i) is the number  of  columns  of
108              type i, for i=1 to 4 only.
109
110       INFO   (output) INTEGER
111              = 0:  successful exit.
112              < 0:  if INFO = -i, the i-th argument had an illegal value.
113

FURTHER DETAILS

115       Based on contributions by
116          Jeff Rutter, Computer Science Division, University of California
117          at Berkeley, USA
118       Modified by Francoise Tisseur, University of Tennessee.
119
120
121
122 LAPACK routine (version 3.2)    November 2008                       SLAED2(1)
Impressum