org.omegahat.Probability.Distributions
Class MVNormal
java.lang.Object
|
+--org.omegahat.Probability.Distributions.MVNormal
- All Implemented Interfaces:
- Density, Distribution, Generator, UnnormalizedDensity
- Direct Known Subclasses:
- NormalProposal
- public class MVNormal
- extends java.lang.Object
- implements Distribution, UnnormalizedDensity
Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait |
mu
private double[] mu
- Mean
sigma
private double[][] sigma
- Covariance Matrix
sigmaSqrt
private double[] sigmaSqrt
sigmaInv
private double[][] sigmaInv
sigmaSVD
private VisualNumerics.math.DoubleSVD sigmaSVD
sigmaDet
private double sigmaDet
transMat
private double[][] transMat
isDiagonalCov
private boolean isDiagonalCov
normalizing_constant
private double normalizing_constant
log_normalizing_constant
private double log_normalizing_constant
prng
private PRNG prng
- Pseudo-Random Number Generator to Use
prob
private PRNGDistributionFunctions prob
- Pull all the probability functions out of package
DEBUG
public boolean DEBUG
MVNormal
public MVNormal(int dimensions,
PRNG prng_in)
MVNormal
public MVNormal(double[] mean,
double[][] var,
PRNG prng_in)
MVNormal
public MVNormal(double[][] var,
PRNG prng_in)
getMean
public double[] getMean()
getCovariance
public double[][] getCovariance()
setMean
public java.lang.Object setMean(java.lang.Object mean_in)
setMean
public double[] setMean(double[] mean_in)
setCovariance
public double[][] setCovariance(double[][] var)
dim
public int dim()
setupTransMat
public void setupTransMat()
rnorm
private double[] rnorm()
mahalanobis_2
private double mahalanobis_2(double[] x)
xVx
double xVx(double[] c,
double[][] V)
dnorm
private double dnorm(double[] x)
unnorm_dnorm
private double unnorm_dnorm(double[] x)
log_dnorm
private double log_dnorm(double[] x)
unnorm_log_dnorm
private double unnorm_log_dnorm(double[] x)
square
private static final double square(double a)
componentMultiply
private double[][] componentMultiply(double[][] mat,
double[] vec)
sqrtMat
private double[][] sqrtMat(double[][] mat)
sqrtVec
private double[] sqrtVec(double[] vec)
checkConformity
protected void checkConformity(double[] x)
checkConformity
protected void checkConformity()
PDF
public double PDF(double[] x)
logPDF
public double logPDF(double[] x)
unnormalizedPDF
public double unnormalizedPDF(double[] x)
logUnnormalizedPDF
public double logUnnormalizedPDF(double[] x)
generateDoubleArray
public java.lang.Object generateDoubleArray()
generate
public java.lang.Object generate()
- Specified by:
generate
in interface Generator
generateSeveral
public java.lang.Object[] generateSeveral(int howmany)
- Specified by:
generateSeveral
in interface Generator
PDF
public double PDF(java.lang.Object value)
- Specified by:
PDF
in interface Density
logPDF
public double logPDF(java.lang.Object value)
- Specified by:
logPDF
in interface Density
unnormalizedPDF
public double unnormalizedPDF(java.lang.Object value)
- Specified by:
unnormalizedPDF
in interface UnnormalizedDensity
logUnnormalizedPDF
public double logUnnormalizedPDF(java.lang.Object value)
- Specified by:
logUnnormalizedPDF
in interface UnnormalizedDensity
main
public static void main(java.lang.String[] argv)