APEMoST

src/mcmc_gettersetter.h

Go to the documentation of this file.
00001 /*
00002     APEMoST - Automated Parameter Estimation and Model Selection Toolkit
00003     Copyright (C) 2009  Johannes Buchner
00004 
00005     This program is free software: you can redistribute it and/or modify
00006     it under the terms of the GNU General Public License as published by
00007     the Free Software Foundation, either version 3 of the License, or
00008     (at your option) any later version.
00009 
00010     This program is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013     GNU General Public License for more details.
00014 
00015     You should have received a copy of the GNU General Public License
00016     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00017  */
00018 
00019 #ifndef MCMC_GETTERSETTER_H_
00020 #define MCMC_GETTERSETTER_H_
00021 
00022 #include "mcmc.h"
00023 
00024 /* getter + setter */
00025 const char ** get_params_descr(const mcmc * m);
00026 unsigned long get_params_accepts_global(const mcmc * m);
00027 unsigned long get_params_rejects_global(const mcmc * m);
00028 unsigned long get_params_accepts_sum(const mcmc * m);
00029 unsigned long get_params_rejects_sum(const mcmc * m);
00030 gsl_vector * get_accept_rate(const mcmc * m);
00031 double get_accept_rate_for(const mcmc * m, const unsigned int i);
00032 double get_accept_rate_global(const mcmc * m);
00033 unsigned long get_params_accepts_for(const mcmc * m, const unsigned int i);
00034 unsigned long get_params_rejects_for(const mcmc * m, const unsigned int i);
00035 gsl_vector * get_params(const mcmc * m);
00036 double get_params_for(const mcmc * m, const unsigned int i);
00037 gsl_vector * get_params_min(const mcmc * m);
00038 double get_params_min_for(const mcmc * m, const unsigned int i);
00039 gsl_vector * get_params_max(const mcmc * m);
00040 double get_params_max_for(const mcmc * m, const unsigned int i);
00041 gsl_vector * get_params_best(const mcmc * m);
00042 double get_params_best_for(const mcmc * m, const unsigned int i);
00043 #ifdef N_PARAMETERS
00044 #define get_n_par(m) N_PARAMETERS
00045 #else
00046 unsigned int get_n_par(const mcmc * m);
00047 #endif
00048 gsl_rng * get_random(const mcmc * m);
00049 double get_prob(const mcmc * m);
00050 double get_prior(const mcmc * m);
00051 double get_prob_best(const mcmc * m);
00052 gsl_vector * get_steps(const mcmc * m);
00053 double get_steps_for(const mcmc * m, const unsigned int i);
00054 double get_steps_for_normalized(const mcmc * m, const unsigned int i);
00055 
00056 
00057 void set_prob(mcmc * m, const double new_prob);
00058 void set_prob_best(mcmc * m, const double new_prob_best);
00059 void set_minmax_for(mcmc * m, const double new_min, const double new_max,
00060                 const unsigned int i);
00061 void set_model(mcmc * m, gsl_vector * new_model);
00062 void set_n_par(mcmc * m, const int new_n_par);
00063 void set_params_best(mcmc * m, const gsl_vector * new_params_best);
00064 void set_params_for(mcmc * m, const double new_param, const unsigned int i);
00065 void set_params(mcmc * m, gsl_vector * new_params);
00066 void set_params_descr_all(mcmc * m, const char ** new_par_descr);
00067 void set_params_descr_for(mcmc * m, const char * new_par_descr,
00068                 const unsigned int i);
00069 void set_random(mcmc * m, gsl_rng * newrandom);
00070 void set_prob(mcmc * m, const double new_prob);
00071 void set_prior(mcmc * m, const double new_prior);
00072 void set_data(mcmc * m, const gsl_matrix * new_data);
00073 void set_steps_for(mcmc * m, const double new_steps, const unsigned int i);
00074 void set_steps_for_normalized(mcmc * m, const double new_step,
00075                 const unsigned int i);
00076 void set_steps_all(mcmc * m, const double * new_steps);
00077 void set_params_accepts_for(mcmc * m, const long new_params_accept,
00078                 const unsigned int i);
00079 void set_params_rejects_for(mcmc * m, const long new_params_reject,
00080                 const unsigned int i);
00081 
00082 void inc_params_accepts_for(mcmc * m, const unsigned int i);
00083 void inc_params_rejects_for(mcmc * m, const unsigned int i);
00084 void inc_params_accepts(mcmc * m);
00085 void inc_params_rejects(mcmc * m);
00089 void reset_accept_rejects(mcmc * m);
00090 
00091 
00095 double get_next_uniform_random(const mcmc * m);
00099 double get_next_uniform_plusminus_random(const mcmc * m);
00100 
00104 double get_next_alog_urandom(const mcmc * m);
00105 
00109 double get_next_random_jump(const mcmc * m, const double sigma);
00110 
00111 #endif /* MCMC_GETTERSETTER_H_ */