PLASMA  2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
void CORE_slaed2_computeK ( int *  Kptr,
int  n,
int  n1,
float *  betaptr,
float *  D,
float *  Q,
int  LDQ,
float *  Z,
float *  DLAMBDA,
float *  W,
int *  INDX,
int *  INDXC,
int *  INDXP,
int *  INDXQ,
int *  COLTYP 
)

CORE_slaed2_computeK - Computes the number of deflated eigenvalues of a symmetric tridiagonal matrix. A eigenvalue is deflated if it's close enough to another eigenvalue or if the vector Z contains a tiny entry. This operation is useful when two subproblems, which were previously solved, are merge into a larger problem.

Parameters
[out]KptrOn exit, Kptr stores the number of non-deflated eigenvalues
[in]nn specifies the dimension of the symmetric tridiagonal matrix
[in]n1n1 specifies the location of the last eigenvalue of the first subproblem min(1, n) <= n1 <= n/2
[in,out]betaptrbetaptr[0] specifies the rank-1 approximation that was used for splitting the problem into two subproblems. On exit, it contains the updated beta for LAED3.
[in,out]DOn entry, D contains the eigenvalues of the two submatrices to be merged. On exit, D contains the updated eigenvalues sorted into increasing order.
[in,out]QOn entry, Q contains the eigenvectors of each subproblem. On exit, Q contains the updated eigenvectors, which can be modified through givens rotation (with close eigenvalues).
[in]LDQLDQ specifies the leading direction of Q
[out]ZZ will contain the updating vectors, composed of the last row of the first subproblem and the first row of the second subproblem.
[out]DLAMBDADLAMBDA will contain a copy of the first K eigenvalues and then an update of those eigenvalues for usage in LAED3. In LAPACK, the call of slamc3 is done at the beginning of LAED3.
[out]WW will contain the fisrt K values of the final Z vector, for future use in LAED3.
[out]INDXThe permutation used to sort the contents of DLAMBDA into ascending order
[out]INDXCThe permutation used to arrange the columns of the deflated Q matrix 1- non-zero elements only at and above n1 2- non-zero elements only below n1 3- dense
[out]INDXPINDXP is the permutation used to place deflated eigenvalues at the end of the array INDXP(0:K-1) points to the non-deflated D values INDXP(K-1:N-1) points to the deflated D values
[in,out]INDXQThe permutation which separetely sorts each subprobem in D into ascending order. In the second half of the permutation, elements will have n1 added to their value.
[out]COLTYPCOLTYP indicate the type of the Q matrix columns during the process. 1- non-zero in the upper half only 2- dense 3- non-zero in the lower half only 4- deflated