diff --git a/presentation/spin_chain/bootstrap.py b/presentation/spin_chain/bootstrap.py new file mode 100644 index 0000000..71ace1d --- /dev/null +++ b/presentation/spin_chain/bootstrap.py @@ -0,0 +1,14 @@ +import numpy as np +from collections import Counter, deque + +def bootstrap(m, nsample, resample_len, nresamples, f): + whole_sample = np.zeros(nsample) + whole_sample[m:] = 1 + + results = deque() + for _ in range(nresamples): + sample = np.random.choice(whole_sample, resample_len) + results.append(f(sample)) + + results = np.array(results).astype(np.double) + return np.std(results)