Rosetta Core  2014.35
Namespaces | Classes | Typedefs | Functions | Variables
core::optimization Namespace Reference

Namespaces

 symmetry
 

Classes

class  ArmijoLineMinimization
 
class  AtomNode
 
class  AtomTreeMinimizer
 High-level atom tree minimizer class. More...
 
class  AtomTreeMultifunc
 Atom tree multifunction class. More...
 
class  BrentLineMinimization
 
class  CartesianMinimizer
 High-level atom tree minimizer class. More...
 
class  CartesianMinimizerMap
 
class  CartesianMultifunc
 Atom tree multifunction class. More...
 
class  ConvergenceTest
 
class  DerivCheckDataPoint
 
class  DescentDirectionAlgorithm
 
class  DFPMinConvergedAbsolute
 
class  DFPMinConvergedFractional
 
class  DOF_DataPoint
 
class  DOF_Node
 
class  EItem
 Inner class for Genetic Algorithm, hold one population with some additional info. More...
 
class  func_1d
 
class  GA_Minimizer
 
class  JJH_Minimizer
 
class  lbfgs_iteration_data
 
class  LineMinimizationAlgorithm
 
class  Minimizer
 Simple low-level minimizer class. More...
 
class  MinimizerMap
 
class  MinimizerOptions
 
class  Multifunc
 Multifunction interface class. More...
 
class  NelderMeadSimplex
 
class  NumDerivCheckData
 
class  NumericalDerivCheckResult
 
class  Particle
 Simple data container for PSO algorithm. More...
 
class  ParticleSwarmMinimizer
 Particle Swarm Optimization engine. More...
 
class  SimpleDerivCheckResult
 
class  SingleResidueMultifunc
 A streamlined AtomTreeMultifunc designed specifically for RTMIN. More...
 
struct  sort_pred
 
class  StrongWolfeLineMinimization
 

Typedefs

typedef
utility::pointer::owning_ptr
< AtomTreeMinimizer
AtomTreeMinimizerOP
 
typedef
utility::pointer::owning_ptr
< AtomTreeMinimizer const > 
AtomTreeMinimizerCOP
 
typedef boost::tuple< Vector,
Vector, Vector, Vector
VectorQuad
 
typedef
utility::pointer::owning_ptr
< CartesianMinimizer
CartesianMinimizerOP
 
typedef
utility::pointer::owning_ptr
< CartesianMinimizer const > 
CartesianMinimizerCOP
 
typedef
utility::pointer::owning_ptr
< CartesianMinimizerMap
CartesianMinimizerMapOP
 
typedef
utility::pointer::owning_ptr
< CartesianMinimizerMap const > 
CartesianMinimizerMapCOP
 
typedef
utility::pointer::owning_ptr
< DOF_Node
DOF_NodeOP
 
typedef
utility::pointer::owning_ptr
< DOF_Node const > 
DOF_NodeCOP
 
typedef
utility::pointer::owning_ptr
< LineMinimizationAlgorithm
LineMinimizationAlgorithmOP
 
typedef
utility::pointer::owning_ptr
< LineMinimizationAlgorithm
const > 
LineMinimizationAlgorithmCOP
 
typedef
utility::pointer::owning_ptr
< MinimizerMap
MinimizerMapOP
 
typedef
utility::pointer::owning_ptr
< MinimizerMap const > 
MinimizerMapCOP
 
typedef
utility::pointer::owning_ptr
< MinimizerOptions
MinimizerOptionsOP
 
typedef
utility::pointer::owning_ptr
< MinimizerOptions const > 
MinimizerOptionsCOP
 
typedef
utility::pointer::owning_ptr
< Multifunc
MultifuncOP
 
typedef
utility::pointer::owning_ptr
< Multifunc const > 
MultifuncCOP
 
typedef
utility::pointer::owning_ptr
< SimpleDerivCheckResult
SimpleDerivCheckResultOP
 
typedef
utility::pointer::owning_ptr
< SimpleDerivCheckResult const > 
SimpleDerivCheckResultCOP
 
typedef
utility::pointer::owning_ptr
< NumDerivCheckData
NumDerivCheckDataOP
 
typedef
utility::pointer::owning_ptr
< NumDerivCheckData const > 
NumDerivCheckDataCOP
 
typedef
utility::pointer::owning_ptr
< NumericalDerivCheckResult
NumericalDerivCheckResultOP
 
typedef
utility::pointer::owning_ptr
< NumericalDerivCheckResult
const > 
NumericalDerivCheckResultCOP
 
typedef
utility::pointer::owning_ptr
< Particle
ParticleOP
 
typedef
utility::pointer::owning_ptr
< Particle const > 
ParticleCOP
 
typedef utility::vector1
< ParticleOP
ParticleOPs
 
typedef
utility::pointer::owning_ptr
< ParticleSwarmMinimizer
ParticleSwarmMinimizerOP
 
typedef
utility::pointer::owning_ptr
< ParticleSwarmMinimizer const > 
ParticleSwarmMinimizerCOP
 
typedef utility::vector1< RealMultivec
 

Functions

void atom_tree_dfunc (pose::Pose &pose, MinimizerMap &min_map, scoring::ScoreFunction const &scorefxn, Multivec const &vars, Multivec &dE_dvars)
 
Real torsional_derivative_from_cartesian_derivatives (kinematics::tree::Atom const &atom, optimization::DOF_Node const &dof_node, Real dof_deriv, Real torsion_scale_factor)
 
void atom_tree_get_atompairE_deriv (pose::Pose &pose, MinimizerMap &min_map, scoring::ScoreFunction const &scorefxn)
 
SimpleDerivCheckResult simple_numeric_deriv_check (Multifunc const &func, Multivec const &start_vars, Multivec const &dE_dvars, bool send_to_stdout, bool verbose, Size nsteps=5)
 Numeric deriv check for Multifuncs other than the AtomTreeMultifunc. More...
 
void numerical_derivative_check (MinimizerMap const &min_map, Multifunc const &func, Multivec const &start_vars, Multivec const &dE_dvars, NumericalDerivCheckResultOP deriv_check_result, bool const verbose)
 
void cartesian_dfunc (pose::Pose &pose, CartesianMinimizerMap &min_map, scoring::ScoreFunction const &scorefxn, Multivec const &vars, Multivec &dE_dvars)
 
void cartesian_collect_atompairE_deriv (pose::Pose &pose, CartesianMinimizerMap &min_map, scoring::ScoreFunction const &scorefxn, Multivec &dE_dvars, core::Real scale)
 
void cartesian_collect_torsional_deriv (pose::Pose &pose, CartesianMinimizerMap &min_map, core::scoring::ScoreFunction const &scorefxn, Multivec &dE_dvars, core::Real scale)
 
void cart_numerical_derivative_check (CartesianMinimizerMap const &min_map, CartesianMultifunc const &func, Multivec const &start_vars, Multivec const &dE_dvars, NumericalDerivCheckResultOP deriv_check_result, bool const verbose)
 
void tors_deriv_to_cartesian (Real dE_dtor, VectorQuad const &coords, VectorQuad &dE_dxs)
 
static bool yes_no_random (Real probability)
 Return true with given probability. More...
 
bool DOF_Node_sorter (DOF_NodeCOP a, DOF_NodeCOP b)
 
std::ostream & operator<< (std::ostream &os, Particle const &p)
 stream output operator for Particle types More...
 
bool cmp_particles (ParticleOP a, ParticleOP b)
 

Variables

static basic::Tracer TR ("core.optimization")
 
static basic::Tracer TR ("core.optimization.AtomTreeMinimizer")
 
static basic::Tracer TR ("core.optimization")
 
static basic::Tracer TR ("core.optimization.CartesianMinimizer")
 
static basic::Tracer TR ("core.optimization.GA_Minimizer")
 
static
numeric::random::RandomGenerator 
RG (740)
 
static basic::Tracer TR ("core.optimization.LineMinimizer")
 
static basic::Tracer TR ("core.optimization.Minimizer")
 
static basic::Tracer TR ("core.optimization.NelderMeadSimplex")
 

Typedef Documentation

Function Documentation

void core::optimization::atom_tree_dfunc ( pose::Pose &  pose,
MinimizerMap &  min_map,
scoring::ScoreFunction const &  scorefxn,
Multivec const &  vars,
Multivec &  dE_dvars 
)
Detailed:
car note that this calculates the deriv for all torsion angles even car those that are fixed. Because of the way that the derivative is car calculated, I don't believe this is a significant slow down (ie car have to run over all the atom pairs twice, regardless of the number car of torsion angles)

car multiple neighborlists: car cendist centroid distances in current structure, cutoff for vdw car dis2_tether centroid distances in tether structure, cutoff for tether

db computes the derivative of E with respect to each db of the torsion angles. Using the chain rule, we have db db dE/d phi = dE/dr * dr/dphi db db dr/dphi = Eab x (V-Vb) . (V' - V)/|V-V'| db db (the first cross product is the displacement of V upon a rotation dphi db around the unit vector Eab, Vb is the coordinates of the second atom in db the bond) db car dE/dR = 2r (for vdw at least) db since | V-V'| = r, db db dE/ dphi = 2 Eab x (V-Vb) . (V' - V) db db note that Eab and Vb are different for each torsion angle, but V' db and V are the same. rearranging: db db = - 2 Eab X Vb . (V' - V) - 2 Eab . (V' x V). db db now we need the averages over all Vi of the difference and the db crossproduct of V and V'.

car below, Eab x Vb is 'vec' car Eab is 'unit' car (V'-V) is 'f2' car 'F2tot' = f2*dE_dR (cumulative) car (V' X V) is 'f1' ('F1_xxxE' is cumulative for potential xxx) car eval_dE_dR actually returns dE_dR/r

car if two atoms are fixed relatively in cartesian space, then dr/dphi = 0 car and there is no contribution to the derivative

References core::kinematics::AtomTree::atom(), core::optimization::DOF_Node::atom_id(), core::pose::Pose::atom_tree(), atom_tree_get_atompairE_deriv(), core::optimization::MinimizerMap::begin(), core::optimization::MinimizerMap::copy_dofs_to_pose(), core::optimization::DOF_Node::dof_id(), core::optimization::MinimizerMap::end(), core::scoring::ScoreFunction::eval_dof_derivative(), core::scoring::ScoreFunction::finalize_after_derivatives(), core::optimization::MinimizerMap::link_torsion_vectors(), core::optimization::MinimizerMap::nangles(), core::scoring::ScoreFunction::setup_for_derivatives(), core::optimization::DOF_Node::torsion_id(), core::optimization::MinimizerMap::torsion_scale_factor(), torsional_derivative_from_cartesian_derivatives(), and core::optimization::MinimizerMap::zero_torsion_vectors().

Referenced by core::optimization::AtomTreeMultifunc::dfunc().

void core::optimization::atom_tree_get_atompairE_deriv ( pose::Pose &  pose,
MinimizerMap &  min_map,
scoring::ScoreFunction const &  scorefxn 
)
void core::optimization::cart_numerical_derivative_check ( CartesianMinimizerMap const &  min_map,
CartesianMultifunc const &  func,
Multivec const &  start_vars,
Multivec const &  dE_dvars,
NumericalDerivCheckResultOP  deriv_check_result,
bool const  verbose 
)
void core::optimization::cartesian_collect_atompairE_deriv ( pose::Pose pose,
CartesianMinimizerMap min_map,
scoring::ScoreFunction const &  scorefxn,
Multivec dE_dvars,
core::Real  scale 
)
void core::optimization::cartesian_collect_torsional_deriv ( pose::Pose pose,
CartesianMinimizerMap min_map,
core::scoring::ScoreFunction const &  scorefxn,
Multivec dE_dvars,
core::Real  scale 
)
void core::optimization::cartesian_dfunc ( pose::Pose pose,
CartesianMinimizerMap min_map,
scoring::ScoreFunction const &  scorefxn,
Multivec const &  vars,
Multivec dE_dvars 
)
bool core::optimization::cmp_particles ( ParticleOP  a,
ParticleOP  b 
)
bool core::optimization::DOF_Node_sorter ( DOF_NodeCOP  a,
DOF_NodeCOP  b 
)
void core::optimization::numerical_derivative_check ( MinimizerMap const &  min_map,
Multifunc const &  func,
Multivec const &  start_vars,
Multivec const &  dE_dvars,
NumericalDerivCheckResultOP  deriv_check_result,
bool const  verbose 
)
std::ostream & core::optimization::operator<< ( std::ostream &  os,
Particle const &  p 
)
SimpleDerivCheckResult core::optimization::simple_numeric_deriv_check ( Multifunc const &  func,
Multivec const &  start_vars,
Multivec const &  dE_dvars,
bool  send_to_stdout,
bool  verbose,
Size  nsteps 
)
void core::optimization::tors_deriv_to_cartesian ( Real  dE_dtor,
VectorQuad const &  coords,
VectorQuad dE_dxs 
)
Real core::optimization::torsional_derivative_from_cartesian_derivatives ( kinematics::tree::Atom const &  atom,
optimization::DOF_Node const &  dof_node,
Real  dof_deriv,
Real  torsion_scale_factor 
)
static bool core::optimization::yes_no_random ( Real  probability)
static

Variable Documentation

numeric::random::RandomGenerator core::optimization::RG(740)
static
basic::Tracer core::optimization::TR("core.optimization.GA_Minimizer")
static
basic::Tracer core::optimization::TR("core.optimization.NelderMeadSimplex")
static
basic::Tracer core::optimization::TR("core.optimization.Minimizer")
static
basic::Tracer core::optimization::TR("core.optimization.AtomTreeMinimizer")
static
basic::Tracer core::optimization::TR("core.optimization.CartesianMinimizer")
static
basic::Tracer core::optimization::TR("core.optimization")
static
basic::Tracer core::optimization::TR("core.optimization.LineMinimizer")
static
basic::Tracer core::optimization::TR("core.optimization")
static