VinaLC: Parallel Molecular Docking Program

Biochemical and Biophysical Systems Group
VinaLC version: 1.1.2

bfgs.h File Reference
#include "matrix.h"
Include dependency graph for bfgs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef triangular_matrix< flflmat
 

Functions

template<typename Change >
void minus_mat_vec_product (const flmat &m, const Change &in, Change &out)
 
template<typename Change >
fl scalar_product (const Change &a, const Change &b, sz n)
 
template<typename Change >
bool bfgs_update (flmat &h, const Change &p, const Change &y, const fl alpha)
 
template<typename F , typename Conf , typename Change >
fl line_search (F &f, sz n, const Conf &x, const Change &g, const fl f0, const Change &p, Conf &x_new, Change &g_new, fl &f1)
 
void set_diagonal (flmat &m, fl x)
 
template<typename Change >
void subtract_change (Change &b, const Change &a, sz n)
 
template<typename F , typename Conf , typename Change >
fl bfgs (F &f, Conf &x, Change &g, const unsigned max_steps, const fl average_required_improvement, const sz over)
 

Typedef Documentation

Function Documentation

template<typename Change >
void minus_mat_vec_product ( const flmat m,
const Change &  in,
Change &  out 
)

References triangular_matrix< T >::dim(), triangular_matrix< T >::index_permissive(), sum(), and VINA_FOR.

Referenced by bfgs(), and bfgs_update().

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename Change >
fl scalar_product ( const Change &  a,
const Change &  b,
sz  n 
)
inline

References VINA_FOR.

Referenced by bfgs(), bfgs_update(), and line_search().

Here is the caller graph for this function:

template<typename Change >
bool bfgs_update ( flmat h,
const Change &  p,
const Change &  y,
const fl  alpha 
)
inline

References triangular_matrix< T >::dim(), epsilon_fl, minus_mat_vec_product(), scalar_product(), VINA_FOR, and VINA_RANGE.

Referenced by bfgs().

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename F , typename Conf , typename Change >
fl line_search ( F &  f,
sz  n,
const Conf &  x,
const Change &  g,
const fl  f0,
const Change &  p,
Conf &  x_new,
Change &  g_new,
fl f1 
)

References scalar_product(), and VINA_U_FOR.

Referenced by bfgs().

Here is the call graph for this function:

Here is the caller graph for this function:

void set_diagonal ( flmat m,
fl  x 
)
inline

References triangular_matrix< T >::dim(), and VINA_FOR.

Referenced by bfgs().

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename Change >
void subtract_change ( Change &  b,
const Change &  a,
sz  n 
)

References VINA_FOR.

Referenced by bfgs().

Here is the caller graph for this function:

template<typename F , typename Conf , typename Change >
fl bfgs ( F &  f,
Conf &  x,
Change &  g,
const unsigned  max_steps,
const fl  average_required_improvement,
const sz  over 
)

References bfgs_update(), epsilon_fl, line_search(), minus_mat_vec_product(), scalar_product(), set_diagonal(), subtract_change(), and VINA_U_FOR.

Referenced by quasi_newton::operator()().

Here is the call graph for this function:

Here is the caller graph for this function: