Mantid
|
#include <Workspaces.h>
Public Attributes | |
bool | calculate_svd_J = false |
double | eta_success_but_reduce = 1.0e-8 |
double | eta_successful = 1.0e-8 |
a potential iterate will only be accepted if the actual decrease f - f(x_new) is larger than .eta_successful times that predicted by a quadratic model of the decrease. More... | |
double | eta_too_successful = TWO |
double | eta_very_successful = POINT9 |
bool | exact_second_derivatives = false |
shall we use explicit second derivatives, or approximate using a secant method More... | |
double | hybrid_switch = 0.1 |
if model=7, then the value with which we switch on second derivatives More... | |
int | hybrid_switch_its = 1 |
how many successive iterations does the above condition need to hold before we switch? More... | |
double | hybrid_tol = 2.0 |
what's the tolerance such that ||J^T f || < tol * 0.5 ||f||^2 triggers a switch More... | |
double | initial_radius = HUNDRED |
if relative_tr_radius /= 1, then set the initial value for the trust-region radius (-ve => ||g_0||) More... | |
double | initial_radius_scale = 1.0 |
if relative_tr_radius == 1, then pick a scaling parameter Madsen, Nielsen and Tingleff say pick this to be 1e-6, say, if x_0 is good, otherwise 1e-3 or even 1 would be good starts... More... | |
int | lls_solver = 1 |
which linear least squares solver should we use? More... | |
double | maximum_radius = 1.0e8 |
maximum permitted trust-region radius More... | |
int | maxit = 100 |
the maximum number of iterations performed More... | |
int | model = 3 |
specify the model used. More... | |
int | more_sorensen_maxits = 500 |
M O R E - S O R E N S E N C O N T R O L S. More... | |
double | more_sorensen_shift = 1e-13 |
double | more_sorensen_tiny = 10.0 * std::numeric_limits<double>::epsilon() |
double | more_sorensen_tol = 1e-3 |
int | nlls_method = 4 |
specify the method used to solve the trust-region sub problem 1 Powell's dogleg 2 AINT method (of Yuji Nat.) 3 More-Sorensen 4 Galahad's DTRS More... | |
bool | output_progress_vectors = false |
Shall we output progess vectors at termination of the routine? More... | |
double | radius_increase = TWO |
on very successful iterations, the trust-region radius will be increased by the factor .radius_increase, while if the iteration is unsuccessful, the radius will be decreased by a factor .radius_reduce but no more than .radius_reduce_max More... | |
double | radius_reduce = HALF |
double | radius_reduce_max = SIXTEENTH |
int | relative_tr_radius = 0 |
should we scale the initial trust region radius? More... | |
int | scale = 1 |
scale the variables? 0 - no scaling 1 - use the scaling in GSL (W s.t. More... | |
double | scale_max = 1e11 |
double | scale_min = 1e-11 |
bool | scale_require_increase = false |
bool | scale_trim_max = true |
bool | scale_trim_min = true |
double | stop_g_absolute = TEN_M5 |
overall convergence tolerances. More... | |
double | stop_g_relative = TEN_M8 |
bool | subproblem_eig_fact = false |
use a factorization (dsyev) to find the smallest eigenvalue for the subproblem solve? (alternative is an iterative method (dsyevx) More... | |
int | tr_update_strategy = 1 |
Trust region update strategy 1 - usual step function 2 - continuous method of Hans Bruun Nielsen (IMM-REP-1999-05) More... | |
Definition at line 33 of file Workspaces.h.
bool Mantid::CurveFitting::NLLS::nlls_options::calculate_svd_J = false |
Definition at line 131 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::NLLS_workspace::initialize().
double Mantid::CurveFitting::NLLS::nlls_options::eta_success_but_reduce = 1.0e-8 |
Definition at line 89 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::updateTrustRegionRadius().
double Mantid::CurveFitting::NLLS::nlls_options::eta_successful = 1.0e-8 |
a potential iterate will only be accepted if the actual decrease f - f(x_new) is larger than .eta_successful times that predicted by a quadratic model of the decrease.
The trust-region radius will be increased if this relative decrease is greater than .eta_very_successful but smaller than .eta_too_successful
Definition at line 88 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::updateTrustRegionRadius().
double Mantid::CurveFitting::NLLS::nlls_options::eta_too_successful = TWO |
Definition at line 91 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::updateTrustRegionRadius().
double Mantid::CurveFitting::NLLS::nlls_options::eta_very_successful = POINT9 |
Definition at line 90 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::updateTrustRegionRadius().
bool Mantid::CurveFitting::NLLS::nlls_options::exact_second_derivatives = false |
shall we use explicit second derivatives, or approximate using a secant method
Definition at line 113 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::NLLS_workspace::initialize().
double Mantid::CurveFitting::NLLS::nlls_options::hybrid_switch = 0.1 |
if model=7, then the value with which we switch on second derivatives
Definition at line 109 of file Workspaces.h.
int Mantid::CurveFitting::NLLS::nlls_options::hybrid_switch_its = 1 |
how many successive iterations does the above condition need to hold before we switch?
Definition at line 147 of file Workspaces.h.
double Mantid::CurveFitting::NLLS::nlls_options::hybrid_tol = 2.0 |
what's the tolerance such that ||J^T f || < tol * 0.5 ||f||^2 triggers a switch
Definition at line 143 of file Workspaces.h.
double Mantid::CurveFitting::NLLS::nlls_options::initial_radius = HUNDRED |
if relative_tr_radius /= 1, then set the initial value for the trust-region radius (-ve => ||g_0||)
Definition at line 77 of file Workspaces.h.
Referenced by Mantid::CurveFitting::FuncMinimisers::TrustRegionMinimizer::initialize().
double Mantid::CurveFitting::NLLS::nlls_options::initial_radius_scale = 1.0 |
if relative_tr_radius == 1, then pick a scaling parameter Madsen, Nielsen and Tingleff say pick this to be 1e-6, say, if x_0 is good, otherwise 1e-3 or even 1 would be good starts...
Definition at line 73 of file Workspaces.h.
int Mantid::CurveFitting::NLLS::nlls_options::lls_solver = 1 |
which linear least squares solver should we use?
Definition at line 56 of file Workspaces.h.
double Mantid::CurveFitting::NLLS::nlls_options::maximum_radius = 1.0e8 |
maximum permitted trust-region radius
Definition at line 80 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::updateTrustRegionRadius().
int Mantid::CurveFitting::NLLS::nlls_options::maxit = 100 |
the maximum number of iterations performed
Definition at line 38 of file Workspaces.h.
Referenced by Mantid::CurveFitting::FuncMinimisers::TrustRegionMinimizer::initialize(), and Mantid::CurveFitting::NLLS::NLLS_workspace::initialize().
int Mantid::CurveFitting::NLLS::nlls_options::model = 3 |
specify the model used.
Possible values are
0 dynamic (not yet implemented) 1 Gauss-Newton (no 2nd derivatives) 2 second-order (exact Hessian) 3 hybrid (using Madsen, Nielsen and Tingleff's method)
Definition at line 46 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::evaluateModel(), and Mantid::CurveFitting::NLLS::NLLS_workspace::initialize().
int Mantid::CurveFitting::NLLS::nlls_options::more_sorensen_maxits = 500 |
M O R E - S O R E N S E N C O N T R O L S.
Definition at line 134 of file Workspaces.h.
double Mantid::CurveFitting::NLLS::nlls_options::more_sorensen_shift = 1e-13 |
Definition at line 135 of file Workspaces.h.
double Mantid::CurveFitting::NLLS::nlls_options::more_sorensen_tiny = 10.0 * std::numeric_limits<double>::epsilon() |
Definition at line 136 of file Workspaces.h.
double Mantid::CurveFitting::NLLS::nlls_options::more_sorensen_tol = 1e-3 |
Definition at line 137 of file Workspaces.h.
int Mantid::CurveFitting::NLLS::nlls_options::nlls_method = 4 |
specify the method used to solve the trust-region sub problem 1 Powell's dogleg 2 AINT method (of Yuji Nat.) 3 More-Sorensen 4 Galahad's DTRS
Definition at line 53 of file Workspaces.h.
bool Mantid::CurveFitting::NLLS::nlls_options::output_progress_vectors = false |
Shall we output progess vectors at termination of the routine?
Definition at line 152 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::NLLS_workspace::initialize().
double Mantid::CurveFitting::NLLS::nlls_options::radius_increase = TWO |
on very successful iterations, the trust-region radius will be increased by the factor .radius_increase, while if the iteration is unsuccessful, the radius will be decreased by a factor .radius_reduce but no more than .radius_reduce_max
Definition at line 99 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::NLLS_workspace::initialize(), and Mantid::CurveFitting::NLLS::updateTrustRegionRadius().
double Mantid::CurveFitting::NLLS::nlls_options::radius_reduce = HALF |
Definition at line 100 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::updateTrustRegionRadius().
double Mantid::CurveFitting::NLLS::nlls_options::radius_reduce_max = SIXTEENTH |
Definition at line 101 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::updateTrustRegionRadius().
int Mantid::CurveFitting::NLLS::nlls_options::relative_tr_radius = 0 |
should we scale the initial trust region radius?
Definition at line 67 of file Workspaces.h.
int Mantid::CurveFitting::NLLS::nlls_options::scale = 1 |
scale the variables? 0 - no scaling 1 - use the scaling in GSL (W s.t.
W_ii = ||J(i,:)||_2^2) tiny values get set to one 2 - scale using the approx to the Hessian (W s.t. W = ||H(i,:)||_2^2
Definition at line 125 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::applyScaling(), and Mantid::CurveFitting::FuncMinimisers::TrustRegionMinimizer::calculateStep().
double Mantid::CurveFitting::NLLS::nlls_options::scale_max = 1e11 |
Definition at line 126 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::applyScaling().
double Mantid::CurveFitting::NLLS::nlls_options::scale_min = 1e-11 |
Definition at line 127 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::applyScaling().
bool Mantid::CurveFitting::NLLS::nlls_options::scale_require_increase = false |
Definition at line 130 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::applyScaling().
bool Mantid::CurveFitting::NLLS::nlls_options::scale_trim_max = true |
Definition at line 129 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::applyScaling().
bool Mantid::CurveFitting::NLLS::nlls_options::scale_trim_min = true |
Definition at line 128 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::applyScaling().
double Mantid::CurveFitting::NLLS::nlls_options::stop_g_absolute = TEN_M5 |
overall convergence tolerances.
The iteration will terminate when the norm of the gradient of the objective function is smaller than MAX( .stop_g_absolute, .stop_g_relative * norm of the initial gradient or if the step is less than .stop_s
Definition at line 63 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::testConvergence().
double Mantid::CurveFitting::NLLS::nlls_options::stop_g_relative = TEN_M8 |
Definition at line 64 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::testConvergence().
bool Mantid::CurveFitting::NLLS::nlls_options::subproblem_eig_fact = false |
use a factorization (dsyev) to find the smallest eigenvalue for the subproblem solve? (alternative is an iterative method (dsyevx)
Definition at line 118 of file Workspaces.h.
int Mantid::CurveFitting::NLLS::nlls_options::tr_update_strategy = 1 |
Trust region update strategy 1 - usual step function 2 - continuous method of Hans Bruun Nielsen (IMM-REP-1999-05)
Definition at line 106 of file Workspaces.h.
Referenced by Mantid::CurveFitting::NLLS::updateTrustRegionRadius().