But "the thing calling the restraint" is the model, which doesn't know
what the weights are.
Whoever we tell the weights to knows :-)
Are you suggesting that instead he should do:
model.evaluate(scale_factors=[1.0] * 999 + [0.1])
or model.set_weight(myrestraint_index, .5) or model.set_weight
or restraintset.set_weight(r, .5);
rather than passing the stdevs to the model. Of course, I am arguing
that a scale factor and a stdev should be treated similarly here.
The stddev is an attribute of a particular type of Restraint. As I
see it, weight is a transformation applied to the output of any
restraint. Similar to adding up the logs of the restraint values
instead of their their actual values.
Plus, this way we can reuse a restraint with different weights in
different places if we should so desire.
Surely the easiest way to do that is the put the restraint into two
different restraint sets, each with its own weight.
Sure. But that requires copying the object and keeping them
synchronized. Not that I see any particular application of this :-)