trws_base::SumProdSolver< GM, ACC, InputIterator > Class Template Reference

#include <trws_subproblemsolver.hxx>

Inheritance diagram for trws_base::SumProdSolver< GM, ACC, InputIterator >:
Inheritance graph
[legend]
Collaboration diagram for trws_base::SumProdSolver< GM, ACC, InputIterator >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef DynamicProgramming< GM,
ACC, InputIterator > 
parent
typedef parent::ValueType ValueType
typedef parent::IndexType IndexType
typedef parent::LabelType LabelType
typedef parent::InputIteratorType InputIteratorType
typedef
parent::const_iterators_pair 
const_iterators_pair
typedef parent::Storage Storage
typedef parent::MoveDirection MoveDirection
typedef parent::UnaryFactor UnaryFactor
typedef parent::FactorProperties FactorProperties

Public Member Functions

 SumProdSolver (Storage &storage, const FactorProperties &factorProperties, bool fastComputations=true)
void InitMove (ValueType rho)
void InitMove (ValueType rho, MoveDirection movedirection)
ValueType ComputeObjectiveValue ()
ValueType MoveBackGetDerivative ()
ValueType getDerivative () const
 >makes MoveBack and returns derivative w.r.t. _smoothingValue

Protected Member Functions

void _Push ()
void _ExponentiatePWFactor ()
void _PushMessagesToVariable ()
void _PushAndAverage ()
void _UpdatePWAverage ()
ValueType _getMarginalsLogNormalizer () const
ValueType _GetAveragedUnaryFactors ()
 > subtract it if you want to get normalized log-marginals from non-normalized ones
void _makeLocalCopyOfPWFactor (LabelType trgsize)
void _InitCurrentUnaryBuffer (IndexType index)

Protected Attributes

ValueType _mul
bool _averagingFlag
UnaryFactor _unaryBuffer
UnaryFactor _copyPWfactor
ValueType _derivativeValue

Detailed Description

template<class GM, class ACC, class InputIterator>
class trws_base::SumProdSolver< GM, ACC, InputIterator >

Definition at line 450 of file trws_subproblemsolver.hxx.


Member Typedef Documentation

template<class GM, class ACC, class InputIterator>
typedef parent::const_iterators_pair trws_base::SumProdSolver< GM, ACC, InputIterator >::const_iterators_pair
template<class GM, class ACC, class InputIterator>
typedef parent::FactorProperties trws_base::SumProdSolver< GM, ACC, InputIterator >::FactorProperties
template<class GM, class ACC, class InputIterator>
typedef parent::IndexType trws_base::SumProdSolver< GM, ACC, InputIterator >::IndexType
template<class GM, class ACC, class InputIterator>
typedef parent::InputIteratorType trws_base::SumProdSolver< GM, ACC, InputIterator >::InputIteratorType
template<class GM, class ACC, class InputIterator>
typedef parent::LabelType trws_base::SumProdSolver< GM, ACC, InputIterator >::LabelType
template<class GM, class ACC, class InputIterator>
typedef parent::MoveDirection trws_base::SumProdSolver< GM, ACC, InputIterator >::MoveDirection
template<class GM, class ACC, class InputIterator>
typedef DynamicProgramming<GM,ACC,InputIterator> trws_base::SumProdSolver< GM, ACC, InputIterator >::parent

Definition at line 453 of file trws_subproblemsolver.hxx.

template<class GM, class ACC, class InputIterator>
typedef parent::Storage trws_base::SumProdSolver< GM, ACC, InputIterator >::Storage
template<class GM, class ACC, class InputIterator>
typedef parent::UnaryFactor trws_base::SumProdSolver< GM, ACC, InputIterator >::UnaryFactor
template<class GM, class ACC, class InputIterator>
typedef parent::ValueType trws_base::SumProdSolver< GM, ACC, InputIterator >::ValueType

Constructor & Destructor Documentation

template<class GM, class ACC, class InputIterator>
trws_base::SumProdSolver< GM, ACC, InputIterator >::SumProdSolver ( Storage storage,
const FactorProperties factorProperties,
bool  fastComputations = true 
) [inline]

Definition at line 465 of file trws_subproblemsolver.hxx.


Member Function Documentation

template<class GM , class ACC , class InputIterator >
void trws_base::SumProdSolver< GM, ACC, InputIterator >::_ExponentiatePWFactor (  )  [inline, protected]

Definition at line 1038 of file trws_subproblemsolver.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class GM , class ACC , class InputIterator >
SumProdSolver< GM, ACC, InputIterator >::ValueType trws_base::SumProdSolver< GM, ACC, InputIterator >::_GetAveragedUnaryFactors (  )  [inline, protected]

> subtract it if you want to get normalized log-marginals from non-normalized ones

Definition at line 976 of file trws_subproblemsolver.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class GM, class ACC, class InputIterator>
ValueType trws_base::SumProdSolver< GM, ACC, InputIterator >::_getMarginalsLogNormalizer (  )  const [inline, protected]

Definition at line 479 of file trws_subproblemsolver.hxx.

Here is the caller graph for this function:

template<class GM , class ACC , class InputIterator >
void trws_base::SumProdSolver< GM, ACC, InputIterator >::_InitCurrentUnaryBuffer ( IndexType  index  )  [inline, protected, virtual]

Reimplemented from trws_base::DynamicProgramming< GM, ACC, InputIterator >.

Definition at line 1074 of file trws_subproblemsolver.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class GM , class ACC , class InputIterator >
void trws_base::SumProdSolver< GM, ACC, InputIterator >::_makeLocalCopyOfPWFactor ( LabelType  trgsize  )  [inline, protected, virtual]

> optimization may be needed - instead of the memory reallocation just copy in it, as soon as enough space provided

Reimplemented from trws_base::DynamicProgramming< GM, ACC, InputIterator >.

Definition at line 1066 of file trws_subproblemsolver.hxx.

Here is the call graph for this function:

template<class GM , class ACC , class InputIterator >
void trws_base::SumProdSolver< GM, ACC, InputIterator >::_Push (  )  [inline, protected, virtual]

Reimplemented from trws_base::DynamicProgramming< GM, ACC, InputIterator >.

Definition at line 1014 of file trws_subproblemsolver.hxx.

Here is the call graph for this function:

template<class GM , class ACC , class InputIterator >
void trws_base::SumProdSolver< GM, ACC, InputIterator >::_PushAndAverage (  )  [inline, protected]

Definition at line 955 of file trws_subproblemsolver.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class GM , class ACC , class InputIterator >
void trws_base::SumProdSolver< GM, ACC, InputIterator >::_PushMessagesToVariable (  )  [inline, protected]

Definition at line 922 of file trws_subproblemsolver.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class GM , class ACC , class InputIterator >
void trws_base::SumProdSolver< GM, ACC, InputIterator >::_UpdatePWAverage (  )  [inline, protected]

Definition at line 934 of file trws_subproblemsolver.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class GM , class ACC , class InputIterator >
SumProdSolver< GM, ACC, InputIterator >::ValueType trws_base::SumProdSolver< GM, ACC, InputIterator >::ComputeObjectiveValue (  )  [inline, virtual]

Implements trws_base::DynamicProgramming< GM, ACC, InputIterator >.

Definition at line 1054 of file trws_subproblemsolver.hxx.

Here is the call graph for this function:

template<class GM, class ACC, class InputIterator>
ValueType trws_base::SumProdSolver< GM, ACC, InputIterator >::getDerivative (  )  const [inline]

>makes MoveBack and returns derivative w.r.t. _smoothingValue

Definition at line 472 of file trws_subproblemsolver.hxx.

template<class GM, class ACC, class InputIterator>
void trws_base::SumProdSolver< GM, ACC, InputIterator >::InitMove ( ValueType  rho,
MoveDirection  movedirection 
) [inline]

Definition at line 468 of file trws_subproblemsolver.hxx.

template<class GM, class ACC, class InputIterator>
void trws_base::SumProdSolver< GM, ACC, InputIterator >::InitMove ( ValueType  rho  )  [inline]

Definition at line 467 of file trws_subproblemsolver.hxx.

template<class GM , class ACC , class InputIterator >
SumProdSolver< GM, ACC, InputIterator >::ValueType trws_base::SumProdSolver< GM, ACC, InputIterator >::MoveBackGetDerivative (  )  [inline]

Definition at line 991 of file trws_subproblemsolver.hxx.

Here is the call graph for this function:


Member Data Documentation

template<class GM, class ACC, class InputIterator>
bool trws_base::SumProdSolver< GM, ACC, InputIterator >::_averagingFlag [protected]

Definition at line 485 of file trws_subproblemsolver.hxx.

template<class GM, class ACC, class InputIterator>
UnaryFactor trws_base::SumProdSolver< GM, ACC, InputIterator >::_copyPWfactor [protected]

Definition at line 491 of file trws_subproblemsolver.hxx.

template<class GM, class ACC, class InputIterator>
ValueType trws_base::SumProdSolver< GM, ACC, InputIterator >::_derivativeValue [protected]

Definition at line 492 of file trws_subproblemsolver.hxx.

template<class GM, class ACC, class InputIterator>
ValueType trws_base::SumProdSolver< GM, ACC, InputIterator >::_mul [protected]

Definition at line 484 of file trws_subproblemsolver.hxx.

template<class GM, class ACC, class InputIterator>
UnaryFactor trws_base::SumProdSolver< GM, ACC, InputIterator >::_unaryBuffer [protected]

Definition at line 490 of file trws_subproblemsolver.hxx.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Mon Jun 17 16:31:14 2013 for OpenGM by  doxygen 1.6.3