skillby edwnh
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.
Installs: 0
Used in: 1 repos
Updated: 1w ago
$
npx ai-builder add skill edwnh/dqmc-analyzeInstalls to .claude/skills/dqmc-analyze/
# 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 |Quick Install
$
npx ai-builder add skill edwnh/dqmc-analyzeDetails
- Type
- skill
- Author
- edwnh
- Slug
- edwnh/dqmc-analyze
- Created
- 1w ago