「view this page in B3 βῆτα server」

Revisions №56832

branch: master 「№56832」
Commited by: phbradley
GitHub commit link: 「c29e74bb04516973」
Difference from previous tested commit:  code diff
Commit date: 2014-05-15 10:48:24

First commit of code to support a new symmetric minimization strategy, currently accessible via flag -new_sym_min In this approach, all dofs (including dependent ones) are added to the minimizer map, and derivatives are calculated for all dofs, but when we are actually filling out the derivatives vector to hand to the minimizer we sum the dependent dof derivatives into the derivatives of their independent "master" dofs. This approach obviates the need for the jump_clone_wts and for the derivative graph. Conceptually I think it's a bit simpler, and it doesn't actually depend on symmetry; all that it relies on is the fact that when you move the master dof the other dofs are moved in the same way. So the effective derivative for the master dof is just the directional derivative corresponding to the direction of motion in which we move all the dofs simultaneously. One problem is that it uses the function "make_assymetric_movemap" (sic) in order to make sure that dependent dofs are added to the minimizer map. I think this function may miss dofs that are set individually via MoveMap::set_dof rather than by set_bb, set_chi, set_jump, etc. So that should be probably be fixed. Use with caution, check the numerical derivs, and let me know if you see any problems. I haven't evaluated the performance costs of this approach, but I doubt that it is rate limiting in most applications. I only saw one integration test change, in ligand_dock_script. It looked like a numerical instability. Has anyone else seen unexpected changes in this test? I don't see how these symmetry-related and cmdline dependent changes could have affected it.

...