Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

PLearn::NonRandomVariable Class Reference

#include <RandomVar.h>

Inheritance diagram for PLearn::NonRandomVariable:

Inheritance graph
[legend]
Collaboration diagram for PLearn::NonRandomVariable:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 NonRandomVariable (int thelength)
 NonRandomVariable *.

 NonRandomVariable (int thelength, int thewidth)
 NonRandomVariable (const Var &v)
virtual char * classname ()
void setValueFromParentsValue ()
 set the field value from the values of the parents

bool invertible (const Var &obs, RVInstanceArray &unobserved_parents, Var **JacobianCorrection)
 !< SUBCLASS WRITERS: IMPLEMENT FUNCTIONS BELOW //!<

void EMBprop (const Vec obs, real post)

Detailed Description

A NonRandomVariable is actually just like a regular Var (it is a random variable whose value is not random). It has no RV parents, but as a Var it may be functionally dependent on other Vars.

Definition at line 1087 of file RandomVar.h.


Constructor & Destructor Documentation

PLearn::NonRandomVariable::NonRandomVariable int  thelength  ) 
 

NonRandomVariable *.

Definition at line 1085 of file RandomVar.cc.

PLearn::NonRandomVariable::NonRandomVariable int  thelength,
int  thewidth
 

Definition at line 1088 of file RandomVar.cc.

PLearn::NonRandomVariable::NonRandomVariable const Var v  ) 
 

whereas the next 2 allow to build from Var function relationships Note that a Vec or a Mat can also be passed, which will be cast to Var (a Mat will be cast to Var and then Var).

Definition at line 1091 of file RandomVar.cc.


Member Function Documentation

virtual char* PLearn::NonRandomVariable::classname  )  [inline, virtual]
 

Implements PLearn::RandomVariable.

Definition at line 1100 of file RandomVar.h.

void PLearn::NonRandomVariable::EMBprop const Vec  obs,
real  post
[inline, virtual]
 

************ EM STUFF ********** propagate posterior information to parents in order to perform an EMupdate at the end of an EMEpoch. In the case of mixture-like RVs and their components, the posterior is the probability of the component "this" given the observation "obs".

Implements PLearn::RandomVariable.

Definition at line 1106 of file RandomVar.h.

References EMBprop(), and PLearn::Vec.

Referenced by EMBprop().

bool PLearn::NonRandomVariable::invertible const Var obs,
RVInstanceArray unobserved_parents,
Var **  JacobianCorrection
[inline, virtual]
 

!< SUBCLASS WRITERS: IMPLEMENT FUNCTIONS BELOW //!<

check whether it is possible to invert the function which maps the given unobserved parents to the observed value of the RV (obs). If invertible, do the inversion, and set the value fields of the RVInstances to Var's which are functionally dependent on obs. If the absolute value of the Jacobian of the map from the unobserved parents to this R.V.'s value is different from 1, then JacobianCorrection should point to a Var that is the logarithm of the determinant of this Jacobian (first derivatives) matrix. If the function is not invertible but it is possible to write P(Y==obs | unobserved_parents) in terms of the unobserved_parents logP functions, then the sub-class writer should instead redefine the logP function appropriately.

Reimplemented from PLearn::FunctionalRandomVariable.

Definition at line 1103 of file RandomVar.h.

References invertible().

Referenced by invertible().

void PLearn::NonRandomVariable::setValueFromParentsValue  )  [inline, virtual]
 

set the field value from the values of the parents

Implements PLearn::FunctionalRandomVariable.

Definition at line 1102 of file RandomVar.h.


The documentation for this class was generated from the following files:
Generated on Tue Aug 17 16:24:21 2004 for PLearn by doxygen 1.3.7