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

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 
)
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