GaussianProcessNormal::GaussianProcessNormal(size_t dim, bopt_params params): HierarchicalGaussianProcess(dim,params), mSigma(params.sigma_s), mW0(params.mean.n_coef), mInvVarW(params.mean.n_coef), mD(params.mean.n_coef,params.mean.n_coef) { mW0 = utils::array2vector(params.mean.coef_mean,params.mean.n_coef); for (size_t ii = 0; ii < params.mean.n_coef; ++ii) { double varii = params.mean.coef_std[ii] * params.mean.coef_std[ii]; mInvVarW(ii) = 1/varii; } d_ = new GaussianDistribution(); } // Constructor
StudentTProcessNIG::StudentTProcessNIG(size_t dim, bopt_params params, const Dataset& data, MeanModel& mean, randEngine& eng): HierarchicalGaussianProcess(dim,params,data, mean, eng), mAlpha(params.alpha), mBeta (params.beta), mW0(params.mean.n_coef), mInvVarW(params.mean.n_coef), mD(params.mean.n_coef,params.mean.n_coef) { mW0 = utils::array2vector(params.mean.coef_mean,params.mean.n_coef); for (size_t ii = 0; ii < params.mean.n_coef; ++ii) { double varii = params.mean.coef_std[ii] * params.mean.coef_std[ii]; mInvVarW(ii) = 1/varii; } d_ = new StudentTDistribution(eng); } // Constructor