PLASMA 2.8.0 PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures

- Main Page
- Modules
- Data Types List

void CORE_dlaed2_compressq | ( | int | n,
|  | int | n1,
|  | const int * | INDX,
|  | const int * | ctot,
|  | const double * | Q,
|  | int | LDQ,
|  | double * | Q2,
|  | int | start,
|  | int | end
| ) |  |

CORE_dlaed2_compressq - Copy a set of vectors from the Q matrix into the compressed Q2 matrix. Q2 matrix is oragnized as follow:

Q2 = ( q1_1 mix1 0 def1 ) ( 0 mix2 q2 def2 ) and stored in memory by columns in the order (q1_1, mix1, mix2, q2, def), with q1 and q2 the non deflated values, of the two subproblems, (mix1, mix2) the mixed eigenvalues and def the deflated eiegnvalues.

Rk: Note that here we follow the same order that LAPACK dlaed2 routine, so the copy from Q to Q2 is done such that Q2 is filled in a continuous manner.

Parameters

  [in] | n | n specifies the dimension of the symmetric tridiagonal matrix
  [in] | n1 | n1 specifies the location of the last eigenvalue of the first subproblem min(1, n) <= n1 <= n/2
  [in] | start | start specifies the first sorted column index to be considered by this kernel.
  [in] | end | end specifies the last column index to be considered by this kernel. start <= end <= n.
  [in] | INDX | The permutation array used to sort Q into Q2. Array of dimension n, but only INDX[i] for start <= i < end are referenced.
  [in] | ctot | ctot[i] is the number of columns of type i, as defined with INDX. 0- number of colums with non-zero in the upper half only 1- number of dense colums 2- number of colums with non-zero in the lower half only 3- number of deflated columns
  [in] | Q | On entry, Q contains the eigenvectors in the uncompressed form. WARNING: Q is the pointer to the full matrix even if only a subset of vectors will be extract.
  [in] | LDQ | LDQ specifies the leading dimension of Q
  [out] | Q2 | On exit, columns start to end from Q2 stores the eigenvectors in the compressed form and sorted by type. WARNING: Q2 is the pointer to the full matrix even if only columns start to end are touched.