LAPACK
3.4.2
LAPACK: Linear Algebra PACKage

Go to the source code of this file.
Functions/Subroutines  
subroutine  slaeda (N, TLVLS, CURLVL, CURPBM, PRMPTR, PERM, GIVPTR, GIVCOL, GIVNUM, Q, QPTR, Z, ZTEMP, INFO) 
SLAEDA used by sstedc. Computes the Z vector determining the rankone modification of the diagonal matrix. Used when the original matrix is dense. 
subroutine slaeda  (  integer  N, 
integer  TLVLS,  
integer  CURLVL,  
integer  CURPBM,  
integer, dimension( * )  PRMPTR,  
integer, dimension( * )  PERM,  
integer, dimension( * )  GIVPTR,  
integer, dimension( 2, * )  GIVCOL,  
real, dimension( 2, * )  GIVNUM,  
real, dimension( * )  Q,  
integer, dimension( * )  QPTR,  
real, dimension( * )  Z,  
real, dimension( * )  ZTEMP,  
integer  INFO  
) 
SLAEDA used by sstedc. Computes the Z vector determining the rankone modification of the diagonal matrix. Used when the original matrix is dense.
Download SLAEDA + dependencies [TGZ] [ZIP] [TXT]SLAEDA computes the Z vector corresponding to the merge step in the CURLVLth step of the merge process with TLVLS steps for the CURPBMth problem.
[in]  N  N is INTEGER The dimension of the symmetric tridiagonal matrix. N >= 0. 
[in]  TLVLS  TLVLS is INTEGER The total number of merging levels in the overall divide and conquer tree. 
[in]  CURLVL  CURLVL is INTEGER The current level in the overall merge routine, 0 <= curlvl <= tlvls. 
[in]  CURPBM  CURPBM is INTEGER The current problem in the current level in the overall merge routine (counting from upper left to lower right). 
[in]  PRMPTR  PRMPTR is INTEGER array, dimension (N lg N) Contains a list of pointers which indicate where in PERM a level's permutation is stored. PRMPTR(i+1)  PRMPTR(i) indicates the size of the permutation and incidentally the size of the full, nondeflated problem. 
[in]  PERM  PERM is INTEGER array, dimension (N lg N) Contains the permutations (from deflation and sorting) to be applied to each eigenblock. 
[in]  GIVPTR  GIVPTR is INTEGER array, dimension (N lg N) Contains a list of pointers which indicate where in GIVCOL a level's Givens rotations are stored. GIVPTR(i+1)  GIVPTR(i) indicates the number of Givens rotations. 
[in]  GIVCOL  GIVCOL is INTEGER array, dimension (2, N lg N) Each pair of numbers indicates a pair of columns to take place in a Givens rotation. 
[in]  GIVNUM  GIVNUM is REAL array, dimension (2, N lg N) Each number indicates the S value to be used in the corresponding Givens rotation. 
[in]  Q  Q is REAL array, dimension (N**2) Contains the square eigenblocks from previous levels, the starting positions for blocks are given by QPTR. 
[in]  QPTR  QPTR is INTEGER array, dimension (N+2) Contains a list of pointers which indicate where in Q an eigenblock is stored. SQRT( QPTR(i+1)  QPTR(i) ) indicates the size of the block. 
[out]  Z  Z is REAL array, dimension (N) On output this vector contains the updating vector (the last row of the first subeigenvector matrix and the first row of the second subeigenvector matrix). 
[out]  ZTEMP  ZTEMP is REAL array, dimension (N) 
[out]  INFO  INFO is INTEGER = 0: successful exit. < 0: if INFO = i, the ith argument had an illegal value. 
Definition at line 166 of file slaeda.f.