Skip to content

Benchmark reproduction

The default python3 reproduce.py reruns all 22 BAFQMC/reference calculations, processes the new measurements, and draws the main-text and supplemental benchmark figures of the accompanying study. See RESOURCES.md for the 12–24 hour production budget, memory, scratch storage, and continuation commands. The optional --mode plot redraws the small stored dataset. Both paths draw the combined main-text benchmark and the separate attractive-density benchmark in the Supplemental Material.

Data and reference conventions

Figure / row Varying parameter Fixed parameters Reference
Main Fig. 2(a–d) U = U2 = 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 2 U1 = 0, mu = -3.5, beta = 4 Particle-shell ED; analytic free-boson reference at U = 0
Main Fig. 2(e–h) Delta = 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3 U1 = 0, U = U2 = 1, mu = -5, beta = 4 Dense ED with nmax = 3 and ncut = 4
Supplemental Fig. S1(a–d) U1 = -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0 U2 = 1, mu = -7, beta = 1 Low-density finite-occupation-window reference for U1 < 0

The stored input and data keys retain U1 and U2. Only the main-text notation uses U for U2; the supplemental model keeps both interaction coefficients. The processed tables and figure metadata record this notation explicitly.

--scope main selects the 15 points in the main-text figure, and --scope supplement selects the seven attractive-density points. The default --scope all includes both. Scope and solver selection are independent:

Selection Points Scan
--scope main 15 U and Delta
--scope main --model number_conserving 8 U
--scope main --model pairing 7 Delta
--scope supplement 7 U1
--model number_conserving 15 U and U1

The main-text model satisfies mu < -3*t - abs(Delta) at every plotted point. As proved in the study's supplemental subsection "Convergence throughout the auxiliary-field domain", its quadratic propagation and unitary relative-density HS factors give a finite trace throughout the auxiliary-field domain. This result applies to the repulsive model with U1=0; the supplemental scan uses the separate two-channel model and its stated finite-occupation references.

The pairing implementation writes the real pair term with a positive input coefficient, whereas the manuscript writes it as -Delta (b^+ c^+ + b c). The phase convention c_code = -c_paper relates these expressions at the same positive scan value. Density, total physical energy, and the two plotted structure factors are invariant under this transformation. The solver's anomalous pair amplitude pair_equal changes sign when expressed in manuscript operators; see the pairing conventions.

All points have t = 1, a periodic 3 x 3 triangular lattice, Delta tau = 0.01, 100000 measurement bins, and one MPI rank. The error bars are standard errors from ten consecutive blocks of 10000 bins. Warmup and stabilization settings, proposal widths, and exact initial seeds are in each inputs/<case>/ directory. The paired seeds.txt contains a list of rank seeds; the paper uses its first entry. It is not a multiword state for one random-number stream.

The four measurement files are density_total, energy_density, sf_K, and dw_K. Structure-factor files store real and imaginary components. The plots use their real parts and show the physical total energy as -E = -9 e, with the energy standard error multiplied by 9. The chemical-potential term is excluded from E. No statistical acceptance criterion removes points during reproduction.

The supplemental negative-U1 reference uses the original low-density occupation window: six completed particle shells, with a configured maximum of eight. This is the finite-window comparison encoded by low_density_cutoff_accepted in the ED records. The U = 0 reference in the main-text interaction scan is computed analytically; its original truncated ED JSON is retained for provenance but is not used for that red point. All other reference values are read from the archived ED results.

Layout

data/index.json                  selected cases, parameters, plotted values, provenance
data/observables.csv             compact processed means, SEM, and ED values
data/block_means.csv             ten block means per case and observable
data/<model>/manifest.json       executable paper campaign
data/<model>/inputs/<case>/      exact initial input files and ED parameters
data/<model>/ed/<case>.json      original ED results
data/<model>/raw/<case>.tar.gz   optional local raw archives, ignored by Git
analysis.py                     raw-data statistics, references, tables, plot dispatch
plot_manuscript.py               main U/Delta grid and supplemental U1 scan
plot_number.py                  original 2 x 4 number-conserving layout
plot_pairing.py                 original 1 x 4 paired layout
plot_style.py                   shared original figure style

The tracked data package is approximately 250 kB. Large raw measurement files are generated by BAFQMC and excluded from Git. The small ED JSON files contain reference expectation values and cutoff metadata. Stored block means permit independent reconstruction of the plotted mean and standard error without shipping the full Monte Carlo chains. --mode check checks finite records, ED parameters, and reconstruction of the plotted means and SEM without making figures. --mode raw reconstructs the statistics from the optional original raw archives when they are present locally.

The current outputs are figures/benchmark_combined.pdf (two rows) and figures/benchmark_attractive.pdf (one row), with PNG previews alongside them. Only the figures and rows covered by the selected scope and solver are drawn. An individual main-text row is written as figures/benchmark_combined_number_conserving.pdf or figures/benchmark_combined_pairing.pdf, preserving panel labels (a–d) or (e–h), respectively. The original layout modules remain available as reusable plotting helpers.

Generated tables include benchmark, section, figure, figure_row, and panels to locate each point in the current manuscript. scan_parameter is the plotted symbol, solver_parameter is its input key, and U gives the main-text interaction coefficient. The JSON records collect these fields under manuscript. Existing case IDs and the archived row field retain their historical meaning; use figure_row for the current figure arrangement.

Fresh calculations

--mode full (the default) builds each solver, executes the paper campaign, runs ED, reblocks the new measurements, and draws both figures from the new results. The original data stay fixed in data/. Output goes to the directory selected by --output and includes the numerical differences from ED.

Fresh Monte Carlo trajectories can differ with compiler and numerical library: the published data remain the exact source for regenerating the original curves. PDF metadata and font-library versions can also change PDF byte hashes even when the plotted data and layout are identical.

For separate stages, --mode dqmc and --mode ed write into output/runs/. After both stages, --mode analyze reblocks their outputs and draws the figures. Use the same --scope and --model for each stage and for --resume. Each solver's run_paper.py --help also exposes case selection or campaign configuration and an analysis entry point. Do not overwrite archived input files when creating a new model campaign; copy them into your own configuration directory.

Source provenance

The number-conserving implementation was imported from code_bosonDQMC at 68b82365ab817fd4a96e357358c31181f7acb3f3; the paired implementation from code_bosonDQMC_paring at e4c1d04e6b756eb6bd6d0cf5b9a778c6b54a920c. Their Fortran model kernels were imported without changes. This distribution provides portable build files, local campaign runners, and standard numerical interfaces; see the numerical support guide.

These identifiers describe source provenance; all source files, campaign inputs, processed data, and reference implementations required for reproduction are included here. Selected cases, physical parameters, and provenance are recorded in data/index.json. Production generates fresh raw measurements directly from the included inputs.