Go to the documentation of this file.
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;
60 iwork(post(
i)) = post(et(
i));
69 for (
j = 0;
j <
n;
j++)
73 descendants(parent) += descendants(
j) + 1;
83 while ( parent !=
n && descendants(parent) < relax_columns )
93 if ( (
l - k) == (
j - snode_start) )
103 if (descendants(
i) == 0)
111 while (descendants(
j) != 0 &&
j <
n)
j++;
121 #endif // SPARSELU_HEAP_RELAX_SNODE_H
void treePostorder(typename IndexVector::Scalar n, IndexVector &parent, IndexVector &post)
Post order a tree.
Namespace containing all symbols from the Eigen library.
void heap_relax_snode(const Index n, IndexVector &et, const Index relax_columns, IndexVector &descendants, IndexVector &relax_end)
Identify the initial relaxed supernodes.
EIGEN_DEVICE_FUNC Derived & setConstant(Index size, const Scalar &val)
static const Line3 l(Rot3(), 1, 1)
EIGEN_DEVICE_FUNC Derived & setZero(Index size)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:13:37