46 const Eigen::MatrixXd
W;
68 const Eigen::VectorXi *old_alloc_provider =
nullptr,
69 const std::unordered_map<
int, std::vector<int>>
70 *old_cluster_members_provider_ =
nullptr)
72 Module(old_alloc_provider, old_cluster_members_provider_) {
107 bool old_allo =
false)
const override;
Data structure for managing point distances and cluster allocations.
Base class for modules used in processes.
Manages distance matrices and cluster allocations for points.
Definition Data.hpp:26
Module(const Eigen::VectorXi *old_allocations_provider_=nullptr, const std::unordered_map< int, std::vector< int > > *old_cluster_members_provider_=nullptr)
Definition Module.hpp:33
Eigen::VectorXd compute_similarity_obs(int obs_idx) const override
Counts neighbors of an observation grouped by cluster membership.
Definition spatial_module_continuous.cpp:92
const Data & data_module
Reference to data object with cluster assignments.
Definition spatial_module_continuous.hpp:45
void neighbor_cache_compute()
Precomputes and stores neighbor indices for all observations.
Definition spatial_module_continuous.cpp:8
std::vector< std::vector< int > > neighbor_cache
Cache storing neighbor indices for each observation.
Definition spatial_module_continuous.hpp:33
SpatialModuleContinuous(const Data &data_, const Eigen::MatrixXd W_, double spatial_coeff, const Eigen::VectorXi *old_alloc_provider=nullptr, const std::unordered_map< int, std::vector< int > > *old_cluster_members_provider_=nullptr)
Constructs a SpatialModuleContinuous with parameter and data references.
Definition spatial_module_continuous.hpp:66
const double spatial_weight
Weighting factor for spatial similarity.
Definition spatial_module_continuous.hpp:47
const Eigen::MatrixXd W
Reference to adjacency matrix W from covariates.
Definition spatial_module_continuous.hpp:46
double compute_similarity_cls(int cls_idx, bool old_allo=false) const override
Counts internal edges within a cluster.
Definition spatial_module_continuous.cpp:43