![]() |
LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine slaed3 | ( | integer | k, |
integer | n, | ||
integer | n1, | ||
real, dimension( * ) | d, | ||
real, dimension( ldq, * ) | q, | ||
integer | ldq, | ||
real | rho, | ||
real, dimension( * ) | dlambda, | ||
real, dimension( * ) | q2, | ||
integer, dimension( * ) | indx, | ||
integer, dimension( * ) | ctot, | ||
real, dimension( * ) | w, | ||
real, dimension( * ) | s, | ||
integer | info ) |
SLAED3 used by SSTEDC. Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is tridiagonal.
Download SLAED3 + dependencies [TGZ] [ZIP] [TXT]
!> !> SLAED3 finds the roots of the secular equation, as defined by the !> values in D, W, and RHO, between 1 and K. It makes the !> appropriate calls to SLAED4 and then updates the eigenvectors by !> multiplying the matrix of eigenvectors of the pair of eigensystems !> being combined by the matrix of eigenvectors of the K-by-K system !> which is solved here. !> !>
[in] | K | !> K is INTEGER !> The number of terms in the rational function to be solved by !> SLAED4. K >= 0. !> |
[in] | N | !> N is INTEGER !> The number of rows and columns in the Q matrix. !> N >= K (deflation may result in N>K). !> |
[in] | N1 | !> N1 is INTEGER !> The location of the last eigenvalue in the leading submatrix. !> min(1,N) <= N1 <= N/2. !> |
[out] | D | !> D is REAL array, dimension (N) !> D(I) contains the updated eigenvalues for !> 1 <= I <= K. !> |
[out] | Q | !> Q is REAL array, dimension (LDQ,N) !> Initially the first K columns are used as workspace. !> On output the columns 1 to K contain !> the updated eigenvectors. !> |
[in] | LDQ | !> LDQ is INTEGER !> The leading dimension of the array Q. LDQ >= max(1,N). !> |
[in] | RHO | !> RHO is REAL !> The value of the parameter in the rank one update equation. !> RHO >= 0 required. !> |
[in] | DLAMBDA | !> DLAMBDA is REAL array, dimension (K) !> The first K elements of this array contain the old roots !> of the deflated updating problem. These are the poles !> of the secular equation. !> |
[in] | Q2 | !> Q2 is REAL array, dimension (LDQ2*N) !> The first K columns of this matrix contain the non-deflated !> eigenvectors for the split problem. !> |
[in] | INDX | !> INDX is INTEGER array, dimension (N) !> The permutation used to arrange the columns of the deflated !> Q matrix into three groups (see SLAED2). !> The rows of the eigenvectors found by SLAED4 must be likewise !> permuted before the matrix multiply can take place. !> |
[in] | CTOT | !> CTOT is INTEGER array, dimension (4) !> A count of the total number of the various types of columns !> in Q, as described in INDX. The fourth column type is any !> column which has been deflated. !> |
[in,out] | W | !> W is REAL array, dimension (K) !> The first K elements of this array contain the components !> of the deflation-adjusted updating vector. Destroyed on !> output. !> |
[out] | S | !> S is REAL array, dimension (N1 + 1)*K !> Will contain the eigenvectors of the repaired matrix which !> will be multiplied by the previously accumulated eigenvectors !> to update the system. !> |
[out] | INFO | !> INFO is INTEGER !> = 0: successful exit. !> < 0: if INFO = -i, the i-th argument had an illegal value. !> > 0: if INFO = 1, an eigenvalue did not converge !> |
Definition at line 173 of file slaed3.f.