public void LogProbabilityDensityFunction()
{
NormalDistribution[] components = new NormalDistribution[2];
components[0] = new NormalDistribution(2, 1);
components[1] = new NormalDistribution(5, 1);
double[] coefficients = { 0.4, 0.5 };
var mixture = new Mixture<NormalDistribution>(coefficients, components);
double expected = System.Math.Log(
0.4 * components[0].ProbabilityDensityFunction(0.42) +
0.5 * components[1].ProbabilityDensityFunction(0.42));
double actual = mixture.LogProbabilityDensityFunction(0.42);
Assert.AreEqual(expected, actual);
}