API reference for the command-line interface (jqmc)#
Command-line jqmc usage#
You can run jqmc tasks (mcmc, vmc, lrdmc, and lrdmc-tau) from the command line:
# Serial run
jqmc <input-file> > <output.log>
# MPI parallel run
mpirun -np <N> jqmc <input-file> > <output.log>
The input file is a JSON/YAML document whose keys match the parameters listed below.
Note Throughout this document, “per MPI process and per walker” means the quantity is counted for each MPI rank and for each walker on that rank. When relevant, the total across all ranks and walkers is indicated explicitly.
Input parameters for the command-line jqmc#
control#
Key |
Default |
Description |
|---|---|---|
|
required |
Select the job: |
|
|
Random seed for MCMC/GFMC chain. |
|
|
Number of walkers per MPI process. |
|
|
Wall time limit in seconds. |
|
|
If |
|
|
Path to the restart checkpoint file (used when |
|
|
Hamiltonian checkpoint file. When |
|
|
Verbosity level: |
mcmc (i.e., a single-shot MCMC without WF optimization)#
Key |
Default |
Description |
|---|---|---|
|
required |
Number of measurement steps per MPI process and per walker. Local energy and other observables are measured |
|
|
MCMC updates between successive measurements. Observables are recorded every |
|
|
Number of warm-up measurement steps to be discarded. |
|
|
Number of binning blocks per MPI process and per walker (total binned blocks = |
|
|
MCMC step size (Bohr). |
|
|
ε parameter for the Attaccalite–Sorella regularization. |
|
|
If |
vmc (stochastic reconfiguration / natural-gradient optimization)#
Key |
Default |
Description |
|---|---|---|
|
required |
Same definition as in |
|
|
Same as |
|
|
Warm-up steps to discard. |
|
|
Binning blocks per MPI process and per walker. |
|
|
MCMC step size (Bohr). |
|
|
ε for Attaccalite–Sorella regularization. |
|
required |
Number of optimization iterations. |
|
|
Write wavefunction/Hamiltonian checkpoint every this many optimization steps. |
|
|
Optimizer configuration. Set |
|
|
Optimize J1 parameters. |
|
|
Optimize J2 parameters. |
|
|
Optimize J3 parameters. |
|
|
Optimize geminal (λ) parameters. |
|
|
Number of parameters to optimize, chosen in descending order of |f| / std(f). If |
lrdmc#
Key |
Default |
Description |
|---|---|---|
|
required |
Number of measurement steps per MPI process and per walker during LRDMC. |
|
|
Number of GFMC projections between measurements (observables recorded after each block of projections). |
|
|
Lattice discretization parameter (grid spacing). The lattice spacing is |
|
|
Treatment of non-local ECP terms: |
|
|
Number of warm-up measurement steps to discard. |
|
|
Number of binning blocks for GFMC. Total binned blocks = |
|
|
Number of pre-binning measurements used to collect/accumulate weights. |
|
|
Initial total-energy guess used to set the initial GFMC energy shift. |
|
|
If |
lrdmc-tau#
Key |
Default |
Description |
|---|---|---|
|
required |
Number of measurement steps per MPI process and per walker. |
|
|
Imaginary-time step size between projections. |
|
|
Lattice discretization parameter; lattice spacing |
|
|
Non-local ECP treatment: |
|
|
Warm-up steps to discard. |
|
|
Binning blocks for GFMC (total binned blocks = |
|
|
Pre-binning measurement count for weight collection. |
Minimal schema example#
{
"control": {
"job_type": "mcmc",
"number_of_walkers": 4,
"verbosity": "low"
},
"mcmc": {
"num_mcmc_steps": 1000,
"num_mcmc_per_measurement": 40,
"Dt": 2.0
}
}
Tips
Set
num_mcmc_warmup_stepsto a nonzero value to ensure equilibrated sampling before measurements.For reproducibility across MPI runs, keep
mcmc_seedfixed and the MPI topology unchanged.Start LRDMC with a reasonable
E_scfto reduce initial transients in the population control.