Clipper
|
2nd order resolution function evaluator More...
#include <resol_fn.h>
Public Member Functions | |
ResolutionFn_nonlinear (const HKL_info &hkl_info, const BasisFn_base &basisfn, const TargetFn_base &targetfn, const std::vector< ftype > ¶ms, const ftype damp=0.0, const bool debug=false) | |
constructor: need reflections, basis fn and target fn. |
2nd order resolution function evaluator
This is an automatic evaluator for arbitrary functions of HKL, most commonly used for evaluating a function of resolution (such a mean F^2 or sigmaa), although more general tasks including local scaling of reflections and anisotropic functions can also be handled. This form is for target functions which approach zero quadratically, e.g. least-squares targets.
To evaluate a resolution function, this class must be provided with two objects:
clipper::ResolutionFn_nonlinear::ResolutionFn_nonlinear | ( | const HKL_info & | hkl_info, |
const BasisFn_base & | basisfn, | ||
const TargetFn_base & | targetfn, | ||
const std::vector< ftype > & | params, | ||
const ftype | damp = 0.0 , |
||
const bool | debug = false |
||
) |
constructor: need reflections, basis fn and target fn.
The constructor performs the full minimisation calculation.
hkl_info | HKL_info object which provides the reflection list. |
basisfn | The basis function used to describe the desired property. |
targetfn | The target function to be minimised. |
damp_ | If > 0.0, shifts are fdamped during early cycles to help convergence with difficult bases/target conbinations |
References clipper::ResolutionFn::basisfn_, clipper::ResolutionFn::calc_derivs(), clipper::HKL_info::cell(), clipper::ResolutionFn::cell_, clipper::HKL_class::epsilonc(), clipper::ResolutionFn::f(), clipper::HKL_info::first(), clipper::HKL_info::HKL_reference_index::hkl_class(), clipper::ResolutionFn::hkl_info_, clipper::Util::is_nan(), clipper::HKL_info::HKL_reference_index::last(), clipper::HKL_info::HKL_reference_index::next(), clipper::BasisFn_base::num_params(), clipper::ResolutionFn::params(), clipper::ResolutionFn::params_, clipper::TargetFn_base::rderiv(), clipper::Matrix< T >::solve(), and clipper::ResolutionFn::targetfn_.