47 const std::string& droppingMethod,
49 const bool aggregationMayCreateDirichlet,
50 const bool symmetrizeDroppedGraph,
51 const bool useBlocking,
52 DistanceFunctorType& dist2,
55 auto lclA = A.getLocalMatrixDevice();
58 if (droppingMethod ==
"point-wise") {
59 auto dist_laplacian_dropping = DistanceLaplacian::make_drop_functor<SoC>(A, threshold, dist2, results);
61 if (aggregationMayCreateDirichlet) {
64 if (symmetrizeDroppedGraph) {
67 dist_laplacian_dropping,
70 mark_singletons_as_boundary);
74 dist_laplacian_dropping,
77 mark_singletons_as_boundary);
80 if (symmetrizeDroppedGraph) {
83 dist_laplacian_dropping,
89 dist_laplacian_dropping,
94 }
else if (droppingMethod ==
"cut-drop") {
95 auto comparison = CutDrop::make_dlap_comparison_functor<SoC>(A, dist2, results);
98 if (symmetrizeDroppedGraph) {