package statalign.mcmc; import statalign.base.Utils; import statalign.mcmc.PriorDistribution; import statalign.utils.GammaDistribution; public class InverseGammaPrior implements PriorDistribution<Double> { private GammaDistribution g; private double shape; private double rate; public InverseGammaPrior(double a, double b) { shape = a; rate = b; g = new GammaDistribution(shape+2,1.0/rate); } public double logDensity(Double x) { return Math.log(g.density(1.0/x)); } public double logDensityUnnormalised(Double x) { return Utils.logGammaDensity(1.0/x, shape+2, rate); } }