366: // model body
367:
368: current_statement_begin__ = 38;
369: lp_accum__.add(lognormal_log<propto__>(get_base1(theta,1,"theta",1), -(2), 0.5));
370: current_statement_begin__ = 39;
371: lp_accum__.add(lognormal_log<propto__>(sigma, -(1), 1));
372: current_statement_begin__ = 40;
373: lp_accum__.add(lognormal_log<propto__>(get_base1(z_init,1,"z_init",1), -(1.3999999999999999), 0.5));
374: current_statement_begin__ = 41;
375: lp_accum__.add(lognormal_log<propto__>(get_base1(y_init,1,"y_init",1), log(get_base1(z_init,1,"z_init",1)), get_base1(sigma,1,"sigma",1)));
376: current_statement_begin__ = 42;
377: lp_accum__.add(lognormal_log<propto__>(stan::model::rvalue(y, stan::model::cons_list(stan::model::index_omni(), stan::model::cons_list(stan::model::index_uni(1), stan::model::nil_index_list())), "y"), log(stan::model::rvalue(z, stan::model::cons_list(stan::model::index_omni(), stan::model::cons_list(stan::model::index_uni(1), stan::model::nil_index_list())), "z")), get_base1(sigma,1,"sigma",1)));
378:
379: } catch (const std::exception& e) {
380: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
381: // Next line prevents compiler griping about no return
382: throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***");
383: }
384:
385: lp_accum__.add(lp__);
386: return lp_accum__.sum();
387:
388: } // log_prob()
389:
390: template <bool propto, bool jacobian, typename T_>
391: T_ log_prob(Eigen::Matrix<T_,Eigen::Dynamic,1>& params_r,
392: std::ostream* pstream = 0) const {
393: std::vector<T_> vec_params_r;
394: vec_params_r.reserve(params_r.size());
395: for (int i = 0; i < params_r.size(); ++i)
396: vec_params_r.push_back(params_r(i));
397: std::vector<int> vec_params_i;
398: return log_prob<propto,jacobian,T_>(vec_params_r, vec_params_i, pstream);
399: }
400:
401:
402: void get_param_names(std::vector<std::string>& names__) const {
403: names__.resize(0);
404: names__.push_back("theta");
405: names__.push_back("z_init");
406: names__.push_back("sigma");
407: names__.push_back("z");
408: names__.push_back("y_init_rep");
409: names__.push_back("y_rep");
410: }
411:
412:
413: void get_dims(std::vector<std::vector<size_t> >& dimss__) const {
414: dimss__.resize(0);
415: std::vector<size_t> dims__;
416: dims__.resize(0);
417: dims__.push_back(1);
418: dimss__.push_back(dims__);
419: dims__.resize(0);
420: dims__.push_back(1);
421: dimss__.push_back(dims__);
422: dims__.resize(0);
423: dims__.push_back(1);
424: dimss__.push_back(dims__);
425: dims__.resize(0);
426: dims__.push_back(N);
427: dims__.push_back(1);
428: dimss__.push_back(dims__);
429: dims__.resize(0);
430: dims__.push_back(1);
431: dimss__.push_back(dims__);
432: dims__.resize(0);
433: dims__.push_back(N);
434: dims__.push_back(1);
435: dimss__.push_back(dims__);
436: }
437:
438: template <typename RNG>
439: void write_array(RNG& base_rng__,
440: std::vector<double>& params_r__,
441: std::vector<int>& params_i__,
442: std::vector<double>& vars__,
443: bool include_tparams__ = true,
444: bool include_gqs__ = true,
445: std::ostream* pstream__ = 0) const {
446: vars__.resize(0);
447: stan::io::reader<double> in__(params_r__,params_i__);
448: static const char* function__ = "model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::write_array";
449: (void) function__; // dummy to suppress unused var warning
450: // read-transform, write parameters
451: vector<double> theta;
452: size_t dim_theta_0__ = 1;
453: for (size_t k_0__ = 0; k_0__ < dim_theta_0__; ++k_0__) {
454: theta.push_back(in__.scalar_lb_constrain(0));
455: }
456: vector<double> z_init;
457: size_t dim_z_init_0__ = 1;
458: for (size_t k_0__ = 0; k_0__ < dim_z_init_0__; ++k_0__) {
459: z_init.push_back(in__.scalar_lb_constrain(0));
460: }
461: vector<double> sigma;
462: size_t dim_sigma_0__ = 1;
463: for (size_t k_0__ = 0; k_0__ < dim_sigma_0__; ++k_0__) {
464: sigma.push_back(in__.scalar_lb_constrain(0));
465: }
466: for (int k_0__ = 0; k_0__ < 1; ++k_0__) {
467: vars__.push_back(theta[k_0__]);
468: }
469: for (int k_0__ = 0; k_0__ < 1; ++k_0__) {
470: vars__.push_back(z_init[k_0__]);
471: }
472: for (int k_0__ = 0; k_0__ < 1; ++k_0__) {
473: vars__.push_back(sigma[k_0__]);
474: }
475:
476: if (!include_tparams__) return;
477: // declare and define transformed parameters
478: double lp__ = 0.0;
479: (void) lp__; // dummy to suppress unused var warning
480: stan::math::accumulator<double> lp_accum__;
481:
482: double DUMMY_VAR__(std::numeric_limits<double>::quiet_NaN());
483: (void) DUMMY_VAR__; // suppress unused var warning
484:
485: try {
486: current_statement_begin__ = 31;
487: validate_non_negative_index("z", "N", N);
488: validate_non_negative_index("z", "1", 1);
489: vector<vector<double> > z(N, (vector<double>(1, 0.0)));
490: stan::math::initialize(z, std::numeric_limits<double>::quiet_NaN());
491: stan::math::fill(z,DUMMY_VAR__);
492: stan::math::assign(z,integrate_ode_bdf(dz_dt_functor__(), z_init, 0, ts, theta, rep_array(0.0,0), rep_array(0,0), pstream__, 1.0000000000000001e-05, 0.001, 500.0));
493:
494:
495:
496: // validate transformed parameters
497: current_statement_begin__ = 31;
498:
499: // write transformed parameters
500: for (int k_1__ = 0; k_1__ < 1; ++k_1__) {
501: for (int k_0__ = 0; k_0__ < N; ++k_0__) {
502: vars__.push_back(z[k_0__][k_1__]);
503: }
504: }
505:
506: if (!include_gqs__) return;
507: // declare and define generated quantities
508: current_statement_begin__ = 46;
509: validate_non_negative_index("y_init_rep", "1", 1);
510: vector<double> y_init_rep(1, 0.0);
511: stan::math::initialize(y_init_rep, std::numeric_limits<double>::quiet_NaN());
512: stan::math::fill(y_init_rep,DUMMY_VAR__);
513: current_statement_begin__ = 47;
514: validate_non_negative_index("y_rep", "N", N);
515: validate_non_negative_index("y_rep", "1", 1);
516: vector<vector<double> > y_rep(N, (vector<double>(1, 0.0)));
517: stan::math::initialize(y_rep, std::numeric_limits<double>::quiet_NaN());
518: stan::math::fill(y_rep,DUMMY_VAR__);
519:
520:
521: current_statement_begin__ = 49;
522: stan::math::assign(get_base1_lhs(y_init_rep,1,"y_init_rep",1), lognormal_rng(log(get_base1(z_init,1,"z_init",1)),get_base1(sigma,1,"sigma",1), base_rng__));
523: current_statement_begin__ = 50;
524: for (int n = 1; n <= N; ++n) {
525: current_statement_begin__ = 51;
526: stan::math::assign(get_base1_lhs(get_base1_lhs(y_rep,n,"y_rep",1),1,"y_rep",2), lognormal_rng(log(get_base1(get_base1(z,n,"z",1),1,"z",2)),get_base1(sigma,1,"sigma",1), base_rng__));
527: }
528:
529: // validate generated quantities
530: current_statement_begin__ = 46;
531: current_statement_begin__ = 47;
532:
533: // write generated quantities
534: for (int k_0__ = 0; k_0__ < 1; ++k_0__) {
535: vars__.push_back(y_init_rep[k_0__]);
536: }
537: for (int k_1__ = 0; k_1__ < 1; ++k_1__) {
538: for (int k_0__ = 0; k_0__ < N; ++k_0__) {
539: vars__.push_back(y_rep[k_0__][k_1__]);
540: }
541: }
542:
543: } catch (const std::exception& e) {
544: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
545: // Next line prevents compiler griping about no return
546: throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***");
547: }
548: }
549:
550: template <typename RNG>
551: void write_array(RNG& base_rng,
552: Eigen::Matrix<double,Eigen::Dynamic,1>& params_r,
553: Eigen::Matrix<double,Eigen::Dynamic,1>& vars,
554: bool include_tparams = true,
555: bool include_gqs = true,
556: std::ostream* pstream = 0) const {
557: std::vector<double> params_r_vec(params_r.size());
558: for (int i = 0; i < params_r.size(); ++i)
559: params_r_vec[i] = params_r(i);
560: std::vector<double> vars_vec;
561: std::vector<int> params_i_vec;
562: write_array(base_rng,params_r_vec,params_i_vec,vars_vec,include_tparams,include_gqs,pstream);
563: vars.resize(vars_vec.size());
564: for (int i = 0; i < vars.size(); ++i)
565: vars(i) = vars_vec[i];
566: }
567:
568: static std::string model_name() {
569: return "model5c082b6e424b_102de305ede91408d5b21b0b0095339c";
570: }
571:
572:
573: void constrained_param_names(std::vector<std::string>& param_names__,
574: bool include_tparams__ = true,
575: bool include_gqs__ = true) const {
576: std::stringstream param_name_stream__;
577: for (int k_0__ = 1; k_0__ <= 1; ++k_0__) {
578: param_name_stream__.str(std::string());
579: param_name_stream__ << "theta" << '.' << k_0__;
580: param_names__.push_back(param_name_stream__.str());
581: }
582: for (int k_0__ = 1; k_0__ <= 1; ++k_0__) {
583: param_name_stream__.str(std::string());
584: param_name_stream__ << "z_init" << '.' << k_0__;
585: param_names__.push_back(param_name_stream__.str());
586: }
587: for (int k_0__ = 1; k_0__ <= 1; ++k_0__) {
588: param_name_stream__.str(std::string());
589: param_name_stream__ << "sigma" << '.' << k_0__;
590: param_names__.push_back(param_name_stream__.str());
591: }
592:
593: if (!include_gqs__ && !include_tparams__) return;
594: for (int k_1__ = 1; k_1__ <= 1; ++k_1__) {
595: for (int k_0__ = 1; k_0__ <= N; ++k_0__) {
596: param_name_stream__.str(std::string());
597: param_name_stream__ << "z" << '.' << k_0__ << '.' << k_1__;
598: param_names__.push_back(param_name_stream__.str());
599: }
600: }
601:
602: if (!include_gqs__) return;
603: for (int k_0__ = 1; k_0__ <= 1; ++k_0__) {
604: param_name_stream__.str(std::string());
605: param_name_stream__ << "y_init_rep" << '.' << k_0__;
606: param_names__.push_back(param_name_stream__.str());
607: }
608: for (int k_1__ = 1; k_1__ <= 1; ++k_1__) {
609: for (int k_0__ = 1; k_0__ <= N; ++k_0__) {
610: param_name_stream__.str(std::string());
611: param_name_stream__ << "y_rep" << '.' << k_0__ << '.' << k_1__;
612: param_names__.push_back(param_name_stream__.str());
613: }
614: }
615: }
616:
617:
618: void unconstrained_param_names(std::vector<std::string>& param_names__,
619: bool include_tparams__ = true,
620: bool include_gqs__ = true) const {
621: std::stringstream param_name_stream__;
622: for (int k_0__ = 1; k_0__ <= 1; ++k_0__) {
623: param_name_stream__.str(std::string());
624: param_name_stream__ << "theta" << '.' << k_0__;
625: param_names__.push_back(param_name_stream__.str());
626: }
627: for (int k_0__ = 1; k_0__ <= 1; ++k_0__) {
628: param_name_stream__.str(std::string());
629: param_name_stream__ << "z_init" << '.' << k_0__;
630: param_names__.push_back(param_name_stream__.str());
631: }
632: for (int k_0__ = 1; k_0__ <= 1; ++k_0__) {
633: param_name_stream__.str(std::string());
634: param_name_stream__ << "sigma" << '.' << k_0__;
635: param_names__.push_back(param_name_stream__.str());
636: }
637:
638: if (!include_gqs__ && !include_tparams__) return;
639: for (int k_1__ = 1; k_1__ <= 1; ++k_1__) {
640: for (int k_0__ = 1; k_0__ <= N; ++k_0__) {
641: param_name_stream__.str(std::string());
642: param_name_stream__ << "z" << '.' << k_0__ << '.' << k_1__;
643: param_names__.push_back(param_name_stream__.str());
644: }
645: }
646:
647: if (!include_gqs__) return;
648: for (int k_0__ = 1; k_0__ <= 1; ++k_0__) {
649: param_name_stream__.str(std::string());
650: param_name_stream__ << "y_init_rep" << '.' << k_0__;
651: param_names__.push_back(param_name_stream__.str());
652: }
653: for (int k_1__ = 1; k_1__ <= 1; ++k_1__) {
654: for (int k_0__ = 1; k_0__ <= N; ++k_0__) {
655: param_name_stream__.str(std::string());
656: param_name_stream__ << "y_rep" << '.' << k_0__ << '.' << k_1__;
657: param_names__.push_back(param_name_stream__.str());
658: }
659: }
660: }
661:
662: }; // model
663:
664: }
665:
666: typedef model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c stan_model;
667:
668: #include <rstan/rstaninc.hpp>
669: /**
670: * Define Rcpp Module to expose stan_fit's functions to R.
671: */
672: RCPP_MODULE(stan_fit4model5c082b6e424b_102de305ede91408d5b21b0b0095339c_mod){
673: Rcpp::class_<rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c,
674: boost::random::ecuyer1988> >("stan_fit4model5c082b6e424b_102de305ede91408d5b21b0b0095339c")
675: // .constructor<Rcpp::List>()
676: .constructor<SEXP, SEXP, SEXP>()
677: // .constructor<SEXP, SEXP>()
678: .method("call_sampler",
679: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::call_sampler)
680: .method("param_names",
681: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::param_names)
682: .method("param_names_oi",
683: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::param_names_oi)
684: .method("param_fnames_oi",
685: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::param_fnames_oi)
686: .method("param_dims",
687: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::param_dims)
688: .method("param_dims_oi",
689: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::param_dims_oi)
690: .method("update_param_oi",
691: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::update_param_oi)
692: .method("param_oi_tidx",
693: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::param_oi_tidx)
694: .method("grad_log_prob",
695: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::grad_log_prob)
696: .method("log_prob",
697: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::log_prob)
698: .method("unconstrain_pars",
699: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::unconstrain_pars)
700: .method("constrain_pars",
701: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::constrain_pars)
702: .method("num_pars_unconstrained",
703: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::num_pars_unconstrained)
704: .method("unconstrained_param_names",
705: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::unconstrained_param_names)
706: .method("constrained_param_names",
707: &rstan::stan_fit<model5c082b6e424b_102de305ede91408d5b21b0b0095339c_namespace::model5c082b6e424b_102de305ede91408d5b21b0b0095339c, boost::random::ecuyer1988>::constrained_param_names)
708: ;
709: }
710:
711: // declarations
712: extern "C" {
713: SEXP file5c08635880ea( ) ;
714: }
715:
716: // definition
717:
718: SEXP file5c08635880ea( ){
719: return Rcpp::wrap("102de305ede91408d5b21b0b0095339c");
720: }
721:
722:
Error in compileCode(f, code, language = language, verbose = verbose) :
Compilation ERROR, function(s)/method(s) not created! In file included from /home/kpwp689/R/x86_64-pc-linux-gnu-library/3.5/RcppEigen/include/Eigen/Core:388:0,
from /home/kpwp689/R/x86_64-pc-linux-gnu-library/3.5/RcppEigen/include/Eigen/Dense:1,
from /home/kpwp689/R/x86_64-pc-linux-gnu-library/3.5/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4,
from /home/kpwp689/R/x86_64-pc-linux-gnu-library/3.5/StanHeaders/include/stan/math/rev/mat/fun/Eigen_NumTraits.hpp:4,
from /home/kpwp689/R/x86_64-pc-linux-gnu-library/3.5/StanHeaders/include/stan/math/rev/core/matrix_vari.hpp:4,
from /home/kpwp689/R/x86_64-pc-linux-gnu-library/3.5/StanHeaders/include/stan/math/rev/core.hpp:14,
from /home/kpwp689/R/x86_64-pc-linux-gnu-library/3.5/StanHeaders/include/stan/math/rev/mat.hpp:4,
from /home/kpwp689/R/x86_64-pc-linux-gnu-library/3.5/StanHeaders/include/stan/math.hpp:4,