# Non-integrable Ising chain at the critical transverse field

The reference input `family` describes a transverse-field Ising chain at hx = J with random longitudinal fields: Open transverse-field Ising chain, H = -J sum Z_i Z_{i+1} - hx sum X_i - sum hz_i Z_i with J = 1, hx = 1 and random longitudinal fields hz_i drawn uniformly from [-0.5, 0.5] (non-integrable), started from a random Z-basis product state with 50% of spins up. Observable: <Z_i>(t) on every site at 41 times in [0, 20]. Nothing is conserved. At hx = J the clean chain is critical and the longitudinal fields break integrability: entanglement grows linearly and there is no conserved charge to lean on, so this family is where fixed-bond-dimension priors fail fastest.

The 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 (18 sites) and one at the scaling size (32 sites), so the only way to score well is to simulate well.

## Deliver

One Python file, bound to artifact role `method`, that defines

- `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`;
- `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`.

`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 18 sites, something cheap at 32) 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.

## How it is judged

The 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 (none for this family: only the bounds and the t = 0 row are gated); 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 18 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.

Declared 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.
