From 49c06a8f943ab79d6aa9883420c2e0cf3539f0ca Mon Sep 17 00:00:00 2001 From: adamwang15 Date: Thu, 18 Jul 2024 23:39:57 +1000 Subject: [PATCH] remove VB and starting values #31 --- R/estimate.R | 5 ++--- inst/include/bsvarSIGNs_RcppExports.h | 16 +++++++------- src/RcppExports.cpp | 31 ++++++++++++--------------- src/bsvars_sign.cpp | 15 ++++--------- src/bsvars_sign.h | 2 -- src/sample_Q.cpp | 1 - src/sample_Q.h | 1 - 7 files changed, 28 insertions(+), 43 deletions(-) diff --git a/R/estimate.R b/R/estimate.R index ada6003..298c8cb 100644 --- a/R/estimate.R +++ b/R/estimate.R @@ -97,7 +97,6 @@ estimate.BSVARSIGN = function(specification, S, thin = 1, show_progress = TRUE) # get the inputs to estimation # prior = specification$last_draw$prior$get_prior() prior = specification$prior$get_prior() - starting_values = specification$starting_values$get_starting_values() identification = specification$identification$get_identification() max_tries = identification$max_tries data_matrices = specification$data_matrices$get_data_matrices() @@ -136,8 +135,8 @@ estimate.BSVARSIGN = function(specification, S, thin = 1, show_progress = TRUE) # estimation qqq = .Call(`_bsvarSIGNs_bsvar_sign_cpp`, S, p, Y, X, - identification$VB, sign, narrative, rel, Z, prior, - starting_values, show_progress, thin, max_tries) + sign, narrative, rel, Z, prior, + show_progress, thin, max_tries) specification$starting_values$set_starting_values(qqq$last_draw) output = specify_posterior_bsvarSIGN$new(specification, qqq$posterior) diff --git a/inst/include/bsvarSIGNs_RcppExports.h b/inst/include/bsvarSIGNs_RcppExports.h index df328bc..e99db65 100644 --- a/inst/include/bsvarSIGNs_RcppExports.h +++ b/inst/include/bsvarSIGNs_RcppExports.h @@ -25,17 +25,17 @@ namespace bsvarSIGNs { } } - inline Rcpp::List bsvar_sign_cpp(const int& S, const int& p, const arma::mat& Y, const arma::mat& X, const arma::field& VB, const arma::cube& sign_irf, const arma::mat& sign_narrative, const arma::mat& sign_B, const arma::field& Z, const Rcpp::List& prior, const Rcpp::List& starting_values, const bool show_progress = true, const int thin = 100, const int& max_tries = 10000) { - typedef SEXP(*Ptr_bsvar_sign_cpp)(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP); + inline Rcpp::List bsvar_sign_cpp(const int& S, const int& p, const arma::mat& Y, const arma::mat& X, const arma::cube& sign_irf, const arma::mat& sign_narrative, const arma::mat& sign_B, const arma::field& Z, const Rcpp::List& prior, const bool show_progress = true, const int thin = 100, const int& max_tries = 10000) { + typedef SEXP(*Ptr_bsvar_sign_cpp)(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP); static Ptr_bsvar_sign_cpp p_bsvar_sign_cpp = NULL; if (p_bsvar_sign_cpp == NULL) { - validateSignature("Rcpp::List(*bsvar_sign_cpp)(const int&,const int&,const arma::mat&,const arma::mat&,const arma::field&,const arma::cube&,const arma::mat&,const arma::mat&,const arma::field&,const Rcpp::List&,const Rcpp::List&,const bool,const int,const int&)"); + validateSignature("Rcpp::List(*bsvar_sign_cpp)(const int&,const int&,const arma::mat&,const arma::mat&,const arma::cube&,const arma::mat&,const arma::mat&,const arma::field&,const Rcpp::List&,const bool,const int,const int&)"); p_bsvar_sign_cpp = (Ptr_bsvar_sign_cpp)R_GetCCallable("bsvarSIGNs", "_bsvarSIGNs_bsvar_sign_cpp"); } RObject rcpp_result_gen; { RNGScope RCPP_rngScope_gen; - rcpp_result_gen = p_bsvar_sign_cpp(Shield(Rcpp::wrap(S)), Shield(Rcpp::wrap(p)), Shield(Rcpp::wrap(Y)), Shield(Rcpp::wrap(X)), Shield(Rcpp::wrap(VB)), Shield(Rcpp::wrap(sign_irf)), Shield(Rcpp::wrap(sign_narrative)), Shield(Rcpp::wrap(sign_B)), Shield(Rcpp::wrap(Z)), Shield(Rcpp::wrap(prior)), Shield(Rcpp::wrap(starting_values)), Shield(Rcpp::wrap(show_progress)), Shield(Rcpp::wrap(thin)), Shield(Rcpp::wrap(max_tries))); + rcpp_result_gen = p_bsvar_sign_cpp(Shield(Rcpp::wrap(S)), Shield(Rcpp::wrap(p)), Shield(Rcpp::wrap(Y)), Shield(Rcpp::wrap(X)), Shield(Rcpp::wrap(sign_irf)), Shield(Rcpp::wrap(sign_narrative)), Shield(Rcpp::wrap(sign_B)), Shield(Rcpp::wrap(Z)), Shield(Rcpp::wrap(prior)), Shield(Rcpp::wrap(show_progress)), Shield(Rcpp::wrap(thin)), Shield(Rcpp::wrap(max_tries))); } if (rcpp_result_gen.inherits("interrupted-error")) throw Rcpp::internal::InterruptedException(); @@ -424,17 +424,17 @@ namespace bsvarSIGNs { return Rcpp::as(rcpp_result_gen); } - inline arma::field sample_Q(const int& p, const arma::mat& Y, const arma::mat& X, arma::mat& B, arma::mat& h_invp, arma::mat& chol_Sigma, const Rcpp::List& prior, const arma::field& VB, const arma::cube& sign_irf, const arma::mat& sign_narrative, const arma::mat& sign_B, const arma::field& Z, const int& max_tries) { - typedef SEXP(*Ptr_sample_Q)(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP); + inline arma::field sample_Q(const int& p, const arma::mat& Y, const arma::mat& X, arma::mat& B, arma::mat& h_invp, arma::mat& chol_Sigma, const Rcpp::List& prior, const arma::cube& sign_irf, const arma::mat& sign_narrative, const arma::mat& sign_B, const arma::field& Z, const int& max_tries) { + typedef SEXP(*Ptr_sample_Q)(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP); static Ptr_sample_Q p_sample_Q = NULL; if (p_sample_Q == NULL) { - validateSignature("arma::field(*sample_Q)(const int&,const arma::mat&,const arma::mat&,arma::mat&,arma::mat&,arma::mat&,const Rcpp::List&,const arma::field&,const arma::cube&,const arma::mat&,const arma::mat&,const arma::field&,const int&)"); + validateSignature("arma::field(*sample_Q)(const int&,const arma::mat&,const arma::mat&,arma::mat&,arma::mat&,arma::mat&,const Rcpp::List&,const arma::cube&,const arma::mat&,const arma::mat&,const arma::field&,const int&)"); p_sample_Q = (Ptr_sample_Q)R_GetCCallable("bsvarSIGNs", "_bsvarSIGNs_sample_Q"); } RObject rcpp_result_gen; { RNGScope RCPP_rngScope_gen; - rcpp_result_gen = p_sample_Q(Shield(Rcpp::wrap(p)), Shield(Rcpp::wrap(Y)), Shield(Rcpp::wrap(X)), Shield(Rcpp::wrap(B)), Shield(Rcpp::wrap(h_invp)), Shield(Rcpp::wrap(chol_Sigma)), Shield(Rcpp::wrap(prior)), Shield(Rcpp::wrap(VB)), Shield(Rcpp::wrap(sign_irf)), Shield(Rcpp::wrap(sign_narrative)), Shield(Rcpp::wrap(sign_B)), Shield(Rcpp::wrap(Z)), Shield(Rcpp::wrap(max_tries))); + rcpp_result_gen = p_sample_Q(Shield(Rcpp::wrap(p)), Shield(Rcpp::wrap(Y)), Shield(Rcpp::wrap(X)), Shield(Rcpp::wrap(B)), Shield(Rcpp::wrap(h_invp)), Shield(Rcpp::wrap(chol_Sigma)), Shield(Rcpp::wrap(prior)), Shield(Rcpp::wrap(sign_irf)), Shield(Rcpp::wrap(sign_narrative)), Shield(Rcpp::wrap(sign_B)), Shield(Rcpp::wrap(Z)), Shield(Rcpp::wrap(max_tries))); } if (rcpp_result_gen.inherits("interrupted-error")) throw Rcpp::internal::InterruptedException(); diff --git a/src/RcppExports.cpp b/src/RcppExports.cpp index 20e8d9e..12d3c87 100644 --- a/src/RcppExports.cpp +++ b/src/RcppExports.cpp @@ -15,33 +15,31 @@ Rcpp::Rostream& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get(); #endif // bsvar_sign_cpp -Rcpp::List bsvar_sign_cpp(const int& S, const int& p, const arma::mat& Y, const arma::mat& X, const arma::field& VB, const arma::cube& sign_irf, const arma::mat& sign_narrative, const arma::mat& sign_B, const arma::field& Z, const Rcpp::List& prior, const Rcpp::List& starting_values, const bool show_progress, const int thin, const int& max_tries); -static SEXP _bsvarSIGNs_bsvar_sign_cpp_try(SEXP SSEXP, SEXP pSEXP, SEXP YSEXP, SEXP XSEXP, SEXP VBSEXP, SEXP sign_irfSEXP, SEXP sign_narrativeSEXP, SEXP sign_BSEXP, SEXP ZSEXP, SEXP priorSEXP, SEXP starting_valuesSEXP, SEXP show_progressSEXP, SEXP thinSEXP, SEXP max_triesSEXP) { +Rcpp::List bsvar_sign_cpp(const int& S, const int& p, const arma::mat& Y, const arma::mat& X, const arma::cube& sign_irf, const arma::mat& sign_narrative, const arma::mat& sign_B, const arma::field& Z, const Rcpp::List& prior, const bool show_progress, const int thin, const int& max_tries); +static SEXP _bsvarSIGNs_bsvar_sign_cpp_try(SEXP SSEXP, SEXP pSEXP, SEXP YSEXP, SEXP XSEXP, SEXP sign_irfSEXP, SEXP sign_narrativeSEXP, SEXP sign_BSEXP, SEXP ZSEXP, SEXP priorSEXP, SEXP show_progressSEXP, SEXP thinSEXP, SEXP max_triesSEXP) { BEGIN_RCPP Rcpp::RObject rcpp_result_gen; Rcpp::traits::input_parameter< const int& >::type S(SSEXP); Rcpp::traits::input_parameter< const int& >::type p(pSEXP); Rcpp::traits::input_parameter< const arma::mat& >::type Y(YSEXP); Rcpp::traits::input_parameter< const arma::mat& >::type X(XSEXP); - Rcpp::traits::input_parameter< const arma::field& >::type VB(VBSEXP); Rcpp::traits::input_parameter< const arma::cube& >::type sign_irf(sign_irfSEXP); Rcpp::traits::input_parameter< const arma::mat& >::type sign_narrative(sign_narrativeSEXP); Rcpp::traits::input_parameter< const arma::mat& >::type sign_B(sign_BSEXP); Rcpp::traits::input_parameter< const arma::field& >::type Z(ZSEXP); Rcpp::traits::input_parameter< const Rcpp::List& >::type prior(priorSEXP); - Rcpp::traits::input_parameter< const Rcpp::List& >::type starting_values(starting_valuesSEXP); Rcpp::traits::input_parameter< const bool >::type show_progress(show_progressSEXP); Rcpp::traits::input_parameter< const int >::type thin(thinSEXP); Rcpp::traits::input_parameter< const int& >::type max_tries(max_triesSEXP); - rcpp_result_gen = Rcpp::wrap(bsvar_sign_cpp(S, p, Y, X, VB, sign_irf, sign_narrative, sign_B, Z, prior, starting_values, show_progress, thin, max_tries)); + rcpp_result_gen = Rcpp::wrap(bsvar_sign_cpp(S, p, Y, X, sign_irf, sign_narrative, sign_B, Z, prior, show_progress, thin, max_tries)); return rcpp_result_gen; END_RCPP_RETURN_ERROR } -RcppExport SEXP _bsvarSIGNs_bsvar_sign_cpp(SEXP SSEXP, SEXP pSEXP, SEXP YSEXP, SEXP XSEXP, SEXP VBSEXP, SEXP sign_irfSEXP, SEXP sign_narrativeSEXP, SEXP sign_BSEXP, SEXP ZSEXP, SEXP priorSEXP, SEXP starting_valuesSEXP, SEXP show_progressSEXP, SEXP thinSEXP, SEXP max_triesSEXP) { +RcppExport SEXP _bsvarSIGNs_bsvar_sign_cpp(SEXP SSEXP, SEXP pSEXP, SEXP YSEXP, SEXP XSEXP, SEXP sign_irfSEXP, SEXP sign_narrativeSEXP, SEXP sign_BSEXP, SEXP ZSEXP, SEXP priorSEXP, SEXP show_progressSEXP, SEXP thinSEXP, SEXP max_triesSEXP) { SEXP rcpp_result_gen; { Rcpp::RNGScope rcpp_rngScope_gen; - rcpp_result_gen = PROTECT(_bsvarSIGNs_bsvar_sign_cpp_try(SSEXP, pSEXP, YSEXP, XSEXP, VBSEXP, sign_irfSEXP, sign_narrativeSEXP, sign_BSEXP, ZSEXP, priorSEXP, starting_valuesSEXP, show_progressSEXP, thinSEXP, max_triesSEXP)); + rcpp_result_gen = PROTECT(_bsvarSIGNs_bsvar_sign_cpp_try(SSEXP, pSEXP, YSEXP, XSEXP, sign_irfSEXP, sign_narrativeSEXP, sign_BSEXP, ZSEXP, priorSEXP, show_progressSEXP, thinSEXP, max_triesSEXP)); } Rboolean rcpp_isInterrupt_gen = Rf_inherits(rcpp_result_gen, "interrupted-error"); if (rcpp_isInterrupt_gen) { @@ -756,8 +754,8 @@ RcppExport SEXP _bsvarSIGNs_match_sign_irf(SEXP QSEXP, SEXP sign_irfSEXP, SEXP i return rcpp_result_gen; } // sample_Q -arma::field sample_Q(const int& p, const arma::mat& Y, const arma::mat& X, arma::mat& B, arma::mat& h_invp, arma::mat& chol_Sigma, const Rcpp::List& prior, const arma::field& VB, const arma::cube& sign_irf, const arma::mat& sign_narrative, const arma::mat& sign_B, const arma::field& Z, const int& max_tries); -static SEXP _bsvarSIGNs_sample_Q_try(SEXP pSEXP, SEXP YSEXP, SEXP XSEXP, SEXP BSEXP, SEXP h_invpSEXP, SEXP chol_SigmaSEXP, SEXP priorSEXP, SEXP VBSEXP, SEXP sign_irfSEXP, SEXP sign_narrativeSEXP, SEXP sign_BSEXP, SEXP ZSEXP, SEXP max_triesSEXP) { +arma::field sample_Q(const int& p, const arma::mat& Y, const arma::mat& X, arma::mat& B, arma::mat& h_invp, arma::mat& chol_Sigma, const Rcpp::List& prior, const arma::cube& sign_irf, const arma::mat& sign_narrative, const arma::mat& sign_B, const arma::field& Z, const int& max_tries); +static SEXP _bsvarSIGNs_sample_Q_try(SEXP pSEXP, SEXP YSEXP, SEXP XSEXP, SEXP BSEXP, SEXP h_invpSEXP, SEXP chol_SigmaSEXP, SEXP priorSEXP, SEXP sign_irfSEXP, SEXP sign_narrativeSEXP, SEXP sign_BSEXP, SEXP ZSEXP, SEXP max_triesSEXP) { BEGIN_RCPP Rcpp::RObject rcpp_result_gen; Rcpp::traits::input_parameter< const int& >::type p(pSEXP); @@ -767,21 +765,20 @@ BEGIN_RCPP Rcpp::traits::input_parameter< arma::mat& >::type h_invp(h_invpSEXP); Rcpp::traits::input_parameter< arma::mat& >::type chol_Sigma(chol_SigmaSEXP); Rcpp::traits::input_parameter< const Rcpp::List& >::type prior(priorSEXP); - Rcpp::traits::input_parameter< const arma::field& >::type VB(VBSEXP); Rcpp::traits::input_parameter< const arma::cube& >::type sign_irf(sign_irfSEXP); Rcpp::traits::input_parameter< const arma::mat& >::type sign_narrative(sign_narrativeSEXP); Rcpp::traits::input_parameter< const arma::mat& >::type sign_B(sign_BSEXP); Rcpp::traits::input_parameter< const arma::field& >::type Z(ZSEXP); Rcpp::traits::input_parameter< const int& >::type max_tries(max_triesSEXP); - rcpp_result_gen = Rcpp::wrap(sample_Q(p, Y, X, B, h_invp, chol_Sigma, prior, VB, sign_irf, sign_narrative, sign_B, Z, max_tries)); + rcpp_result_gen = Rcpp::wrap(sample_Q(p, Y, X, B, h_invp, chol_Sigma, prior, sign_irf, sign_narrative, sign_B, Z, max_tries)); return rcpp_result_gen; END_RCPP_RETURN_ERROR } -RcppExport SEXP _bsvarSIGNs_sample_Q(SEXP pSEXP, SEXP YSEXP, SEXP XSEXP, SEXP BSEXP, SEXP h_invpSEXP, SEXP chol_SigmaSEXP, SEXP priorSEXP, SEXP VBSEXP, SEXP sign_irfSEXP, SEXP sign_narrativeSEXP, SEXP sign_BSEXP, SEXP ZSEXP, SEXP max_triesSEXP) { +RcppExport SEXP _bsvarSIGNs_sample_Q(SEXP pSEXP, SEXP YSEXP, SEXP XSEXP, SEXP BSEXP, SEXP h_invpSEXP, SEXP chol_SigmaSEXP, SEXP priorSEXP, SEXP sign_irfSEXP, SEXP sign_narrativeSEXP, SEXP sign_BSEXP, SEXP ZSEXP, SEXP max_triesSEXP) { SEXP rcpp_result_gen; { Rcpp::RNGScope rcpp_rngScope_gen; - rcpp_result_gen = PROTECT(_bsvarSIGNs_sample_Q_try(pSEXP, YSEXP, XSEXP, BSEXP, h_invpSEXP, chol_SigmaSEXP, priorSEXP, VBSEXP, sign_irfSEXP, sign_narrativeSEXP, sign_BSEXP, ZSEXP, max_triesSEXP)); + rcpp_result_gen = PROTECT(_bsvarSIGNs_sample_Q_try(pSEXP, YSEXP, XSEXP, BSEXP, h_invpSEXP, chol_SigmaSEXP, priorSEXP, sign_irfSEXP, sign_narrativeSEXP, sign_BSEXP, ZSEXP, max_triesSEXP)); } Rboolean rcpp_isInterrupt_gen = Rf_inherits(rcpp_result_gen, "interrupted-error"); if (rcpp_isInterrupt_gen) { @@ -1049,7 +1046,7 @@ RcppExport SEXP _bsvarSIGNs_match_sign(SEXP ASEXP, SEXP signSEXP) { static int _bsvarSIGNs_RcppExport_validate(const char* sig) { static std::set signatures; if (signatures.empty()) { - signatures.insert("Rcpp::List(*bsvar_sign_cpp)(const int&,const int&,const arma::mat&,const arma::mat&,const arma::field&,const arma::cube&,const arma::mat&,const arma::mat&,const arma::field&,const Rcpp::List&,const Rcpp::List&,const bool,const int,const int&)"); + signatures.insert("Rcpp::List(*bsvar_sign_cpp)(const int&,const int&,const arma::mat&,const arma::mat&,const arma::cube&,const arma::mat&,const arma::mat&,const arma::field&,const Rcpp::List&,const bool,const int,const int&)"); signatures.insert("arma::cube(*bsvarSIGNs_structural_shocks)(const arma::cube&,const arma::cube&,const arma::mat&,const arma::mat&)"); signatures.insert("arma::cube(*bsvarSIGNs_fitted_values)(arma::cube&,arma::cube&,arma::cube&,arma::mat&)"); signatures.insert("arma::cube(*ir1_cpp)(const arma::mat&,const arma::mat&,int,const int&)"); @@ -1068,7 +1065,7 @@ static int _bsvarSIGNs_RcppExport_validate(const char* sig) { signatures.insert("double(*weight_zero)(const arma::field&,const arma::mat&,const arma::mat&,const arma::mat&)"); signatures.insert("arma::mat(*rzeroQ)(const arma::field&,const arma::mat&)"); signatures.insert("bool(*match_sign_irf)(const arma::mat&,const arma::cube&,const arma::cube&)"); - signatures.insert("arma::field(*sample_Q)(const int&,const arma::mat&,const arma::mat&,arma::mat&,arma::mat&,arma::mat&,const Rcpp::List&,const arma::field&,const arma::cube&,const arma::mat&,const arma::mat&,const arma::field&,const int&)"); + signatures.insert("arma::field(*sample_Q)(const int&,const arma::mat&,const arma::mat&,arma::mat&,arma::mat&,arma::mat&,const Rcpp::List&,const arma::cube&,const arma::mat&,const arma::mat&,const arma::field&,const int&)"); signatures.insert("arma::mat(*qr_sign_cpp)(const arma::mat&)"); signatures.insert("arma::mat(*rortho_cpp)(const int&)"); signatures.insert("bool(*match_sign)(const arma::mat&,const arma::mat&)"); @@ -1106,7 +1103,7 @@ RcppExport SEXP _bsvarSIGNs_RcppExport_registerCCallable() { } static const R_CallMethodDef CallEntries[] = { - {"_bsvarSIGNs_bsvar_sign_cpp", (DL_FUNC) &_bsvarSIGNs_bsvar_sign_cpp, 14}, + {"_bsvarSIGNs_bsvar_sign_cpp", (DL_FUNC) &_bsvarSIGNs_bsvar_sign_cpp, 12}, {"_bsvarSIGNs_bsvarSIGNs_structural_shocks", (DL_FUNC) &_bsvarSIGNs_bsvarSIGNs_structural_shocks, 4}, {"_bsvarSIGNs_bsvarSIGNs_fitted_values", (DL_FUNC) &_bsvarSIGNs_bsvarSIGNs_fitted_values, 4}, {"_bsvarSIGNs_ir1_cpp", (DL_FUNC) &_bsvarSIGNs_ir1_cpp, 4}, @@ -1128,7 +1125,7 @@ static const R_CallMethodDef CallEntries[] = { {"_bsvarSIGNs_riwish_cpp", (DL_FUNC) &_bsvarSIGNs_riwish_cpp, 2}, {"_bsvarSIGNs_niw_cpp", (DL_FUNC) &_bsvarSIGNs_niw_cpp, 6}, {"_bsvarSIGNs_match_sign_irf", (DL_FUNC) &_bsvarSIGNs_match_sign_irf, 3}, - {"_bsvarSIGNs_sample_Q", (DL_FUNC) &_bsvarSIGNs_sample_Q, 13}, + {"_bsvarSIGNs_sample_Q", (DL_FUNC) &_bsvarSIGNs_sample_Q, 12}, {"_bsvarSIGNs_log_dgamma", (DL_FUNC) &_bsvarSIGNs_log_dgamma, 3}, {"_bsvarSIGNs_log_dinvgamma", (DL_FUNC) &_bsvarSIGNs_log_dinvgamma, 3}, {"_bsvarSIGNs_log_prior_hyper", (DL_FUNC) &_bsvarSIGNs_log_prior_hyper, 3}, diff --git a/src/bsvars_sign.cpp b/src/bsvars_sign.cpp index 5d6b0fd..4ee9cf3 100644 --- a/src/bsvars_sign.cpp +++ b/src/bsvars_sign.cpp @@ -20,13 +20,11 @@ Rcpp::List bsvar_sign_cpp( const int& p, // number of lags const arma::mat& Y, // TxN dependent variables const arma::mat& X, // TxK dependent variables - const arma::field& VB, // N-list const arma::cube& sign_irf, // NxNxh cube of signs for impulse response function const arma::mat& sign_narrative, // ANYx6 matrix of signs for historical decomposition const arma::mat& sign_B, // NxN matrix of signs for B const arma::field& Z, // a list of zero restrictions const Rcpp::List& prior, // a list of priors - const Rcpp::List& starting_values, // a list of starting values const bool show_progress = true, const int thin = 100, // introduce thinning const int& max_tries = 10000 // maximum tries for Q draw @@ -114,7 +112,10 @@ Rcpp::List bsvar_sign_cpp( Xplus = join_vert(Xstar, X); // posterior parameters + // #pragma omp critical + // { result = niw_cpp(Yplus, Xplus, prior_B, prior_V, prior_S, prior_nu); + // } post_B = result(0); post_V = result(1); post_S = result(2); @@ -133,7 +134,7 @@ Rcpp::List bsvar_sign_cpp( h_invp = inv(trimatl(chol_Sigma)); // lower tri, h(Sigma) is upper tri result = sample_Q(p, Y, X, B, h_invp, chol_Sigma, prior, - VB, sign_irf, sign_narrative, sign_B, Z, max_tries); + sign_irf, sign_narrative, sign_B, Z, max_tries); Q = result(0); shocks = result(1); w = as_scalar(result(2)); @@ -151,14 +152,6 @@ Rcpp::List bsvar_sign_cpp( // Increment progress bar if (any(prog_rep_points == s)) bar.increment(); - // if (omp_get_thread_num() == 0) { - // // Check for user interrupts - // if (s % 10 == 0) checkUserInterrupt(); - // - // // Increment progress bar - // if (any(prog_rep_points == s)) bar.increment(); - // } - } // END s loop return List::create( diff --git a/src/bsvars_sign.h b/src/bsvars_sign.h index 3387b3e..8ea3b66 100644 --- a/src/bsvars_sign.h +++ b/src/bsvars_sign.h @@ -8,13 +8,11 @@ Rcpp::List bsvar_sign_cpp( const int& lags, // number of lags const arma::mat& Y, // NxT dependent variables const arma::mat& X, // KxT dependent variables - const arma::field& VB, // N-list const arma::cube& sign_irf, // NxNxh cube of signs for impulse response function const arma::mat& sign_narrative, // Mx6 matrix of signs for historical decomposition const arma::mat& sign_B, // Mx6 matrix of signs for B const arma::field& Z, // a list of zero restrictions const Rcpp::List& prior, // a list of priors - const Rcpp::List& starting_values, // a list of starting values const bool show_progress = true, const int thin = 100, // introduce thinning const int& max_tries = 10000 // maximum tries for Q draw diff --git a/src/sample_Q.cpp b/src/sample_Q.cpp index c99d578..2dad44c 100644 --- a/src/sample_Q.cpp +++ b/src/sample_Q.cpp @@ -40,7 +40,6 @@ arma::field sample_Q( arma::mat& h_invp, arma::mat& chol_Sigma, const Rcpp::List& prior, - const arma::field& VB, const arma::cube& sign_irf, const arma::mat& sign_narrative, const arma::mat& sign_B, diff --git a/src/sample_Q.h b/src/sample_Q.h index 7d0c610..35f543c 100644 --- a/src/sample_Q.h +++ b/src/sample_Q.h @@ -11,7 +11,6 @@ arma::field sample_Q( arma::mat& h_invp, arma::mat& chol_Sigma, const Rcpp::List& prior, - const arma::field& VB, const arma::cube& sign_irf, const arma::mat& sign_narrative, const arma::mat& sign_B,