![]() |
LAPACK
3.9.0
LAPACK: Linear Algebra PACKage
|
| subroutine slaed2 | ( | integer | K, |
| integer | N, | ||
| integer | N1, | ||
| real, dimension( * ) | D, | ||
| real, dimension( ldq, * ) | Q, | ||
| integer | LDQ, | ||
| integer, dimension( * ) | INDXQ, | ||
| real | RHO, | ||
| real, dimension( * ) | Z, | ||
| real, dimension( * ) | DLAMDA, | ||
| real, dimension( * ) | W, | ||
| real, dimension( * ) | Q2, | ||
| integer, dimension( * ) | INDX, | ||
| integer, dimension( * ) | INDXC, | ||
| integer, dimension( * ) | INDXP, | ||
| integer, dimension( * ) | COLTYP, | ||
| integer | INFO | ||
| ) |
SLAED2 used by sstedc. Merges eigenvalues and deflates secular equation. Used when the original matrix is tridiagonal.
Download SLAED2 + dependencies [TGZ] [ZIP] [TXT]
SLAED2 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.
| [out] | K | K is INTEGER
The number of non-deflated eigenvalues, and the order of the
related secular equation. 0 <= K <=N. |
| [in] | N | N is INTEGER
The dimension of the symmetric tridiagonal matrix. N >= 0. |
| [in] | N1 | N1 is INTEGER
The location of the last eigenvalue in the leading sub-matrix.
min(1,N) <= N1 <= N/2. |
| [in,out] | D | D is REAL array, dimension (N)
On entry, D contains the eigenvalues of the two submatrices to
be combined.
On exit, D contains the trailing (N-K) updated eigenvalues
(those which were deflated) sorted into increasing order. |
| [in,out] | Q | Q is REAL array, dimension (LDQ, N)
On entry, Q contains the eigenvectors of two submatrices in
the two square blocks with corners at (1,1), (N1,N1)
and (N1+1, N1+1), (N,N).
On exit, Q contains the trailing (N-K) updated eigenvectors
(those which were deflated) in its last N-K columns. |
| [in] | LDQ | LDQ is INTEGER
The leading dimension of the array Q. LDQ >= max(1,N). |
| [in,out] | INDXQ | INDXQ is INTEGER array, dimension (N)
The permutation which separately sorts the two sub-problems
in D into ascending order. Note that elements in the second
half of this permutation must first have N1 added to their
values. Destroyed on exit. |
| [in,out] | RHO | RHO is REAL
On entry, the off-diagonal element associated with the rank-1
cut which originally split the two submatrices which are now
being recombined.
On exit, RHO has been modified to the value required by
SLAED3. |
| [in] | Z | Z is REAL array, dimension (N)
On entry, Z contains the updating vector (the last
row of the first sub-eigenvector matrix and the first row of
the second sub-eigenvector matrix).
On exit, the contents of Z have been destroyed by the updating
process. |
| [out] | DLAMDA | DLAMDA is REAL array, dimension (N)
A copy of the first K eigenvalues which will be used by
SLAED3 to form the secular equation. |
| [out] | W | W is REAL array, dimension (N)
The first k values of the final deflation-altered z-vector
which will be passed to SLAED3. |
| [out] | Q2 | Q2 is REAL array, dimension (N1**2+(N-N1)**2)
A copy of the first K eigenvectors which will be used by
SLAED3 in a matrix multiply (SGEMM) to solve for the new
eigenvectors. |
| [out] | INDX | INDX is INTEGER array, dimension (N)
The permutation used to sort the contents of DLAMDA into
ascending order. |
| [out] | INDXC | INDXC is INTEGER array, dimension (N)
The permutation used to arrange the columns of the deflated
Q matrix into three groups: the first group contains non-zero
elements only at and above N1, the second contains
non-zero elements only below N1, and the third is dense. |
| [out] | INDXP | INDXP is INTEGER array, dimension (N)
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. |
| [out] | COLTYP | COLTYP is INTEGER 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.
On exit, COLTYP(i) is the number of columns of type i,
for i=1 to 4 only. |
| [out] | INFO | INFO is INTEGER
= 0: successful exit.
< 0: if INFO = -i, the i-th argument had an illegal value. |
Definition at line 214 of file slaed2.f.