12 const double pi = std::acos(-1);
22 const std::vector<bool> &observed);
29 std::vector<arma::uword> &true_part,
30 std::vector<arma::uword> &false_part);
35 bool all_true(
const std::vector<bool> &vec);
57 arma::mat
flatten(std::vector<arma::vec> &y);
62 std::vector<double>
flatten(std::vector<arma::mat> &M);
68 std::vector<arma::mat>
unflatten(std::vector<double> &M_params,
69 std::vector<arma::mat> &M);
75 void split(
const std::vector<double> &theta, std::vector<double> &kernel_params,
76 std::vector<double> &M_params);
bool check_symmetric(const mat &A)
Definition: basic.cc:52
arma::vec get_observed_only(const arma::vec &vec, const vector< bool > &observed)
Takes a vector of real values and a boolean vector telling which dimensions are observed and returns ...
Definition: basic.cc:25
const double pi
Definition: basic.hpp:12
mat upper_triangular_inverse(const mat &upper_t)
Definition: basic.cc:7
mat force_symmetric(const mat &A)
Definition: basic.cc:62
void split(const vector< double > &theta, vector< double > &kernel_params, vector< double > &M_params)
Splits the params contained in 'theta' based on the size of kernel_params and M_params.
Definition: basic.cc:123
vector< mat > unflatten(vector< double > &M_params, vector< mat > &M)
Definition: basic.cc:109
void split_indices(const vector< bool > &predicates, vector< arma::uword > &true_part, vector< arma::uword > &false_part)
Splits the indices (zero indexed) on the ones where the pradicate is true and the part it is false...
Definition: basic.cc:34
mat force_diag(const mat &A)
Definition: basic.cc:66
bool all_true(const vector< bool > &vec)
Return true if all the values in the boolean vector are true.
Definition: basic.cc:45
mat flatten(vector< vec > &y)
Definition: basic.cc:87