2024-02-05 12:26:13 -05:00
|
|
|
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)
|
2024-02-07 11:17:57 -05:00
|
|
|
print("<x>:", expect_x)
|
2024-02-05 12:26:13 -05:00
|
|
|
expect_x_sqrd = np.sum(normalized_coeffs ** 2) / len(normalized_coeffs)
|
2024-02-07 11:17:57 -05:00
|
|
|
print("<x^2>:", expect_x_sqrd)
|
|
|
|
sigma_x = np.sqrt(expect_x_sqrd - expect_x ** 2)
|
|
|
|
print("sigma x", sigma_x)
|