Revision 63d8a43408637eef9a81e05ffd7e6ff3afa51947 authored by Robert B. Gramacy on 20 September 2006, 00:00:00 UTC, committed by Gabor Csardi on 20 September 2006, 00:00:00 UTC
1 parent 622e02d
Raw File
all_draws.h
/******************************************************************************** 
 *
 * Bayesian Regression and Adaptive Sampling with Gaussian Process Trees
 * Copyright (C) 2005, University of California
 * 
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * 
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * Questions? Contact Robert B. Gramacy (rbgramacy@ams.ucsc.edu)
 *
 ********************************************************************************/


#ifndef __ALL_DRAWS_H__
#define __ALL_DRAWS_H__ 

unsigned int beta_draw_margin(double *b, unsigned int col, double **Vb, double *bmu, 
			      double s2, void *state);
void beta_draw_noK(double* b, unsigned int n, unsigned int col, double **F, double *Z, 
		   double s2, double **Ti, double tau2, double *b0, double nug,
		   void *state);
double sigma2_draw_no_b_margin(unsigned int n, unsigned int col, double lambda, 
			       double alpha0, double beta0, void *state);
double sigma2_draw_no_b_noK(unsigned int n, unsigned int col, double **F, double *Z, 
			    double **Ti, double tau2, double *b0, double alpha0, 
			    double beta0, void *state);
double compute_lambda_noK(double** Vb, double*b, unsigned int n, unsigned int col, 
			  double **F, double *Z, double **Ti, double tau2, double *b0, 
			  double nug);
double compute_lambda(double** Vb, double*b, unsigned int n, unsigned int col, 
		      double **F, double *Z, double **Ki, double **Ti, double tau2,
		      double *b0);
void Ti_draw(double **Ti, unsigned int col, unsigned int ch, double **b, double **bmle, 
	     double *b0, unsigned int rho, double **V, double *s2, double *tau2, 
	     void *state);
void b0_draw(double *b0, unsigned int col, unsigned int ch, double **b, double *s2, 
		double **Ti, double *tau2, double *mu, double **Ci, void *state);
double gamma_mixture_pdf(double d, double *alpha, double *beta);
double log_d_prior_pdf(double d, double *alpha, double *beta);
double d_prior_rand(double *alpha, double *beta, void *state);
double log_nug_prior_pdf(double nug, double *alpha, double *beta);
double nug_prior_rand(double *alpha, double *beta, void *state);
double gamma_mixture_rand(double *alpha, double *beta, void *state);
void mixture_priors_draw(double *alpha, double *beta, double *d, unsigned int n, 
			 double *alpha_lambda, double *beta_lambda, void *state);
void d_proposal(unsigned int n, int *p, double *d, double *dold, double *q_fwd, 
		double *q_bak, void *state);
double unif_propose_pos(double last, double *q_fwd, double *q_bak, void *state);
double nug_draw(double last, double *q_fwd, double *q_bak, void *state);
double mixture_priors_ratio(double *alpha_new, double* alpha, double *beta_new, 
			    double *beta, double *d, unsigned int n, 
			    double *alpha_lambda, double *beta_lambda);
int d_draw_margin(unsigned int n, unsigned int col, double d, double dlast, double **F, 
		  double *Z, double **DIST, double log_det_K, double lambda, double **Vb, 
		  double **K_new, double **Ki_new, double **Kchol_new, 
		  double *log_det_K_new, double *lambda_new, double **VB_new, 
		  double *bmu_new, double *b0, double **Ti, double **T, double tau2, 
		  double nug, double pRatio, double *d_alpha, double *d_beta, double a0,
		  double g0, int lin, void *state);
int d_sep_draw_margin(double *d, unsigned int n, unsigned int col, double **F, 
		      double **X, double *Z, double log_det_K, double lambda, 
		      double **Vb, double **K_new, double **Ki_new, double **Kchol_new,
		      double *log_det_K_new, double *lambda_new, double **VB_new, 
		      double *bmu_new, double *b0, double **Ti, double **T, double tau2, 
		      double nug, double qRatio, double pRatio_log, double a0, double g0,
		      int lin, void *state);
int matern_d_draw_margin(unsigned int n, unsigned int col, double d, double dlast, 
			 double **F, double *Z, double **DIST, double log_det_K, 
			 double lambda, double **Vb, double **K_new, double **Ki_new, 
			 double **Kchol_new, double *log_det_K_new, double *lambda_new, 
			 double **VB_new, double *bmu_new, double *b0, double **Ti, 
			 double **T, double tau2, double nug, double nu, double *bk, 
			 long nb, double pRatio, double *d_alpha, double *d_beta, 
			 double a0, double g0, int lin, void *state);
double nug_draw_margin(unsigned int n, unsigned int col, double nuglast, double **F, 
		       double *Z, double **K, double log_det_K, double lambda, 
		       double **Vb, double **K_new, double **Ki_new, double **Kchol_new, 
		       double *log_det_K_new, double *lambda_new, double **VB_new, 
		       double *bmu_new, double *b0, double **Ti, double **T, double tau2, 
		       double *nug_alpha, double *nug_beta, double a0, double g0, 
		       int linear, void *state);
double* mr_nug_draw_margin(unsigned int n, unsigned int col, double nug, double nugfine, 
			   double **X, double **F, double *Z, double **K, 
			   double log_det_K, double lambda, double **Vb, double **K_new, 
			   double **Ki_new, double **Kchol_new, double *log_det_K_new, 
			   double *lambda_new, double **VB_new, double *bmu_new, 
			   double *b0, double **Ti, double **T, double tau2, 
			   double *nug_alpha, double *nug_beta,	double *nugf_alpha, 
			   double *nugf_beta, double r, double delta, double a0, 
			   double g0, int linear, void *state);
void sigma2_prior_draw(double *a0, double *g0, double *s2, unsigned int n, 
		       double a0_lambda, double g0_lambda, void *state);
double tau2_draw(unsigned int col, double **Ti, double s2, double *b, double *b0, 
		 double alpha0, double beta0, void *state);
double linear_pdf(double *d, unsigned int n, double *gamlin);
double linear_pdf_sep(double *pb, double *d, unsigned int n, double *gamlin);
int linear_rand(double *d, unsigned int n, double *gamlin, void *state);
int linear_rand_sep(int *b, double *pb, double *d, unsigned int n, double *gamlin, 
		    void *state);
void mle_beta(double *mle, unsigned int n, unsigned int col, double **F, double *Z);
double mixture_hier_prior_log(double *alpha, double *beta, double *beta_lambda,
			      double *alpha_lambda);
double hier_prior_log(double alpha, double beta, double beta_lambda,
		      double alpha_lambda);
#endif
back to top