Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
SBL::GT Namespace Reference

Typedefs

template<class Move_Set_Selector , class ... Move_Set_Traits>
using T_Combined_Move_Set_Traits_WL = T_Combined_Move_Set_Traits< Combined_WL_Move_Set_Data_Interface, Move_Set_Selector, Move_Set_Traits... >
 Combined Move Set WL provides an easy way to combine move sets for Wang Landau. The Move_Set_Selector should be a functor that returns an array containing the probability of using each move set, in the same order than the definition of the template parameters. More...
 
typedef std::pair< double, double > Bin_energy_range
 
typedef int Bin_index
 
using Combined_MS_Traits = T_Combined_Move_Set_Traits_WL< Move_Set_Selector, No_Overstep_Cone_Move_Set_Traits, Gaussian_Move_Set_Traits >
 

Enumerations

enum class  DoS_save_frequency_type { Log_scale , Normal_scale }
 

Functions

template<typename T , T Begin, class Func , T ... Is>
constexpr void static_for_impl (Func &&f, std::integer_sequence< T, Is... >)
 
template<typename T , T Begin, T End, class Func >
constexpr void static_for (Func &&f)
 
template<class Tuple >
constexpr std::size_t tuple_size (const Tuple &)
 
template<typename Tuple , typename F , std::size_t ... Indices>
void for_each_impl (Tuple &&tuple, F &&f, std::index_sequence< Indices... >)
 
template<typename Tuple , typename F >
void for_each (Tuple &&tuple, F &&f)
 
double dist (std::vector< double > &a, std::vector< double > &b)
 
void removeRow (Eigen::MatrixXd &matrix, unsigned int rowToRemove)
 
void removeColumn (Eigen::MatrixXd &matrix, unsigned int colToRemove)
 
double & get (double *A, int i, int j, int n, int m)
 
template<class K >
bool is_in_convex_interior (typename K::FT *pt, double *A, double *b, int dim, int nhp)
 
template<class K >
Params< K > getHMCTrajParams (typename K::FT xi, typename K::FT ui, typename K::FT a)
 
template<class K >
void updateTrajNoReflection (typename K::FT *x, typename K::FT *u, typename K::FT a, typename K::FT t, int dim)
 
template<class K >
void reflect (typename K::FT *u, typename K::FT *n, int dim)
 
template<class K >
K::FT intersectionHMCPlane (typename K::FT *x, typename K::FT *u, double *A, double *b, typename K::FT a, int dim, int nhp, int index)
 
template<class K >
std::pair< typename K::FT, std::vector< typename K::FT > > intersectionHMCPlanes (typename K::FT *x, typename K::FT *u, typename K::FT a, int dim, double *A, double *b, int nhp)
 
template<class K >
int T_HMC_internal (typename K::FT *x, typename K::FT *u, double *A, double *b, int dim, int nhp, typename K::FT a, typename K::FT dist, int max_reflections)
 
int HMC_internal_DP (double *x, double *u, double *A, double *b, int dim, int nhp, double a, double dist, int max_reflections)
 
int HMC_internal_MP (const Data_MP &data)
 Take a step for HMC in multi-precision in a convex for a gaussian of variance sigma = 1/sqrt(2a). Returns the internal number of steps (aka the number of reflections). More...
 
std::vector< std::vector< double > > read_CSV_Matrix (std::string filename)
 

Class Documentation

◆ SBL::GT::T_Combined_Move_Params

struct SBL::GT::T_Combined_Move_Params

template<class Conformation, class ... Move_Set_Traits>
struct SBL::GT::T_Combined_Move_Params< Conformation, Move_Set_Traits >

Collect into a tuple the params of all move sets.

Class Members
move_params

◆ SBL::GT::T_Combined_Move_Stats

struct SBL::GT::T_Combined_Move_Stats

template<class Conformation, class ... Move_Set_Traits>
struct SBL::GT::T_Combined_Move_Stats< Conformation, Move_Set_Traits >

Collect into a tuple the stats of all move sets.

Class Members
bool move_set_used
move_stats

◆ SBL::GT::T_Combined_Move_Set_Traits

class SBL::GT::T_Combined_Move_Set_Traits

template<template< class Base_Data_Interface, int i > class Combined_Move_Set_Data_Interface, class Move_Set_Selector, class ... Move_Set_Traits>
class SBL::GT::T_Combined_Move_Set_Traits< Combined_Move_Set_Data_Interface, Move_Set_Selector, Move_Set_Traits >

Class Members
Controller
Move_Set

◆ SBL::GT::Darting_Move_Params

struct SBL::GT::Darting_Move_Params

Darting Move set Params.

◆ SBL::GT::Darting_Move_Stats

struct SBL::GT::Darting_Move_Stats

Darting Move set Stats.

Class Members
int ending_min
bool move_set_used
double p_xy
double p_yx

◆ SBL::GT::Darting_Move_Set_Traits

class SBL::GT::Darting_Move_Set_Traits

Darting Move set traits (see paper for details of internal working)

Class Members
typedef T_Darting_Move_Set_Controller< Conformation > Controller
typedef T_Darting_Move_Set< Conformation > Move_Set

◆ SBL::GT::Gaussian_Move_Params

struct SBL::GT::Gaussian_Move_Params

Gaussian Move params.

Class Members
double sigma

◆ SBL::GT::Gaussian_Move_Stats

struct SBL::GT::Gaussian_Move_Stats

Gaussian Move Set stats.

Class Members
bool move_set_used

◆ SBL::GT::Gaussian_Move_Set_Traits

class SBL::GT::Gaussian_Move_Set_Traits

Gaussian Move Set, simplest move set provided. Propose a move sampled from a normal distribution centered on the starting point.

Class Members
typedef T_Gaussian_Move_Set_Controller< Conformation > Controller
typedef T_Gaussian_Move_Set< Conformation > Move_Set

◆ SBL::GT::No_Overstep_Cone_Move_Params

struct SBL::GT::No_Overstep_Cone_Move_Params

No overstep cone move set params.

Class Members
pair< double, double > bin_down
pair< double, double > bin_up
Cone_Distribution< double * > cone_distribution
Cone_Distribution< double * > cone_distribution_down
Cone_Distribution< double * > cone_distribution_up
pair< double, double > current_bin
double current_bin_density
bool down
double down_bin_density
double proba_cone
bool up
double up_bin_density
bool use_cone

◆ SBL::GT::No_Overstep_Cone_Move_Stats

struct SBL::GT::No_Overstep_Cone_Move_Stats

No overstep cone move set stats.

Class Members
bool interval_down
bool interval_up
bool move_set_used
int num_interval
bool sucess
bool sucess_down
bool sucess_same
bool sucess_up
bool try_down
bool try_same
bool try_up

◆ SBL::GT::No_Overstep_Cone_Move_Set_Traits

class SBL::GT::No_Overstep_Cone_Move_Set_Traits

No overstep cone move set traits: a move set that aims to sample neighbourings energy strata, and uses the cone strategy for better mixing. See paper for details.

Class Members
typedef T_No_Overstep_Cone_Move_Set_Controller< Conformation > Controller
typedef T_No_Overstep_Cone_Move_Set< Conformation > Move_Set

◆ SBL::GT::No_Overstep_Move_Params

struct SBL::GT::No_Overstep_Move_Params

No overstep move set params.

Class Members
pair< double, double > bin_down
pair< double, double > bin_up
pair< double, double > current_bin
double current_bin_density
bool down
double down_bin_density
bool up
double up_bin_density

◆ SBL::GT::No_Overstep_Move_Stats

struct SBL::GT::No_Overstep_Move_Stats

No overstep move set stats.

Class Members
bool interval_down
bool interval_up
bool move_set_used
int num_interval
bool sucess
bool sucess_down
bool sucess_same
bool sucess_up
bool try_down
bool try_same
bool try_up

◆ SBL::GT::No_Overstep_Move_Set_Traits

class SBL::GT::No_Overstep_Move_Set_Traits

No overstep move set traits: a move set that aims to sample neighbourings energy strata. See paper for details.

Class Members
typedef T_No_Overstep_Move_Set_Controller< Conformation > Controller
typedef T_No_Overstep_Move_Set< Conformation > Move_Set

◆ SBL::GT::Bin_properties_MS

class SBL::GT::Bin_properties_MS

template<class Move_Set_Controller_Data>
class SBL::GT::Bin_properties_MS< Move_Set_Controller_Data >

◆ SBL::GT::T_DS_snapshot_default

class SBL::GT::T_DS_snapshot_default

template<class Bin_properties>
class SBL::GT::T_DS_snapshot_default< Bin_properties >

A class storing the main pieces of information, at a given time stamp in the course of the algorithm.

Class Members
double averageInterbinSize
vector< Bin_properties > bin_properties
vector< Bin_energy_range > bin_ranges
vector< pair< uint64_t, uint64_t > > climbs
vector< pair< uint64_t, uint64_t > > descents
bool exp_regime
int gamma_index
double increment
uint64_t num_mixing
uint64_t num_steps
uint64_t num_steps_mixing

◆ SBL::GT::T_Converter_geometric_objects_3_to_interval

class SBL::GT::T_Converter_geometric_objects_3_to_interval

template<class GeometricIntervalKernel3>
class SBL::GT::T_Converter_geometric_objects_3_to_interval< GeometricIntervalKernel3 >

Class Members
typedef Circle_3 Circle_3
typedef FT FT
typedef Plane_3 Plane_3
typedef Point_3 Point_3
typedef T_Converter_geometric_objects_3_to_interval< GeometricIntervalKernel3 > Self
typedef Sphere_3 Sphere_3
typedef Vector_3 Vector_3

◆ SBL::GT::Params

struct SBL::GT::Params

template<class K>
struct SBL::GT::Params< K >

Class Members
FT C
FT phi
FT w

◆ SBL::GT::Data_MP

struct SBL::GT::Data_MP
Class Members
double * A
double a
double * b
int dim
int max_reflections
int nbr_hyperplanes
double travel_time
double * u
double * u_out
double * x
double * x_out

◆ SBL::GT::Inexact_predicates_kernel_for_frechet_mean

class SBL::GT::Inexact_predicates_kernel_for_frechet_mean
Class Members
typedef double FT
typedef Inexact_predicates_kernel_for_frechet_mean self

◆ SBL::GT::Lazy_exact_predicates_kernel_for_frechet_mean

class SBL::GT::Lazy_exact_predicates_kernel_for_frechet_mean
Class Members
typedef Interval_nt< true > FT
typedef Lazy_exact_predicates_kernel_for_frechet_mean self
typedef Uncertain< bool > Uncertain

◆ SBL::GT::Trigonometric_interval_kernel

class SBL::GT::Trigonometric_interval_kernel
Class Members
typedef Interval_nt< false > Interval
typedef Interval_nt< false > Interval
typedef Trigonometric_interval_kernel Self
typedef Trigonometric_interval_kernel Self

◆ SBL::GT::T_Union_of_balls_3_meidal_axis_vertex

class SBL::GT::T_Union_of_balls_3_meidal_axis_vertex

template<class Refs, class WeightedAlphaComplex3, class DelaunayTriangulation3>
class SBL::GT::T_Union_of_balls_3_meidal_axis_vertex< Refs, WeightedAlphaComplex3, DelaunayTriangulation3 >

◆ SBL::GT::T_Union_of_balls_3_meidal_axis_halfedge

class SBL::GT::T_Union_of_balls_3_meidal_axis_halfedge

template<class Refs, class WeightedAlphaComplex3, class DelaunayTriangulation3>
class SBL::GT::T_Union_of_balls_3_meidal_axis_halfedge< Refs, WeightedAlphaComplex3, DelaunayTriangulation3 >

Typedef Documentation

◆ Bin_energy_range

typedef std::pair<double, double> Bin_energy_range

◆ Bin_index

typedef int Bin_index

◆ Combined_MS_Traits

◆ T_Combined_Move_Set_Traits_WL

Combined Move Set WL provides an easy way to combine move sets for Wang Landau. The Move_Set_Selector should be a functor that returns an array containing the probability of using each move set, in the same order than the definition of the template parameters.

Enumeration Type Documentation

◆ DoS_save_frequency_type

Enumerator
Log_scale 
Normal_scale 

Function Documentation

◆ dist()

double SBL::GT::dist ( std::vector< double > &  a,
std::vector< double > &  b 
)

◆ for_each()

void SBL::GT::for_each ( Tuple &&  tuple,
F &&  f 
)

◆ for_each_impl()

void SBL::GT::for_each_impl ( Tuple &&  tuple,
F &&  f,
std::index_sequence< Indices... >   
)

◆ get()

double& SBL::GT::get ( double *  A,
int  i,
int  j,
int  n,
int  m 
)

◆ getHMCTrajParams()

Params<K> SBL::GT::getHMCTrajParams ( typename K::FT  xi,
typename K::FT  ui,
typename K::FT  a 
)

◆ HMC_internal_DP()

int SBL::GT::HMC_internal_DP ( double *  x,
double *  u,
double *  A,
double *  b,
int  dim,
int  nhp,
double  a,
double  dist,
int  max_reflections 
)

◆ HMC_internal_MP()

int HMC_internal_MP ( const Data_MP data)

Take a step for HMC in multi-precision in a convex for a gaussian of variance sigma = 1/sqrt(2a). Returns the internal number of steps (aka the number of reflections).

Parameters
dataencapsulate all required parameters (for iRRAM). For details about these params, see T_HMC_internal ot HMC_internal_DP documentation

◆ intersectionHMCPlane()

K::FT SBL::GT::intersectionHMCPlane ( typename K::FT *  x,
typename K::FT *  u,
double *  A,
double *  b,
typename K::FT  a,
int  dim,
int  nhp,
int  index 
)

◆ intersectionHMCPlanes()

std::pair<typename K::FT,std::vector<typename K::FT> > SBL::GT::intersectionHMCPlanes ( typename K::FT *  x,
typename K::FT *  u,
typename K::FT  a,
int  dim,
double *  A,
double *  b,
int  nhp 
)

◆ is_in_convex_interior()

bool SBL::GT::is_in_convex_interior ( typename K::FT *  pt,
double *  A,
double *  b,
int  dim,
int  nhp 
)

◆ read_CSV_Matrix()

std::vector<std::vector<double> > SBL::GT::read_CSV_Matrix ( std::string  filename)

◆ reflect()

void SBL::GT::reflect ( typename K::FT *  u,
typename K::FT *  n,
int  dim 
)

◆ removeColumn()

void SBL::GT::removeColumn ( Eigen::MatrixXd &  matrix,
unsigned int  colToRemove 
)

◆ removeRow()

void SBL::GT::removeRow ( Eigen::MatrixXd &  matrix,
unsigned int  rowToRemove 
)

◆ static_for()

constexpr void SBL::GT::static_for ( Func &&  f)
constexpr

◆ static_for_impl()

constexpr void SBL::GT::static_for_impl ( Func &&  f,
std::integer_sequence< T, Is... >   
)
constexpr

◆ T_HMC_internal()

int SBL::GT::T_HMC_internal ( typename K::FT *  x,
typename K::FT *  u,
double *  A,
double *  b,
int  dim,
int  nhp,
typename K::FT  a,
typename K::FT  dist,
int  max_reflections 
)

◆ tuple_size()

constexpr std::size_t SBL::GT::tuple_size ( const Tuple &  )
constexpr

◆ updateTrajNoReflection()

void SBL::GT::updateTrajNoReflection ( typename K::FT *  x,
typename K::FT *  u,
typename K::FT  a,
typename K::FT  t,
int  dim 
)