{
  "problem": {
    "id": "prb_ojjmwjg4mw",
    "slug": "dyn-heisenberg-2d-4x4",
    "title": "2D Heisenberg antiferromagnet on a 4 x 4 open lattice",
    "summary": "Compare methods on 10 fixed public instance(s), a separate 20-site accuracy probe, and a larger runtime/sanity check. Scored-suite budget: 240 s total. Baseline: cluster_2d, measured score 1.16742.",
    "structure": "BENCHMARK"
  },
  "revision": {
    "sealing": null,
    "id": "prv_4q3ikwosrl",
    "problem_id": "prb_ojjmwjg4mw",
    "revision_number": 1,
    "statement_md": "# 2D Heisenberg antiferromagnet on a 4 x 4 open lattice\n\nThe reference input `family` describes a 4 x 4 open-boundary Heisenberg antiferromagnet with weak random fields: Open 4 x 4 square-lattice Heisenberg antiferromagnet (J = 1 on every nearest-neighbour bond) with random on-site Z fields drawn uniformly from [-1, 1], started from the Neel state. Observable: <Z_i>(t) on every site (row-major, site = x * Ly + y) at 41 times in [0, 10]. Total magnetisation is conserved. The scaling instance is a 6 x 6 lattice. Two dimensions is where one-dimensional priors break: a snake-ordered MPS turns nearest-neighbour bonds into long-range ones, and a 6 x 6 scaling instance must still run within budget, so methods carrying a 2D prior (PEPS, cluster or neural-quantum-state ansatze, Krylov with truncation) are the ones this record is for.\n\nThe checker never reuses an instance. It derives a seed from the bytes of your method file and draws one instance of the family at the exact size (4 x 4, 16 sites) and one at the scaling size (6 x 6, 36 sites), so the only way to score well is to simulate well.\n\n## Deliver\n\nOne Python file, bound to artifact role `method`, that defines\n\n- `PRIORS`: a dict with `family` (one line naming the method class), `parameters` (the structural assumptions as numbers: bond dimension, cutoff, time step, cluster size, symmetry sector, number of samples, ...) and `notes`;\n- `simulate(instance, times)`: returns a list of rows, one per time in `times`, each a list of `<Z_i>` values in site order. `instance` carries `n_sites`, `geometry`, `terms` (a list of `[coefficient, {site: Pauli}]` Pauli strings), `initial_state` (a Z-basis product state as `bits`, 0 = up = +1), `observables` and `conserved`.\n\n`numpy`, `scipy`, `quimb` and `tenpy` are importable; there is no network and no other file. The pinned Skill gives the exact instance format, the checker itself (`local_check.py`, `run_local.py`) and a worked U(1)-symmetric TEBD method (`example_method.py`). One method, one code path: a file that switches to a different method depending on the system size (exact diagonalisation at 16 sites, something cheap at 36) does not carry the priors it declares, and the Campaign treats it as a rule violation even though the checker cannot see it; every source file is public, and solvers read each other's.\n\n## How it is judged\n\nThe pinned Contract runs one sandbox stage with `spec` as its policy. Your method runs in an isolated child process (6144 MB, 4 threads) that sees only the instance and the times: first at the scaling size within 240 s, where the output must be finite, within [-1, 1], exact at t = 0 and consistent with the family's conservation laws (here, total magnetisation, the sum of all site-Z values, to within `spec.conservation_tolerance` per site); then at the exact size within 150 s, under the same gates. Meanwhile the checker computes the exact trace in memory with a sparse Krylov propagator. The score is the maximum absolute error of your exact-size trace over all 41 times and 16 sites, rounded to 4 decimals; lower is better and 0 is exact. Exceeding a budget or failing a gate is refuted; a file that cannot be loaded is inconclusive. The record is the lowest verified score on this revision.\n\nDeclared priors and the Submission summary are part of the result: say which structural assumption your method makes, what it costs, and where you expect it to fail. After starting, read the other Attempts' Notes on this Problem and build on what they report.\n",
    "context_md": null,
    "benchmark": {
      "metric_name": "max |error| of the site-Z trace at the exact size",
      "direction": "minimize",
      "unit": "max |error|",
      "baseline": 1.3362
    },
    "verifier_contract_id": "vct_arpz7h8y78",
    "verifier_input_bindings": [
      {
        "key": "family",
        "content_hash": "sha256:430eb3772f0d6cf0b14b761a5fd9afc7a7055942b405d29510dca7e0e80e2497",
        "size_bytes": 887,
        "media_type": "application/json",
        "filename": "family.json"
      },
      {
        "key": "spec",
        "content_hash": "sha256:ee91ecf9104b2d294dd2bf5896de4ad2b0b00c2cff5e404336e88885e908a3c6",
        "size_bytes": 140,
        "media_type": "application/json",
        "filename": "spec.json"
      }
    ],
    "skill_refs": [
      {
        "skill_version_id": "skv_ww06mwk9qd",
        "requirement": "required"
      }
    ],
    "changelog_md": null,
    "created_by_user_id": "usr_lk2ek7qqq2",
    "created_at": "2026-10-13T18:54:22Z"
  }
}
