Docs
Loading...
Searching...
No Matches
bindings.cpp File Reference

R language bindings for Bayesian nonparametric clustering models. More...

Functions

Dataget_data_ptr (SEXP sexp)
ClusterInfoget_cluster_info_ptr (SEXP sexp)
Rcpp::XPtr< Paramscreate_Params (double delta1, double alpha, double beta, double delta2, double gamma, double zeta, int BI, int NI, double a, double sigma, double tau, Eigen::MatrixXd D)
Rcpp::XPtr< Datacreate_Data (Rcpp::XPtr< Params > params, Eigen::VectorXi initial_allocations)
Rcpp::XPtr< ContinuosCachecreate_Continuos_cache (Eigen::VectorXi &initial_allocations, Eigen::VectorXd continuos_covariates)
Rcpp::XPtr< BinaryCachecreate_Binary_cache (Eigen::VectorXi &initial_allocations, Eigen::VectorXi binary_covariates)
Rcpp::XPtr< SpatialCachecreate_Spatial_cache (Eigen::VectorXi &initial_allocations, Eigen::MatrixXi W)
Rcpp::XPtr< Dataxcreate_Datax (Rcpp::XPtr< Params > params, Rcpp::List modules_list, Eigen::VectorXi initial_allocations)
Rcpp::XPtr< Natarajan_likelihoodcreate_Natarajan_likelihood (SEXP data_sexp, Rcpp::XPtr< Params > params)
Rcpp::XPtr< Natarajan_likelihood_summaryStatscreate_Natarajan_likelihood_summaryStats (SEXP data_sexp, Rcpp::XPtr< Params > params)
Rcpp::XPtr< Null_likelihoodcreate_Null_likelihood (SEXP data_sexp, Rcpp::XPtr< Params > params)
Rcpp::XPtr< Gamma_likelihoodcreate_Gamma_likelihood (SEXP data_sexp, Rcpp::XPtr< Params > params)
Rcpp::XPtr< RWMHcreate_RWMH (Rcpp::XPtr< Params > params, SEXP data_sexp, bool use_V, double proposal_sd, bool tuning_enabled)
Rcpp::XPtr< MALAcreate_MALA (Rcpp::XPtr< Params > params, SEXP data_sexp, bool use_V, double proposal_sd, bool tuning_enabled)
Rcpp::XPtr< DPcreate_DP (SEXP data_sexp, Rcpp::XPtr< Params > params)
Rcpp::XPtr< NGGPcreate_NGGP (SEXP data_sexp, Rcpp::XPtr< Params > params, Rcpp::XPtr< U_sampler > u_sampler)
Rcpp::XPtr< std::shared_ptr< Module > > create_SpatialModule (SEXP data_sexp, Eigen::MatrixXi W, double spatial_coefficient)
Rcpp::XPtr< std::shared_ptr< Module > > create_SpatialModuleCache (SEXP data_sexp, Rcpp::XPtr< SpatialCache > cache, double spatial_coefficient)
Rcpp::XPtr< std::shared_ptr< Module > > create_ContinuosCovariatesModule (SEXP data_sexp, Eigen::VectorXd covariates, bool fixed_v, double m=0, double B=1, double v=1, double nu=1, double S0=1)
Rcpp::XPtr< std::shared_ptr< Module > > create_ContinuosCovariatesModuleCache (SEXP data_sexp, Rcpp::XPtr< ContinuosCache > cache, bool fixed_v, double m=0, double B=1, double v=1, double nu=1, double S0=1)
Rcpp::XPtr< std::shared_ptr< Module > > create_BinaryCovariatesModule (SEXP data_sexp, Eigen::VectorXi covariates, double prior_a=1.0, double prior_b=1.0)
Rcpp::XPtr< std::shared_ptr< Module > > create_BinaryCovariatesModuleCache (SEXP data_sexp, Rcpp::XPtr< BinaryCache > cache, double beta_prior_alpha=1.0, double beta_prior_beta=1.0)
Rcpp::XPtr< std::shared_ptr< Module > > create_CategoricalCovariatesModule (SEXP data_sexp, Eigen::VectorXi categorical_covariate, std::vector< double > prior_alpha)
Rcpp::XPtr< DPxcreate_DPx (SEXP data_sexp, Rcpp::XPtr< Params > params, Rcpp::List modules_list)
Rcpp::XPtr< NGGPxcreate_NGGPx (SEXP data_sexp, Rcpp::XPtr< Params > params, Rcpp::XPtr< U_sampler > u_sampler, Rcpp::List modules_list)
Rcpp::XPtr< Neal3create_Neal3 (SEXP data_sexp, Rcpp::XPtr< Params > params, Rcpp::XPtr< Likelihood > likelihood, Rcpp::XPtr< Process > process)
Rcpp::XPtr< Neal3ZDNAMcreate_Neal3ZDNAM (SEXP data_sexp, Rcpp::XPtr< Params > params, Rcpp::XPtr< Likelihood > likelihood, Rcpp::XPtr< Process > process)
Rcpp::XPtr< SplitMergecreate_SplitMerge (SEXP data_sexp, Rcpp::XPtr< Params > params, Rcpp::XPtr< Likelihood > likelihood, Rcpp::XPtr< Process > process, bool shuffle)
Rcpp::XPtr< SplitMerge_SAMScreate_SplitMerge_SAMS (SEXP data_sexp, Rcpp::XPtr< Params > params, Rcpp::XPtr< Likelihood > likelihood, Rcpp::XPtr< Process > process, bool shuffle)
Rcpp::XPtr< SplitMerge_LSScreate_SplitMerge_LSS (SEXP data_sexp, Rcpp::XPtr< Params > params, Rcpp::XPtr< Likelihood > likelihood, Rcpp::XPtr< Process > process, bool shuffle)
Rcpp::XPtr< SplitMerge_LSS_SDDScreate_SplitMerge_LSS_SDDS (SEXP data_sexp, Rcpp::XPtr< Params > params, Rcpp::XPtr< Likelihood > likelihood, Rcpp::XPtr< Process > process, bool shuffle)
void process_update_params (Rcpp::XPtr< Process > process)
void sampler_step (Rcpp::XPtr< Sampler > sampler)
Eigen::VectorXi data_get_allocations (SEXP data_sexp)
int data_get_K (SEXP data_sexp)
double u_sampler_get_U (Rcpp::XPtr< U_sampler > u_sampler)
double u_sampler_get_acceptance_rate (Rcpp::XPtr< U_sampler > u_sampler)
int params_get_BI (Rcpp::XPtr< Params > params)
int params_get_NI (Rcpp::XPtr< Params > params)
double params_get_a (Rcpp::XPtr< Params > params)
double params_get_sigma (Rcpp::XPtr< Params > params)
double params_get_tau (Rcpp::XPtr< Params > params)
void cluster_info_set_allocation (Rcpp::XPtr< ClusterInfo > cluster_info, int index, int cluster, int old_cluster)
void cluster_info_recompute (Rcpp::XPtr< ClusterInfo > cluster_info, int K, Eigen::VectorXi allocations)
void datax_set_allocation (Rcpp::XPtr< Datax > data, int index, int cluster)
void datax_set_allocations (Rcpp::XPtr< Datax > data, Eigen::VectorXi new_allocations)
void lss_sdds_accepted_moves (Rcpp::XPtr< SplitMerge_LSS_SDDS > sampler)

Detailed Description

R language bindings for Bayesian nonparametric clustering models.

This file contains the R/C++ interface code that exposes the clustering algorithms (DP, NGGP, and their variants) to R through Rcpp. It handles object construction, method calls, and data conversion between R and C++ representations.

Author
Filippo Galli
Date
2025

Function Documentation

◆ cluster_info_recompute()

void cluster_info_recompute ( Rcpp::XPtr< ClusterInfo > cluster_info,
int K,
Eigen::VectorXi allocations )

◆ cluster_info_set_allocation()

void cluster_info_set_allocation ( Rcpp::XPtr< ClusterInfo > cluster_info,
int index,
int cluster,
int old_cluster )

◆ create_Binary_cache()

Rcpp::XPtr< BinaryCache > create_Binary_cache ( Eigen::VectorXi & initial_allocations,
Eigen::VectorXi binary_covariates )

◆ create_BinaryCovariatesModule()

Rcpp::XPtr< std::shared_ptr< Module > > create_BinaryCovariatesModule ( SEXP data_sexp,
Eigen::VectorXi covariates,
double prior_a = 1.0,
double prior_b = 1.0 )

◆ create_BinaryCovariatesModuleCache()

Rcpp::XPtr< std::shared_ptr< Module > > create_BinaryCovariatesModuleCache ( SEXP data_sexp,
Rcpp::XPtr< BinaryCache > cache,
double beta_prior_alpha = 1.0,
double beta_prior_beta = 1.0 )

◆ create_CategoricalCovariatesModule()

Rcpp::XPtr< std::shared_ptr< Module > > create_CategoricalCovariatesModule ( SEXP data_sexp,
Eigen::VectorXi categorical_covariate,
std::vector< double > prior_alpha )

◆ create_Continuos_cache()

Rcpp::XPtr< ContinuosCache > create_Continuos_cache ( Eigen::VectorXi & initial_allocations,
Eigen::VectorXd continuos_covariates )

◆ create_ContinuosCovariatesModule()

Rcpp::XPtr< std::shared_ptr< Module > > create_ContinuosCovariatesModule ( SEXP data_sexp,
Eigen::VectorXd covariates,
bool fixed_v,
double m = 0,
double B = 1,
double v = 1,
double nu = 1,
double S0 = 1 )

◆ create_ContinuosCovariatesModuleCache()

Rcpp::XPtr< std::shared_ptr< Module > > create_ContinuosCovariatesModuleCache ( SEXP data_sexp,
Rcpp::XPtr< ContinuosCache > cache,
bool fixed_v,
double m = 0,
double B = 1,
double v = 1,
double nu = 1,
double S0 = 1 )

◆ create_Data()

Rcpp::XPtr< Data > create_Data ( Rcpp::XPtr< Params > params,
Eigen::VectorXi initial_allocations )

◆ create_Datax()

Rcpp::XPtr< Datax > create_Datax ( Rcpp::XPtr< Params > params,
Rcpp::List modules_list,
Eigen::VectorXi initial_allocations )

◆ create_DP()

Rcpp::XPtr< DP > create_DP ( SEXP data_sexp,
Rcpp::XPtr< Params > params )

◆ create_DPx()

Rcpp::XPtr< DPx > create_DPx ( SEXP data_sexp,
Rcpp::XPtr< Params > params,
Rcpp::List modules_list )

◆ create_Gamma_likelihood()

Rcpp::XPtr< Gamma_likelihood > create_Gamma_likelihood ( SEXP data_sexp,
Rcpp::XPtr< Params > params )

◆ create_MALA()

Rcpp::XPtr< MALA > create_MALA ( Rcpp::XPtr< Params > params,
SEXP data_sexp,
bool use_V,
double proposal_sd,
bool tuning_enabled )

◆ create_Natarajan_likelihood()

Rcpp::XPtr< Natarajan_likelihood > create_Natarajan_likelihood ( SEXP data_sexp,
Rcpp::XPtr< Params > params )

◆ create_Natarajan_likelihood_summaryStats()

Rcpp::XPtr< Natarajan_likelihood_summaryStats > create_Natarajan_likelihood_summaryStats ( SEXP data_sexp,
Rcpp::XPtr< Params > params )

◆ create_Neal3()

Rcpp::XPtr< Neal3 > create_Neal3 ( SEXP data_sexp,
Rcpp::XPtr< Params > params,
Rcpp::XPtr< Likelihood > likelihood,
Rcpp::XPtr< Process > process )

◆ create_Neal3ZDNAM()

Rcpp::XPtr< Neal3ZDNAM > create_Neal3ZDNAM ( SEXP data_sexp,
Rcpp::XPtr< Params > params,
Rcpp::XPtr< Likelihood > likelihood,
Rcpp::XPtr< Process > process )

◆ create_NGGP()

Rcpp::XPtr< NGGP > create_NGGP ( SEXP data_sexp,
Rcpp::XPtr< Params > params,
Rcpp::XPtr< U_sampler > u_sampler )

◆ create_NGGPx()

Rcpp::XPtr< NGGPx > create_NGGPx ( SEXP data_sexp,
Rcpp::XPtr< Params > params,
Rcpp::XPtr< U_sampler > u_sampler,
Rcpp::List modules_list )

◆ create_Null_likelihood()

Rcpp::XPtr< Null_likelihood > create_Null_likelihood ( SEXP data_sexp,
Rcpp::XPtr< Params > params )

◆ create_Params()

Rcpp::XPtr< Params > create_Params ( double delta1,
double alpha,
double beta,
double delta2,
double gamma,
double zeta,
int BI,
int NI,
double a,
double sigma,
double tau,
Eigen::MatrixXd D )

◆ create_RWMH()

Rcpp::XPtr< RWMH > create_RWMH ( Rcpp::XPtr< Params > params,
SEXP data_sexp,
bool use_V,
double proposal_sd,
bool tuning_enabled )

◆ create_Spatial_cache()

Rcpp::XPtr< SpatialCache > create_Spatial_cache ( Eigen::VectorXi & initial_allocations,
Eigen::MatrixXi W )

◆ create_SpatialModule()

Rcpp::XPtr< std::shared_ptr< Module > > create_SpatialModule ( SEXP data_sexp,
Eigen::MatrixXi W,
double spatial_coefficient )

◆ create_SpatialModuleCache()

Rcpp::XPtr< std::shared_ptr< Module > > create_SpatialModuleCache ( SEXP data_sexp,
Rcpp::XPtr< SpatialCache > cache,
double spatial_coefficient )

◆ create_SplitMerge()

Rcpp::XPtr< SplitMerge > create_SplitMerge ( SEXP data_sexp,
Rcpp::XPtr< Params > params,
Rcpp::XPtr< Likelihood > likelihood,
Rcpp::XPtr< Process > process,
bool shuffle )

◆ create_SplitMerge_LSS()

Rcpp::XPtr< SplitMerge_LSS > create_SplitMerge_LSS ( SEXP data_sexp,
Rcpp::XPtr< Params > params,
Rcpp::XPtr< Likelihood > likelihood,
Rcpp::XPtr< Process > process,
bool shuffle )

◆ create_SplitMerge_LSS_SDDS()

Rcpp::XPtr< SplitMerge_LSS_SDDS > create_SplitMerge_LSS_SDDS ( SEXP data_sexp,
Rcpp::XPtr< Params > params,
Rcpp::XPtr< Likelihood > likelihood,
Rcpp::XPtr< Process > process,
bool shuffle )

◆ create_SplitMerge_SAMS()

Rcpp::XPtr< SplitMerge_SAMS > create_SplitMerge_SAMS ( SEXP data_sexp,
Rcpp::XPtr< Params > params,
Rcpp::XPtr< Likelihood > likelihood,
Rcpp::XPtr< Process > process,
bool shuffle )

◆ data_get_allocations()

Eigen::VectorXi data_get_allocations ( SEXP data_sexp)

◆ data_get_K()

int data_get_K ( SEXP data_sexp)

◆ datax_set_allocation()

void datax_set_allocation ( Rcpp::XPtr< Datax > data,
int index,
int cluster )

◆ datax_set_allocations()

void datax_set_allocations ( Rcpp::XPtr< Datax > data,
Eigen::VectorXi new_allocations )

◆ get_cluster_info_ptr()

ClusterInfo * get_cluster_info_ptr ( SEXP sexp)

◆ get_data_ptr()

Data * get_data_ptr ( SEXP sexp)

◆ lss_sdds_accepted_moves()

void lss_sdds_accepted_moves ( Rcpp::XPtr< SplitMerge_LSS_SDDS > sampler)

◆ params_get_a()

double params_get_a ( Rcpp::XPtr< Params > params)

◆ params_get_BI()

int params_get_BI ( Rcpp::XPtr< Params > params)

◆ params_get_NI()

int params_get_NI ( Rcpp::XPtr< Params > params)

◆ params_get_sigma()

double params_get_sigma ( Rcpp::XPtr< Params > params)

◆ params_get_tau()

double params_get_tau ( Rcpp::XPtr< Params > params)

◆ process_update_params()

void process_update_params ( Rcpp::XPtr< Process > process)

◆ sampler_step()

void sampler_step ( Rcpp::XPtr< Sampler > sampler)

◆ u_sampler_get_acceptance_rate()

double u_sampler_get_acceptance_rate ( Rcpp::XPtr< U_sampler > u_sampler)

◆ u_sampler_get_U()

double u_sampler_get_U ( Rcpp::XPtr< U_sampler > u_sampler)