I've been following this from the sidelines with some interest! In terms of the point that a Gaussian with a zero sigma is a delta function, that is mathematically true but it would be asking a lot of programmers to take the limit of an integral in their evaluation code! Setting the sigma to an arbitrarily small number to simulate a constraint creates great potential numerical stability problems, because this makes both the first derivative (gradient) and second derivative (curvature) tend towards infinity. If you have an algorithm (like LBFGS) that infers the curvature from the behaviour of the gradient as parameters are varied, the algorithm typically can't cope with huge variations in curvature. Even if you're using a full second derivative matrix in Newton's method (which is rather uncommon in refinement programs), the matrix inversion step will become less numerically stable. So it seems that the best is to have sensible restraints for things that are allowed to vary and proper constraints for things that aren't allowed to vary. Whether or not you might choose to flag constraints by assigning zero sigmas is perhaps partly a matter of programming aesthetics, but it's much more obvious to the user that something very different will be done under the hood if the constraint flag is more explicit. Best wishes, Randy
On 28 Sep 2016, at 02:19, Takanori Nakane
wrote: Dear Pavel,
I have recently encountered a similar situation, where I took a CIF file for a ligand from the CCP4 monomer library and found planarity restraints are silently ignored in PHENIX. This is very confusing and dangerous.
with this logic you interpret the number and not use it. Follow this road you may end up with odd things, like let's treat 0 as "constraints", 0.1 as "strong restraints", 1.5 as "weak restraints", etc and in each case do something very different - I hope you get the idea.
The "zero sigma" limit of a Gaussian is an infinitely sharp probability distribution (= delta function). So I think the transition from restraints to constraints is not "odd" but quite natural both mathematically and semantically.
Anyway, if PHENIX does not want to treat 0 as constraints, I would prefer an error stop, not just a warning, because most people don't mean "ignore this record" by zero sigma.
Takanori Nakane _______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb Unsubscribe: [email protected]
------ Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: + 44 1223 336500 Wellcome Trust/MRC Building Fax: + 44 1223 336827 Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk