1#ifndef included_AMP_AMG_Aggregation
2#define included_AMP_AMG_Aggregation
4#include "AMP/matrices/CSRMatrix.h"
5#include "AMP/operators/LinearOperator.h"
6#include "AMP/operators/Operator.h"
7#include "AMP/solvers/amg/AggregationSettings.h"
8#include "AMP/solvers/amg/Aggregator.h"
13 std::shared_ptr<AMP::Operator::LinearOperator>,
14 std::shared_ptr<AMP::Operator::Operator>>;
29 template<
class Config>
An concrete class for dealing with dense serial matrices.
coarse_ops_type pairwise_coarsen(std::shared_ptr< AMP::Operator::Operator > fine, const PairwiseCoarsenSettings &settings)
coarse_ops_type aggregator_coarsen(std::shared_ptr< AMP::Operator::Operator > fine, Aggregator &aggregator)
std::tuple< std::shared_ptr< AMP::Operator::Operator >, std::shared_ptr< AMP::Operator::LinearOperator >, std::shared_ptr< AMP::Operator::Operator > > coarse_ops_type
PairwiseAggregator(const PairwiseCoarsenSettings &settings)
int assignLocalAggregates(std::shared_ptr< LinearAlgebra::Matrix > A, int *agg_ids) override
int assignLocalAggregates(std::shared_ptr< LinearAlgebra::CSRMatrix< Config > > A, int *agg_ids)
PairwiseCoarsenSettings d_settings