org.omegahat.Simulation.MCMC.Proposals
Class MixtureProposal

java.lang.Object
  |
  +--org.omegahat.Simulation.MCMC.Proposals.MixtureProposal
All Implemented Interfaces:
ConditionalDensity, ConditionalGenerator, GeneralProposal, MarkovProposal, TimeDependentProposal

public class MixtureProposal
extends java.lang.Object
implements GeneralProposal, TimeDependentProposal


Field Summary
protected  double[] cumulative_probs
           
protected  double[] normalized_probs
           
protected  PRNG prng
           
protected  double[] proposal_probs
           
protected  GeneralProposal[] proposals
           
 
Constructor Summary
MixtureProposal(GeneralProposal[] proposalList, double[] proposal_probs, PRNG prng)
           
MixtureProposal(GeneralProposal[] proposalList, PRNG prng)
           
MixtureProposal(int nProposal, PRNG prng)
           
 
Method Summary
 double conditionalPDF(java.lang.Object state, java.lang.Object conditions)
           
 java.lang.Object generate(java.lang.Object conditionals)
          Generate a single random value conditional on conditionals
 double[] getProposalProbs()
           
 GeneralProposal[] getProposals()
           
 int getTime()
          Get the time
 double logConditionalPDF(java.lang.Object state, java.lang.Object conditions)
           
 double logTransitionProbability(java.lang.Object from, java.lang.Object to)
          Convenience method for computing the log probability of proposing a move.
protected  void normalize()
           
 int numChains()
           
 void resetTime()
          Reset time to 0
 void setProposal(int which, GeneralProposal what, double prob)
           
 void setProposals(GeneralProposal[] what, double[] probs)
           
 void timeInc()
          Increment time
 double transitionProbability(java.lang.Object from, java.lang.Object to)
          Convenience method for computing the probability of proposing a move.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

proposals

protected GeneralProposal[] proposals

proposal_probs

protected double[] proposal_probs

normalized_probs

protected double[] normalized_probs

cumulative_probs

protected double[] cumulative_probs

prng

protected PRNG prng
Constructor Detail

MixtureProposal

public MixtureProposal(int nProposal,
                       PRNG prng)

MixtureProposal

public MixtureProposal(GeneralProposal[] proposalList,
                       double[] proposal_probs,
                       PRNG prng)

MixtureProposal

public MixtureProposal(GeneralProposal[] proposalList,
                       PRNG prng)
Method Detail

numChains

public int numChains()

setProposal

public void setProposal(int which,
                        GeneralProposal what,
                        double prob)

setProposals

public void setProposals(GeneralProposal[] what,
                         double[] probs)

getProposals

public GeneralProposal[] getProposals()

getProposalProbs

public double[] getProposalProbs()

normalize

protected void normalize()

transitionProbability

public double transitionProbability(java.lang.Object from,
                                    java.lang.Object to)
Convenience method for computing the probability of proposing a move.
Specified by:
transitionProbability in interface GeneralProposal

logTransitionProbability

public double logTransitionProbability(java.lang.Object from,
                                       java.lang.Object to)
Convenience method for computing the log probability of proposing a move.
Specified by:
logTransitionProbability in interface GeneralProposal

conditionalPDF

public double conditionalPDF(java.lang.Object state,
                             java.lang.Object conditions)
Specified by:
conditionalPDF in interface ConditionalDensity

logConditionalPDF

public double logConditionalPDF(java.lang.Object state,
                                java.lang.Object conditions)
Specified by:
logConditionalPDF in interface ConditionalDensity

generate

public java.lang.Object generate(java.lang.Object conditionals)
Description copied from interface: ConditionalGenerator
Generate a single random value conditional on conditionals
Specified by:
generate in interface ConditionalGenerator

timeInc

public void timeInc()
Increment time
Specified by:
timeInc in interface TimeDependentProposal

resetTime

public void resetTime()
Reset time to 0
Specified by:
resetTime in interface TimeDependentProposal

getTime

public int getTime()
Get the time
Specified by:
getTime in interface TimeDependentProposal