LnProbability¶
-
class
LnProbability
¶ Natural logarithm of a probability distribution.
Public Functions
-
LnProbability
(const std::vector<double> &values)¶ Construct with given values.
-
double
value
(const int bin) const¶ Return the value of the bin.
-
void
set_value
(const int bin, const double value)¶ Set the value of the bin.
-
void
add
(const int bin, const double value_to_add)¶ Add to the value of the bin.
-
void
resize
(const int size)¶ Set the number of macrostates.
-
const std::vector<double>
values
() const¶ Return the values.
-
int
size
() const¶ Return the size of the distribution.
-
double
sum_probability
(const int min, const int max) const¶ Return the sum of the probability from min to max indices.
-
double
sum_probability
() const¶ Return the sum of the probability of all values.
-
void
normalize
()¶ Normalize such that the sum of the probability is unity.
-
std::vector<int>
minima
(const int num_smooth = 10) const¶ Return the local minimum indices which are canditates for phase boundary. The returned indices must be global minimum between +/- num_smooth.
-
double
equilibrium_objective
(const int num_smooth = 10) const¶ - Parameters
num_smooth
: Number of macrostates which define ‘local’ region for finding the minimum.
Return the objective function to minimize in order to obtain equilibrium between phases. If no phase boundaries, return the squared difference between the minimum and maximum values. If more than one, no current implementation. If exactly one, use objective function below.
-
double
equilibrium_objective_boundary
(int phase_boundary) const¶ - Parameters
phase_boundary
: Index which is the boundary between phases. The exact index value is included in the second phase.
Return the objective function to minimize in order to obtain equilibrium between phases. The objective is the squared difference between the natural logs of the probabilities of the two phases.
-
LnProbability
reduce
(const int keep_every, const int start = 0) const¶ Return a reduced lnpi by keeping every this many macrostates.
- Parameters
keep_every
: for keep_every == 2, return macrostates 0, 2, 4, 6…start
: start from this value (default: 0). If negative, increment by keep_every
-