public override double ProbabilityDensityFunction(params double[] x)
{
double[] z = x.Subtract(mean);
double[] a = (svd == null) ? chol.Solve(z) : svd.Solve(z);
double b = a.InnerProduct(z);
double r = constant*System.Math.Exp(-0.5*b);
return r > 1.0 ? 1.0 : r;
}