public void DigammaTest()
{
double[] x = { 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0 };
double[] expected =
{
-0.5772156649015329,
-0.4237549404110768,
-0.2890398965921883,
-0.1691908888667997,
-0.06138454458511615,
0.03648997397857652,
0.1260474527734763,
0.208547874873494,
0.2849914332938615,
0.3561841611640597,
0.4227843350984671,
};
for (int i = 0; i < x.Length; i++)
{
double xi = x[i];
double expectedi = expected[i];
double actual = Gamma.Digamma(xi);
Assert.AreEqual(expectedi, actual, 1e-10);
}
}