一键导入
using-sse
Use when choosing or running StochasticSeriesExpansion.jl or Carlo.jl for sign-free QMC/SSE workflows, MPI setup, or SSE setup failures.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when choosing or running StochasticSeriesExpansion.jl or Carlo.jl for sign-free QMC/SSE workflows, MPI setup, or SSE setup failures.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when the user wants a numerical result (ED / DMRG / QMC / VMC / any method) checked against an exact solution, or names a model from the solvable-models catalog in a verification context. Trigger phrases: "verify against the exact solution", "check my DMRG/ED/QMC result", "benchmark <method> on <model>", "is this energy right", "does this match the exact answer", "sanity-check this against Bethe ansatz / Onsager / free-fermion solution". Also fires when the user names any of the 63 catalog models below in a verification context — not only when they use the word "verify": - T1 quadratic/free-particle: tfim-chain (TFIM), xy-chain, kitaev-chain, ssh-chain, kitaev-honeycomb, hofstadter-harper, haldane-chern, anderson-1d, harmonic-chain - T2 2D classical/transfer matrix: ising-2d-onsager (Onsager / 2D Ising), ising-triangular, dimer-kasteleyn, six-vertex, eight-vertex, hard-hexagons - T3 Bethe ansatz/Yang–Baxter: xxz-chain, heisenberg-xxx, hubbard-1d-lieb-wu (Lieb–Wu / 1D Hubbard), lieb-liniger, yang
Use when an exact diagonalization track, ED reproduction, full spectrum, symmetry sector, scar, ETH, level statistics, quench dynamics, finite-temperature ED (FTLM/TPQ), spectral function, interior-spectrum / MBL eigenstates, or finite-cluster oracle needs method-level route and tool selection.
Use when the user names or describes a harness-tracked quantum lattice model. Match user prose to one of: - transverse-field-ising (TFIM): quantum-critical Ising chain / 2D Wilson-Fisher - heisenberg: SU(2) magnet, AFM or FM by sign of J - xxz-chain: spin-1/2 XXZ, Bethe-ansatz integrable, Δ tunes FM / Luttinger / Néel - j1-j2: frustrated Heisenberg, J2/J1≈0.5 spin-liquid candidate - shastry-sutherland: orthogonal-dimer AFM, exact dimer phase, magnetization plateaus - spin-1-xxz: Haldane phase, single-ion anisotropy - aklt: spin-1 bilinear-biquadratic, exact VBS ground state - kitaev-honeycomb: bond-dependent exchange, exactly solvable Z2 spin liquid, anyons - spin-ice-pyrochlore: 2-in-2-out ice rule, Coulomb phase, magnetic monopoles - mbl-disordered-heisenberg: random-field XXZ chain, ETH-to-MBL transition - rydberg-pxp: blockaded Rydberg chain, quantum many-body scars, |Z2⟩ revivals - dissipative-spin-lindblad: open spin lattice, Liouvillian spectrum, steady states - potts-clock: q-state, first-order / cont
Use when the user wants to reproduce a paper's figure or main result. Triggers include "reproduce paper X", "redo the figures of Y", "reproduce arXiv <id>", "put this paper through the harness as a calibration target", "walk me through reproducing this paper", "beginner reproduction", "I don't know what size to choose", "explain while reproducing", or right after `/download-ref` lands a new paper.
Use when choosing or running QuSpin as the Python fallback for exact diagonalization, constrained-basis ED, spin-chain ED examples, or QuSpin setup failures.
Use when choosing or running XDiag.jl for exact diagonalization, symmetry-resolved sectors, Lanczos/Krylov calculations, or XDiag setup failures.
| name | using-sse |
| description | Use when choosing or running StochasticSeriesExpansion.jl or Carlo.jl for sign-free QMC/SSE workflows, MPI setup, or SSE setup failures. |
Software-stack skill for the SSE route: StochasticSeriesExpansion.jl on Carlo.jl. It owns the software layer: run mechanics, software parameters (step 3), and the time estimate (feeds step 4). It is the step-2 handoff target from /method-qmc once the SSE route is chosen.
It does not own method selection, SSE theory, or the sign-freeness / autocorrelation "why" → /method-qmc; model choice → .knowledge/models/; paper figure facts → /reproduce-paper. This card carries the Carlo/SSE job shape and parameter values, not the method.
skills/using-sse/stack.tomlskills/method-qmc/SKILL.mdmake install ssejulia --project=julia-env -e 'using Carlo, StochasticSeriesExpansion'https://lukas.weber.science/StochasticSeriesExpansion.jl/stable/; tutorial https://lukas.weber.science/StochasticSeriesExpansion.jl/stable/tutorial.html; Carlo.jl https://lukas.weber.science/Carlo.jl/dev/references/sse-api.mdWhat /method-qmc routes here for, and what to confirm before running.
beta. The tutorial runs a honeycomb magnet susceptibility-vs-T curve.MagnetModel), the measure observable set, the lattice unitcell, a T / beta scan, and MPI ranks. Confirm sign-freeness first — if the sign is uncontrolled for this lattice / coupling-signs / basis, stop and reroute (the criterion is /method-qmc's).stack.toml for CPU vs MPI smoke tests and compose with /using-slurm for scheduled runs.Follow the package tutorial's job-script shape:
using Carlo
using Carlo.JobTools
using StochasticSeriesExpansion
tm = TaskMaker()
tm.sweeps = 80000
tm.thermalization = 10000
tm.binsize = 100
tm.model = MagnetModel
tm.S = 1
tm.J = 1
tm.measure = [:magnetization]
for L in [10, 20]
tm.lattice = (unitcell = UnitCells.honeycomb, size = (L, L))
for T in range(0.05, 4.0, 20)
tm.T = T
task(tm)
end
end
job = JobInfo(
splitext(@__FILE__)[1],
StochasticSeriesExpansion.MC;
run_time = "24:00:00",
checkpoint_time = "30:00",
tasks = make_tasks(tm),
)
start(job, ARGS)
Run locally with julia --project=julia-env scripts/<job>.jl run. Run under MPI only inside the selected remote allocation (the sse:cpu_mpi profile; sse:cpu for single-process); cluster modules, partitions, and mpirun/srun details live in skills/using-slurm/profiles/<profile>.toml.
mpirun -n <ranks> julia --project=julia-env scripts/<job>.jl run
Read the resulting <job>.results.json with Carlo.ResultTools.dataframe. Plot the primary observable versus the physical scan axis, with one curve per system size or beta.
The source for SSE/Carlo-specific reproduction knobs unless the paper or official code fixes a value. Starting points are software practice, not paper-anchored: begin from each, then converge it — the convergence check (β sweep, bin size, sweeps/chains), not the starting number, is what makes the result trustworthy.
What to pin:
T / beta, and boundary. Stop or reroute if the sign is uncontrolled (criterion → /method-qmc).Concrete starting points:
| Knob | Effect | Starting point |
|---|---|---|
sweeps | Statistical precision after thermalization. | 1e4 for smoke; 8e4+ for tutorial-scale curves. |
thermalization | Removes initial-state bias. | 10%–20% of sweeps; increase near criticality. |
binsize | Controls saved bin granularity. | Small compared with sweeps; larger than short autocorrelation scales. |
T / beta | Physical temperature or ground-state projection. | Scan temperature for curves; for a ground state increase beta until stable. |
L | System size. | At least three sizes for a scaling claim. |
measure | Observable set. | [:magnetization] for susceptibility and Binder diagnostics. |
| MPI ranks | Independent task throughput. | Use only when the Carlo task count is large enough to keep ranks busy. |
The scientific values — model, lattice, coupling signs, observable, temperature grid, validation target — are caller-supplied; resolve open ones via the step-4 brainstorm, deferring SSE theory and the sign / autocorrelation criteria to /method-qmc and model physics to the model card. This skill turns agreed values into a runnable Carlo/SSE job; it does not originate them.
Estimate from thermalization_sweeps + measurement_sweeps, cost per sweep, number of chains, and autocorrelation time; the result feeds /reproduce-paper's step-4 resource confirmation.
stack.toml for the MPI smoke test and /using-slurm for scheduled runs.