Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_HMC_polytope_sampler< T > Class Template Reference

#include <HMC_polytope_sampler.hpp>

Public Member Functions

unsigned int get_dimension () const
 
double get_current_ith_coord (unsigned i)
 
 T_HMC_polytope_sampler (std::string file_A, std::string file_b, double sigma, int max_reflections_, double dist_, std::string starting_pt_file)
 
int step ()
 
void record_current ()
 
void sample_u_current ()
 
void save_samples (std::string ofname) const
 

Protected Attributes

double * A = 0
 
double * b = 0
 
unsigned int dim = 0
 
unsigned int nbr_hyperplanes = 0
 
double dist = 100
 
double max_reflections = 100
 
double a = 1
 
std::vector< double > x_current
 
std::vector< double > u_current
 
std::vector< double > x_proposed
 
std::vector< double > u_proposed
 
std::default_random_engine rng
 
std::vector< std::vector< double > > samples
 

Constructor & Destructor Documentation

◆ T_HMC_polytope_sampler()

T_HMC_polytope_sampler ( std::string  file_A,
std::string  file_b,
double  sigma,
int  max_reflections_,
double  dist_,
std::string  starting_pt_file 
)
inline

Member Function Documentation

◆ get_current_ith_coord()

double get_current_ith_coord ( unsigned  i)
inline

◆ get_dimension()

unsigned int get_dimension ( ) const
inline

◆ record_current()

void record_current ( )
inline

◆ sample_u_current()

void sample_u_current ( )
inline

◆ save_samples()

void save_samples ( std::string  ofname) const
inline

◆ step()

int step ( )
inline

Member Data Documentation

◆ A

double* A = 0
protected

◆ a

double a = 1
protected

◆ b

double* b = 0
protected

◆ dim

unsigned int dim = 0
protected

◆ dist

double dist = 100
protected

◆ max_reflections

double max_reflections = 100
protected

◆ nbr_hyperplanes

unsigned int nbr_hyperplanes = 0
protected

◆ rng

std::default_random_engine rng
protected

◆ samples

std::vector< std::vector<double> > samples
protected

◆ u_current

std::vector<double> u_current
protected

◆ u_proposed

std::vector<double> u_proposed
protected

◆ x_current

std::vector<double> x_current
protected

◆ x_proposed

std::vector<double> x_proposed
protected