28 #ifndef SPARSELU_HEAP_RELAX_SNODE_H
29 #define SPARSELU_HEAP_RELAX_SNODE_H
48 template <
typename Scalar,
typename StorageIndex>
55 for (StorageIndex
i = 0;
i <
n + 1; ++
i) inv_post(post(
i)) =
i;
61 iwork(post(
i)) = post(et(
i));
70 for (
j = 0;
j <
n;
j++) {
73 descendants(parent) += descendants(
j) + 1;
82 while (parent !=
n && descendants(parent) < relax_columns) {
90 if ((l -
k) == (
j - snode_start))
95 for (
Index i = snode_start;
i <=
j; ++
i) {
97 if (descendants(
i) == 0) {
104 while (descendants(
j) != 0 &&
j <
n)
j++;
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
EIGEN_DEVICE_FUNC Derived & setZero(Index size)
Definition: CwiseNullaryOp.h:569
EIGEN_DEVICE_FUNC Derived & setConstant(Index size, const Scalar &val)
Definition: CwiseNullaryOp.h:365
void heap_relax_snode(const Index n, IndexVector &et, const Index relax_columns, IndexVector &descendants, IndexVector &relax_end)
Identify the initial relaxed supernodes.
Definition: SparseLU_heap_relax_snode.h:49
#define min(a, b)
Definition: datatypes.h:22
char char char int int * k
Definition: level2_impl.h:374
@ emptyIdxLU
Definition: SparseLU_Memory.h:41
void treePostorder(typename IndexVector::Scalar n, IndexVector &parent, IndexVector &post)
Post order a tree.
Definition: SparseColEtree.h:168
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
Definition: Eigen_Colamd.h:49
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2