Clipper
|
#include <resol_targetfn.h>
Public Member Functions | |
TargetFn_sigmaa_omegaa (const HKL_data< T > &eo, const HKL_data< T > &ec) | |
constructor: takes the datalist against which to calc target | |
Rderiv | rderiv (const HKL_info::HKL_reference_index &ih, const ftype &omegaa) const |
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 | |
Static Public Member Functions | |
static ftype | sigmaa (const ftype &omegaa) |
convert omegaa to sigmaa | |
Additional Inherited Members | |
![]() | |
enum | FNtype { GENERAL, QUADRATIC } |
enumeration of function types: optionally used to improve convergence | |
This class implements the target function for calculating sigma_a. Required is a datalist containing Eo, Ec.
It actually refines omegaa = sigmaa/(1-sigmaa^2). This has better proerties for refinement. To get sigmaa use
This is available as a static function:
This version simplifies terms in |Eo|^2 and |Ec|^2 which should average out to 1 if the normalisation scheme is consistent with the sigmaa calc.
Convergence is good for calculations using the 'binner' basis function, however the smooth basis function have convergence problems. This is still under investigation.