org.omegahat.Simulation.MCMC.Proposals
Class NormalMetropolisProposal

java.lang.Object
  |
  +--org.omegahat.Probability.Distributions.MVNormal
        |
        +--org.omegahat.Simulation.MCMC.Proposals.NormalProposal
              |
              +--org.omegahat.Simulation.MCMC.Proposals.NormalMetropolisProposal
All Implemented Interfaces:
ConditionalDensity, ConditionalGenerator, Density, Distribution, GeneralProposal, Generator, MarkovProposal, SymmetricProposal, UnnormalizedDensity

public class NormalMetropolisProposal
extends NormalProposal
implements SymmetricProposal


Field Summary
 boolean DEBUG
           
 
Fields inherited from class org.omegahat.Probability.Distributions.MVNormal
isDiagonalCov, log_normalizing_constant, mu, normalizing_constant, prng, prob, sigma, sigmaDet, sigmaInv, sigmaSqrt, sigmaSVD, transMat
 
Constructor Summary
NormalMetropolisProposal(double[][] var, PRNG prng)
          Constructor for normal increments with specified covariance matrix.
NormalMetropolisProposal(int length, double var, PRNG prng)
          Constructor for a spherical normal increments with variances for each dimension.
NormalMetropolisProposal(int length, PRNG prng)
          Constructor for normal increments with identity covariance matrix.
 
Method Summary
 double conditionalPDF(java.lang.Object state, java.lang.Object conditionals)
           
 java.lang.Object generate(java.lang.Object center)
          Generate a single random value conditional on conditionals
 double logConditionalPDF(java.lang.Object state, java.lang.Object conditionals)
           
 double logTransitionProbability(java.lang.Object from, java.lang.Object to)
          Convenience method for computing the log probability of proposing a move.
static void main(java.lang.String[] argv)
           
 double transitionProbability(java.lang.Object from, java.lang.Object to)
          Convenience method for computing the probability of proposing a move.
 
Methods inherited from class org.omegahat.Probability.Distributions.MVNormal
checkConformity, checkConformity, componentMultiply, dim, dnorm, generate, generateDoubleArray, generateSeveral, getCovariance, getMean, log_dnorm, logPDF, logPDF, logUnnormalizedPDF, logUnnormalizedPDF, mahalanobis_2, PDF, PDF, rnorm, setCovariance, setMean, setMean, setupTransMat, sqrtMat, sqrtVec, square, unnorm_dnorm, unnorm_log_dnorm, unnormalizedPDF, unnormalizedPDF, xVx
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

DEBUG

public boolean DEBUG
Constructor Detail

NormalMetropolisProposal

public NormalMetropolisProposal(int length,
                                PRNG prng)
Constructor for normal increments with identity covariance matrix.
Parameters:
length - number of dimensions

NormalMetropolisProposal

public NormalMetropolisProposal(double[][] var,
                                PRNG prng)
Constructor for normal increments with specified covariance matrix.
Parameters:
var - variance matrix

NormalMetropolisProposal

public NormalMetropolisProposal(int length,
                                double var,
                                PRNG prng)
Constructor for a spherical normal increments with variances for each dimension. The diagonal elements of the covariance matrix will be set to the specified value, with off diagonals set to 0
Parameters:
length - number of dimensions
var - diagnonal values for covariance matrix (off diagonals are set to 0)
Method Detail

generate

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

conditionalPDF

public double conditionalPDF(java.lang.Object state,
                             java.lang.Object conditionals)
Specified by:
conditionalPDF in interface ConditionalDensity
Overrides:
conditionalPDF in class NormalProposal

logConditionalPDF

public double logConditionalPDF(java.lang.Object state,
                                java.lang.Object conditionals)
Specified by:
logConditionalPDF in interface ConditionalDensity
Overrides:
logConditionalPDF in class NormalProposal

transitionProbability

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

Probably implemented as:

double transitionProbability( Object from, Object to );

{

return conditionalPDF( to, from );

}

Specified by:
transitionProbability in interface GeneralProposal
Overrides:
transitionProbability in class NormalProposal

logTransitionProbability

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

Probably implemented as:

double logTransitionProbability( Object from, Object to );

{

return logConditionalPDF( to, from );

}

Specified by:
logTransitionProbability in interface GeneralProposal
Overrides:
logTransitionProbability in class NormalProposal

main

public static void main(java.lang.String[] argv)