Clipper
|
abstract base class for least-squares resolution function target functions More...
#include <resol_fn.h>
Classes | |
class | Rderiv |
object holding the residual function and first two derivatives More... | |
Public Types | |
enum | FNtype { GENERAL, QUADRATIC } |
enumeration of function types: optionally used to improve convergence | |
Public Member Functions | |
virtual Rderiv | rderiv (const HKL_info::HKL_reference_index &ih, const ftype &fh) const =0 |
return the value and derivatives of the target function | |
virtual FNtype | type () const |
the type of the function: optionally used to improve convergence | |
virtual | ~TargetFn_base () |
destructor | |
void | debug (const HKL_info &hkl_info) const |
test that the residuals, gradients, and curvatures are consistent |
abstract base class for least-squares resolution function target functions
A target function must be able to return its value given the value of the basis function for all HKL, and its derivative with respect the values of the basis function for all HKL.
Optionally, performance can be improved by returning a flag to indicate if the target function is quadratic.
virtual Rderiv clipper::TargetFn_base::rderiv | ( | const HKL_info::HKL_reference_index & | ih, |
const ftype & | fh | ||
) | const [pure virtual] |
return the value and derivatives of the target function
If the value of f(h) is invalid, rderiv.r should be set to NaN
Implemented in clipper::TargetFn_meanFnth< T >, clipper::TargetFn_meanEnth< T >, clipper::TargetFn_scaleF1F2< T1, T2 >, clipper::TargetFn_scaleLogF1F2< T1, T2 >, clipper::TargetFn_scaleI1I2< T1, T2 >, clipper::TargetFn_scaleLogI1I2< T1, T2 >, clipper::TargetFn_scaleEsq< T >, clipper::TargetFn_sigmaa_omegaa< T >, and clipper::TargetFn_sigmaa< T >.
Referenced by clipper::ResolutionFn::calc_derivs(), debug(), and clipper::ResolutionFn_nonlinear::ResolutionFn_nonlinear().