void CollapsedSampler::update(){//{{{ Sampler::update(); sampleTheta(); updateSums(); if((doLog)&&(save))appendFile(); }//}}}
void MCMCPkPg::sample( PkPgModel& model, PkPgResult& Result )//(SEXP dyn_eval, SEXP rho) { cIter = 0; //int tidx = 0; //int chain = 0; // Result.InitializeSummary( model ); int total_iter = nBURN + nTHIN * nSAMPLE; acceptTheta=zeros<mat>( model.N, total_iter ); for( cIter = 0; cIter < total_iter; cIter++ ){ //std::cout << "iteration: "<< cIter << std::endl; Rprintf("iteration: %d\n", cIter+1); //for( chain = 0; chain < NCHAIN; chain++ ){ //Rprintf("Update Omega theta\n"); sampleOtheta( model, Result ); if(flgSNP == 1){ //Rprintf("Update Omega SNP\n"); sampleOsnp( model, Result ); //Rprintf("Update Z\n"); sampleZ( model, Result ); //Rprintf("Update Beta Pg\n"); sampleBetaPg( model, Result ); //Rprintf("Update Rho\n"); sampleRho( model, Result ); } //Rprintf("Update Beta Pk\n"); sampleBetaPk( model, Result ); // update Z*Rho // SNPs --------------------------------------------------------------------- //Rprintf("Update means\n"); Result.update_mth( model ); // PK ----------------------------------------------------------------------- //Rprintf("Sample Sigma\n"); sampleSigma( model, Result ); //Rprintf("Update Fit\n"); update_fit( model, Result ); //Rprintf("Sample Theta\n"); sampleTheta( model, Result ); // make sure Result.mTheta is up to date //Rprintf("Update Theta Bar\n"); update_theta_bar( model, Result ); //Rprintf("Update Sigma Theta\n"); update_sigma_theta( model, Result ); // update_fit_parallel( model, Result ); //mcmc_Sth(); // RJ ----------------------------------------------------------------------- // // record if( ( cIter >= nBURN ) && ( ( cIter - nBURN ) % nTHIN == 0 ) ) { Result.SaveDraws( model ); } } Result.SaveFinal( model ); } // END MCMC_main ---------------------------------------------------------------------