DQMC Results Analysis

VerifiedSafe

Extracts physical observables with error estimates from completed DQMC simulations. Use to compute density, double occupancy, spin correlations, structure factors, or any measured quantity from simulation data.

Sby Skills Guide Bot
Data & AIAdvanced
706/2/2026
Claude Code
#quantum-monte-carlo#hubbard-model#observables#error-analysis#simulation-results

Recommended for

Our review

Extract physical observables with error estimates from completed DQMC simulations.

Strengths

  • Directly computes mean and standard error from binned data.
  • Supports a wide range of observables (density, double occupancy, spin correlations, structure factors).
  • Can handle multiple simulation directories and aggregate results.
  • Validates sign problem severity by checking error on the sign.

Limitations

  • Requires pre-existing binned HDF5 files from a completed DQMC simulation.
  • Does not perform further statistical analysis beyond binning.
  • Some observables (e.g., susceptibilities) need a specific simulation setting (period_uneqlt > 0) to be available.
When to use it

Use when you need to quickly extract and print or process measured quantities from a DQMC simulation with proper error bars.

When not to use it

Do not use for raw data processing before binning, or for simulations that have not been completed.

Security analysis

Safe
Quality score92/100

The skill only performs local file reading and statistical analysis on simulation data. There are no network calls, shell commands, destructive operations, or data exfiltration risks.

No concerns found

Examples

Basic observable extraction
I have a DQMC simulation output in 'data/run/', can you extract the fermion sign and density with error bars?
Multi-directory aggregation
Collect all observables from multiple subdirectories under 'simulations/' and compute the average double occupancy with error bars.
Derived quantity computation
Compute the magnetic moment squared from the spin correlator for the run in 'data/run/' using the zzr observable.

name: dqmc-analyze description: Extract physical observables with error estimates from completed DQMC simulations. Use when computing density, double occupancy, spin correlations, structure factors, or any measured quantity from simulation data.

Analyze Results

Inputs

  • Directory containing bin_*.h5 files (completed simulations)
  • Observable names (see table below)

Outputs

  • Dictionary with parameters and (mean, stderr) tuples for each observable

Procedure

Basic analysis:

from dqmc_util import analyze_hub

data = analyze_hub.get("data/run/", "sign", "den", "zzr")

print(f"sign = {data['sign'][0]:.4f} +/- {data['sign'][1]:.4f}")
print(f"density = {data['den'][0]:.4f} +/- {data['den'][1]:.4f}")

Available observables:

| Name | Description | Requires | |------|-------------|----------| | sign | Fermion sign | - | | den | Density <n> | - | | docc | Double occupancy <n_up n_down> | - | | gr, gk | Green's function (real/k-space) | - | | nnr, nnq | Density correlator / structure factor | - | | zzr, zzq | Spin-z correlator / structure factor | - | | xxr | Spin-x correlator | - | | swq0 | S-wave pair structure factor | - | | nnrw0, zzrw0 | Zero-freq susceptibilities | period_uneqlt > 0 | | dwq0t | D-wave pair susceptibility | period_uneqlt > 0 |

Collect from multiple directories:

import os

def collect_results(base_dir, observables):
    results = []
    for subdir in sorted(os.listdir(base_dir)):
        path = os.path.join(base_dir, subdir)
        if os.path.isdir(path):
            try:
                results.append(analyze_hub.get(path + "/", *observables))
            except Exception as e:
                print(f"Skipping {path}: {e}")
    return results

Compute derived quantities:

# Magnetic moment squared from spin correlator
path = "data/run/"
data = analyze_hub.get(path, "zzr")
mz2 = 4 * data["zzr"][0][0, 0]       # [0] = mean, shape (Ny, Nx)
mz2_err = 4 * data["zzr"][1][0, 0]   # [1] = stderr

Validation

  • [ ] Errorbar on sign is significantly less than mean. Otherwise, sign problem is too severe.
  • [ ] Errorbars on observable are reasonable (not >> mean)

Failure Modes

| Symptom | Cause | Recovery | |---------|-------|----------| | KeyError for observable | Observable not computed | Check period_uneqlt setting | | "No files found" | Wrong path or no bin_*.h5 | Verify directory structure | | Large error bars | Insufficient statistics | Run more sweeps or bins |

Related skills