28 #ifndef SPARSELU_HEAP_RELAX_SNODE_H    29 #define SPARSELU_HEAP_RELAX_SNODE_H    45 template <
typename Scalar, 
typename StorageIndex>
    53   for (StorageIndex i = 0; i < n+1; ++i) inv_post(post(i)) = i; 
    58   for (
Index i = 0; i < n; ++i)
    60     iwork(post(i)) = post(et(i));
    69   for (j = 0; j < n; j++) 
    73       descendants(parent) += descendants(j) + 1;
    78   Index nsuper_et_post = 0; 
    85     while ( parent != n && descendants(parent) < relax_columns ) 
    93     for (
Index i = snode_start; i <= j; ++i)
    96     if ( (l - k) == (j - snode_start) )  
   104       for (
Index i = snode_start; i <= j; ++i) 
   107         if (descendants(i) == 0) 
   116     while (descendants(j) != 0 && j < n) j++;
   126 #endif // SPARSELU_HEAP_RELAX_SNODE_H 
void heap_relax_snode(const Index n, IndexVector &et, const Index relax_columns, IndexVector &descendants, IndexVector &relax_end)
Identify the initial relaxed supernodes. 
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API. 
EIGEN_DEVICE_FUNC Derived & setZero(Index size)
EIGEN_DEVICE_FUNC Derived & setConstant(Index size, const Scalar &val)
void treePostorder(typename IndexVector::Scalar n, IndexVector &parent, IndexVector &post)
Post order a tree. 
The matrix class, also used for vectors and row-vectors.