Agent skill

dqmc-analyze

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.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/dqmc-analyze

SKILL.md

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:

python
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 -
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:

python
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:

python
# 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

Didn't find tool you were looking for?

Be as detailed as possible for better results