Classes | List of all members
o2scl::prob_dens_mdim_amr< vec_t, mat_t > Class Template Reference

Probability distribution from an adaptive mesh created using a matrix of points. More...

#include <prob_dens_mdim_amr.h>

Inheritance diagram for o2scl::prob_dens_mdim_amr< vec_t, mat_t >:
o2scl::prob_dens_mdim< vec_t >

Detailed Description

template<class vec_t, class mat_t = matrix_view_table<vec_t>>
class o2scl::prob_dens_mdim_amr< vec_t, mat_t >

Note
This class is experimental.

Definition at line 118 of file prob_dens_mdim_amr.h.

Classes

class  hypercube
 A hypercube class for o2scl::prob_dens_mdim_amr. More...
 

Dimension choice setting

int dim_choice
 
o2scl::rng_gsl rg
 Internal random number generator.
 
size_t ndim
 Number of dimensions.
 
vec_t low
 Corner of smallest values.
 
vec_t high
 Corner of largest values.
 
vec_t scale
 Vector of length scales.
 
std::vector< hypercubemesh
 Mesh stored as an array of hypercubes.
 
int verbose
 Verbosity parameter.
 
static const int max_variance =1
 
static const int user_scale =2
 
static const int random =3
 
 prob_dens_mdim_amr ()
 
 prob_dens_mdim_amr (vec_t &l, vec_t &h)
 Initialize a probability distribution from the corners.
 
void set (vec_t &l, vec_t &h)
 Set the mesh limits. More...
 
template<class vec2_t >
void set_scale (vec2_t &v)
 Set scales for dimension choice.
 
void insert (size_t ir, mat_t &m)
 Insert point at row ir, creating a new hypercube for the new point.
 
void initial_parse (mat_t &m)
 Parse the matrix m, creating a new hypercube for every point.
 
double total_volume ()
 Check the total volume by adding up the fractional part of the volume in each hypercube.
 
virtual double pdf (const vec_t &x) const
 The normalized density.
 
virtual void select_in_largest (vec_t &x) const
 Select a random point in the largest weighted box.
 
virtual void operator() (vec_t &x) const
 Sample the distribution.
 

Additional Inherited Members

- Public Member Functions inherited from o2scl::prob_dens_mdim< vec_t >
virtual size_t dim () const
 Return the dimensionality.
 
virtual double log_pdf (const vec_t &x) const
 The log of the normalized density.
 

Member Function Documentation

◆ set()

template<class vec_t , class mat_t = matrix_view_table<vec_t>>
void o2scl::prob_dens_mdim_amr< vec_t, mat_t >::set ( vec_t &  l,
vec_t &  h 
)
inline

This function is called by the constructor

Definition at line 267 of file prob_dens_mdim_amr.h.


The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).