Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

?laed2

Used by
sstedc
/
dstedc
. Merges eigenvalues and deflates secular equation. Used when the original matrix is tridiagonal.

Syntax

call slaed2
(
k
,
n
,
n1
,
d
,
q
,
ldq
,
indxq
,
rho
,
z
,
dlamda
,
w
,
q2
,
indx
,
indxc
,
indxp
,
coltyp
,
info
)
call dlaed2
(
k
,
n
,
n1
,
d
,
q
,
ldq
,
indxq
,
rho
,
z
,
dlamda
,
w
,
q2
,
indx
,
indxc
,
indxp
,
coltyp
,
info
)
Include Files
  • mkl.fi
Description
The routine
?laed2
merges the two sets of eigenvalues together into a single sorted set. Then it tries to deflate the size of the problem. There are two ways in which deflation can occur: when two or more eigenvalues are close together or if there is a tiny entry in the
z
vector. For each such occurrence the order of the related secular equation problem is reduced by one.
Input Parameters
k
INTEGER
. The number of non-deflated eigenvalues, and the order of the related secular equation (
0 ≤
k
n
)
.
n
INTEGER
. The dimension of the symmetric tridiagonal matrix (
n
0
).
n1
INTEGER
. The location of the last eigenvalue in the leading sub-matrix;
min(1,
n
) ≤
n1
n
/2
.
d
,
q
,
z
REAL
for
slaed2
DOUBLE PRECISION
for
dlaed2
.
Arrays:
d
(*)
contains the eigenvalues of the two submatrices to be combined. The dimension of
d
must be at least
max(1,
n
)
.
q
(
ldq
, *)
contains the eigenvectors of the two submatrices in the two square blocks with corners at (1,1), (
n1
,
n1
) and (
n1
+1,
n1
+1), (
n
,
n
). The second dimension of
q
must be at least
max(1,
n
)
.
z
(*)
contains the updating vector (the last row of the first sub-eigenvector matrix and the first row of the second sub-eigenvector matrix).
ldq
INTEGER
. The leading dimension of the array
q
;
ldq
max(1,
n
)
.
indxq
INTEGER
. Array, dimension (
n
).
On entry, the permutation which separately sorts the two subproblems in
d
into ascending order. Note that elements in the second half of this permutation must first have
n1
added to their values.
rho
REAL
for
slaed2
DOUBLE PRECISION
for
dlaed2
.
On entry, the off-diagonal element associated with the rank-1 cut which originally split the two submatrices which are now being recombined.
indx
,
indxp
INTEGER
.
Workspace arrays, dimension (
n
) each. Array
indx
contains the permutation used to sort the contents of
dlamda
into ascending order.
Array
indxp
contains the permutation used to place deflated values of
d
at the end of the array.
indxp
(1:
k
) points to the nondeflated
d
-values and
indxp
(
k
+1:
n
) points to the deflated eigenvalues.
coltyp
INTEGER
.
Workspace array, dimension (
n
).
During execution, a label which will indicate which of the following types a column in the
q2
matrix is:
1 : non-zero in the upper half only;
2 : dense;
3 : non-zero in the lower half only;
4 : deflated.
Output Parameters
d
On exit,
d
contains the trailing (
n
-
k
) updated eigenvalues (those which were deflated) sorted into increasing order.
q
On exit,
q
contains the trailing (
n
-
k
) updated eigenvectors (those which were deflated) in its last
n
-
k
columns.
z
On exit,
z
content is destroyed by the updating process.