cc.mallet.grmm.types
Class ConstantFactor

java.lang.Object
  extended by cc.mallet.grmm.types.AbstractFactor
      extended by cc.mallet.grmm.types.ConstantFactor
All Implemented Interfaces:
Factor, java.io.Serializable, java.lang.Cloneable

public class ConstantFactor
extends AbstractFactor

$Id: ConstantFactor.java,v 1.1 2007/10/22 21:37:44 mccallum Exp $

See Also:
Serialized Form

Field Summary
 
Fields inherited from class cc.mallet.grmm.types.AbstractFactor
vars
 
Constructor Summary
ConstantFactor(double c)
           
 
Method Summary
 boolean almostEquals(Factor p, double epsilon)
           
 java.lang.String dumpToString()
           
 Factor duplicate()
           
protected  Factor extractMaxInternal(VarSet varSet)
           
 boolean isNaN()
           
protected  double lookupValueInternal(int i)
           
static Factor makeIdentityFactor()
           
protected  Factor marginalizeInternal(VarSet varsToKeep)
           
 Factor multiply(Factor other)
          Returns the elementwise product of this factor with another.
 void multiplyBy(Factor other)
          Does this *= pot.
 Factor normalize()
          Multiplies this potential by a constant such that it sums to 1.
 Assignment sample(Randoms r)
          Return an assignment sampled from this factor, interpreting it as an unnormalized probability distribution.
 Factor slice(Assignment assn)
           
 java.lang.String toString()
           
 double value(AssignmentIterator it)
          Returns the probability of an assignment to these variables.
 
Methods inherited from class cc.mallet.grmm.types.AbstractFactor
almostEquals, argmax, assignmentIterator, asTable, containsVar, delogify, divideBy, entropy, exponentiate, extractMax, extractMax, extractMax, getVariable, isInLogSpace, log, logify, logValue, logValue, logValue, marginalize, marginalize, marginalize, marginalizeOut, marginalizeOut, phi, prettyOutputString, setVarSet, sum, value, varSet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ConstantFactor

public ConstantFactor(double c)
Method Detail

extractMaxInternal

protected Factor extractMaxInternal(VarSet varSet)
Specified by:
extractMaxInternal in class AbstractFactor

lookupValueInternal

protected double lookupValueInternal(int i)
Specified by:
lookupValueInternal in class AbstractFactor

marginalizeInternal

protected Factor marginalizeInternal(VarSet varsToKeep)
Specified by:
marginalizeInternal in class AbstractFactor

value

public double value(AssignmentIterator it)
Description copied from interface: Factor
Returns the probability of an assignment to these variables. The assignment used is the curret assignment from the given AssignmentIterator.

This can be used to do things like

         DiscretePotential phi = createMyPtl ();
         for (AssignmentIterator it = phi.assignmentIterator; it.hasNext(); it.advance()) {
           double val = ptl.phi (it);
                 // do something with val
   }
  

This is equivalent to creating an assignment object explicitly using (Assignment) it.next(), but can be much faster.

Specified by:
value in interface Factor
Overrides:
value in class AbstractFactor

normalize

public Factor normalize()
Description copied from interface: Factor
Multiplies this potential by a constant such that it sums to 1. Destructive; returns this factor.


sample

public Assignment sample(Randoms r)
Description copied from interface: Factor
Return an assignment sampled from this factor, interpreting it as an unnormalized probability distribution.

Specified by:
sample in interface Factor
Overrides:
sample in class AbstractFactor

dumpToString

public java.lang.String dumpToString()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

slice

public Factor slice(Assignment assn)

duplicate

public Factor duplicate()

almostEquals

public boolean almostEquals(Factor p,
                            double epsilon)

isNaN

public boolean isNaN()

multiply

public Factor multiply(Factor other)
Description copied from interface: Factor
Returns the elementwise product of this factor with another.

Specified by:
multiply in interface Factor
Overrides:
multiply in class AbstractFactor

multiplyBy

public void multiplyBy(Factor other)
Description copied from interface: Factor
Does this *= pot.

If both potentials are currently in log space, then does addition instead.

Specified by:
multiplyBy in interface Factor
Overrides:
multiplyBy in class AbstractFactor

makeIdentityFactor

public static Factor makeIdentityFactor()