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.
Use when you need to quickly extract and print or process measured quantities from a DQMC simulation with proper error bars.
Do not use for raw data processing before binning, or for simulations that have not been completed.
Security analysis
SafeThe 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
I have a DQMC simulation output in 'data/run/', can you extract the fermion sign and density with error bars?Collect all observables from multiple subdirectories under 'simulations/' and compute the average double occupancy with error bars.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_*.h5files (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 |
Prompt Engineering
Data & AI
Prompt engineering best practices and templates to maximize AI outputs.
Data Visualization
Data & AI
Generates data visualizations and charts tailored to your data.
RAG Architecture Setup
Data & AI
Setup guide for RAG (Retrieval-Augmented Generation) architectures.