diff --git a/binomial_coeffs.py b/binomial_coeffs.py new file mode 100644 index 0000000..d84b7e0 --- /dev/null +++ b/binomial_coeffs.py @@ -0,0 +1,24 @@ +import numpy as np +import math as m + + +def pascal(n: int) -> np.ndarray: + p = np.zeros(n + 1) + for i in range(n + 1): + p[i] = m.factorial(n) / (m.factorial(i) * m.factorial(n - i)) + return p + + +N = 10 +print("N:", N) + +coeffs = pascal(N) +print("coefficients:", coeffs) + +normalized_coeffs = coeffs / 2 ** N +print("normalized coefficients:", normalized_coeffs) + +expect_x = np.sum(normalized_coeffs) / len(normalized_coeffs) +expect_x_sqrd = np.sum(normalized_coeffs ** 2) / len(normalized_coeffs) +std = np.sqrt(expect_x_sqrd - expect_x ** 2) +print("std", std)