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.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install edwnh-dqmc-dqmc-analyze
Repository
Skill path: .claude/skills/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.
Open repositoryBest for
Primary workflow: Analyze Data & AI.
Technical facets: Full Stack, Data / AI.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: edwnh.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install dqmc-analyze into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/edwnh/dqmc before adding dqmc-analyze to shared team environments
- Use dqmc-analyze for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
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:**
```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 <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:**
```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 |