Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Classes | Typedefs | Functions
core::optimization Namespace Reference

Namespaces

 symmetry
 

Classes

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

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

static basic::Tracer TR ("core.optimization")
 
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)
 
static basic::Tracer TR ("core.optimization")
 
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 basic::Tracer TR ("core.optimization.GA_Minimizer")
 
static
numeric::random::RandomGenerator 
RG (740)
 
static bool yes_no_random (Real probability)
 Return true with given probability. More...
 
static basic::Tracer TR ("core.optimization.LineMinimizer")
 
static basic::Tracer TR ("core.optimization.LineMinimizer")
 
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)
 

Typedef Documentation

Definition at line 27 of file AtomTreeMinimizer.fwd.hh.

Definition at line 25 of file AtomTreeMinimizer.fwd.hh.

Definition at line 27 of file CartesianMinimizer.fwd.hh.

Definition at line 27 of file CartesianMinimizerMap.fwd.hh.

Definition at line 24 of file CartesianMinimizerMap.fwd.hh.

Definition at line 25 of file CartesianMinimizer.fwd.hh.

Definition at line 25 of file DOF_Node.fwd.hh.

Definition at line 23 of file DOF_Node.fwd.hh.

Definition at line 29 of file LineMinimizer.fwd.hh.

Definition at line 26 of file LineMinimizer.fwd.hh.

Definition at line 27 of file MinimizerMap.fwd.hh.

Definition at line 24 of file MinimizerMap.fwd.hh.

Definition at line 29 of file MinimizerOptions.fwd.hh.

Definition at line 26 of file MinimizerOptions.fwd.hh.

Definition at line 25 of file Multifunc.fwd.hh.

Definition at line 23 of file Multifunc.fwd.hh.

Definition at line 37 of file types.hh.

Definition at line 33 of file NumericalDerivCheckResult.fwd.hh.

Definition at line 32 of file NumericalDerivCheckResult.fwd.hh.

Definition at line 36 of file NumericalDerivCheckResult.fwd.hh.

Definition at line 35 of file NumericalDerivCheckResult.fwd.hh.

Definition at line 31 of file ParticleSwarmMinimizer.fwd.hh.

Definition at line 29 of file ParticleSwarmMinimizer.fwd.hh.

Definition at line 32 of file ParticleSwarmMinimizer.fwd.hh.

Definition at line 36 of file ParticleSwarmMinimizer.fwd.hh.

Definition at line 34 of file ParticleSwarmMinimizer.fwd.hh.

Definition at line 30 of file NumericalDerivCheckResult.fwd.hh.

Definition at line 26 of file NumericalDerivCheckResult.fwd.hh.

Definition at line 39 of file cartesian_minimize.hh.

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

Definition at line 124 of file atom_tree_minimize.cc.

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 
)

Definition at line 275 of file MinimizerMap.cc.

References protocols::match::upstream::b.

Referenced by core::optimization::MinimizerMap::setup().

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 
)
static numeric::random::RandomGenerator core::optimization::RG ( 740  )
static
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 basic::Tracer core::optimization::TR ( "core.optimization.GA_Minimizer"  )
static
static basic::Tracer core::optimization::TR ( "core.optimization.LineMinimizer"  )
static
static basic::Tracer core::optimization::TR ( "core.optimization"  )
static
static basic::Tracer core::optimization::TR ( "core.optimization.LineMinimizer"  )
static
static basic::Tracer core::optimization::TR ( "core.optimization"  )
static
static bool core::optimization::yes_no_random ( Real  probability)
static

Return true with given probability.

Definition at line 38 of file GA_Minimizer.cc.

References RG().

Referenced by core::optimization::GA_Minimizer::cross_over(), core::optimization::GA_Minimizer::mutate(), and core::optimization::GA_Minimizer::step().