Commit 950dc55694af0a14b95e2990b1d707f154e1386d
1 parent
473731bc
Allocate optimizer upon construction.
Showing
1 changed file
with
11 additions
and
4 deletions
src/cterror/cterror.cpp
| @@ -232,9 +232,6 @@ void cterror::run(void) | @@ -232,9 +232,6 @@ void cterror::run(void) | ||
| 232 | log.header1("Compute best-fit likelihood"); | 232 | log.header1("Compute best-fit likelihood"); |
| 233 | } | 233 | } |
| 234 | 234 | ||
| 235 | - // Allocate optimizer | ||
| 236 | - m_opt = new GOptimizerLM(); | ||
| 237 | - | ||
| 238 | // Optimize and save best log-likelihood | 235 | // Optimize and save best log-likelihood |
| 239 | m_obs.optimize(*m_opt); | 236 | m_obs.optimize(*m_opt); |
| 240 | m_obs.errors(*m_opt); | 237 | m_obs.errors(*m_opt); |
| @@ -414,6 +411,16 @@ void cterror::init_members(void) | @@ -414,6 +411,16 @@ void cterror::init_members(void) | ||
| 414 | m_model_par = NULL; | 411 | m_model_par = NULL; |
| 415 | m_opt = NULL; | 412 | m_opt = NULL; |
| 416 | 413 | ||
| 414 | + // Allocate LM optimizer | ||
| 415 | + GOptimizerLM* opt = new GOptimizerLM(); | ||
| 416 | + | ||
| 417 | + // Set optimizer parameters | ||
| 418 | + opt->max_iter(m_max_iter); | ||
| 419 | + opt->max_stalls(10); | ||
| 420 | + | ||
| 421 | + // Set optimizer pointer | ||
| 422 | + m_opt = opt; | ||
| 423 | + | ||
| 417 | // Return | 424 | // Return |
| 418 | return; | 425 | return; |
| 419 | } | 426 | } |
| @@ -436,8 +443,8 @@ void cterror::copy_members(const cterror& app) | @@ -436,8 +443,8 @@ void cterror::copy_members(const cterror& app) | ||
| 436 | m_obs = app.m_obs; | 443 | m_obs = app.m_obs; |
| 437 | m_dlogL = app.m_dlogL; | 444 | m_dlogL = app.m_dlogL; |
| 438 | m_best_logL = app.m_best_logL; | 445 | m_best_logL = app.m_best_logL; |
| 446 | + m_opt = app.m_opt->clone(); | ||
| 439 | m_model_par = NULL; | 447 | m_model_par = NULL; |
| 440 | - m_opt = NULL; | ||
| 441 | 448 | ||
| 442 | // Return | 449 | // Return |
| 443 | return; | 450 | return; |