| 
    IMP Reference Guide
    2.23.0
    
   The Integrative Modeling Platform 
   | 
 
Negative logarithm of weighted sum of negative exponential of unary functions. More...
#include <IMP/core/WeightedSumOfExponential.h>
 Inheritance diagram for IMP::core::WeightedSumOfExponential: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.