pyhande.weight¶
Attempt to remove the population control bias by reweighting estimates.
- pyhande.weight.reweight(data, mc_cycles, tstep, weight_history, mean_shift, weight_key='Shift')¶
Reweight using population control to reduce population control bias.
Reweight estimators linear in the number of psips by the factor:
\[W(\tau, N) = \Pi^{N-1}_{m=0} e^{-A \delta \tau S(\tau - m\delta\tau)}\]where \(A\) is the number of steps per shift update cycle, \(\delta\tau\) is the time step and \(S(\tau - m\delta\tau)\) is the shift at time \(\tau - m\delta\tau\), and \(m\) is the number of iterations to reweight over.
See [Umrigar93] Eqs. 14-20 for details and [Vigor15] for use in FCIQMC.
- Parameters:
data (
pandas.DataFrame
) – HANDE QMC data.tstep (float) – The time step used in the weight factor.
mc_cycles (int) – The number of monte carlo cycles per update step.
weight_history (integer) – The number of iterations to reweight over.
mean_shift (float) – The mean shift. Used to prevent weights becoming too big.
weight_key (string) – Column to generate the reweighting data.
- Returns:
weight – List of weights.
- Return type:
List[float]
References
- Umrigar93
C.J. Umirigar et al., J. Chem. Phys. 99, 2865 (1993)
- Vigor15
W.A. Vigor, et al., J. Chem. Phys. 142, 104101 (2015).