f'(y) = exp(c - x * x * 0.5)
c = -log(sqrt(2*π)
x =
public void DerivativeTest() { ProbitLinkFunction target = new ProbitLinkFunction(); double[] expected = { 0.398942, 0.396953, 0.391043, 0.381388, 0.36827, 0.352065, 0.333225, 0.312254, 0.289692, 0.266085, 0.241971 }; for (int i = 0; i < 11; i++) { double x = i / 10.0; double y = target.Inverse(x); double d1 = target.Derivative(x); double d2 = target.Derivative2(y); Assert.AreEqual(expected[i], d1, 1e-5); Assert.AreEqual(expected[i], d2, 1e-5); Assert.IsFalse(Double.IsNaN(d1)); Assert.IsFalse(Double.IsNaN(d2)); } }