IMP Reference Guide
develop.549d75e6f4,2024/11/20
The Integrative Modeling Platform
|
Negative logarithm of weighted sum of negative exponential of unary functions. More...
#include <IMP/core/WeightedSumOfExponential.h>
Negative logarithm of weighted sum of negative exponential of unary functions.
Given unary functions \( f_i(x) \) and weights \( w_i \), compute the function
\[ F(x) = -d \log\left[ \sum_i{ \left( w_i e^{-f_i(x) / d} \right) } \right] ,\]
where \( d \) is the denominator of the exponential. This is used when the functions \( f_i(x) \) are scores ( \( -\log(p) \)), and the desired score \( F(x) \) is the score resulting from the weighted convolution of their probability distributions.
Definition at line 26 of file WeightedSumOfExponential.h.
Public Member Functions | |
WeightedSumOfExponential (UnaryFunctions funcs, Floats weights, Float denom=1.0) | |
virtual double | evaluate (double feature) const override |
Calculate score with respect to the given feature. More... | |
virtual DerivativePair | evaluate_with_derivative (double feature) const override |
Calculate score and derivative with respect to the given feature. More... | |
double | get_denominator () |
Get the denominator of the exponential. More... | |
UnaryFunction * | get_function (unsigned int i) |
Get function at index. More... | |
unsigned int | get_function_number () |
Get the number of functions. More... | |
virtual std::string | get_type_name () const override |
virtual ::IMP::VersionInfo | get_version_info () const override |
Get information about the module and version of the object. More... | |
double | get_weight (unsigned int i) const |
Get function weight at index. More... | |
Floats | get_weights () |
Get the function weights. More... | |
void | set_denominator (double denom) |
Set the denominator of the exponential. More... | |
void | set_weights (Floats weights) |
Set the function weights. More... | |
Public Member Functions inherited from IMP::UnaryFunction | |
UnaryFunction (std::string name="UnaryFunction%1%") | |
Public Member Functions inherited from IMP::Object | |
virtual void | clear_caches () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
IMP::core::WeightedSumOfExponential::WeightedSumOfExponential | ( | UnaryFunctions | funcs, |
Floats | weights, | ||
Float | denom = 1.0 |
||
) |
Create with the functions and their respective weights
Definition at line 29 of file WeightedSumOfExponential.h.
|
overridevirtual |
Calculate score with respect to the given feature.
[in] | feature | Value of feature being tested. |
Reimplemented from IMP::UnaryFunction.
Definition at line 56 of file WeightedSumOfExponential.h.
|
overridevirtual |
Calculate score and derivative with respect to the given feature.
[in] | feature | Value of feature being tested. |
Reimplemented from IMP::UnaryFunction.
Definition at line 41 of file WeightedSumOfExponential.h.
double IMP::core::WeightedSumOfExponential::get_denominator | ( | ) |
Get the denominator of the exponential.
Definition at line 99 of file WeightedSumOfExponential.h.
UnaryFunction* IMP::core::WeightedSumOfExponential::get_function | ( | unsigned int | i | ) |
Get function at index.
Definition at line 86 of file WeightedSumOfExponential.h.
unsigned int IMP::core::WeightedSumOfExponential::get_function_number | ( | ) |
Get the number of functions.
Definition at line 65 of file WeightedSumOfExponential.h.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 101 of file WeightedSumOfExponential.h.
double IMP::core::WeightedSumOfExponential::get_weight | ( | unsigned int | i | ) | const |
Get function weight at index.
Definition at line 80 of file WeightedSumOfExponential.h.
Floats IMP::core::WeightedSumOfExponential::get_weights | ( | ) |
Get the function weights.
Definition at line 77 of file WeightedSumOfExponential.h.
void IMP::core::WeightedSumOfExponential::set_denominator | ( | double | denom | ) |
Set the denominator of the exponential.
Definition at line 92 of file WeightedSumOfExponential.h.
void IMP::core::WeightedSumOfExponential::set_weights | ( | Floats | weights | ) |
Set the function weights.
Definition at line 70 of file WeightedSumOfExponential.h.