pytc.vmc.sampling.burn_in

pytc.vmc.sampling.burn_in(ansatz, walkers, n_steps=2000, step_size=0.01, key=None, params=None, report_interval=100, move_type='one', max_vmap_batch_size=0, mesh=None, adapt_step_size=True)[source]

Perform burn-in steps for MCMC sampling.

Parameters:
  • ansatz – Wavefunction object

  • walkers – Initial walker configurations

  • n_steps – Number of burn-in steps

  • step_size – Step size for MCMC proposals, std dev of Gaussian

  • key – PRNG key

  • params – Parameters for the ansatz, including jastrow and linear coefficients

  • report_interval – How often to print progress (and, when adapt_step_size is True, how often to adapt step_size)

  • adapt_step_size – Adapt step_size after each COMPLETED report_interval window, using the mean acceptance over that window (never before the first window completes). Callers that adapt step_size themselves between calls (e.g. adaptive_burn_in, which adapts once per chunk on the chunk-mean acceptance) pass False so the two controllers don’t fight.

Returns:

Tuple of (equilibrated_walkers, acceptance_history, new_key, step_size) — step_size reflects any adaptation during the burn-in.