()
| 866 | |
| 867 | @register('parabolic', 'epanechnikov') |
| 868 | def parabolic_kernel(): |
| 869 | pdf = lambda t: 3/4 * (1.0 - t * t) |
| 870 | cdf = lambda t: sumprod((-1/4, 3/4, 1/2), (t**3, t, 1.0)) |
| 871 | invcdf = lambda p: 2.0 * cos((acos(2.0*p - 1.0) + pi) / 3.0) |
| 872 | support = 1.0 |
| 873 | return pdf, cdf, invcdf, support |
| 874 | |
| 875 | def _newton_raphson(f_inv_estimate, f, f_prime, tolerance=1e-12): |
| 876 | def f_inv(y): |