slaed3(3)
NAME
- SLAED3 - find the roots of the secular equation, as de
- fined by the values in D, W, and RHO, between 1 and K
SYNOPSIS
SUBROUTINE SLAED3( K, N, N1, D, Q, LDQ, RHO, DLAMDA, Q2,
INDX, CTOT, W, S, INFO )
INTEGER INFO, K, LDQ, N, N1
REAL RHO
INTEGER CTOT( * ), INDX( * )
REAL D( * ), DLAMDA( * ), Q( LDQ, * ), Q2( *
), S( * ), W( * )
PURPOSE
- 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 ap
- propriate calls to SLAED4 and then updates the eigenvectors by
- multiplying the matrix of eigenvectors of the pair of eigensys
- tems being combined by the matrix of eigenvectors of the K-by-K
- system which is solved here.
- This code makes very mild assumptions about floating point
- arithmetic. It will work on machines with a guard digit in
- add/subtract, or on those binary machines without guard digits
- which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or
- Cray-2. It could conceivably fail on hexadecimal or decimal ma
- chines without guard digits, but we know of none.
ARGUMENTS
- K (input) INTEGER
- The number of terms in the rational function to be
- solved by SLAED4. K >= 0.
- N (input) INTEGER
- The number of rows and columns in the Q matrix. N
- >= K (deflation may result in N>K).
- N1 (input) INTEGER
- The location of the last eigenvalue in the leading
- submatrix. min(1,N) <= N1 <= N/2.
- D (output) REAL array, dimension (N)
- D(I) contains the updated eigenvalues for 1 <= I
- <= K.
- Q (output) 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.
- LDQ (input) INTEGER
- The leading dimension of the array Q. LDQ >=
- max(1,N).
- RHO (input) REAL
- The value of the parameter in the rank one update
- equation. RHO >= 0 required.
- DLAMDA (input/output) 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. May be changed on output by having lowest
- order bit set to zero on Cray X-MP, Cray Y-MP, Cray-2, or Cray
- C-90, as described above.
- Q2 (input) REAL array, dimension (LDQ2, N)
- The first K columns of this matrix contain the
- non-deflated eigenvectors for the split problem.
- INDX (input) 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.
- CTOT (input) 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.
- W (input/output) REAL array, dimension (K)
- The first K elements of this array contain the
- components of the deflation-adjusted updating vector. Destroyed
- on output.
- S (workspace) REAL array, dimension (N1 + 1)*K
- Will contain the eigenvectors of the repaired ma
- trix which will be multiplied by the previously accumulated
- eigenvectors to update the system.
- LDS (input) INTEGER
- The leading dimension of S. LDS >= max(1,K).
- INFO (output) INTEGER
- = 0: successful exit.
< 0: if INFO = -i, the i-th argument had an ille
- gal value.
> 0: if INFO = 1, an eigenvalue did not converge
FURTHER DETAILS
- Based on contributions by
- Jeff Rutter, Computer Science Division, University of
- California
at Berkeley, USA
- Modified by Francoise Tisseur, University of Tennessee.
- LAPACK version 3.0 15 June 2000