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

Darting Move set. Physical conformation needs a function get_grad, compute_energy and get_energy and a member data. More...

#include <Darting_move_set.hpp>

Classes

struct  Parameters
 

Public Types

typedef std::vector< double > Data_Type
 
typedef double Float_Type
 
typedef Darting_Move_Params Move_Params
 
using Move_Stats = Darting_Move_Stats
 

Public Member Functions

 T_Darting_Move_Set ()=default
 
 T_Darting_Move_Set (auto *physical_system, Parameters params)
 
void update_pos (Conformation *const C, double lambda, int min)
 
double line_search (int min, double T_E, Conformation *const C, auto *physical_system)
 
void rescale_vector (std::vector< double > &v, int min)
 
double get_deltaE (Conformation *const conf, auto *physical_system)
 
std::pair< double, Darting_Move_Statsgenerate_conformation (Conformation *const start, Conformation *const end, Move_Params &move_params, auto *physical_system)
 
double get_move_probability (Conformation *const start, Conformation *const end, Move_Params params, auto *physical_system)
 
double get_energy_level (Conformation *const conf, int min)
 
int get_closest_min (Conformation *const conf)
 

Public Attributes

std::mt19937 rng
 
std::vector< std::vector< double > > minimas
 
std::vector< std::vector< double > > minimas_grad
 
std::vector< Eigen::MatrixXd > minimas_Hessian
 
std::vector< Eigen::SelfAdjointEigenSolver< Eigen::MatrixXd > > minimas_eig
 
std::vector< std::vector< double > > minimas_eigenvalues
 
std::vector< double > minimas_E
 
std::vector< int > coord_to_remove
 
double threshold
 
double min_eigenvalue
 
int dim
 
std::vector< int > coordinates_map
 
std::vector< double > u
 

Detailed Description

template<class Conformation>
class SBL::GT::T_Darting_Move_Set< Conformation >

Darting Move set. Physical conformation needs a function get_grad, compute_energy and get_energy and a member data.


Class Documentation

◆ SBL::GT::T_Darting_Move_Set::Parameters

struct SBL::GT::T_Darting_Move_Set::Parameters

template<class Conformation>
struct SBL::GT::T_Darting_Move_Set< Conformation >::Parameters

Class Members
vector< int > coord_to_remove
double min_eigenvalue
vector< vector< double > > minimas
double threshold

Member Typedef Documentation

◆ Data_Type

typedef std::vector<double> Data_Type

◆ Float_Type

typedef double Float_Type

◆ Move_Params

◆ Move_Stats

Constructor & Destructor Documentation

◆ T_Darting_Move_Set() [1/2]

T_Darting_Move_Set ( )
default

◆ T_Darting_Move_Set() [2/2]

T_Darting_Move_Set ( auto *  physical_system,
Parameters  params 
)
inline

Member Function Documentation

◆ generate_conformation()

std::pair<double,Darting_Move_Stats> generate_conformation ( Conformation *const  start,
Conformation *const  end,
Move_Params move_params,
auto *  physical_system 
)
inline

◆ get_closest_min()

int get_closest_min ( Conformation *const  conf)
inline

◆ get_deltaE()

double get_deltaE ( Conformation *const  conf,
auto *  physical_system 
)
inline

◆ get_energy_level()

double get_energy_level ( Conformation *const  conf,
int  min 
)
inline

◆ get_move_probability()

double get_move_probability ( Conformation *const  start,
Conformation *const  end,
Move_Params  params,
auto *  physical_system 
)
inline

◆ line_search()

double line_search ( int  min,
double  T_E,
Conformation *const  C,
auto *  physical_system 
)
inline

◆ rescale_vector()

void rescale_vector ( std::vector< double > &  v,
int  min 
)
inline

◆ update_pos()

void update_pos ( Conformation *const  C,
double  lambda,
int  min 
)
inline

Member Data Documentation

◆ coord_to_remove

std::vector<int> coord_to_remove

◆ coordinates_map

std::vector<int> coordinates_map

◆ dim

int dim

◆ min_eigenvalue

double min_eigenvalue

◆ minimas

std::vector<std::vector<double> > minimas

◆ minimas_E

std::vector<double> minimas_E

◆ minimas_eig

std::vector<Eigen::SelfAdjointEigenSolver<Eigen::MatrixXd> > minimas_eig

◆ minimas_eigenvalues

std::vector<std::vector<double> > minimas_eigenvalues

◆ minimas_grad

std::vector<std::vector<double> > minimas_grad

◆ minimas_Hessian

std::vector<Eigen::MatrixXd> minimas_Hessian

◆ rng

std::mt19937 rng

◆ threshold

double threshold

◆ u

std::vector<double> u