From 9ec37795f404200e72f4ffdacce3d89ff694b3d5 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 20:36:46 +0100 Subject: [PATCH 01/15] protocol: pre-register correlated_nd@1, the second model family (B5c) High-D correlated Gaussians (D = 20, 50, 100, condition number 10^3) and a D = 20 hybrid Rosenbrock banana with exact posteriors and ln Z by construction. Tasks, verdict rules (whitened-coordinate check replacing ppc/modes), the exact-reference agreement test, deferral rules per dimension (live-point, walker and provider floors), the 820-run pilot and the freeze rule, committed before any correlated_nd row exists. Ranks nothing across families. Refs #14 Co-Authored-By: Claude Opus 5.5 --- wiki/project/protocol_correlated_nd.md | 259 +++++++++++++++++++++++++ 1 file changed, 259 insertions(+) create mode 100644 wiki/project/protocol_correlated_nd.md diff --git a/wiki/project/protocol_correlated_nd.md b/wiki/project/protocol_correlated_nd.md new file mode 100644 index 00000000..ed83119c --- /dev/null +++ b/wiki/project/protocol_correlated_nd.md @@ -0,0 +1,259 @@ +# Protocol `correlated_nd@1` — pre-registered success criteria + +**Pre-registered 2026-10-15, before any `correlated_nd` row exists** (search-extensibility +epic, phase B5c; autofit_inference#14). Git proves the order: this file's first commit +predates every file under `results/searches/corr_gaussian_*/` and +`results/searches/rosenbrock_d20/`. The runner stamps every row of this family with +`protocol_id: correlated_nd@1`, and every verdict reason starts with `correlated_nd@1:`. +The freeze commit is recorded in §7 by a later commit that cites it. + +**Why a second family.** `gaussian_x3` (protocol `gaussian_x3@1/@2`) tests label switching +and a blend at 10 parameters; its posterior is close to Gaussian and low-dimensional. A +ranking from one family says nothing about the geometries where searches really differ. +`correlated_nd` stresses a different axis: scaling with dimension and adaptation to an +ill-conditioned, correlated or curved posterior (mass-matrix adaptation for gradient +chains, bound construction for nested samplers). Its posterior and evidence are **exact by +construction**, so no reference search is run. + +**Change rule** (as `gaussian_x3`). Nothing in §1–§9 changes after a `correlated_nd` row is +committed except through a new protocol version (`correlated_nd@2`, …) whose diff and +reason are recorded in §11, committed before the first row judged by it. Values marked +**PLACEHOLDER** are calibrated on the pilot (§7) and then frozen as `correlated_nd@2` +before any scored row. §10 is bookkeeping, not criteria. + +**Families are never compared.** This protocol judges only `correlated_nd` rows; the +catalogue groups them by task and by dataset in their own section, separately from +`gaussian_x3`, and **ranks nothing across families** (§9). + +## 1. The question + +Which PyAutoFit searches find the right answer on high-dimensional, ill-conditioned +targets, how reliably across seeds, and at what wall-clock cost per right answer. A +search answers one of three **tasks** and is judged only within its task and dataset: + +| Task | Searches (the gaussian_x3 wave-2 menu, unchanged) | Judged by | +|---|---|---| +| point/MAP | LBFGS, BFGS, MultiStartAdam, MultiStartProdigy, MultiStartADABelief, MultiStartLion | §4(a) | +| posterior | Emcee, Zeus (numpy and JAX legs), BlackJAXNUTS (cold, and warm from a short Nautilus), SMC | §4(b) | +| evidence | Nautilus (`n_live` 100/200/400), DynestyStatic (`nlive` 200), DynestyDynamic (default), NSS (`n_live_200_mcmc_steps_50`) | §4(b) and §4(c) | + +The menu — searches, settings names and kwargs, backends (`numpy` where PyAutoFit +supports it, `jax_cpu` where the search is JAX-native) — is the `gaussian_x3` wave-2 menu +verbatim (`searches/_runner.SAMPLERS`, `searches/_wave2.SETTINGS`). It is **not retuned** +for this family: how a fixed configuration copes with dimension is part of what is +measured. A cell that cannot answer its task by construction at a dimension is +**deferred** with its reason (§7), never silently dropped. Every registered search +appears with a status: `measured`, `deferred` or `failed`. + +## 2. Datasets, model, priors and likelihood + +Defined once: `scripts/misc/simulators/correlated_nd.py` (the generator), +`scripts/misc/models/correlated_nd.py` (model and Analysis) and +`scripts/misc/models/correlated_nd_exact.py` (every exact quantity). + +**Four datasets** (`dataset//`; one structure each, fixed by a `structure_seed`): + +| Dataset | Kind | D | structure_seed | ln Z (realisation 1) | H (nat) | max ln L | +|---|---|---|---|---|---|---| +| `corr_gaussian_d20` | correlated Gaussian | 20 | 2020 | −93.0195 | 53.13 | −29.892 | +| `corr_gaussian_d50` | correlated Gaussian | 50 | 2050 | −233.0188 | 133.29 | −74.729 | +| `corr_gaussian_d100` | correlated Gaussian | 100 | 2100 | −467.0880 | 267.63 | −149.458 | +| `rosenbrock_d20` | hybrid Rosenbrock banana | 20 | 3020 | −140.9460 | 133.29 | 2.344 | + +(`H = E_post[ln L] − ln Z` is the prior-to-posterior information; ln Z and H are exact, +§6.) + +- **Correlated Gaussian.** `L(θ) = N(y; θ, Σ)` with `Σ = Q diag(λ) Qᵀ`: `Q` a seeded + Haar-random orthogonal matrix (QR of a standard-normal matrix, signs fixed by + `diag(R) > 0`), `λ` log-spaced from 0.1 to 100, so the **condition number is 10³ + exactly**. Truth `θ*` seeded in `U(−10, 10)` per axis; data + `y = θ* + Q (√λ ⊙ z)`, `z ~ N(0, I)`. Under the prior box the posterior is `N(y, Σ)`. +- **Hybrid Rosenbrock banana** (Pagani, Wiegand & Nadarajah 2022, *Scand. J. Stat.* 49, + 657) with `n1 = 2`, `n2 = 19`, `a = 1/20`, `b = 100/20`, `μ = 1`: + `x1 | y ~ N(y1, σ1²)`, `x_j | x1, y ~ N(x1² + y_j, σ2²)` for `j = 2…20`, with + `σ1 = √10`, `σ2 = √0.1`. The map `(x1, x_j) → (x1, x_j − x1²)` has unit Jacobian, so the + density is normalised exactly and sampled directly. Truth `x1* = 1`, `x_j* = 1`; data + `y1 = 1 + σ1 z0`, `y_j = σ2 z_j`. +- **Priors.** One `UniformPrior` per parameter (`x000 … x{D−1}`, an `af.Collection` in key + order) on a box fixed by the structure, never by the data (`priors.json`): Gaussians, + `θ*_i − m⁻_i σ_i … θ*_i + m⁺_i σ_i` with `σ_i = √Σ_ii` and margins `m±` seeded in + `U(12, 16)`; banana, `x1 ∈ 1 ∓ U(10, 12) σ1` and `x_j ∈ [−c⁻ σ2, max(x1)² + c⁺ σ2]` with + `c±` seeded in `U(12, 16)`. No assertions and no label symmetry: the label convention of + `gaussian_x3` §3 does not arise, `assertion_mechanism` is `none` and the evidence offset + is 0. +- **Likelihood** — a normalised density in θ, so `ln Z = ln(box mass) − ln V` exactly + (`V` the box volume): Gaussian + `ln L = −½ |diag(λ)^−½ Qᵀ (θ − y)|² − ½ Σ ln(2πλ)`; banana + `ln L = −½ [((x1 − y1)/σ1)² + Σ_j ((x_j − x1² − y_j)/σ2)²] − ½ ln(2πσ1²) − ½ (D−1) ln(2πσ2²)`. + One `xp` expression serves the numpy and JAX backends. +- **Realisations.** A `data_seed` draws `z` from `default_rng([structure_seed, data_seed])`; + the default realisation is `data_seed` 1. A realisation with any `|z| > 5` is refused by + the generator, which bounds the box truncation (§6). +- Point/MAP searches optimise the log posterior; inside the box PyAutoFit's uniform prior + contributes 0, so log posterior = log likelihood there. Every row records both + `max_log_likelihood` and `max_log_posterior`. + +## 3. Label convention + +None: the parameters are not exchangeable. `posterior_relabelled` on rows and references +is the posterior itself; `modes`, `modes_found` and `label_permutations_found` are `null`. + +## 4. Success criteria (per run) + +All comparisons are against the **exact reference** of §6 for the **same dataset, the +same backend and the same realisation** (identity `dataset, backend, data_seed, +assertion_mechanism`, `_protocol.REFERENCE_IDENTITY`). A missing or failed reference makes +the verdict `not_assessed` with that reason. + +**(a) point/MAP** — `max_log_posterior ≥ ref_MAP_log_posterior − 1` nat, the exact MAP +being the mode (`y`, or `(y1, y1² + y_j)` for the banana). Point/MAP runs are judged on (a) +alone; other rows record it as a diagnostic. + +**(b) posterior accuracy**, all of: + +1. every parameter: `|median − ref_median| / ref_σ ≤ 1`; +2. every parameter: `σ_run / σ_ref ∈ [0.5, 2.0]` — **PLACEHOLDER band**; +3. **whitened coordinates** (this family's replacement for `gaussian_x3`'s + posterior-predictive and mode criteria): map every sample through the exact whitening + map, `u = diag(λ)^−½ Qᵀ (θ − y)` (Gaussian) or `u1 = (x1 − y1)/σ1`, + `u_j = (x_j − x1² − y_j)/σ2` (banana), under which the true posterior is `N(0, I)`. + Every coordinate's `|median|` is ≤ 1 unit sigma and its sigma ratio lies in + **[0.5, 2.0] — PLACEHOLDER band**. Sigma is `(q84 − q16)/2` throughout, so a unit + normal's is `Φ⁻¹(0.84) = 0.9945` and ratios are taken against it. This tests the + correlation structure and the curvature, which per-parameter marginals cannot: a + search that matches every marginal of a correlated Gaussian but samples an + axis-aligned ellipsoid fails it along the stiff eigen-directions. + +**(c) evidence** — `|ln Z − ref ln Z| ≤ 1` nat (no offset: no excluded prior volume). + +**Verdict.** point/MAP: `accepted` iff (a). posterior: `accepted` iff (b). evidence: +`accepted` iff (b) and (c). Otherwise `rejected`, with every failed criterion listed by +number. A run that did not complete is `rejected` with `not completed: `. +`truth_delta_sigma` against the generating truth is recorded (across realisations it +should look roughly N(0, 1)); it checks the data, not the search. + +## 5. Convergence diagnostics (separate from acceptance) + +As `gaussian_x3` §5, with its values as **PLACEHOLDERS** for this family: nested — +`converged` iff the run completed, its own termination criterion was met and the Kish ESS +≥ **500**; chains — split R-hat ≤ **1.01** and bulk ESS ≥ **400** on every parameter; +point/MAP — `not_assessed`. Convergence never implies acceptance, nor the reverse. + +## 6. The exact reference and its agreement test + +Written per dataset × backend × realisation by +`scripts/misc/reference/exact_correlated_nd.py` to +`results/reference///reference.json` (`data_seed/` for a non-default +realisation): `status`, the identity, `log_evidence` (= `log_evidence_normalised`), +`information_nats`, `max_log_likelihood`, `map.log_posterior`, the exact marginals +(`posterior`, `posterior_relabelled`) in the `_posterior.marginal` convention, and how +each was computed. + +- **ln Z.** Gaussian: `ln Z = −ln V`, the box truncation bounded by a union bound over the + exact marginals (`truncation_bound`, below 1e-25 on every committed realisation, so ln Z + is exact to that). Banana: the box mass is integrated (Gauss–Legendre over `x1`, + 4000 × 8 nodes; every `x_j` factor a closed-form normal CDF) and `ln Z = ln mass − ln V`. +- **Marginals.** Gaussian: `y_i + σ_i Φ⁻¹(q)`. Banana: `x1` from the integrated `x1` + density, each `x_j` by inverting its integrated CDF (bisection to 1e-10 σ2). + +**Agreement required** (the §6 test of `gaussian_x3`, against an exact target instead of +between reference runs); a reference is `complete` only when every item passes, else +`failed` with its reasons and nothing is judged against it: + +1. *Backend identity.* The backend's own figure of merit — PyAutoFit `Fitness.call` over the + family's Analysis, the path every search calls (`jax.jit` on JAX) — equals the analytic + `ln L` at the exact mode and 63 exact posterior draws to **1e-8 nat**. +2. *Exact draws.* 200 000 iid exact posterior draws, summarised by the runner's own + statistics code: every median within **0.02** reference σ, every σ ratio and every + whitened σ ratio within **1 ± 0.02**, every whitened median within **0.02**. +3. *Truncation.* The fraction of 200 000 unconstrained exact draws inside the box agrees + with the box mass used for ln Z (within 5 binomial σ, or exactly 1). +4. *Control verdict.* A row built from those draws, with the exact ln Z, is `accepted` on + the posterior and the evidence task by `correlated_nd@1`. + +## 7. Calibration, deferrals and the pilot + +**Deferral rules** — a cell is deferred at a dimension, with the reason recorded on every +expected run (`searches/_correlated_nd.deferral`), when it cannot answer its task by +construction: + +1. *Live-point floor (nested).* Nested sampling's ln Z scatter is ≈ `√(H / n_live)` + (Skilling 2006). A leg with `n_live < H` has an expected scatter above the 1-nat + tolerance of §4(c). `DynestyDynamic`'s default `nlive_init` is 500. +2. *Walker floor (ensemble chains).* Emcee and Zeus refuse fewer than `2D` walkers, so the + menu's 50 walkers are an invalid configuration at `D ≥ 26`. +3. *Warm-start provider.* Warm BlackJAXNUTS starts from Nautilus `n_live_100`; where that + provider is deferred, the warm leg is deferred with it. + +Applied to the menu (26 cells per dataset): + +| Dataset | Deferred cells (both backends where the search has them) | Planned cells | +|---|---|---| +| `corr_gaussian_d20` | none | 26 | +| `corr_gaussian_d50` | Nautilus `n_live_100` (rule 1: 100 < 133.3); Emcee, Zeus (rule 2); warm NUTS (rule 3) | 19 | +| `corr_gaussian_d100` | Nautilus `n_live_100` and `n_live_200`, DynestyStatic `nlive_200`, NSS (rule 1: < 267.6); Emcee, Zeus (rule 2); warm NUTS (rule 3) | 14 | +| `rosenbrock_d20` | Nautilus `n_live_100` (rule 1: 100 < 133.3); warm NUTS (rule 3) | 23 | + +**The pilot** (wave 1, exploratory, ranks nothing; flagged `pilot: true`): **10 search +seeds (0–9) × realisation 1 × every planned cell × the four datasets = 820 runs** +(1040 expected, 220 deferred), on RAL `--partition=ral` against the private PyAutoFit pin +`df6d218f10cd` (PyAutoNerves `7f3055b7f3d1`) — the pin of `gaussian_x3` wave 2 — under +`.pyauto_pin/` in the RAL clone, never the shared mirror. Every search receives the A4 +search-level `seed`. One run per array task, each under a **4 h operational cap** on +`search.fit` (`timeout -s TERM`; the runner writes a `Terminated` failure row): a run +stopped at the cap is a failed attempt whose wall is a censored lower bound. The cap is not +a protocol timeout. + +**Calibration, then freeze.** Every PLACEHOLDER (the two σ-ratio bands, the ESS and R-hat +bars), the per-cell timeout and the censoring rule are calibrated on the pilot and frozen as +`correlated_nd@2`, committed before the first scored row, by the `gaussian_x3` rules where +they apply: timeouts `max(600 s, 10 × the median pilot total wall)` per (search × settings × +backend × dataset); a band may move only on ≥ 20 completed pilot rows of its task (the +`gaussian_x3` < 20 rule), and never so far that 200 000 exact draws (§6 item 2) would fail +it. A cell whose every pilot attempt hit the cap is deferred from the scored wave with +that reason. Pilot verdicts stay `@1`. + +**Freeze commit:** recorded here by the commit that follows it (B5c, 2026-10-15). + +## 8. Headline numbers + +As `gaussian_x3` §8, per (search × settings × config × dataset), never per best seed: +success rate with a Wilson 95 % interval over every attempt; expected wall per right +answer (Σ `total_wall_s` of all attempts, warm-start provider included, / successes) with a +bootstrap 95 % interval over seeds, unbounded at zero successes (with its lower bound); +the supporting columns and timing labels of that section. **Pre-registered here** +(it was a post-hoc presentation note for `gaussian_x3@2`): the catalogue orders legs +within one task and one dataset only, by expected wall per right answer then success +rate, and ranks only closed legs with success ≥ 50 % over ≥ 20 attempts; every other +closed leg is listed below as unreliable with its numbers. + +## 9. Waves + +- **Wave 1 is the pilot (§7); it ranks nothing.** +- **The scored wave** (B5c-2 onwards): 50 search seeds × 3 realisations (data seeds 1–3) + × every non-deferred cell, under `correlated_nd@2`, on RAL `--partition=ral` only — + never `gpu`, `ral,gpu` or `gpu,ral` (the human's hard rule of 2026-09-30) — at a PyAutoFit + pin recorded with the freeze. Each realisation is judged only against its own exact + reference. +- **Identity.** A row belongs to a wave only when its key `(dataset, sampler, + settings_name, config_id, data_seed, protocol_id, pyautofit_sha)` names a cell of the + wave, an admitted realisation, the wave's protocol and the pinned PyAutoFit, and its + `model` is `correlated_nd` (`searches/_correlated_nd.admit`); any other row is refused + and listed. Every expected run is `row`, `failed`, `missing` or `deferred`. +- **No GPU leg** (as `gaussian_x3`): the likelihood is a D × D matrix product at most. +- **No cross-family ranking.** The catalogue's `correlated_nd` section groups by task and + dataset, separately from `gaussian_x3`. A statement that a search is "better" holds + within one task and one dataset of one family. + +## 10. Reference status (bookkeeping) + +| Dataset | Backend | Realisation 1 | +|---|---|---| +| `corr_gaussian_d20` | numpy, jax_cpu | pending (written with the generator, B5c) | +| `corr_gaussian_d50` | numpy, jax_cpu | pending | +| `corr_gaussian_d100` | numpy, jax_cpu | pending | +| `rosenbrock_d20` | numpy, jax_cpu | pending | + +## 11. Amendments + +None. From a6bd8dec951d2589b9a3eac0943d69b6325fea14 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 20:46:45 +0100 Subject: [PATCH 02/15] correlated_nd: seeded generator, datasets and exact references (B5c) simulators/correlated_nd.py writes the four datasets (Haar-rotated Gaussians, condition number 10^3, D = 20/50/100; hybrid Rosenbrock D = 20) from their structure and data seeds. models/correlated_nd_exact.py computes ln Z, the marginals, the mode and the whitening map exactly; reference/exact_correlated_nd.py writes one reference per dataset x backend after the protocol section 6 test (backend Fitness identity to 1e-8 nat, 200k exact draws, truncation, control verdict). All eight references complete at PyAutoFit df6d218f1. Refs #14 Co-Authored-By: Claude Opus 5.5 --- dataset/corr_gaussian_d100/data.json | 102 + dataset/corr_gaussian_d100/model.json | 10414 ++++++++++++++++ dataset/corr_gaussian_d100/priors.json | 207 + dataset/corr_gaussian_d100/truth.json | 112 + dataset/corr_gaussian_d20/data.json | 22 + dataset/corr_gaussian_d20/model.json | 494 + dataset/corr_gaussian_d20/priors.json | 47 + dataset/corr_gaussian_d20/truth.json | 32 + dataset/corr_gaussian_d50/data.json | 52 + dataset/corr_gaussian_d50/model.json | 2714 ++++ dataset/corr_gaussian_d50/priors.json | 107 + dataset/corr_gaussian_d50/truth.json | 62 + dataset/rosenbrock_d20/data.json | 22 + dataset/rosenbrock_d20/model.json | 14 + dataset/rosenbrock_d20/priors.json | 47 + dataset/rosenbrock_d20/truth.json | 32 + .../corr_gaussian_d100/jax_cpu/reference.json | 1985 +++ .../corr_gaussian_d100/numpy/reference.json | 1985 +++ .../corr_gaussian_d20/jax_cpu/reference.json | 465 + .../corr_gaussian_d20/numpy/reference.json | 465 + .../corr_gaussian_d50/jax_cpu/reference.json | 1035 ++ .../corr_gaussian_d50/numpy/reference.json | 1035 ++ .../rosenbrock_d20/jax_cpu/reference.json | 465 + .../rosenbrock_d20/numpy/reference.json | 465 + scripts/misc/models/correlated_nd_exact.py | 333 + scripts/misc/reference/exact_correlated_nd.py | 279 + scripts/misc/simulators/correlated_nd.py | 292 + 27 files changed, 23284 insertions(+) create mode 100644 dataset/corr_gaussian_d100/data.json create mode 100644 dataset/corr_gaussian_d100/model.json create mode 100644 dataset/corr_gaussian_d100/priors.json create mode 100644 dataset/corr_gaussian_d100/truth.json create mode 100644 dataset/corr_gaussian_d20/data.json create mode 100644 dataset/corr_gaussian_d20/model.json create mode 100644 dataset/corr_gaussian_d20/priors.json create mode 100644 dataset/corr_gaussian_d20/truth.json create mode 100644 dataset/corr_gaussian_d50/data.json create mode 100644 dataset/corr_gaussian_d50/model.json create mode 100644 dataset/corr_gaussian_d50/priors.json create mode 100644 dataset/corr_gaussian_d50/truth.json create mode 100644 dataset/rosenbrock_d20/data.json create mode 100644 dataset/rosenbrock_d20/model.json create mode 100644 dataset/rosenbrock_d20/priors.json create mode 100644 dataset/rosenbrock_d20/truth.json create mode 100644 results/reference/corr_gaussian_d100/jax_cpu/reference.json create mode 100644 results/reference/corr_gaussian_d100/numpy/reference.json create mode 100644 results/reference/corr_gaussian_d20/jax_cpu/reference.json create mode 100644 results/reference/corr_gaussian_d20/numpy/reference.json create mode 100644 results/reference/corr_gaussian_d50/jax_cpu/reference.json create mode 100644 results/reference/corr_gaussian_d50/numpy/reference.json create mode 100644 results/reference/rosenbrock_d20/jax_cpu/reference.json create mode 100644 results/reference/rosenbrock_d20/numpy/reference.json create mode 100644 scripts/misc/models/correlated_nd_exact.py create mode 100644 scripts/misc/reference/exact_correlated_nd.py create mode 100644 scripts/misc/simulators/correlated_nd.py diff --git a/dataset/corr_gaussian_d100/data.json b/dataset/corr_gaussian_d100/data.json new file mode 100644 index 00000000..bff1efbf --- /dev/null +++ b/dataset/corr_gaussian_d100/data.json @@ -0,0 +1,102 @@ +[ + -1.2021308320199742, + -2.952981643429867, + -3.7581037058845004, + -0.1032643427126958, + 4.163244353429565, + -5.385786055607202, + -3.6343944361180887, + 5.824753009082074, + -9.386392933118318, + -5.773668707081988, + 3.1420677186057517, + -8.563024588496887, + -2.769084481626737, + -9.113164332972586, + 3.8933862590750348, + -9.896208964265261, + 2.909289213872127, + 6.170666042554738, + 0.8055756405444758, + -1.026804658804273, + -9.556333676256035, + 10.505067652621388, + 3.0134816449048127, + 1.44675975200904, + 5.947563178758834, + -0.8645845155535714, + 10.151479547978367, + 9.36917460122682, + 2.6678306855994007, + -0.633343033206347, + 7.664614535237543, + 9.634654949924343, + -6.201033024398548, + -3.839180413244838, + -5.4828984853095495, + 7.027540723441524, + 5.616333000988521, + 5.853856783757642, + 2.8884557305173377, + -0.29362344912347726, + -1.9952419219761626, + -6.431541270895463, + -3.3088277707172695, + 8.274302770434312, + -0.3747143403521629, + -2.5047036056504153, + 2.900042942832223, + 2.092735626024465, + -6.580101913286118, + 2.0325394712968405, + -10.526405354554084, + 13.915463792286953, + 5.720570036150931, + -11.396896542279356, + 3.0165024613150937, + 2.046377680516482, + 8.198102981052497, + -10.146367250975526, + 5.869811050985641, + 4.9657302330650115, + 2.686677827304771, + -2.6330270162626306, + 7.101699669194365, + -1.172074863495809, + -0.5538980014918629, + -3.3944402948199883, + -4.116905037182889, + -10.759384401347873, + -1.15581397002944, + -9.777411041739587, + 2.3907983208805494, + -3.370487623453233, + 7.9948180869708825, + -1.757580774734179, + -4.975596921845037, + 7.05834423042185, + -3.1355151039103824, + -5.972509121707489, + -4.46862003463722, + -9.48163985645499, + 1.3298765779791588, + -4.821929319024434, + -0.7119218719745795, + -1.465305057306019, + 6.552554958625056, + 7.138678387159778, + -10.249747824118593, + -9.60526317763532, + -5.41776912178592, + 6.510672003438873, + 15.50212031732026, + -6.941889717763079, + -5.39740764677679, + 2.3321659892138005, + 11.68429160358741, + 1.0213508171222556, + 0.8361037255789572, + 5.752084012234308, + -10.537374908005383, + 10.718926099399667 +] diff --git a/dataset/corr_gaussian_d100/model.json b/dataset/corr_gaussian_d100/model.json new file mode 100644 index 00000000..9850ad3d --- /dev/null +++ b/dataset/corr_gaussian_d100/model.json @@ -0,0 +1,10414 @@ +{ + "family": "correlated_nd", + "kind": "gaussian", + "dimension": 100, + "structure_seed": 2100, + "eigenvalues": [ + 0.1, + 0.10722672220103231, + 0.11497569953977356, + 0.12328467394420663, + 0.1321941148466029, + 0.1417474162926805, + 0.1519911082952934, + 0.16297508346206444, + 0.17475284000076838, + 0.1873817422860384, + 0.20092330025650468, + 0.2154434690031884, + 0.23101297000831597, + 0.24770763559917108, + 0.26560877829466867, + 0.2848035868435802, + 0.30538555088334157, + 0.32745491628777285, + 0.3511191734215131, + 0.3764935806792468, + 0.40370172585965547, + 0.43287612810830584, + 0.464158883361278, + 0.49770235643321115, + 0.533669923120631, + 0.5722367659350217, + 0.6135907273413173, + 0.6579332246575681, + 0.7054802310718644, + 0.7564633275546289, + 0.8111308307896873, + 0.8697490026177834, + 0.9326033468832199, + 1.0, + 1.072267222010323, + 1.1497569953977356, + 1.232846739442066, + 1.3219411484660293, + 1.4174741629268055, + 1.5199110829529339, + 1.6297508346206444, + 1.7475284000076838, + 1.8738174228603839, + 2.009233002565047, + 2.1544346900318843, + 2.31012970008316, + 2.4770763559917115, + 2.656087782946687, + 2.848035868435802, + 3.0538555088334154, + 3.2745491628777286, + 3.511191734215131, + 3.7649358067924674, + 4.037017258596556, + 4.328761281083059, + 4.641588833612779, + 4.977023564332112, + 5.3366992312063095, + 5.722367659350217, + 6.1359072734131725, + 6.5793322465756825, + 7.054802310718645, + 7.56463327554629, + 8.111308307896872, + 8.697490026177835, + 9.326033468832199, + 10.0, + 10.722672220103231, + 11.497569953977356, + 12.32846739442066, + 13.219411484660288, + 14.174741629268048, + 15.199110829529332, + 16.297508346206453, + 17.475284000076847, + 18.73817422860385, + 20.09233002565048, + 21.544346900318846, + 23.101297000831604, + 24.770763559917114, + 26.560877829466868, + 28.48035868435802, + 30.538555088334157, + 32.74549162877728, + 35.11191734215131, + 37.64935806792467, + 40.37017258596554, + 43.28761281083057, + 46.41588833612782, + 49.770235643321136, + 53.366992312063125, + 57.223676593502205, + 61.35907273413176, + 65.79332246575683, + 70.54802310718645, + 75.64633275546291, + 81.11308307896873, + 86.97490026177834, + 93.26033468832199, + 100.0 + ], + "eigenvectors": [ + [ + 0.09845889788869622, + -0.15277300839563213, + -0.02463919743139796, + -0.12710061716356413, + 0.03987176390624363, + -0.13149682802196075, + -0.05621754430966902, + -0.014631017870529273, + -0.17717041010765835, + 0.13307258313517636, + -0.026728410122971356, + -0.13211240120538315, + -0.0050825858908803015, + -0.10478446889157335, + 0.019792593492484172, + 0.09954690088330802, + 0.16097202460359175, + -0.19092144467109123, + 0.05028924770042822, + 0.09629668028269446, + 0.0924445551961542, + 0.17508864220670975, + -0.06794519010307028, + 0.008264506670151958, + 0.04932745929530741, + 0.05860060891554736, + 0.016290513581538938, + 0.028813896850034607, + 0.12600558581946864, + 0.1338053798075542, + 0.17855490270395807, + -0.1273294542224724, + -0.030156315544287222, + 0.040963203941282174, + -0.06990900591865853, + -0.11335405535268113, + 0.09509865472261417, + 0.1268846606742237, + 0.05346959237913387, + 0.08532396046456056, + 0.0938877651078645, + -0.04044949073594094, + -0.014876644124373527, + 0.1699889054960281, + -0.0007917753976802508, + -0.20991291568847367, + 0.039695912347843205, + -0.18311680965503774, + 0.11398510739704479, + -0.04994192042959422, + 0.08545154368705092, + 0.01055234288357702, + -0.018757800935373072, + -0.0763743829694106, + 0.14224021258640157, + -0.20105646649681588, + -0.02393782590456668, + -0.09133176891476247, + -0.025446628019373026, + 0.004457208354241144, + 0.1498443646936534, + -0.06352618888205291, + 0.15962441330878774, + 0.09159470249196641, + 0.05569352701534404, + -0.10625052740357557, + -0.0883985269963787, + 0.057059558575665276, + -0.08425049414156453, + 0.024709551936064597, + -0.09884967012569942, + -0.13939923930883275, + 0.011943671242313176, + 0.04976003531646202, + -0.07831339238379781, + 0.14928292584653274, + 0.048414425693325665, + 0.1009618455630375, + -0.049271312012307826, + 0.14985993789561597, + 0.03742649176310373, + 0.011213609627389143, + -0.1045413635708822, + 0.04909245569807869, + 0.019159190342602266, + -0.19153633732344238, + 0.076951555274429, + -0.042537135176814095, + 0.023283225376386822, + 0.10883276220077202, + -0.2386173642773708, + 0.055652777918482534, + 0.004727371054558746, + 0.0595522461210316, + -0.05838069284718524, + 0.017811779498336212, + 0.07272692272590106, + -0.032781840830422994, + 0.12913743323961288, + -0.0722345873196426 + ], + [ + -0.16537134334372525, + 0.08065727991106851, + -0.009537197495760052, + -0.05882311571990582, + -0.029799090000902858, + -0.05624974665311372, + -0.1475652362762895, + 0.03218696677126295, + -0.2353245944007461, + -0.09994191230434443, + 0.07051254874244893, + -0.10684007454235055, + 0.20336325972101885, + 0.10442975105632227, + -0.07374623866601496, + -0.13915095450052403, + 0.05950636705040772, + 0.1541970390947177, + -0.00368683101736014, + 0.006764214648669317, + -0.09875560132085838, + -0.06249174884517909, + 0.18781079141382825, + -0.06226416398255475, + 0.07116496476515702, + -0.18547319088844716, + 0.028904284079809734, + 0.02599314726087587, + 0.1514151069459614, + 0.07055756919131913, + -0.16689312710184978, + -0.08632765133112395, + 0.09132470092204742, + -0.11968486422528159, + -0.04596967384359388, + 0.003260989839912967, + 0.06403378328325197, + -0.0023924964683252983, + -0.025374303416548668, + -0.0735767267203407, + -0.12096299299578693, + -0.033632976395446386, + 0.10463481838372451, + 0.05813471484796359, + 0.033660817259334, + -0.03746566387490741, + 0.08532887590961215, + -0.0035985525400948188, + -0.08103663718397698, + 0.10063960394293239, + -0.0854304566895742, + -0.010201116076665965, + -0.010724274355289611, + 0.05625153831758212, + 0.18158869173265535, + -0.0006392509388943203, + 0.11828946078909666, + 0.11676199785802147, + -0.009203713874086653, + -0.053796751008480706, + 0.015980550167645564, + -0.04481328125741578, + 0.34569944202612524, + -0.14876615889115263, + 0.028977919909957864, + -0.010160276947561784, + -0.0859601123285507, + 0.00951290772458386, + -0.02563332140681053, + -0.1289080981941574, + 0.13476343374230595, + -0.04899280775617988, + -0.06126488078090806, + -0.01802824198651807, + -0.009857402897063423, + -0.023879869436306867, + 0.1447920717936941, + -0.10934831080699728, + 0.11285818839646249, + -0.0891726060005125, + -0.10763798854727538, + -0.00960038766209682, + -0.15245959393332073, + 0.006084682566323213, + 0.019423407006527307, + -0.019493094977334095, + -0.12627432524947715, + 0.03990829279920827, + 0.0024362857376976294, + 0.22306415883760572, + -0.05655331886420056, + -0.05448152907545894, + 0.21977739345649383, + 0.09488430192365054, + 0.03966924630100193, + -0.0029582782584678586, + -0.0500975119730341, + 0.03142638962821436, + -0.08050761434409606, + -0.0120618046029608 + ], + [ + 0.03743688361306168, + 0.26535102325496, + 0.13639353147212221, + 0.24715299276845415, + 0.07914780231582347, + -0.09985229307476881, + -0.04863699959473093, + -0.07309663311951022, + 0.019379046047652684, + 0.020891407491246388, + -0.013624609097070106, + -0.009212024943401599, + 0.08615940153769776, + 0.10816305100178027, + 0.009445064202079599, + 0.03750995121850636, + 0.021402041230583216, + -0.04719817006653084, + 0.021690237449341197, + 0.16271657432281422, + 0.03713934229411813, + -0.007826841096714, + 0.04607829256009054, + -0.038187553232956195, + 0.00440671717207177, + -0.17434707464391744, + 0.040174462055635504, + -0.033507388210509484, + 0.04870754654943047, + 0.06315641330977141, + -0.16757736696454148, + 0.11353527790322392, + -0.04929046464487002, + -0.2663585359132957, + -0.07958713071799728, + -0.1303027329078053, + 0.009339055094813115, + 0.07554503985296677, + -0.02748127420818694, + 0.04326562494632127, + 0.08969900923025274, + 0.02249917892049396, + -0.06544005587414309, + -0.1303224870829544, + -0.16399662825247913, + -0.12846226019805337, + -0.04603382122257857, + -0.06409805376257308, + 0.1678088343314193, + -0.05521853338360209, + -0.003362231934769681, + 0.017988391800475238, + 0.05888224021310808, + 0.07341693531166492, + 0.0033570356764806926, + -0.13402643700860567, + 0.00868407710758743, + 0.01527412767703428, + 0.10250568489600162, + 0.1374171728468413, + -0.005973319494983201, + -0.1063039596906658, + -0.0368349713179373, + -0.126850559839461, + -0.03686742317703208, + -0.04007419339930178, + -0.08389740846570133, + -0.09689175538266033, + 0.207140744207752, + 0.057552483566052956, + -0.011890912220869708, + -0.08735683875160026, + -0.08340061800149275, + 0.06796552266309257, + -0.018847064674468623, + 0.06227374774144555, + -0.19232839659598674, + 0.009123474861742847, + -0.03986996246761289, + 0.08402983410707576, + 0.025046644998252522, + -0.04245293060987167, + 0.25235096709248717, + -0.08777423953161541, + 0.04624766279543889, + -0.07131610347278752, + 0.13125991827794864, + -0.08398277690716378, + -0.11480893121400941, + -0.018028276898442195, + 0.008509349764083934, + 0.029695088927415868, + 0.14088915614378905, + -0.048172676111247405, + -0.06234499461095663, + 0.06612332220452569, + -0.22915615431613087, + 0.13022092626228612, + 0.09347848486375751, + 0.1515358601366735 + ], + [ + 0.04902961019988178, + -0.04523303156651602, + 0.10529825052817901, + 0.05170124726418476, + -0.04006076714622516, + 0.046690524246526734, + -0.15649933840411318, + 0.08068441338377794, + 0.023213615493734106, + -0.04432639129497976, + -0.028590820820608896, + -0.06881919277533469, + 0.21429209730812968, + -0.1677217796968763, + 0.07388944834545527, + 0.1359603534449651, + 0.16577911712341895, + 0.055022877313133794, + -0.0313024976629063, + -0.08800187254499574, + 0.025688110168929187, + 0.02179706003991151, + 6.876651838425905e-05, + 0.18743669302163948, + -0.09101322269752324, + -0.042200198637698284, + -0.06784885531788305, + 0.04985565798481758, + 0.04709141681063902, + -0.22232216390177076, + -0.14312338301645686, + -0.06072851327728576, + 0.007210970951247452, + -0.0163520156633191, + -0.030842879251259493, + -0.054102844114357715, + -0.08797067768170953, + -0.025118356147286455, + 0.06667671983861877, + -0.020598001971892366, + 0.06541154046258796, + 0.12844601711477782, + -0.06365494784672497, + 0.09067935435403016, + 0.06382969501076298, + 0.041276451122058834, + -0.029004408724344965, + 6.21299979407207e-05, + 0.13242039928325186, + -0.03035526520527564, + 0.16385670807481822, + 0.06306014076507557, + 0.12845428087469546, + -0.015917649540798728, + -0.04665878628137934, + -0.0054841192899111445, + 0.06464256067066401, + 0.06107424727631854, + 0.227579878671805, + -0.05491971584304122, + 0.06639300992903703, + -0.0353601426309958, + -0.2614111933276018, + 0.10430130957784331, + -0.15813166988183913, + -0.06516943656498592, + -0.029233973294282272, + 0.07055472681381918, + -0.14419271827013708, + 0.05134489307706183, + 0.04480452339040447, + -0.10666303523868251, + -0.05030128650337583, + -0.04824160134985064, + -0.07766752581316583, + -0.20921505708481314, + 0.16743220429765873, + 0.009334375996627498, + -0.01899481766295992, + 0.16947203790251336, + 0.027007244697147763, + 0.0016220027891499307, + 0.0528817813399026, + -0.04695554047016762, + 0.05139597679688678, + 0.2090789654340397, + -0.014131938314148437, + 0.06656061630798857, + 0.13209174355064904, + 0.09431926608004543, + -0.014683328475391822, + 0.03777251088073235, + 0.2923923546391422, + -0.020223023894206958, + -0.009753869951803277, + -0.06913698182398766, + 0.013030421068615393, + 0.07182207668972082, + -0.08507768033321815, + -0.1665062804655879 + ], + [ + 0.06068993406120611, + 0.07082972305410809, + -0.10642819350238905, + -0.04343624705650111, + 0.030982237101231117, + -0.1268614429899493, + 0.041157582013571135, + 0.22699041924542993, + 0.1318620438325722, + -0.09637250486011309, + -0.062266793258255314, + -0.050546634304887796, + -0.1905765937637893, + -0.03076986107292884, + -0.14335386245328663, + 0.1101156818935623, + -0.04240658810301819, + 0.005048200317514821, + 0.07993333090387776, + -0.09976276541869046, + -0.045130216556772795, + -0.07961964151622543, + 0.023536937725019087, + -0.07437181290559369, + 0.2084965871234248, + -0.01602557073685048, + -0.10864777242654365, + -0.08242990794986137, + 0.03674923765175501, + 0.15326034841964978, + -0.10252041552246048, + -0.12385228095455854, + 0.13200581796213331, + -0.12060328716315324, + -0.15008463477390604, + 0.0016921495331204167, + -0.0723322808169328, + 0.1453045017356308, + 0.1128429292656705, + 0.011484125882461104, + 0.07587071058498412, + -0.06782259494314567, + 0.03210758965907683, + -0.050042475163780874, + 0.07177020385844467, + -0.06661670073716541, + 0.0710239128302731, + -0.011198629683593595, + -0.02048563181382964, + 0.0063145331639642855, + 0.09004578026177679, + 0.04830798675121036, + -0.05811362442013208, + -0.1863937623406829, + -0.0014234750725516604, + -0.02906958277990016, + 0.04864387483169307, + -0.12091438375016998, + 0.01979407935673934, + 0.24714754640645412, + 0.0710891272994946, + -0.03785258185232244, + -0.12213299772376673, + -0.012624300376671189, + -0.01529188773149894, + -0.05340430354496759, + -0.024808236679995217, + -0.14774149299502778, + -0.07659820504003166, + 0.016267943108980117, + 0.1770515243482625, + 0.07421741658334462, + 0.14257817973350456, + -0.10140827195657351, + -0.009659082179947907, + -0.015699494451890228, + 0.02988325023642536, + -0.0763664867507273, + 0.015993926473544192, + 0.031968549501858394, + 0.09528880436412376, + -0.06535266697313301, + -0.18728668362439405, + -0.0994284853272575, + 0.036331045595783644, + -0.12690091999683434, + -0.04005763669644538, + 0.044527430968080366, + 0.3116487124825917, + 0.014503064546650403, + 0.2618332904481119, + 0.039227996056023576, + -0.023415533668677133, + -0.08141752292957337, + -0.08022559319350224, + -0.030458077615973043, + -0.0603224789270018, + 0.07783158659821893, + -0.04903235649558932, + 0.07748310820245036 + ], + [ + -0.09168148182481944, + -0.010329169226845385, + 0.14037856755335756, + -0.011133614400372005, + -0.0639232622935093, + 0.13457515746388182, + -0.05617931666577659, + -0.09019964320242706, + 0.055034966337334124, + 0.05569737901766363, + -0.1472211797948665, + -0.0483465837319536, + 0.0725553505697947, + 0.06874728248876295, + 0.06438009700689344, + -0.12874599191784702, + 0.08882454504896385, + 0.09596660764610744, + 0.16050481625498725, + 0.12095243801431829, + 0.06535212231997664, + -0.03647271051806022, + 0.03039080713056446, + -0.08960139206466991, + 0.04346162308469412, + -0.04214965065528701, + 0.04705573267775819, + -0.021534439799185765, + -0.1249872294997239, + -0.10518358634893349, + 0.044737327861992485, + -0.09637722856767039, + 0.1609568091054729, + 0.006260263131809584, + -0.13590890273535938, + -0.006158394745633583, + -0.10311437691266626, + -0.13198884116241277, + -0.09157963028487015, + -0.058489859778693726, + 0.08571640494886235, + 0.04303603696029075, + 0.057989658515442646, + 0.055690313610940796, + 0.11105623780683493, + 0.1546569014356896, + -0.13126017035691429, + 0.0024721451255378807, + -0.14654602653807813, + -0.05863882676801645, + -0.03081706554064305, + -0.23339442034407798, + 0.03758373691771372, + -0.06725296452895219, + 0.16549584252335803, + -0.19617110616613692, + -0.1034428270540244, + 0.008214295356134627, + -0.05128008516930735, + 0.08030232089963027, + -0.2637347947463409, + 0.02716088099429932, + -0.06465980805606986, + 0.08955249224646383, + 0.03613653927533835, + 0.02928797686893432, + -0.06788911846814735, + 0.08753145670197482, + 0.01724604604034107, + 0.06300148735292961, + -0.07726652387989413, + -0.13575945175836016, + 0.06692861713693006, + 0.1500258057832232, + -0.0306967237617213, + 0.07291840135125752, + 0.07116899041774234, + 0.0763068922979714, + -0.017230966250591555, + 0.001877517865709551, + 0.0820522701224598, + -0.14109368743494963, + -0.05560570409332682, + 0.04789851440267549, + -0.05186144656472192, + -0.19913751188911455, + 0.031787657420714294, + 0.151204849882813, + 0.048022369883498575, + 0.07497322393506814, + 0.09782827715296126, + -0.08250406441098986, + -0.02380003479016661, + -0.33115515267736045, + -0.08842208492329948, + 0.0010856570826726097, + -0.10797066545592039, + 0.03430640689553214, + 0.002465183893335352, + -0.10965289138810369 + ], + [ + -0.08314210451543914, + 0.08049427579637965, + 0.07402669459744546, + -0.23069411169271534, + 0.11261602452446338, + 0.08905012603568059, + -0.03076456431890637, + -0.0959530386791111, + -0.15033969340311198, + -0.018115599498059524, + 0.04059640158551618, + -0.07182363745496409, + 0.09074329402101487, + 0.05269530955151157, + 0.08971014155248346, + 0.036174838194374295, + 0.04321921916013511, + -0.20348561698347828, + -0.10230850953053264, + 0.056722860619926645, + -0.0047288667874810396, + -0.051004531239312, + 0.11841719533588896, + -0.05441873992096684, + 0.0931135026945587, + -0.10849623522304237, + -0.01160740431862698, + -0.030703081636704873, + -0.0927263862102015, + -0.09852402812360923, + 0.012623476795069723, + -0.058329573999928316, + -0.05031328227442265, + 0.14490104349231153, + 0.09801869732462873, + 0.07764558757260441, + 0.029316057449168965, + -0.13386031712653326, + -0.13826655473903604, + -0.05630605797805831, + 0.2058166855908751, + -0.09629186033435662, + 0.1433569422803398, + -0.056199372908180126, + -0.1072971283887185, + 0.011528884604096713, + 0.13471670984893097, + -0.13350696479354288, + -0.0796615746973542, + -0.07425059624249243, + 0.19009997107132567, + 0.10693254105840602, + 0.04200748666319801, + 0.06244669604764601, + -0.12422074242820652, + -0.0315946812935607, + 0.031459908064449114, + 0.10504460795393449, + 0.17732555700414654, + 0.08632132216048724, + -0.09708939161228351, + -0.013539928524782774, + -0.1806762757065302, + 0.12782924422677447, + 0.12427925515099336, + -0.015465533639832963, + -0.003075807779827523, + -0.11391253622222312, + -0.05459230066430001, + -0.10207664655228682, + 0.033011127125358086, + 0.22465914397398162, + -0.03113801228972177, + -0.26214216470305, + -0.08245559797423595, + 0.04975678380093127, + -0.03907013103923283, + -0.037535910942170105, + 0.09587947978742206, + -0.11198828728406778, + 0.06612622486219527, + 0.1114395895205562, + -0.02704944364298838, + 0.1829765372143793, + 0.009526299963047154, + -0.1029880911419598, + 0.11083875741236254, + 0.013957767034206944, + -0.03550109353072211, + 0.08016833323463718, + 0.038938327377388865, + 0.07188098779161498, + -0.004104749324681864, + 0.07839267013235715, + -0.17697982531385661, + 0.03839263424716714, + -0.07363558986691023, + -0.02605810615918322, + 0.023585959465823262, + 0.03775356167501121 + ], + [ + 0.0816218498412165, + 0.11214943422120845, + -0.03448832348764854, + 0.008739259304907555, + 0.09833593579981267, + -0.0012827527392338678, + -0.10170367621892916, + 0.02084301060971499, + 0.08756964552199846, + 0.0034705503682145727, + 0.08842043938017928, + -0.03420943692870235, + -0.11939220334819726, + -0.007638077443880075, + -0.06651163940203872, + 0.021538373677172387, + 0.009005203820860383, + 0.1214635534733882, + -0.08919381806156344, + -0.03518020987371623, + -0.06221954744204026, + -0.09244101684307747, + -0.04160598960196851, + -0.0062390458861498275, + 0.03629287122473771, + 0.07397175261650672, + 0.00590151587363161, + 0.012625801190758089, + -0.17558011662717857, + -0.21019038828907452, + 0.18118513224992933, + -0.014840369601830926, + -0.24435638672191337, + -0.08593179611394325, + -0.05109703583096353, + 0.03969975065668237, + 0.09924219837161595, + -0.004087429266972818, + -0.12857555289115616, + -0.25224529048167166, + -0.046162206502484544, + -0.07183548028517334, + 0.04313614051396693, + -0.16357098199022574, + 0.02298729345151913, + -0.2398939362053752, + -0.04350792130616568, + -0.03089278142295301, + 0.017679130595819964, + 0.073930663671836, + -0.015758866669726142, + -0.13757339346985917, + 0.019687448218497376, + -0.06576859359698442, + 0.06438565307734156, + 0.02933579788760305, + 0.03882456550292597, + -0.09987206602960841, + -0.12010656500661789, + -0.0010250609767392292, + -0.0009706608535415667, + -0.0873723495349216, + 0.08529697942333404, + 0.21564998652814535, + 0.0629282067875178, + 0.07757567057813408, + -0.1578774668469619, + 0.012719304617863546, + -0.14395145796115155, + -0.08297310485075385, + 0.15441485838261879, + 0.08577463630802105, + 0.11715507673690428, + 0.09352980501258819, + -0.15240560808827824, + -0.12139973931240122, + 0.1287819873136543, + 0.129451982356135, + -0.1581029399422927, + -0.07503348985338402, + -0.10905636836939823, + -0.1627605249206965, + 0.05591049809335738, + -0.04008369818508498, + -0.021928877760273933, + 0.047052415162499854, + 0.09490626769081484, + 0.07966657372428525, + -0.06739363505038619, + -0.1135943583043604, + -0.04820948320654527, + 0.09065437098727658, + 0.1459295495847748, + 0.1192419732413248, + -0.07361429311940305, + -0.030594640531321923, + -0.16220962017264903, + 0.0336975620506316, + 0.10123356514304069, + -0.052796091888449755 + ], + [ + 0.107381997619526, + 0.044513671941181075, + 0.12001799677339699, + -0.11138745674350378, + -0.045548778836112094, + -0.06670267494660939, + 0.08066946971017787, + -0.039112921181531986, + 0.006770959218990216, + 0.24546699631173433, + 0.06681972163375371, + -0.011933182817487566, + 0.07427303591251709, + 0.00419416658125368, + 0.017827423739338377, + 0.14750241996618924, + -0.14500444197491325, + 0.1324716887366523, + -0.0418146769807081, + -0.085800292723998, + -0.05398117433044074, + -0.0017014952029043146, + -0.07805711177368661, + 0.06942942178048536, + -0.003269499992986731, + -0.10003423307316135, + -0.15268388208749079, + -0.1414313744602835, + 0.11612194778172927, + 0.024954069098885177, + 0.003868855764034869, + -0.0442069391201441, + -0.1737558730976406, + -0.09732057498415476, + 0.10984841890247794, + -0.13540108916569138, + -0.10086303021251107, + -0.018599725675872363, + -0.13061908746984188, + -0.0715747293665453, + -0.18379222802011375, + 0.06187488128220909, + 0.07683335840137688, + 0.051948040835655754, + 0.06119614118184177, + 0.06586701895604957, + -0.042777552606309964, + 0.08234900547199273, + 0.2049582892427444, + -0.1620899902185176, + 0.03919018430176909, + -0.283759821250906, + -0.031024291430604575, + 0.11652172133066087, + 0.030888180769695864, + -0.028478664664910634, + 0.10727578163802873, + 0.06944584057003421, + -0.007557267214257373, + 0.07333017678141733, + -0.11927995197974976, + -0.04554775008475512, + -0.04271370634958133, + -0.11959003411240143, + -0.16899302632496513, + -0.07067618386837228, + -0.11710568048953299, + 0.013193903379191189, + 0.011233926606061248, + -0.06703408280155737, + 0.06554286034991665, + 0.006424141232699585, + 0.017480163895767287, + -0.0020281749057457998, + -0.06383211581969467, + -0.04726711386023054, + -0.04209965650340315, + 0.05140912922837031, + 0.1860694655842185, + -0.09735854028965686, + -0.06396223638065097, + 0.04161573751378733, + -0.11254586986655694, + 0.014658163553019299, + 0.0630003328621368, + -0.10826145422639757, + -0.024261558442150447, + -0.17619628360347206, + 0.1098754296492244, + -0.08346700290714823, + 0.015905590484931613, + 0.0003379712603127351, + -0.10560121595904083, + -0.0008793002649717973, + -0.19822423018693738, + 0.02066842212768418, + 0.1348965195511118, + -0.23823488104600876, + 0.08316340056263309, + -0.07465791587416155 + ], + [ + -0.07939841606272575, + -0.021974685099480043, + -0.05237434292926855, + 0.04989604162901736, + 0.11702119073719901, + 0.14379849128828515, + -0.02444433342899888, + -0.050195472564727034, + -0.03877117938005215, + 0.04752368350094338, + 0.020060298142435946, + 0.09419146144343526, + -0.07471052028910295, + -0.008362857424539195, + 0.0398998896100691, + 0.17289955363430856, + 0.14755989760865432, + 0.13133165473472722, + -0.18240234612936662, + 0.08864997228294193, + -0.001276237013009035, + -0.09175595781380359, + 0.116905333645681, + 0.12219321836087144, + -0.019063756692434347, + 0.06277293653667522, + -0.09193919078093013, + 0.01427933296743932, + -0.03832575846040124, + 0.039734025032927195, + -0.004343155787481692, + -0.08304030616485412, + 0.07880591588496454, + 0.11205502987274202, + 0.1114482563176069, + -0.06912679265062231, + 0.11821611465269624, + -0.027191722922155655, + -0.060904852446499055, + 0.16089995322026104, + 0.031639111134318006, + 0.05363316796004557, + 0.05216153705734144, + -0.11751383273643314, + -0.17803155490269332, + 0.07127647643619503, + 0.08722856710185112, + -0.007293570847450027, + -0.006616947979580401, + 0.08418349680833245, + -0.0973207182954175, + -0.03491786816092337, + -0.012128297330917782, + 0.09647009840878971, + 0.03190808442274592, + -0.08281530106162346, + 0.09578330381072221, + 0.026765845012389065, + -0.08200633623158486, + 0.16010548214222023, + 0.14592960645197245, + 0.13733956684441018, + -0.01481950514261388, + -0.18755214517145333, + -0.06394982501804126, + -0.0011750141016947583, + -0.03694606857624277, + 0.1551255226354467, + 0.047966676550282854, + -0.13033169235869632, + 0.09207394599489954, + 0.17911622219851805, + 0.05988367956855995, + 0.1198351024374253, + 0.05745903019110306, + 0.060173412283242064, + 0.08692034811772824, + 0.19068527311265568, + 0.11686459550247172, + 0.18054042880846174, + 0.11849342029981969, + -0.06823173286508664, + 0.022096280765028814, + 0.009565043221877925, + -0.09451564509033879, + -0.09081593027414452, + -0.18833077960924194, + -0.043665329152203745, + 0.00657636287330624, + -0.09999725488973381, + -0.017625253321442762, + 0.17621114436996993, + -0.016505803803153897, + -0.05382148551907541, + -0.05498569128317442, + -0.17139037064456059, + 0.04729968353668773, + 0.29801242826964736, + 0.013728360479527869, + -0.12530703221312434 + ], + [ + 0.018180331403543862, + 0.07225333718830353, + -0.08509424093062586, + 0.12455799129900967, + 0.07168695646636772, + -0.015276980685268138, + -0.015508944801553123, + -0.026161162242890796, + -0.1327176912695148, + -0.07963198487904323, + -0.04214716755987929, + -0.0321994621994097, + 0.056470147944328704, + -0.09796707689598438, + 0.11351619048503006, + -0.08070773664090547, + 0.09462116210844511, + 0.06655586117189163, + 0.045910445989951594, + -0.004482405215216896, + -0.13511484512500993, + -0.12160708147945602, + 0.03360358040165351, + -0.08270733922539948, + -0.03746955966226366, + -0.12930696643495035, + -0.10363676420591439, + -0.17118484540500328, + 0.01009063728769875, + -0.04906426168931242, + 0.15059139782632053, + -0.015280331934133239, + 0.05290417504939178, + 0.09406857000454326, + 0.0798819926540857, + -0.14549366047325032, + 0.021104919889715152, + 0.1547317625011837, + 0.01835408671964388, + -0.1501312067414912, + -0.0724571108366265, + -0.0054706208023703766, + 0.05597005628367016, + 0.03812387543331388, + 0.05285601678077783, + 0.11927609155127594, + 0.03532157286717452, + 0.03313418397553821, + 0.10691788972972137, + 0.03168862027160421, + -0.050862016293100394, + -0.02891465764429364, + 0.05195654870192524, + 0.11100954945264244, + -0.07341799591943785, + -0.20801353599214487, + -0.09242598068343492, + -0.09444397843511229, + 0.09931384620671467, + -0.10998436545954919, + 0.030342297467420908, + 0.1604573297484501, + -0.0827011989627503, + -0.045350773852433586, + -0.10406724457677315, + 0.14617072142326704, + -0.09970262048471525, + -0.12935369712448225, + -0.09204911057571641, + 0.1681105127141272, + 0.12383772052431863, + 0.09954137210109305, + -0.02191402040599727, + 0.04663472411716903, + -0.18081675246535195, + 0.09478300341503307, + 0.13396098997633077, + -0.23211583481089576, + -0.1097632514390719, + 0.07151621477651808, + 0.061624394723988535, + -0.0425090287157528, + 0.0711319645798157, + -0.033547115253264675, + 0.03931551274162558, + -0.15468874033376775, + 0.10363474942747054, + 0.02510622623820897, + -0.04248643178810377, + 0.0008552410119944857, + -0.010947624925762347, + 0.04995739669213292, + -0.23319859732998263, + 0.10251071955619503, + 0.2940361249854758, + -0.1548461363979086, + 0.024745438616289816, + -0.07732415111726486, + 0.006601080217392699, + 0.08321993026253077 + ], + [ + 0.03645906728192681, + -0.0839124637171187, + 0.0801166813842159, + -0.010953584047101181, + -0.005713377469792047, + 0.031008567087218813, + -0.03573874588360421, + 0.11313000052117393, + -0.0529287085091006, + -0.023444822347591324, + -0.0675511960742353, + 0.14695707010131695, + -0.17241610681001696, + -0.009932744346832244, + -0.019560823554462033, + 0.01883986572029486, + 0.061549717705362016, + 0.006649825324836995, + -0.0789756551752996, + -0.0849435340703388, + 0.09849803377537097, + 0.09235334842987204, + 0.13915444168835217, + 0.03276274686283486, + -0.017843324417113622, + 0.06387389068321299, + 0.06393891400520717, + 0.0643143972076538, + 0.10076680019361013, + 0.01761221375343342, + 0.006256393247604621, + 0.05300035785422258, + 0.12696326828261717, + -0.1446416856665241, + 0.0452936371242327, + -0.0017794928484857093, + -0.18451211224841832, + -0.06824171861288199, + -0.14297506064493304, + -0.08401095550572386, + 0.2921232484599399, + 0.07698371103395979, + 0.012676100818724112, + 0.03069693271876055, + -0.06298885440359761, + -0.05044317767554652, + -0.09572659072048711, + 0.185842005877012, + 0.13925246578296527, + 0.01337874490571445, + -0.0070066818505881085, + 0.07743794782220649, + 0.013261925298852987, + 0.11936703618710512, + -0.02259277178599162, + -0.08863530036868811, + 0.026963705962812688, + -0.04114052130680396, + -0.0699300316612505, + -0.00928914847275713, + -0.12150578969983433, + 0.12100186930777847, + 0.015140637394661352, + -0.09334680000296601, + 0.14047764937454696, + 0.06206135391779642, + -0.17382297155108647, + 0.2857539811274094, + -0.04404261994941929, + -0.08200008851318832, + 0.04825244502382439, + -0.07007288746831412, + 0.08943097726931507, + 0.06279929752202494, + -0.20683157413684322, + 0.10448219367910264, + -0.11671308824109625, + -0.19998903400340126, + 0.004002057274959977, + -0.09193372964806162, + -0.011786265734370575, + 0.06201642079051059, + -0.10356786130039096, + 0.12987913132864412, + -0.02224556049629823, + 0.1303603782481236, + 0.12452514056709735, + 0.027841588683432037, + 0.20521636415255465, + -0.13773134791247021, + -0.10755313722340105, + -0.045611078265095924, + -0.007417682155424239, + 0.14540318544029004, + 0.01740494169378087, + -0.02749074030336609, + -0.050891119405700756, + 0.04684238609233087, + -0.09120065225465784, + 0.17751588476820898 + ], + [ + -0.029073882017427655, + -0.00792926016744533, + 0.15413012217284472, + -0.11603941445399751, + -0.21877915445070278, + 0.02810844684867714, + -0.16151260908008186, + 0.17289051748918932, + -0.06712638130394556, + -0.05987924761218134, + 0.018281059642254033, + 0.06071675276733192, + 0.05236475528979975, + 0.008902625497266418, + -0.09723924723133803, + 0.16946480111280562, + 0.0638051542255979, + -0.09255816264861823, + 0.00840293346617426, + -0.022705992630325262, + 0.07501354440156358, + -0.15555083711424134, + 0.07382722258386937, + 0.01982979203632385, + 0.2476454537302441, + 0.03046939511198778, + -0.07730823110541885, + -0.1353643316036023, + -0.14674547607901306, + -0.09884501571785162, + 0.005772668587164809, + -0.003954596426360805, + 0.020618307966605597, + -0.07558800771021452, + -0.20976719438321534, + 0.019579843467901883, + 0.09684264016046781, + 0.0719877286934612, + 0.03579889397088135, + 0.05489903699388879, + -0.03178769562438278, + -0.028836231819012927, + -0.022768419448700075, + 0.04340604079481844, + 0.12088165713468257, + 0.07893668906314705, + -0.18933939847305875, + -0.10700679214562757, + 0.052021305685471635, + -0.16756875287218498, + -0.11915794006857228, + 0.1336756355861959, + 0.10475996270320842, + 0.10447190452786097, + -0.08021007966936085, + 0.08730446432297821, + -0.03742114061849232, + -0.10730746147536678, + -0.14740385184348162, + -0.07812815549811368, + 0.007988494466968386, + 0.11469635063815715, + 0.02754964509229286, + -0.12556998791788698, + 0.09279157590100481, + -0.035630131611723306, + 0.05564539519653129, + 0.020264059146476193, + -0.035785228114231224, + -0.1786188222893138, + -0.008967486080417914, + -0.02402165339644732, + -0.11197336404960029, + 0.06639373051396855, + -0.04358432740804326, + 0.06081552385041732, + -0.03488104098097712, + 0.009364435260678665, + -0.03039832559761162, + 0.051875841530801804, + -0.14020818448725011, + 0.050818963478409626, + 0.2257923760568048, + -0.05087763228184264, + 0.14088988179885395, + 0.04089363373941022, + -0.09294695866460455, + 0.027787506377550876, + -0.048245047988823474, + 0.08800871404995733, + 0.02224176680177899, + 0.12562070048283977, + -0.2609269463175139, + 0.03400786139445941, + -0.15870812273221885, + -0.08036325922663211, + -0.07592901832090071, + -0.08639666264425473, + -0.01729101982855246, + -0.06379209343068873 + ], + [ + 0.02457469483974142, + -0.0437984401432499, + 0.19614065806496894, + -0.025169568376253136, + 0.04419348049268207, + 0.032006697348596895, + -0.03263757715787777, + -0.17442743204086875, + 0.01873982715479876, + 0.1534508583133073, + 0.08072595108635067, + -0.15107856716278428, + 0.004085292265833451, + 0.057648228141469415, + 0.10130198030308589, + 0.12955101333707775, + 0.018105642310415178, + -0.10179966903614367, + 0.11070360023074992, + -0.07412635473398473, + -0.11028411277905886, + 0.06231958569401845, + 0.027735392561441644, + 0.06916539368706422, + 0.10725730017866082, + -0.07844932549086503, + 0.06628331675909108, + -0.04440229664993527, + -0.01648768657107763, + -0.11046237202511537, + 0.08739761676317546, + 0.003529728364319857, + 0.11514152892158061, + 0.031962330321765, + -0.10382765967897518, + 0.18658097251639008, + -0.01213238043665765, + -0.18384753551230704, + 0.005250709165103769, + -0.03511033045891376, + -0.16690583454549496, + -0.0560657174978719, + 0.1068052901026861, + 0.006495634056363955, + -0.0556104694771989, + -0.14108032005479396, + -0.02425214051384948, + 0.08839218083467729, + 0.01684301049267367, + 0.34626979102446054, + -0.07916917235653624, + 0.020308230581465667, + 0.07151143069505407, + -0.015134074803794575, + -0.0869574475661606, + 0.016625778687425395, + 0.05600107205990512, + -0.16504115172052092, + -0.19408937632622117, + 0.2406216670374731, + 0.07359389663159523, + 0.144537639856637, + -0.031998606535626715, + 0.0012955607721335332, + -0.006061243891597146, + -0.120190773390458, + -0.030445258495872308, + -0.0009445246034954181, + 0.059223178557721017, + 0.027464497604912135, + 0.05121653114745789, + -0.09437443517516596, + 0.03158399129143492, + -0.04660272619208383, + 0.06699048156140784, + -0.12286400433210433, + 0.06107759242577668, + -0.05276687646208966, + 0.15354895507297806, + 0.19802894420229608, + -0.07765549670428674, + 0.1965185567322846, + 0.0716577287831829, + -0.08292291507437755, + -0.0207727112966857, + -0.018280056513101977, + 0.19535037720117213, + -0.07674283441339376, + 0.02772033446756992, + 0.031261120108010194, + -0.0070825630269678195, + -0.10752078635700774, + -0.02181044292100868, + -0.041419403450022825, + 0.14567758184583768, + -0.01063224284436471, + 0.021810882837794546, + -0.03975018614502098, + -0.09456976069718435, + 0.10591552735965844 + ], + [ + -0.05435208826494969, + -0.06800504136416675, + -0.053873603858117375, + 0.03775097940229219, + -0.10322185730939967, + 0.030888096645952746, + -0.11599307388324444, + -0.13443192102142565, + 0.019438948831273346, + 0.20428069876827556, + -0.03403457631800698, + -0.03164459204186429, + -0.1366424726835605, + -0.11769551923269905, + 0.19113937233075964, + 0.08369362786088841, + 0.12558163942559905, + -0.11804812285757359, + 0.03835678319682716, + -0.039824967536425206, + -0.06162648394467616, + 0.11036433836287926, + 0.1116597427855327, + 0.0921263414111908, + 0.01009252234656319, + -0.011212957509691404, + 0.07849732630725671, + -0.07411058723833328, + -0.04058703852501186, + 0.17272335356063545, + -0.012673511224394814, + 0.14260775304114554, + 0.022263960667038864, + -0.21495402494291999, + -0.04732340363965108, + -0.10563603384989786, + -0.17185930934853616, + 0.012726235680279504, + 0.02495441886121671, + -0.2988145943003248, + -0.10077701583718571, + -0.141270515524952, + -0.02615710500091656, + -0.02268422751011463, + 0.019242104746774857, + -0.005043093115981103, + -0.14774855984327656, + -0.2610526447736188, + -0.11529113889032125, + 0.005074819563353154, + -0.056400841451968685, + -0.019733211320864644, + -0.011330663212147271, + 0.045885170105833296, + -0.07376297646158159, + 0.08119285742568964, + 0.151757759897303, + -0.02170357747041047, + 0.11075028698807032, + -0.0003264401091251128, + -0.06624873963190447, + 0.08556682942339422, + 0.04094434572105705, + 0.07764785470002908, + 0.053427630936039076, + 0.085664252806957, + 0.03086323642306631, + -0.008485276441699705, + 0.01458645604015464, + 0.1300215220453891, + 0.03687920646162366, + 0.06906171873148165, + -0.09506870502155819, + -0.06962044567147048, + -0.014926595122924269, + 0.027460142228709745, + 0.01219431697468553, + -0.030048435798123267, + 0.021302360832746194, + -0.05049166547824959, + 0.13574200764921418, + -0.034817041111385075, + -0.055645596106335765, + -0.009552174286451512, + -0.1792996209183049, + 0.12896843680786704, + -0.272198286065481, + -0.14803259094430693, + 0.04346447012529404, + 0.03286420282516007, + 0.018710860528183243, + 0.017224073370224146, + -0.08439049519349978, + 0.05699469158520236, + 0.05121372322288493, + 0.11274728210374603, + -0.09361867787229709, + 0.1187296277327827, + 0.10228965352852185, + -0.14034530637337458 + ], + [ + -0.10172331713190255, + -0.009626545752026091, + 0.02045428794369525, + -0.15753589318675684, + 0.06394678119429698, + -0.06808314247376539, + 0.04841783031076089, + -0.10855400254358569, + -0.1186978063200026, + 0.09793635027458202, + -0.22661960060927705, + -0.010923149809745814, + -0.14690164655350252, + 0.10660359139624058, + 0.09402169082394476, + -0.005354907472870042, + -0.05107469493436293, + -0.00907515000151049, + -0.09520651956978443, + -0.11343161648822998, + -0.10938115367880359, + -0.1323791928865663, + -0.055693486154920126, + 0.12045642214796971, + -0.06660600532199379, + -0.008946445538026157, + 0.20111078381668018, + -0.061415068613171635, + -0.13650141437299815, + 0.014461860219115443, + -0.05926668145024674, + -0.017479470380916563, + -0.08174613854341739, + -0.032812385026758484, + -0.2431462472720952, + -0.00042702011221994597, + -0.1638178602399869, + 0.01903758927309495, + 0.0287962069594856, + 0.13472429123993512, + 0.027317425719410968, + 0.14785923748126525, + -0.18869613533595792, + 0.002543998174089866, + 0.23178890239274022, + 0.20723522848915493, + 0.08761053331563427, + -0.1218326031728656, + 0.04108119475813123, + 0.18396583544522063, + 0.07061195606140185, + -0.097060651219158, + -0.04451032518078055, + 0.09460162971363806, + 0.013206069874846748, + -0.10361190981119152, + 0.017842640199307355, + -0.012429102003240879, + -0.16373003169878828, + -0.07897901326986022, + 0.18792723375152706, + -0.2067106363903004, + -0.010004037946235958, + 0.005890000951212614, + -0.06385361745681681, + 0.045219425873006605, + 0.0561178011177139, + 0.09091204256400386, + -0.059430381269364646, + -0.1552471195925391, + -0.04303912340089787, + 0.03910908412344142, + -0.07781862649061132, + 0.00222534858297606, + -0.11086800568011022, + -0.019751795493646272, + 0.021664643701614035, + -0.15544421907378353, + 0.02329528439273116, + -0.014224823191750047, + 0.04389925777973584, + -0.011863302784473985, + 0.03148966445491182, + 0.039379459595638266, + 0.017696095331341016, + -0.008883708990858923, + 0.09150465452578152, + -0.02652618939394237, + -0.10172633985885837, + 0.006345682808604015, + 0.1638936645647896, + 0.07827166090508401, + 0.07937294179580698, + 0.04739037821623767, + 0.011527610565111354, + 0.07047360599895923, + 0.06768894639455411, + 0.10716521481742654, + 0.09998247537914821, + 0.1326774198711202 + ], + [ + 0.08217266248906922, + -0.03724174532134434, + 0.11998242594051864, + 0.07997505693551368, + 0.013100467213132507, + 0.10138809930892924, + -0.016211178418755617, + 0.11851654691407655, + 0.02609236225861798, + -0.04327293531160121, + 0.0968910841110966, + -0.04402727799057846, + -0.046390785440328056, + 0.12007741658296435, + -0.02818146152264354, + -0.17747018020318417, + 0.006365699389479721, + 0.0993306909147473, + -0.05528530921062929, + -0.03459616714576466, + -0.14929290837045542, + 0.1041105581598114, + 0.17809502712904401, + 0.14987640950665007, + -0.04563945863025723, + 0.022633993287286, + -0.0049981333761134, + -0.055414552589528154, + -0.0593259531255897, + -0.1451364523156514, + 0.052099605870116555, + -0.0778265397039427, + 0.11916985534072959, + -0.0007657682689511588, + 0.07407730152692442, + 0.02276929784162673, + -0.14335108148726416, + -0.0039334615884521595, + 0.19598867921589563, + -0.09130508852713767, + -0.15756611781019098, + -0.21007718160732303, + -0.11012994482288788, + -0.013546321795728681, + 0.0012587603130117604, + -0.11025763981171181, + 0.05675554039168636, + 0.09044614432977954, + -0.013314535113470034, + -0.15109876780398593, + -0.10885339152910561, + 0.08866838468464827, + -0.09130930680441386, + 0.06465541148584471, + -0.03813321342231362, + -0.012005351320981678, + 0.0330885801803687, + -0.01737469661144185, + -0.10374141760446379, + -0.10850709586539817, + 0.034640702671789945, + -0.11460085055289597, + -0.27737050059794516, + -0.07965497598400209, + 0.12495664438420932, + -0.1716841937381397, + 0.05519143318004483, + 0.08713848815376994, + 0.0234963529028383, + 0.05236768242520528, + -0.19154578236204034, + 0.003991806997630884, + -0.12354551588743264, + 0.046187568854689394, + 0.097022427517715, + 0.15699964460131152, + 0.10899501336733303, + -0.03204313447538068, + -0.050814824980562064, + 0.003852016148670624, + 0.01100533613554682, + -0.03996936244520479, + -0.21337905516794178, + 0.014274792775861023, + 0.007060435839909016, + -0.17331793871153317, + 0.05048844428395294, + -0.1630957697255704, + -0.04711931196790442, + 0.01623768830273948, + 0.020846851024985232, + 0.1675171732443113, + 0.14124787540628114, + 0.05229646706046601, + -0.09052897660350719, + -0.061095914802259926, + -0.06660626137452755, + -0.02757274623826975, + 0.1648395489111289, + 0.07052426810698442 + ], + [ + 0.03894688062355013, + -0.2269855353112492, + -0.11967280426281812, + -0.015812390072147246, + 0.27820888171474506, + 0.03374416557870629, + 0.05359377292296949, + 0.0687742651359452, + -0.01713136646140533, + 0.13549676065982197, + 0.1959310068749012, + 0.09072774496232398, + 0.04087315711336614, + -0.015454222663561, + 0.03934201000836079, + -0.1707164694395182, + 0.023227757355356548, + -0.0059149364248608826, + 0.132402502266149, + -0.09151225371334885, + -0.020508624724970642, + -0.021367073574065296, + 0.1530392649473768, + -0.052328195638510204, + -0.14211611823749523, + -0.14090632684864454, + 0.021129467522995313, + -0.13151530192275562, + 0.06467532091069517, + -0.08689792413925079, + 0.08570974508394802, + 0.09388739620915756, + -0.031116596827694545, + -0.05123437434806986, + -0.03389674830628783, + -0.059291284542860014, + -0.007669992779705016, + 0.05351582743952936, + 0.16139517737399853, + -0.017553639506209837, + 0.1570100109398099, + 0.19978848250172632, + -0.05842102045695967, + 0.09767665627617005, + 0.09349356910847154, + 0.07131999534500333, + -0.16999311314750595, + 0.022003038398799895, + -0.10103864198161866, + -0.0022699417242139737, + -0.11405828665480357, + 0.0010743909725235408, + 0.05628196247404142, + -0.03702559871805462, + -0.06585859430426308, + 0.10293499380775163, + 0.10006037594753718, + -0.012880413137059506, + 0.01515109912549957, + 0.10211091666751787, + -0.05241411929985749, + 0.027685961957806066, + 0.14812103764648268, + 0.05566685686246369, + 0.03796279851058245, + -0.10843227899065642, + -0.04922423157351115, + -0.2543514139249661, + 0.09804300554484727, + -0.17620809687814362, + -0.19511463072687424, + 0.07661155624196578, + 0.16461980346637595, + 0.03622752357330279, + -0.007497435861010202, + -0.06191010692414062, + -0.01759765587412627, + -0.06625720170101451, + 0.05796776839280988, + -0.02006053223016442, + 0.08490384386926206, + 0.14923071257048892, + 0.09330969596090533, + -0.05011977801837504, + 0.11956352488175653, + -0.051929826882351884, + -0.00021865047414911366, + 0.0852323885247396, + 0.06418919663560649, + -0.07257553238013897, + -0.02560958311112952, + 0.08210202810833865, + 0.11345027557794728, + 0.01792198246313555, + -0.08641726048982303, + -0.15461571713470956, + -0.013894257346865202, + 0.06615045039653718, + 0.12766966658609602, + -0.07723069983910323 + ], + [ + -0.12343297770684224, + -0.24148610644353097, + 0.15607310761720863, + 0.02855066691700358, + -0.12352509407148342, + -0.01695046289551475, + 0.0248288323587195, + -0.08601041979326866, + -0.028323756206150637, + -0.2810064243484502, + 0.05886990564037565, + -0.10044336272754277, + -0.016723404060106306, + -0.0015455340075998952, + -0.08535676210298461, + -0.075221073571576, + 0.002998448969949699, + -0.16629734957478987, + 0.15737151334351346, + -0.0021127660735673934, + -0.026073036623692914, + 0.04339190936517158, + 0.1191858680668516, + -0.010589140182198396, + 0.05352274504752029, + 0.04142558642546477, + 0.18875461157925602, + -0.023953943180421815, + -0.00824729972132374, + 0.06281159581947185, + 0.04295006290821392, + -0.04102498378950512, + -0.011906369845089346, + 0.08595187493922911, + 0.06036765031379883, + -0.14312442214995075, + -0.05627216917721862, + 0.1762481225198598, + -0.031199539724289516, + 0.06540239700993294, + -0.09103187053005637, + -0.0016220937592289892, + 0.11776596156916105, + -0.18567416690216268, + -0.1162525613175138, + 0.15009924977871497, + 0.006713493101808787, + 0.11770596996183812, + 0.20395659470178987, + -0.08483349911471424, + 0.03395924183103033, + -0.16947610097966423, + 0.00978426481319322, + -0.21584756187299933, + 0.02744075037845501, + -0.04120273228427217, + 0.13473427969242463, + -0.104677204248105, + 0.05530560592843615, + 0.07350929745562557, + -0.04942399744809058, + 0.0030690037968058768, + -0.030138681807281336, + 0.11756472990040927, + -0.11398897528562595, + -0.0918961441050359, + 0.06875140545820868, + 0.10952651708273918, + 0.0710806929528934, + -0.19823674679424416, + 0.11418946579558584, + -0.04994877380604073, + 0.04728017168669229, + 0.02237396488432905, + 0.08073644691740108, + -0.1607653064424266, + -0.022925013422394266, + -0.10782698030412953, + -0.02532323358211814, + -0.10513317568221153, + 0.14446068845013274, + -0.048082334128571935, + 0.01529552622461614, + -0.07723758989622796, + -0.12211051295972114, + 0.11470182672350757, + 0.02125448063105466, + 0.012553950824178994, + -0.1398478086890904, + 0.061720590635297966, + -0.049027106740910584, + 0.08424092189427677, + -0.040656538277936985, + 0.1052058084224455, + -0.04887100470899089, + -0.1082611287806809, + -0.034397705626330724, + -0.006695762045215309, + 0.12569494642404813, + 0.03843649782653465 + ], + [ + -0.00913243049024518, + 0.1010443018310235, + 0.008297613539499402, + 0.05110994076147405, + -0.1470913298928456, + -0.10079258548031991, + 0.0751842330839102, + -0.14267130321576404, + -0.1357918125073789, + -0.12382091636324742, + -0.10660555183140363, + 0.007081170324694682, + 0.02626817251598003, + -0.04180355750624134, + -0.3131437589165433, + 0.11511273631809053, + -0.05157832820788573, + 0.03425297031095726, + -0.0027211518877363833, + -0.11931013436628363, + 0.03147740307835589, + 0.06738041169857523, + 0.011153329250260859, + 0.13443058861637763, + -0.01858295170846537, + 0.05696825723287938, + -0.0022865423266840187, + 0.19517160563333127, + -0.1146823759608333, + -0.10400887784645195, + 0.07542738226262362, + -0.05506504925182688, + 0.14755665719665512, + -0.02362291782042803, + 0.1847134938964931, + 0.11174303849440678, + 0.03694058866401716, + -0.0406345890303198, + 0.0058209555257376375, + -0.22475077345371983, + 0.016848882539886194, + 0.06451113042401707, + -0.06639418784942706, + 0.10266353433944878, + -0.03187985083633115, + -0.07916412119669401, + 0.046804119236920044, + -0.030639185467884786, + -0.03795348800311685, + 0.056311636029854756, + -0.15601524440106695, + -0.22540527412037809, + 0.0059133289404268334, + -0.0397166357997357, + -0.15273168928730757, + -0.03696761718602152, + 0.20556718233516996, + 0.06009036223221408, + 0.04176590600039244, + -0.01078497861119224, + 0.17291321287679434, + -0.11280495470203314, + 0.0899205464546509, + 0.08929538252265105, + -0.13469595701525286, + 0.041432734378712865, + 0.02458159182347992, + -0.08617237291903451, + 0.18803553616334875, + -0.032358445921322684, + -0.18457822325936651, + 0.03026059709314481, + -0.03542566064852392, + -0.1039273801172452, + -0.13028132740192305, + 0.0565523059179381, + -0.13631969800284488, + -0.15404113251776508, + -0.06682434641844337, + 0.08083475484925194, + 0.003138868325218592, + 0.018485002411951616, + 0.060597252563264835, + 0.06090315060364543, + 0.04238711207612562, + -0.08225366417589379, + -0.02757984800034356, + 0.07385452807729095, + 0.13177448155058952, + 0.061190638015071894, + -0.04235983088037176, + -0.0018144788286368519, + -0.12726927895412113, + -0.12426182114183067, + -0.09361930165502694, + -0.09558339998581647, + -0.04602544420930801, + 0.06719727699304484, + 0.03179070600716636, + -0.04365163796035484 + ], + [ + -0.17734625039699317, + -0.06744571136564673, + 0.03457115889396829, + 0.12604521052854262, + 0.004449023838157657, + -0.06031255366644414, + -0.03145810261342909, + 0.11200936310693868, + -0.006014047114149135, + -0.020107727138967055, + -0.08986826573386654, + 0.08129096222641274, + -0.09849924042635529, + 0.006083968774844477, + -0.011636726860187591, + 0.1156916017867322, + 0.029824598725629887, + 0.08443294656870115, + -0.02166541247544742, + 0.08147461980900512, + -0.0608404727759894, + 0.04423303872280971, + -0.15535231821217238, + 0.05390098377210607, + -0.04408313210691759, + -0.09019857590722119, + 0.06229413500366652, + -0.0923333337744867, + -0.0915205561171581, + 0.14036204449866874, + -0.08286315459959, + -0.003127320327891911, + -0.03889903582667988, + 0.03436051684163559, + 0.20739093168703648, + 0.15086402666311421, + 0.028537422435163353, + -0.08089771827042293, + 0.1449375755306523, + -0.0058319959066569045, + 0.04734968716188317, + -0.05550884798472235, + 0.10136730489411767, + -0.10620331734404259, + 0.2184143551197965, + 0.015022564280683758, + -0.15989194918306437, + -0.192397578988807, + 0.17695288013669783, + -0.17926550227471716, + 0.02200586369784506, + -0.015442306713302508, + 0.04677604657058781, + 0.0004701613507565185, + -0.2850775540530187, + -0.15336115400589145, + 0.11292545867351557, + 0.18826544445621932, + -0.11810712570789252, + 0.0732443227248932, + -0.0022202549914531033, + -0.025147930353195295, + 0.043144709806595155, + 0.010943835507607316, + 0.09790973844341148, + -0.17790109383468863, + 0.016729577687520914, + -0.06099900699190302, + -0.07822648752672604, + -0.12617141580760868, + 0.019823998469453756, + -0.05168002621303996, + 0.14291563810766314, + -0.03391499641056882, + 0.07231550379254761, + -0.00010535154773348396, + 0.009983240737096732, + 0.023956078450526094, + -0.0332487038662779, + -0.09837635162499815, + -0.07215666969971489, + -0.028040824273712628, + -0.060100469223245134, + 0.018046301819318652, + -0.008011915062469038, + -0.11859815794243654, + 0.10467598620746237, + -0.020534063002979535, + -0.08529455574727286, + -0.011508124431293757, + -0.09605437524943906, + -0.10429775746618447, + 0.06748448175964077, + -0.06083075123879309, + 0.2954514094069951, + -0.06320372839287056, + -0.07612645835842341, + 0.011192067442049905, + -0.13296459791080997, + -0.125910774406918 + ], + [ + 0.09739780612375856, + 0.12802480116089937, + 0.05518933766820809, + 0.01532335755413824, + 0.104108522665276, + 0.08999952033932333, + 0.03167530737633199, + -0.10411454339778017, + 0.008598817326897, + 0.06787251107328619, + 0.06284312852123161, + -0.21549038502343984, + -0.05749069458808769, + 0.0475239033750884, + 0.1289974713791152, + -0.010283504432065436, + -0.15400552339796839, + 0.029386277326202748, + 0.1154853870348548, + 0.09014556813526779, + 0.13720626400045166, + 0.09933692315196717, + 0.15107723638912615, + -0.008317013094200467, + 0.016096615425879292, + 0.17415525739955937, + -0.13763483828338205, + 0.11899104832361942, + -0.2124573179365282, + 0.010766768681136818, + -0.053354707409560866, + -0.14779039077666953, + -0.09724717349342685, + -0.1501283823190338, + 0.07603598319326595, + 0.09124442562672698, + 0.029074540721276916, + 0.15893466768212366, + 0.08986032768558114, + 0.1119792786923873, + 0.1505966463347952, + 0.11458662451317692, + -0.020921317543148934, + 0.15462309753625092, + 0.02924885921723496, + 0.12311766613634718, + -0.05636629155787279, + 0.1409244373060177, + 0.09746167477946124, + -0.07020473716374803, + -0.1022071036148258, + 0.08638980618452949, + -0.07352877107487053, + 0.0015643961513880757, + -0.019031119235842216, + -0.06627354996333013, + 0.19114642734470355, + 0.02616553223852959, + -0.07220809429162213, + -0.03923583993193485, + 0.007220308439305937, + 0.10090175074316178, + 0.07032352780552338, + 0.14029793638729118, + -0.08259087308618691, + 0.03966642758581469, + 0.14160216945135648, + -0.08593210929399463, + 0.02991913258447217, + -0.05252404096427913, + 0.0652257187566408, + -0.04081002814779814, + -0.1262829380086621, + -0.055726951499001615, + 0.008857129309195771, + 0.07592057070008883, + 0.17282403442896252, + 0.01850768873913935, + 0.15067073772030223, + 0.06505763082785793, + 0.011400978953176544, + -0.1573320214634246, + -0.031854395882396254, + 0.011115493707174559, + -0.03831355059279961, + -0.03309571810427305, + 0.02849029734235706, + 0.03657349597698757, + 0.0014616398461175131, + -0.0804170488969593, + 0.07281370122175622, + -0.12081908065966407, + -0.031781565936443094, + 0.2586357696402451, + 0.05380302737208733, + 0.09864519597250151, + -0.18085296477353288, + -0.051643736448023864, + -0.1110666077296619, + -0.07258785970953424 + ], + [ + 0.09615465143929504, + -0.041118441717348686, + -0.059248619057165344, + -0.04099456977026967, + 0.09571125662510528, + 0.009599862008273846, + -0.09268979074882189, + -0.19677817345456072, + -0.022845492227048843, + 0.014073716340015903, + -0.08001931525479275, + -0.10558501726404887, + -0.047726788024911995, + 0.005352913715576842, + -0.04109525777442794, + -0.08610945301382494, + 0.015140920930718178, + 0.013565628633118337, + 0.07720789822640331, + 0.0065684125787533595, + 0.04676359260571082, + -0.02411206217812465, + -0.010551970090202154, + 0.08712666024676727, + 0.09766555162171646, + 0.09286262309988891, + -0.020646602472655262, + -0.07166319179642953, + -0.17784935189909942, + 0.030247347971104947, + -0.26156712097049456, + 0.08029313319273874, + -0.05469583307975252, + 0.16320052386128905, + 0.004108698969523452, + -0.06541353629625127, + 0.0764570617975843, + -0.1787081301211532, + 0.016713370217926696, + -0.09318800393256531, + 0.08254689680684738, + 0.1888051712093675, + 0.2474580112400563, + 0.08451975084546721, + -0.08080125151548465, + 0.019165722639922337, + -0.10506310132264772, + 0.00024811925697342104, + -0.035687547955827514, + -0.20375715727523264, + -0.10361144583398979, + 0.03405509946250052, + 0.09075041860174692, + 0.0979849222196006, + -0.0988571983126193, + 0.08884231085580642, + -0.15976395177153802, + -0.09092586614195118, + -0.016716349198849546, + -0.051373214219053207, + 0.2829219733301187, + -0.07428611983735657, + 0.07495558802080457, + -0.10618701734955047, + -0.05309684601882523, + -0.18554825352623044, + -0.07988134958239798, + 0.09706917058762571, + 0.08616823952547605, + 0.20965541985294794, + 0.11323963585179334, + -0.05198052851195992, + 0.17167012418598648, + -0.004998728968099775, + -0.03484073968528147, + -0.11205895592044318, + -0.03735396394111885, + -0.062496275952224026, + -0.145176660801246, + -0.01669973950898105, + 0.03450389582690398, + 0.03916955643724745, + -0.17935571020825128, + -0.019973957490142736, + 0.003054455400360248, + -0.028592182539242852, + -0.1389463157080577, + 0.03898948763566453, + -0.06680552439098714, + -0.022398478931542166, + 0.1050310319542525, + -0.04282940685053811, + 0.05803739059622803, + 0.06667076724337695, + -0.06318756668623698, + 0.001873982807118664, + -0.05151907039906784, + -0.08535113306261492, + 0.11117318444870417, + 0.10973599752025645 + ], + [ + -0.03405645112085391, + -0.08442879348538396, + 0.15021639688813787, + 0.05463806560352725, + 0.08969701840096155, + 0.03591117915527722, + -0.09642173810759064, + -0.08653136230817603, + 0.031925588971149485, + 0.054257510091717705, + 0.14465150117279837, + 0.01173595360645937, + -0.05639274759919386, + -0.012623881992264406, + 0.0263560886315761, + -0.06051539731555746, + -0.08826938279004765, + -0.030163826612814942, + 0.09532466148337164, + 0.15451162857292564, + 0.07517822940689875, + -0.1652727502377894, + -0.0947689986405192, + 0.0333973513191924, + -0.12138512421209044, + 0.03512538184653298, + 0.018444050529911507, + -0.03468591282270167, + -0.02068611799932637, + 0.12254931175803103, + 0.00627752472581839, + 0.05892770638722439, + 0.017922650885265505, + -0.17939865839460944, + 0.005832723392204776, + 0.13526103743527076, + 0.011580236306325094, + -0.08238399183136984, + 0.14362678564905354, + -0.07432030245926079, + 0.106545093120165, + -0.13107449281659872, + -0.0984261587308275, + 0.12269645661005356, + -0.17342816763513028, + -0.0954081753565618, + -0.013622021668556776, + -0.050616936637616204, + 0.015079829581487247, + -0.09708116940698895, + 0.011695275392027004, + -0.009972489150013277, + -0.049780463062981437, + -0.011876994122010556, + 0.028206340873028358, + 0.10486552262834625, + 0.012365163898810094, + -0.10662282104970223, + -0.04171666941310566, + 0.03208643174741748, + 0.0017230009540322253, + -0.11690720848430762, + -0.013282327031406443, + 0.028108489169244848, + -0.3231363615761627, + 0.06167697044134928, + -0.000707713264783496, + 0.03553585552964709, + -0.12717902062338118, + -0.0692722148046806, + 0.14838248714671753, + 0.20561783754445723, + -0.01975420001809562, + 0.1835685689768876, + 0.01502733756577035, + 0.04935626272261594, + 0.08830471471886872, + -0.19319285301339703, + -0.09262524907124621, + -0.060697745849841264, + 0.08263472455056217, + 0.03966080339956766, + -0.03192769285294025, + 0.13149326852959417, + 0.11858686928882273, + -0.009437296469552573, + -0.019957375492707957, + -0.021906653306225394, + -0.0979018359771878, + 0.13700701792705183, + -0.10448928548853428, + 0.0760449864054776, + -0.01668303516744431, + -0.17505163710863253, + -0.10666312006008287, + -0.036890809553512476, + 0.15052454434131096, + -0.03903831086561763, + -0.3289442015546286, + 0.04534534193535676 + ], + [ + -0.15773697538115947, + 0.1163559705017995, + 0.034579850638109595, + 0.12365419116693675, + -0.006064326194092175, + -0.2783966529303398, + 0.023245365751935688, + 0.010700628400900351, + -0.02589045842871828, + -0.11993390412439757, + 0.08177481167468323, + -0.11570021393023291, + 0.03423986523373175, + -0.05420775474798914, + 0.052620256011024956, + 0.06808149130547353, + 0.035666874527628734, + 0.01905637226330354, + 0.012212192471644344, + -0.0054665585025862875, + 0.09705181026504284, + -0.04357644790863454, + -0.021975530688962495, + 0.11316503588483974, + 0.1250012477496708, + 0.13732417021957974, + -0.07640229931461298, + -0.03425979593989737, + 0.040678913973537456, + 0.05053761718592685, + -0.00872447001668769, + 0.08801022613333451, + 0.054063580555365, + 0.18109292455916925, + -0.11608215740354276, + 0.041204388682896206, + -0.2763781753467317, + -0.13279213404728799, + 0.10675186021515129, + -0.09001111935976135, + -0.11015516344908848, + 0.09065810360829482, + -0.03065144869780279, + 0.037277993576344245, + -0.07708242118541159, + 0.12373663284980414, + -0.013673443806610714, + -0.03262748862935743, + 0.039801766014009636, + -0.12049182494018336, + -0.21931986293066405, + 0.006112171631780111, + -0.05860107226904637, + 0.017488872765729038, + -0.008600269739629006, + -0.231458432401417, + -0.18216978441235854, + -0.08269136355159748, + 0.05946422653263193, + 0.11114148338081735, + -0.12143940919837494, + -0.02094821292664985, + 0.12429762038379383, + 0.14843828047207674, + 0.061227418436871274, + 0.05318787312873536, + -0.06103232824691827, + -0.11206050613551247, + -0.024312991255443905, + 0.02585209455959197, + -0.14317370299257864, + 0.1611477790956624, + 0.01680276325127172, + -0.03113064806464345, + 0.1017661328984371, + -0.03482661514350252, + 0.09110889893359929, + 0.08732097786083069, + 0.10006700299852223, + -0.0030331718033944433, + -0.15341317953139905, + -0.022186419358395097, + -0.03989589050992899, + 0.0324103412868799, + 0.04525901688784684, + 0.08846988957175622, + 0.04588645440194523, + 0.006900751621602374, + -0.023951288061388458, + -0.14898832718440752, + -0.08220940653510492, + 0.06292646978432732, + 0.06868155311315305, + 0.15162302864164215, + -0.14509003228272885, + 0.030863702586430456, + 0.15243276975807143, + 0.16276452741752914, + -0.09816750688076899, + 0.0994277088683294 + ], + [ + 0.04301012129397655, + 0.03662930255672062, + -0.011257640375031706, + -4.2958698166826975e-05, + -0.0037810415978310565, + 0.08498367426262904, + -0.025608999819323523, + 0.040284881077762076, + -0.04423970288066018, + 0.1350379243629827, + -0.04268845691064114, + 0.008297004603228146, + -0.013996413126956476, + -0.07624872903885366, + -0.08120840920904263, + -0.09330398363482925, + 0.04502577047169678, + -0.032153858489310155, + -0.10913233638851733, + 0.14056799270753603, + -0.07003526360413191, + -0.0028305021005844227, + 0.017277960335735185, + -0.07280996538790209, + 0.3450685662042775, + -0.09981819101564203, + 0.01236856117843309, + 0.09711669660931674, + -0.09711258435917557, + 0.053021271860287655, + -0.09710494575466355, + 0.05962010063878526, + -0.08041736125024261, + -0.02007402463773212, + 0.08503874362143564, + 0.03783544438870723, + -0.25545594342339, + -0.05547672681528952, + 0.03471020851515392, + 0.08879273880810175, + -0.12520781193453911, + 0.2247958984921483, + 0.011974721741965393, + -0.1024686352036727, + -0.03470441610687361, + -0.04210881078813201, + -0.028835485238581985, + 0.002714173464604515, + 0.11077632386197038, + 0.15872182108986996, + 0.04032782257991542, + 0.2167088525250892, + 0.20557952712404456, + -0.017528938829881175, + 0.0748784534311231, + 0.07855273999226056, + 0.23778627085669166, + -0.061710275351150715, + -0.0021562925153256825, + -0.20263739017845345, + -0.12981235062748486, + -0.045835183692269715, + -0.06532591616232677, + 0.1153914960073259, + -0.016695783233841553, + 0.0548773065815173, + 0.027104896262961895, + -0.07201439523396709, + -0.007552975203513257, + 0.005373209383764695, + -0.0036453254295265363, + 0.04585718269932465, + 0.03127358261205879, + 0.035097831437149125, + 0.07381568074018177, + -0.002033279091860719, + -0.024952610788137833, + -0.09206365405944024, + -0.106910982020032, + 0.06930581796677351, + -0.01866543209832345, + -0.12028326572241628, + -0.09159817076996027, + -0.018749485243255176, + 0.07931441057809994, + -0.18608414538846274, + -0.054626712668582676, + 0.055528875288856465, + -0.043292275318021316, + -0.08600532695521432, + -0.1919465100951997, + -0.18026345760787513, + -0.06389974547504698, + -0.0767921293455218, + -0.08610924788719078, + -0.11166616950222782, + 0.21902528663715382, + 0.06500527567543278, + 0.0841404689010403, + 0.0008422821801076681 + ], + [ + -0.14534653017302446, + -0.04486161611158668, + 0.027080114591692732, + 0.06018862086008603, + 0.08635945117588859, + -0.11385071610133254, + -0.06729188518263535, + 0.10194053059181908, + 0.10296450514489047, + -0.003603124880067832, + -0.14374602131509276, + 0.07596020648249034, + 0.04110359607246569, + 0.15716433948578706, + 0.023287128070181844, + -0.13013171391058734, + -0.017883758748465275, + -0.04046682852019337, + 0.05606675115888028, + -0.08534485461919479, + 0.11032565725241342, + 0.07464480758273521, + -0.04606524057591918, + 0.29191940952769124, + 0.17411761352636196, + -0.16829809962222259, + -0.0756778141598979, + 0.09189547777677955, + -0.023595903807267032, + -0.0024112964750218654, + 0.08122471069966132, + -0.055421339786201465, + -0.053919489559522506, + -0.04466913710663611, + 0.012989959698174361, + -0.0817739779067328, + -0.09181140542139324, + -0.0437265115283944, + -0.015081196394355947, + -0.1004710812224905, + -0.024224481896214126, + 0.0514483568142111, + -0.12346614544999203, + 0.025695180303902106, + 0.12003007314042462, + -0.015671545077546294, + 0.1107922553066114, + 0.23770746196441309, + -0.15121270249310406, + -0.09545738210996316, + 0.23806718526148557, + 0.08797769237285195, + -0.01300528493119152, + 0.0038023667047927586, + 0.06973349012608447, + -0.03837731783568199, + -0.05003026741492534, + 0.10530994918860785, + -0.09146476670111751, + -0.02540153715971337, + 0.1486681524651577, + 0.12186779684697678, + 0.13470529135275344, + -0.003413967418960986, + -0.07079895736306743, + -0.14120084565031038, + 0.08511113834216187, + -0.0431268673952213, + -0.06992621779931124, + 0.11493981118605859, + 0.12296724775007321, + 0.23010528631887436, + 0.03519041538991915, + 0.034143248386362346, + -0.010289641166128367, + -0.031177353494482456, + -0.004576182778608628, + 0.017593127049722858, + 0.060195042492483725, + -0.010258532960225957, + 0.07274332177792754, + 0.06902514668229016, + 0.1485839896096717, + -0.07453084909484473, + -0.21025996925571566, + -0.03878815760119799, + 0.030308793975603716, + -0.028507857080376866, + -0.05030109639897445, + -0.0035441132831527575, + -0.24449029822691076, + -0.05956395402664256, + -0.13240219819615262, + -0.04011392330755002, + -0.11133782055495847, + 0.005356016551543191, + -0.17253180177994018, + 0.0038739336549724916, + -0.0012913428710289048, + 0.002600424453842876 + ], + [ + -0.08172096689078712, + 0.06432508641232738, + 0.20792035614386403, + 0.11846809602828004, + -0.04678903245206595, + 0.08126749103206786, + 0.08424281434735655, + 0.06396901629315352, + 0.05722679638851151, + 0.015927947328101835, + -0.015759240136619692, + -6.625612224321299e-05, + -0.05166664853188111, + -0.15401334293940885, + -0.02205421875028827, + -0.17853081773710822, + 0.013180462027831909, + 0.033500328661646955, + -0.22543338536745525, + -0.13329195106043373, + -0.052007930985329354, + 0.10680459476513866, + -0.10248245046636992, + 0.05336057879334754, + -0.19122322622365048, + -0.06100330129113938, + 0.05064053770121967, + -0.11775837655480584, + -0.03707300419144178, + 0.08374127670166345, + -0.18391076152885313, + 0.1339460519666029, + -0.06264724921424553, + 0.10293594481488, + -0.14854900380319375, + -0.013458661531578485, + 0.07526350507350793, + 0.13700940440442602, + -0.006035666832625581, + -0.016024420227124317, + 0.07038446901554604, + 0.08852614738252558, + 0.07313445056213165, + -0.011885437867056333, + -0.14853308521041292, + -0.10472178977869276, + 0.001096880677359439, + 0.04277697982667369, + -0.009101244309519432, + 0.05674585751278342, + -0.1314061761538701, + 0.012121349132129566, + -0.022215908027006136, + 0.1328012915635064, + 0.08982198471101026, + -0.06633578486844847, + 0.04477194557398936, + 0.005931911791436506, + -0.026583548789821533, + 0.014592428770147855, + 0.05936244714398128, + -0.10144746299615666, + -0.056473620026349175, + 0.18874546226990468, + 0.061813279978492765, + -0.11254652358868725, + -0.05559955804710661, + -0.013420081188364585, + -0.06827833999579766, + -0.013408478161495171, + 0.09339525196682939, + -0.032792806725495505, + 0.01669345207181089, + -0.042639748184797904, + 0.20914435828123842, + 0.12806013912855663, + 0.13888432689960714, + -0.04594847469274318, + 0.06750668104559568, + -0.060041026074061525, + -0.056962203151651555, + 0.0859061335049183, + 0.17465915365710247, + 0.00894533343049958, + -0.11921609933468379, + -0.10941781317111524, + -0.03460904010069822, + 0.2657079346360823, + 0.20400706516891629, + 0.13074223943607732, + -0.04817157439224657, + 0.03702042347825382, + -0.21587045791944698, + 0.04115972061405201, + -0.06817010785742976, + 0.13588054746451142, + 0.026236989683341386, + -0.07809369646706629, + 0.043065117594847796, + -0.07621549598726875 + ], + [ + -0.1526641688113828, + 0.0044202059668315965, + -0.061113772025705296, + -0.10891292823105134, + -0.0801530732939663, + -0.014980817976629462, + 0.097789295435336, + 0.016018226510826617, + -0.16441399608089682, + 0.08057940552811174, + -0.029740633843265248, + 0.15052465318484673, + -0.14424027596998834, + 0.021938940178114572, + 0.14765023227569885, + 0.07278706744937599, + -0.007884145317444451, + 0.10505100424473211, + -0.04764314417012437, + 0.20834567941323592, + 0.07336330070490155, + -0.12306168545034281, + 0.08699176243500198, + -0.07082214410022757, + 0.06334149470387188, + -0.01100082031334359, + -0.06719038615189293, + -0.023457775626150996, + 0.06717815540530515, + -0.07650748728727712, + 0.04712763724769782, + -0.07923112426889828, + -0.0063690851308654045, + -0.09714429471330108, + 0.07113091162627379, + 0.05962990228700781, + -0.05820878284484894, + 0.11280730312567724, + -0.027885336454264, + 0.06636621713431501, + -0.049179917768522846, + -0.04406563788767014, + 0.10186362953429211, + -0.018716226715420396, + -0.006457157487301253, + 0.029493827469618997, + -0.21786120514756113, + 0.18098481120660204, + 0.09921026848486239, + -0.06321267881449791, + 0.007573309352824342, + -0.12961136752734861, + -0.11401313815545613, + -0.08851542521006633, + 0.0032256664462093354, + 0.20317972341870838, + -0.04718255633960418, + -0.07290188997458168, + -0.0033625916525457105, + 0.0005144371733751083, + 0.0007363820828046774, + -0.09498520026416159, + 0.04075176868523393, + 0.059578407101339444, + -0.050043258149900294, + -0.2506711917965198, + -0.03357802217157029, + -0.019669044252583395, + -0.005899128326207745, + 0.23564731288910168, + 0.005671689420152901, + 0.07489001649723136, + -0.15947181430754276, + -0.17858755537911133, + 0.010464148272198404, + 0.07622345126661037, + 0.015069664279536828, + -0.11476463942049536, + -0.12929684648226003, + 0.14351690763359906, + -0.16194229525292286, + 0.1736066573852967, + 0.05376655090928598, + 0.06099332567946566, + -0.21734275718326285, + 0.0110627639644394, + 0.04242472061418312, + 0.2207046043361605, + 0.0013984851323142562, + -0.0020572704100066627, + -0.026283216545561223, + 0.11524380664551259, + 0.1328470701358411, + -0.054599019404469776, + 0.039616429719588196, + 0.08591596652827843, + 0.05452349962455691, + 0.1342327757746443, + 0.05975148740899895, + -0.0034755081104859845 + ], + [ + 0.13626957301221085, + 0.09805784543631645, + -0.12008985268583243, + -0.05172367888646767, + -0.08229478760560624, + 0.046926834922743216, + 0.004882434456012203, + 0.07083505636322326, + -0.005322238240330946, + -0.01714772624379861, + -0.014731169204214625, + -0.0033712008240766355, + 0.14185526477308413, + -0.08721825483140595, + 0.007770185519627527, + 0.020241464494450374, + -0.025758647144497725, + -0.1021953717485068, + -0.2050841062358615, + -0.025493878189052268, + 0.20635674668446627, + -0.14465996282184496, + 0.06585534246404288, + -0.06997817375736633, + -0.09701286171812848, + -0.017145033437443554, + 0.12164782290367518, + 0.00835381219491694, + -0.06871553922472066, + -0.00327426538314924, + 0.1275967258484006, + 0.09952539682858406, + -0.052069848683187814, + 0.1978066273424366, + 0.09254912016880691, + -0.096525365485893, + -0.14779908692762891, + -0.0902154545388459, + 0.0382732076802553, + 0.09811861140856931, + 0.06369890373569065, + 0.055836676855820146, + -0.028646602682202142, + 0.005701193503613302, + 0.12827037097238725, + 0.012085080170096732, + -0.23722750562991057, + 0.06116007527220939, + -0.013564555818406782, + 0.16218092319813118, + -0.060465549189263765, + -0.016504721903889328, + -0.03146305331396241, + -0.1771718928596498, + -0.08115459594439411, + 0.024141601177380415, + 0.08372369671831756, + 0.04068518862480928, + 0.08926640325722578, + 0.0933903038626925, + 0.028361098999557383, + -0.08173335573913325, + 0.013732673983783385, + -0.08910781711888897, + -0.007561170929675378, + -0.06815448947491327, + -0.06578718088289058, + -6.547935015095673e-05, + 0.05924886656496414, + -0.011982763595371329, + 0.020082982262221064, + 0.04455741081840143, + 0.036733653320164074, + 0.0827278001843167, + -0.0017396109469312985, + 0.00367781141592963, + 0.18973673836468477, + -0.02533500295646432, + -0.02401808500451061, + -0.0056411642029491225, + -0.08631839653886131, + -0.1268422654301252, + -0.048156785095383355, + -0.1419227092969708, + -0.13431838770553353, + -0.1001737428219997, + -0.0687716170865221, + -0.24883625833395193, + 0.019761176569201868, + 0.20029517429351226, + -0.1348360244684992, + 0.11722349427600356, + -0.05624818001947956, + -0.02629550578830844, + -0.04694924360440376, + 0.20445783511286314, + -0.17748301326698934, + -0.07773806882913258, + -0.17063691503087786, + 0.212865028803611 + ], + [ + 0.009420143797545775, + 0.03001640865069492, + 0.011917493683942019, + 0.0025933586173475967, + 0.22391579467685105, + -0.08640902226896031, + -0.08788079038422433, + -0.0785862835803438, + -0.07551850551905016, + 0.0439304170001478, + -0.01875639799807151, + 0.06105430856850853, + 0.05419918876859135, + 0.10345940714230462, + -0.019790195314215085, + 0.05908420837139386, + 0.011865067410135679, + 0.08761956106808837, + -0.1229142743315353, + 0.0361888326467722, + 0.06343452839908506, + -0.058094964701529375, + -0.12759464413801774, + -0.14680015991863352, + 0.20184254464681312, + 0.1072453321894605, + 0.0615471987725919, + -0.1065677174486771, + 0.04802930702680181, + -0.12187963001928866, + 0.01729582027897538, + 0.09601983237198107, + 0.042271660359119584, + -0.14468246320667716, + 0.14229381965732912, + -0.02051255847112302, + 0.012899419161915792, + 0.02318142679715894, + 0.05434447509107634, + 0.018298915499937046, + 0.09227662266271541, + -0.006992533359294932, + 0.023029650434176374, + 0.03242141967747673, + -0.15443232469309717, + 0.15454907194929918, + 0.14110718944851777, + 0.08079610387671314, + -0.10613007832040185, + 0.0021172553191785848, + 0.05076640709741079, + -0.029429443825760453, + 0.04153625173990815, + 0.051223261024065145, + -0.1317988025328961, + -0.09026074918175403, + 0.0755230597795497, + -0.026002623302277802, + -0.08108809341766712, + 0.0736439663197771, + -0.0034321297808989353, + -0.05983640952097084, + 0.0017041945729984991, + 0.1052541719355489, + -0.07557473775590089, + 0.06998230555659851, + -0.0011626381504529566, + 0.05261483093316373, + -0.2992712094527384, + 0.028679573739630204, + -0.2053623090330591, + -0.11575209020236943, + -0.050306153279473506, + 0.03241858900226529, + 0.21586477902890566, + -0.00852219293018905, + -0.006789359752213247, + -0.0540571535797039, + 0.05477001166261347, + -0.0490657308531504, + -0.055137504542919547, + 0.046134166622017456, + -0.1719868477348236, + -0.289804638529335, + 0.04073000427205255, + 0.2003857922125785, + -0.08330873565491975, + 0.013267503776141913, + 0.06887776219770982, + 0.0830765112452799, + -0.10172846805827822, + 0.11595769677467481, + -0.12280779316497527, + -0.09451164632487287, + 0.10527265375869732, + 0.04605531495997767, + -0.1685599422925938, + -0.05213927259965723, + 0.1893036845094632, + -0.00232586264799617 + ], + [ + -0.022758880544892522, + -0.09588030040159005, + -0.0694813000095627, + -0.06864973144440117, + -0.03937444591476341, + 0.04338546702865459, + 0.3114884641975825, + -0.0026791841125476073, + -0.05359801198938837, + -0.2716625739899918, + -0.03176623583517651, + 0.08280124310340747, + -0.0376516325283908, + 0.009831547624929365, + 0.06513787172980544, + 0.09693330268443527, + -0.06287724002324455, + -0.14452214498254123, + 0.0957297470902144, + 0.06246744183673522, + -0.00557615667468015, + -0.015899208607882596, + 0.17970606420158722, + 0.00794919393191891, + -0.012410045601024924, + 0.03565599353096549, + -0.07092183219605101, + 0.16707063731910915, + -0.002230312329088634, + 0.04185201840409111, + -0.10532163513238353, + 0.14384337889086746, + -0.11332122504881609, + -0.1584884392548872, + 0.01980989603428965, + -0.044937899731165076, + 0.11372289467570676, + -0.08762458059728762, + 0.09259657040491033, + -0.20376785661531915, + 0.1302832470028231, + 0.17904799278967518, + 0.0306103000490324, + -0.22746929012537143, + 0.17204281022857523, + -0.08551418242560273, + 0.13475848003583418, + 0.0021724875908799707, + -0.11380962234811344, + -0.022144702921283472, + -0.05853209814009662, + 0.006614413465610851, + 0.06802702213115445, + 0.10921737556020825, + 0.08285924534190632, + -0.03946098943150722, + -0.0030342977750467633, + 0.005555180362868848, + -0.0706173252533545, + 0.1909976799628134, + -0.11767448789460805, + -0.0674303848857053, + -0.1255266129966293, + -0.0051175707051882265, + -0.05368165984196704, + -0.015002920540101236, + -0.02758034825907514, + 0.06808386151541133, + -0.0878871294376322, + 0.11876927257208722, + -0.060291442670194643, + -0.04008897109715942, + -0.08601485337547969, + 0.1449746184365144, + -0.0809821264877756, + -0.025041451400687722, + 0.1554588091472966, + 0.011299595726120704, + 0.018741119186851365, + 0.06458982397961104, + -0.14732969589611142, + 0.12705169082248652, + -0.028942196708033236, + -0.1629383668550692, + 0.023141272755160987, + -0.0971111318470518, + 0.01950869497579829, + -0.08221282469922912, + -0.10545906347238831, + 0.10559105418202329, + -0.007031167113988457, + -0.03322311770249351, + -0.05435782241012814, + 0.083925017522792, + 0.00479440299393816, + 0.037880959445923054, + 0.1462792333945293, + -0.0006977642125414618, + 0.014232856518511439, + -0.13370846754156906 + ], + [ + -0.09775978140105777, + 0.0615300812675232, + 0.1954552298379382, + 0.053700326577643676, + 0.04604139486672264, + -0.01882235229686543, + -0.0750730699305307, + -0.03483174011846689, + 0.07131507566896562, + 0.07177635536580736, + -0.012530483023229476, + 0.19028661175509337, + -0.0017095998675713657, + -0.03927820168693794, + 0.06808566973031523, + 0.150911412672496, + -0.025460124313576644, + -0.2072267495857739, + -0.00824907931582621, + -0.16098497446366514, + 0.012171072003207205, + -0.05215339223257954, + -0.0875230812860296, + -0.05335781170159358, + -0.05839153292361322, + -0.1756318124614195, + 0.05366886059189083, + 0.17219522613638497, + 0.02442310961108999, + -0.05710207393865918, + -0.08467307158890466, + -0.00872443890761543, + 0.0478346282230415, + 0.11265064801314274, + 0.07163236986365583, + -0.05039211765823454, + 0.015277051086948306, + 0.06215733375988393, + -0.04886614477789719, + -0.16821129695412249, + 0.0772338175399817, + -0.03626062435015868, + 0.12440697815099323, + 0.01621238381740912, + 0.04849847913448366, + 0.11417222230757011, + -0.028097036637602112, + 0.1004918591802789, + 0.04245965792760328, + -0.002735236903398657, + -0.03276936251431637, + 0.1486293117254739, + -0.012308558350771439, + -0.2025817504828879, + 0.13816965869775416, + 0.051034405535681095, + 0.14524211899832676, + -0.13865008094271492, + -0.08687636599877098, + 0.015228108580209955, + 0.029570353927574466, + -0.08489631460980761, + 0.12133582297961439, + -0.2636866805097298, + -0.08221274971224046, + 0.11234476720174817, + 0.012906530051788781, + -0.08938243052314547, + -0.14227977853478696, + 0.14398812208425474, + -0.19695207586046656, + -0.0078193072228806, + -0.036734604440052755, + 0.07569145337058092, + 0.17902741815475373, + -0.11702627700373502, + 0.020493615414339694, + 0.08813607119775756, + -0.10916133311881779, + -0.01640320141605235, + -0.007251768288810113, + -0.0818548836748977, + -0.07564508656896692, + 0.27915061422583487, + 0.028731155260331213, + -0.0879625518055398, + 0.09515286597101832, + 0.012305839237446787, + -0.0017490102814051217, + 0.016964974412332696, + 0.15068441958445677, + 0.053569807927269744, + -0.032575999972955384, + 0.1840708318798169, + -0.005172741327256243, + -0.033980778316017944, + -0.048472640210474344, + 0.03899298238300146, + 0.05256931762328359, + -0.08645186179401843 + ], + [ + 0.19020734961785762, + -0.15152768274425849, + 0.11064550774270117, + 0.025384595113292052, + 0.008136487711271798, + 0.029037727493005615, + 0.03499320392747385, + -0.15448274783714686, + -0.02000678222170403, + -0.21587433481288848, + 0.0625283065959267, + 0.10298137971214179, + -0.07731768832711032, + 0.251670622179871, + -0.028593152654304066, + 0.1270233314172636, + 0.20492066713006737, + 0.02669329176848333, + -0.19501344460642792, + 0.10385508957135872, + 0.12274003275302545, + 0.041338944941149244, + 0.00381239194841789, + 0.0029874761609822976, + -0.018181726855156344, + -0.0805556128234531, + -0.025885856442660102, + -0.02086787958918442, + 0.05383309951545063, + 0.11423895934398945, + 0.04215357628120912, + -0.011977750405242531, + -0.062053513197856514, + 0.00025971819552196476, + 0.030990137999477925, + 0.025166134897356595, + -0.13947270430893338, + -0.0029146887032511243, + 0.0017191468740085213, + -0.14935013792761703, + 0.01579297000343806, + 0.0005234791662623323, + 0.0662396291319197, + 0.022593522313506073, + 0.15079350787501916, + 0.12921113340883886, + 0.14390335647044078, + -0.12505739831172932, + 0.17136808961792402, + 0.07321663689846179, + -0.06997833356305072, + 0.21390443356236355, + -0.21519790544291714, + 0.03779811423974484, + 0.05560514240436055, + 0.16817690238989624, + -0.04671474392171312, + -0.012153484849401536, + 0.0833982659973844, + -0.09781916828446936, + 0.02509791093121491, + 0.042712800968234106, + 0.1719345204695261, + 0.18845799921615264, + -0.07909105552613852, + 0.014079435302005467, + -0.09167270292054248, + -0.0009122994192058573, + 0.04203400694710347, + 0.028057324676258582, + -0.0019137758536804893, + -0.005717409086424132, + 0.06508313502806676, + 0.002009332493122447, + 0.078444268739302, + 0.0755277050659591, + 0.11214858915280893, + 0.05888589440778023, + 0.06550136848267044, + -0.015075252263856342, + -0.023597613662410064, + -0.01961858543990316, + 0.13957384893371524, + -0.04808279484356329, + -0.037530632244097306, + -0.019084918611759327, + 0.03567564856287529, + -0.025763056162101304, + 0.07946019158486446, + -0.0031649510613253147, + 0.20202576146394738, + -0.05202016437797481, + 0.061074951393922085, + -0.2066608282210724, + -0.03486411149439169, + -0.14054332353104246, + -0.06388042574112282, + -0.17415332210235926, + 0.05580346754107056, + 0.0756609739542744 + ], + [ + 0.021872211401448207, + 0.009864745196598907, + 0.21762587914460294, + 0.04681527225655302, + 0.15586619627610207, + -0.08625383799678463, + 0.01723156487325069, + 0.011317564073793192, + 0.08232338941511066, + 0.044535181283558836, + 0.002912794053439672, + 0.0907333700422936, + 0.003594789209208623, + -0.1430992344602582, + 0.05003712928829287, + -0.012500248311057392, + 0.2418148204882669, + -0.005161907877920294, + 0.1295074927007519, + 0.059510978486522606, + 0.018589689638920968, + -0.08407307697251706, + -0.009978464758351258, + -0.21306774464157205, + -0.034043740084075534, + 0.15665861452138158, + 0.07041135107194016, + 0.0735194525303309, + -0.06324129092041944, + -0.034903241274237044, + -0.2333141848997445, + -0.013869429846635898, + -0.15274860546051966, + -0.08674626968362757, + -0.03015024512404879, + 0.029245425031028983, + -0.04457415341280619, + 0.1402998180212933, + -0.016148496505520412, + -0.06197559342634742, + -0.07921815976695007, + -0.03856427235495317, + -0.010869744765719962, + -0.043507276157652056, + 0.14845188078734237, + 0.03451952134141586, + 0.2018678706043563, + 0.07832197953526787, + 0.011170191765996937, + 0.17073086570102752, + 0.06308656726074681, + -0.13357280018678294, + 0.021295816463531153, + 0.05313628366447425, + -0.0637004037519552, + -0.042119309971880715, + -0.056109977181817094, + 0.03017747563623883, + -0.028612546705271854, + -0.06860740593460064, + -0.07581494618487472, + -0.050658362837495946, + 0.016047616256993906, + -0.012595615404130957, + 0.10574348935478213, + -0.15258640566317255, + 0.10058893190584325, + 0.03760804162611332, + 0.2229928192301621, + 0.04894936589024965, + -0.10073247437564418, + 0.19067074453144514, + 0.19029988139983842, + -0.07380470320355903, + -0.07997994326653321, + 0.05903974211947122, + -0.0639279629134773, + 0.08570015733712165, + 0.009768079141277364, + 0.18616516813879913, + -0.06595624138879348, + 0.0037065280143676756, + -0.1147611743062746, + 0.11041823352397194, + -0.024319776805104613, + 0.08785346298379251, + -0.14739554469642774, + -0.014818868555585467, + 0.030573165040841406, + 0.13467311336941865, + -0.1000034905833752, + 0.11915369110411184, + -0.05399295636856423, + 0.05916018373571137, + 0.0036197269113447147, + -0.14919142864556864, + -0.05533356991697138, + -0.17408997828550932, + -0.1513243386067112, + 0.0506911660794967 + ], + [ + 0.18827355986725197, + -0.011419989502031477, + -0.047757151820717804, + -0.07649757571274869, + -0.0017693944183336944, + -0.13369977647030334, + -0.02268396817034805, + -0.13432202715838265, + 0.17625683278316906, + -0.08500082098814567, + 0.1293951224975479, + 0.10729983585809472, + -0.0023297869838117095, + -0.04641746151743689, + 0.011729813815996498, + -0.07294571192660652, + 0.02565274220378373, + -0.1484465538643684, + -0.1712244190880517, + -0.009001743417400452, + -0.10747623277441395, + 0.06144420817137608, + -0.08415494241262038, + 0.04918895322198407, + 0.054551897310711604, + 0.06870347827057223, + -0.021965170589469677, + 0.07819549648308709, + 0.0016584612173559184, + 0.043516615028039114, + -0.10995674706436927, + -0.16278888431513372, + 0.09763653240230098, + -0.027896895437277507, + -0.07225202139128832, + 0.19705077235134022, + 0.19270858368650237, + -0.014189274121080595, + -0.15188552929155624, + 0.015446542721600962, + 0.0397415072659509, + 0.1299771092898002, + 0.014199060205204084, + 0.02530041608047246, + 0.14833490459757673, + -0.13045367018673942, + -0.23738326835060913, + 0.10226419251676391, + 0.08367802527811147, + -0.0613536795840507, + -0.060651774414796314, + -0.022076723253866143, + -0.12870103486846143, + 0.05757935927886887, + 0.04014900833561478, + -0.2157896873590822, + -0.03652052563074427, + -0.09677584422136612, + 0.03509267064957963, + -0.13518920036583365, + -0.18118638131528736, + 0.028838396451248895, + -0.018910721631705228, + -0.017530907487473053, + 0.03289800871039652, + 0.012327737814096502, + -0.01318642883841594, + -0.021857599698961783, + -0.09200488175449116, + 0.004278322302271553, + -0.05124283471239932, + 0.19148147452180836, + -0.09146176750129209, + -0.038919642530761016, + 0.06970875840264694, + -0.20210332830531813, + -0.08747425091302992, + -0.17603118688072156, + 0.20105347131728155, + 0.02254770816153882, + 0.1045023057750813, + -0.012699508601437348, + 0.019510094753948888, + -0.04253604748721601, + -0.043128791767861344, + -0.09392794520340154, + -0.14426246352524397, + -0.04777419736240125, + -0.09851406198002971, + 0.10460748199830551, + -0.04702304130341573, + 0.1368137382600279, + 0.08783235000857358, + -0.12665180987044014, + 0.13689712281171118, + -0.02497544685402521, + -0.029011001899588416, + 0.03439951525655771, + 0.08519748301211906, + 0.021680081301351115 + ], + [ + 0.11462278028483973, + -0.0932703837589977, + -0.12444013739550586, + -0.02014361736202795, + -0.06412497682925847, + 0.08980337463705604, + -0.08670462327909564, + 0.19516794688738326, + 0.007179384402271841, + -0.11183322069591928, + 0.09050927109901345, + -0.12987114380684614, + -0.10697755058673154, + 0.044985342693164565, + 0.2017889997184825, + 0.02493241933785697, + 0.05625559624488314, + 0.05045646296677496, + 0.05788486203670011, + 0.09510141605206036, + 0.10659228412500692, + -0.025483261310228957, + -0.17288880330007886, + 0.03781083563790924, + -0.002878515311990836, + -0.20714400817099696, + 0.07886864452949126, + 0.052676653188381994, + 0.07364369838956959, + -0.007180990502473584, + 0.06831309506403996, + 0.11062015648937945, + -0.09623177305781322, + -0.06957033454567592, + -0.21441615310468978, + 0.2506659609104528, + 0.07544379579909988, + -0.026819201158057273, + -0.06484299722940291, + -0.0402595914899767, + -0.12440803541545079, + 0.07439936533541322, + 0.016210868052703175, + 0.030722130569707008, + -0.10405646514134174, + 0.09912685640382084, + 0.16782836425824568, + 0.1529464046836522, + 0.012636759743038422, + -0.00853419859847625, + -0.12666860092246887, + 0.053567971979404806, + 0.004020309969777137, + -0.06558137978214383, + -0.2663489203586982, + 0.029030096625170282, + -0.02384205408129594, + 0.06509084663491078, + 0.17889023987962194, + -0.028447874570435256, + 0.011109419127684412, + -0.20598116589589652, + 0.007469564526378084, + -0.04143815901187513, + -0.043216384557563124, + -0.0158613494859263, + 0.019267559760411244, + 0.05183488086039352, + 0.017329407853541118, + -0.008340437371510292, + 0.01270986076403807, + -0.09791914248698011, + 0.04288231754847856, + 0.10993315079492531, + -0.10339893184369325, + -0.0421742314929689, + -0.11868947159639988, + -0.05332004229229784, + 0.19550516526626338, + 0.04817996343636559, + -0.04797176637886602, + -0.13068619493727196, + -0.11855285514471994, + 0.1393696284760755, + -0.08040977390029345, + -0.11255489562929534, + 0.048798395695640026, + 0.021018225846854213, + -0.0142499309306961, + 0.020894255344971344, + -0.020476477865188733, + 0.08149368291995111, + -0.1909712934406088, + 0.02675155020180439, + -0.001074558423638158, + 0.025196915693215367, + -0.06537343219725396, + 0.15233803029409954, + 0.09382282650350247, + -0.11739371549583051 + ], + [ + 0.0951453524981963, + 0.019865489587636242, + 0.04464286677361356, + 0.08001284370262039, + 0.1198777612350032, + 0.1440794649107776, + -0.14653078044541082, + -0.09864677394774857, + -0.08040417569047534, + -0.04968634877508995, + 0.05153169661655819, + -0.024136733391806546, + 0.058593306615750775, + -0.06254962464679072, + -0.0884828334731263, + -0.035648025251109404, + 0.21218617796697203, + 0.1440446419862834, + 0.08687618427210494, + -0.1327009140626045, + -0.21753072020984304, + 0.03229313325678022, + 0.06545829996587063, + -0.046721013465518595, + 0.015715359750337866, + 0.14170322448305497, + -0.02848258700764962, + 0.052486676636327556, + 0.17337992323773463, + 0.003942136791764561, + -0.029977898396666383, + 0.26012846148641944, + 0.08086530949839842, + 0.06277600716228666, + 0.07490774104909749, + 0.05539570538270871, + -0.007116974237931216, + 0.026560318980894435, + -0.15661897468957123, + 0.015203899712021967, + -0.010012605728753704, + 0.08481201027453696, + -0.11525054672647203, + -0.08914454479965829, + 0.0538326295127337, + 0.045286033168544744, + -0.1316029635980992, + 0.05042572679807637, + -0.017197532089945476, + -0.10177403630874886, + 0.14107899023139958, + 0.15606930787707213, + -0.055776008723147495, + -0.001383127294703535, + -0.05104693920320995, + 0.0007326846341723067, + -0.08345613191317967, + -0.14733369297255233, + -0.13313640075437072, + 0.10640982120223609, + -0.013488940648546064, + -0.16116109086483235, + 0.1471038622705123, + 0.03804323008569052, + -0.13892225792599538, + -0.09174663702883723, + 0.14789520080326188, + -0.062128562265539214, + -0.08706456639104959, + -0.11944659068668213, + 0.0011949773522554814, + 0.0002346763871459573, + -0.14327632590108816, + -0.13773349098986826, + -0.2173851840394224, + 0.0647209105122132, + -0.097230442539901, + 0.15342050878108768, + -0.03608734477517223, + -0.05943387878613125, + -0.029179308668855364, + -0.09837739914494702, + -0.003528173648326566, + -0.07291332776623044, + -0.21950781575641368, + -0.11280994907669767, + 0.0948136218539896, + -0.073703646891377, + 0.02682329843216933, + 0.05508745885754778, + 0.09263592118301973, + 0.002214492099557877, + -0.08080383223631545, + -0.06037317600968196, + -0.010448320562833494, + 0.09350923870442628, + 0.13391323181909684, + 0.03005033836759361, + -0.07770742650165317, + -0.042516662424881946 + ], + [ + -0.006078101108604223, + -0.11659834242416427, + -0.011192942392023052, + -0.05276622836521889, + 0.08408100301285426, + -0.051364760012083954, + -0.04687297155759928, + -0.007472158911635273, + -0.04070231938367854, + 0.02683332797387572, + -0.03402848737948301, + -0.13513649935096783, + -0.1755089906497186, + -0.24068373520829778, + 0.004766768900206301, + 0.09048244777504393, + -0.13120254186567504, + 0.04506634814101471, + -0.0219990858558967, + -0.0988023842621854, + -0.007801856759483966, + -0.2663772549117543, + 0.09013502636732094, + -0.1328076015435454, + 0.03505884618349035, + -0.128869210599403, + -0.02267167221114024, + 0.12660586245918135, + 0.08172842353106378, + -0.19821169232176747, + 0.11442676665105554, + -0.06265439849280871, + -0.031830599366644965, + 0.1330315247440216, + -0.005632271361686829, + 0.05841571117826226, + -0.10686834030015892, + 0.10031496429331785, + 0.019787267802689492, + -0.10336544551287277, + 0.09065074626038076, + -0.03821860790629228, + 0.033440989218759605, + -0.00813636622762469, + -0.05216876674565235, + -0.042048600035991895, + 0.056905290075755684, + 0.03695624207309027, + 0.1410750538641578, + -0.19748145974846606, + -0.0323831408230811, + 0.06115881551746582, + 0.0024276055683329473, + 0.3339529325421948, + 0.16780823433364514, + -0.017403647090128056, + -0.06369759974744144, + 0.08824788173008533, + -0.04487190363200746, + 0.07536228106039358, + 0.0498116498442482, + -0.08382878714033444, + 0.03360206106529901, + 0.11505085874853348, + 0.1266785389454883, + 0.08164285704377802, + 0.2527779358009882, + -0.04716334170494045, + 0.13874345959426, + -0.002958445286286391, + 0.03947231424168191, + -0.10520054271530302, + 0.031171382525613127, + 0.1452888660653399, + 0.13411035801199359, + -0.10196109009291694, + -0.10282681893152643, + -0.08178364210155176, + -0.013587279952510162, + 0.017310256118042103, + 0.00953400872122638, + -0.020672634297522616, + 0.08861894865802608, + 0.0020414106112059257, + -0.12338704649069898, + -0.012932403747969841, + -0.11300427388721512, + -0.17694980986237174, + 0.06069731167220209, + 0.08397641308074093, + -0.01915482447860865, + -0.09422464841071428, + 0.0679053251467618, + -0.13585208196484827, + 0.06598687546818036, + 0.03525443418766186, + -0.01880689598554364, + 0.019276056330262362, + -0.034746419939365156, + -0.0018045610911903585 + ], + [ + -0.2849572011516235, + 0.07332494383560269, + -0.0538030899475404, + 0.010377467307911913, + -0.07207544511964464, + 0.15622686708036593, + -0.005479907581290134, + 0.06870005323159857, + 0.13353786532961567, + -0.08715762448654972, + 0.19337933768969795, + 0.015134409782615755, + -0.11012234408601647, + -0.07908298696793929, + -0.09597804375630431, + -0.010166142707070211, + 0.15553732803623507, + -0.13423252525776033, + -0.01953424797348762, + 0.001580374625862424, + -0.08222689955276767, + -0.09567191617183293, + -0.18929172668712874, + -0.06143184658261742, + 0.04621815076189994, + 0.0719556838197676, + 0.16509089102189306, + -0.029818599832841356, + 0.023609103329505214, + -0.08376948824547031, + 0.1655757965178243, + -0.09198856464767038, + 0.040955626963354023, + -0.15176387054608997, + 0.11514914270493748, + 0.00597721981519018, + -0.04122700844186373, + -0.0820613613340058, + -0.08687684822279154, + 0.07848052267561494, + 0.05041562569470261, + 0.22096275971503476, + -0.012264329506929258, + 0.005168500827369388, + -0.062287484129481235, + 0.06797215672936932, + 0.05961307773218303, + -0.14082505204775023, + -0.09704587058510192, + -0.08028834921654862, + -0.004661033785117194, + -0.10043889716367904, + 0.013808937644559824, + 0.04117371476993132, + 0.026364354273251678, + -0.062201326582597846, + 0.12192243638054202, + -0.1920277319571442, + 0.03122222698708953, + -0.1714872023019832, + 0.09313844701202004, + -0.0721265564958595, + -0.004387854083367681, + -0.038688118624428426, + -0.011232071155702229, + -0.11816823990058102, + 0.048557324505587196, + -0.17913946843812248, + 0.004248396632779362, + 0.20423639771295274, + 0.07450113472399914, + -0.12676569862764947, + -0.034328658526594585, + 0.12709479188471687, + -0.07196969160008342, + 0.11367541137944447, + 0.03605437192920064, + 0.059424528885497895, + 0.23239684548153947, + -0.026223055197837224, + -0.0025880255815255355, + 0.14119678039441289, + 0.03703549397276236, + -0.005764073400711774, + -0.06324759470510435, + -0.03410804246514086, + -0.03181424889657794, + -0.11909127777493304, + 0.06917577872695042, + -0.10032797794247733, + 0.0442288850518866, + -0.05564425525020475, + 0.1535836150373352, + 0.08529527115626558, + -0.022257899770598607, + -0.049206255723302464, + -0.04431560183673362, + -0.13398066110072046, + -0.08723683853068176, + 0.07083656668664465 + ], + [ + 0.08648988675736508, + -0.035429527510153186, + -0.03342455183437091, + -0.07953578392184608, + 0.20996196803177197, + -0.10608786470220262, + 0.17598898078112457, + 0.21459053257628982, + -0.039874896207358734, + 0.05982474347114011, + -0.2771635085037535, + -0.033854897730258994, + -0.16086442423678893, + -0.05086520677226458, + -0.04666606438279748, + -0.2482988415216576, + 0.12108415573284301, + -0.09828098591939251, + -0.006532877095722693, + 0.10711781166299499, + 0.02316176395605089, + -0.002373815543858611, + 0.05110435263741211, + 0.1567134038374239, + 0.009896855512213074, + 0.09568858906893742, + -0.05047825280045507, + -0.017162441493782765, + 0.1832575531755948, + -0.1333628898813056, + -0.14269107240323198, + -0.03434303290470326, + 0.06849746728226112, + -0.022727582065427295, + 0.07622607794603672, + 0.12305032746186848, + -0.05133560973369294, + -0.14182981434590053, + -0.2832670805863525, + -0.025344923885817106, + -0.08253521437342543, + -0.14294175706300663, + -0.017783061044476384, + 0.10308644867113302, + 0.007398747175537845, + 0.13245893323958963, + -0.09434161801355202, + -0.11234801337660193, + -0.06940527330963014, + -0.04442029051048371, + -0.12764859132313847, + 0.05456768295158287, + -0.0002861869410088463, + -0.06650039444722065, + 0.0691210753971455, + -0.03989946005756773, + 0.2043113234395023, + -0.06716485286542127, + 0.1367527625156229, + 0.17789235287046967, + 0.0479717570734971, + -0.10374483320080366, + -0.03408763210591294, + -0.014550735769105308, + -0.05856755864219812, + 0.04713075988832834, + 0.016722439173318105, + -0.021884947531994506, + 0.07977895798803193, + -0.04505768550560104, + 0.14053089502566662, + -0.011935650940529499, + -0.06551330228257272, + 0.08633187644592352, + 0.0657275489549012, + 0.005260343469123903, + 0.016505258054233727, + 0.10236424519981903, + -0.006579807804370043, + 0.03256898871299247, + -0.08907027336523399, + -0.04158326001060934, + 0.13755316435469891, + 0.018528335764813914, + 0.07506481005816353, + 0.09192877584602384, + 0.037453142080813795, + 0.016218596301913784, + -0.0997087151901123, + 0.03446444123271596, + -0.012908218984743305, + 0.035711825405130425, + -0.04232790961244811, + 0.01941807467963535, + 0.09966998914856007, + -0.0466970710496035, + -0.014998998449525961, + -0.1875514931989693, + 0.05105470781463728, + -0.01713697382159892 + ], + [ + -0.03484579869818647, + -0.13850634485352367, + 0.06324050285738587, + 0.032166535398499244, + 0.02125652622026214, + -0.21382216207114554, + 0.04005311936378008, + -0.06957351341508296, + 0.04676665319252178, + 0.08974992112516646, + -0.03513891510817433, + 0.1589498018630818, + -0.0021587306533215472, + 0.16475928153028885, + 0.06398287494411337, + -0.040824704946527464, + 0.11878766418443176, + 0.07585051298418936, + 0.23884641468862783, + -0.12189496217419374, + -0.02468143372511482, + 0.023842369608421836, + 0.11981882293244127, + -0.03512487883189335, + 0.15668694787242754, + -0.06419480301599209, + 0.0350619707971876, + 0.1725848235253114, + -0.01867283613375862, + -0.01244528139914933, + 0.14529431686923655, + -0.11545946213303031, + -0.1621707246307199, + 0.02378123017048549, + 0.04078466480306608, + 0.03472242772076066, + 0.10733090381867369, + 0.05020293968171376, + -0.02424887711760261, + 0.06512560140545111, + -0.03955767162372232, + 0.01800221489830587, + 0.03621464580200885, + -0.09654624790584926, + -0.06992316578936457, + -0.030925384184515316, + -0.19245602255065022, + 0.0172632349244247, + 0.05409390501559356, + -0.0452198006420416, + -0.16885632384797053, + 0.07792971636982719, + 0.17351911933825878, + -0.04277701942075737, + -0.07612212473935667, + -0.011803300127642176, + -0.010613683257030661, + 0.12186529013101971, + 0.04771703047779265, + -0.12759774826697232, + 0.11030306768134061, + -0.2904383657963626, + -0.13382571017236647, + 0.0004565543475393499, + 0.02294204058470714, + 0.20127540515757966, + -0.09023800558460068, + 0.06672750242841839, + -0.014580944547800914, + 0.057608739007260636, + 0.03430702840120113, + 0.024923285997189484, + -0.002969552628373903, + -0.05160327248619727, + -0.005536565777035946, + 0.1304792993951027, + 0.13873485739410757, + 0.19676941015134297, + 0.1371016521575679, + -0.1645427496378429, + 0.11380854073012114, + 0.07684128786903427, + 0.05971730746968361, + -0.06386044997093611, + 0.07113243074374569, + 0.0164259043605698, + -0.07152418281709255, + 0.0014078005746186453, + 0.16519888396446722, + 0.09165707855268085, + 0.04035052242417873, + 0.042901388603121274, + -0.031200876893896695, + -0.023407062734244914, + 0.05369679772276084, + 0.06200923524048487, + 0.10157424465716929, + 0.05549661837256304, + -0.11431003505956099, + 0.16152250862291342 + ], + [ + 0.05992071951147145, + 0.0711711124007615, + -0.04079923139266402, + 0.05372392463442007, + -0.1968997194863923, + -0.08887283810398917, + -0.11613389037758845, + -0.03251628243527292, + -0.08262292267394161, + 0.13171708824380285, + 0.25237550052631935, + 0.007065585108442855, + -0.039149606760236655, + -0.05305230056248872, + -0.05292261204654207, + 0.02144249169578827, + -0.10048961455346808, + 0.00665782213530155, + 0.025107064654349406, + 0.04190172903321798, + 0.08106953933649555, + -0.11040490788883449, + 0.16152090469769176, + 0.14721239843558911, + -0.0271252456974155, + 0.09869472463273847, + -0.10343332605304588, + 0.08280086141675648, + -0.12046713456796826, + 0.17431919256900222, + -0.018997554615097927, + 0.014588234162190133, + 0.015464107738365, + 0.06440234870448962, + 0.04259997213982451, + 0.16627713355633492, + -0.08895449285605228, + 0.16658698234516364, + 0.06971676876352571, + -0.0605593891839007, + -0.03594563323787707, + 0.04813973851116946, + 0.0025983787122395964, + -0.06706405687418428, + 0.007688577382717941, + 0.1626109570737349, + -0.048608963962455884, + 0.0060342745065587, + -0.1634468777493808, + 0.13735271889162917, + 0.053318236289301456, + 0.04378063190580843, + -0.07492802781728264, + 0.15168573250538028, + 0.14142530965326697, + -0.04784186136374161, + 0.051792228405041184, + 0.004162109628877601, + 0.13567191641300386, + 0.06371793330273294, + 0.020411395465500526, + -0.14514707181835065, + -0.11101113136613211, + -0.12435073688140086, + 0.06308953774065225, + -0.10462692756631808, + -0.02160177703052124, + -0.10378810046055731, + -0.1728939206148621, + -0.04848675300994731, + 0.025669878357524115, + -0.08194866464308587, + 0.0944371243585118, + 0.12596243418660427, + -0.12241059162611716, + -0.029148823338151487, + -0.06100568966061522, + 0.22039801789360436, + 0.005019621988866483, + -0.029288843429219325, + 0.12719847907293974, + 0.1429903407567774, + -0.028116078794991454, + 0.08394350450051163, + -0.03960397903044, + 0.12074551868208107, + 0.1626691598118664, + 0.14117852668529504, + -0.044788288615627836, + 0.08540572095342336, + -0.08784394873278564, + -0.04257167397068203, + -0.03174525579541832, + -0.12628391987726806, + 0.14201117426927978, + -0.07977152283148391, + -0.05783882429941507, + -0.111708900457638, + 0.17169101534003847, + 0.11202606390823568 + ], + [ + -0.2124899012774559, + 0.11221437939955967, + -0.09010012621012282, + -0.07010113436152961, + 0.06779829474876978, + -0.011528891766802477, + 0.19810305355754823, + -0.060355175149929496, + 0.04138299669000734, + -0.023960303091144896, + -0.1622014183791529, + -0.03235643968149523, + 0.1261030539890447, + -0.14661339025383607, + 0.022041756843589826, + 0.04871515156032325, + 0.0036989324591248708, + -0.0338817647207037, + 0.1312303155105394, + -0.0962149112366209, + 0.02945558286445406, + 0.017184074770997412, + -0.016467620713935767, + -0.11600973562232814, + 0.09630090522608277, + -0.07663810298863248, + 0.10768735693530736, + -0.12946569372933056, + 0.03215819160076073, + -0.0092790970530673, + -0.05676679405094663, + -0.006876480700109068, + -0.022993672953292195, + -0.08032285488403304, + -0.01914701578604096, + 0.15216367819589094, + 0.07045650861542879, + 0.06966970079709399, + 0.17649830459022894, + -0.1785118525090131, + -0.00377517992457519, + 0.11134431278234071, + 0.04609000795636322, + 0.07647397445587885, + -0.21479720721660006, + -0.0020334174204627263, + -0.1529135693754901, + 0.06376864022550491, + 0.06226943189049116, + 0.08490270629139213, + -0.03326501271649462, + 0.14396633347079987, + -0.25298145711996256, + -0.011323479023059638, + 0.014860332005498465, + -0.01912071909232894, + 0.018417365832332437, + -0.01831555745244441, + 0.10095887767837237, + -0.1427631955270351, + 0.13144191084820453, + 0.062165244306754276, + -0.09004301531625884, + -0.12950060713156247, + 0.09450328993881008, + 0.046690600334188946, + -0.008265238084432212, + 0.16462527046490794, + -0.020271506467245938, + -0.18193284529175935, + -0.0385609191341709, + 0.13322193988912495, + 0.030911391977228257, + 0.01824065654231261, + -0.07171479399317844, + 0.0768635726157426, + 0.01144493792274296, + 0.07877571069734593, + -0.01564735374262239, + -0.0013821556649717317, + -0.028693896079146134, + -0.07966487149118331, + -0.0471301364820347, + -0.11249825011851776, + -0.18679528086468072, + 0.058938126378569974, + 0.1778362665962977, + -0.08715280008663073, + -0.06801582433584936, + -0.08129550682490629, + -0.0008269481968647783, + 0.006964612894539117, + 0.09662542339977155, + -0.19681323807329026, + -0.09155135121368708, + -0.03717455098072253, + 0.027874362469995046, + -0.18795697306619746, + 0.042683160646776075, + -0.18009970680748602 + ], + [ + -0.026873529280341677, + 0.0426562312449455, + 0.04659629568277163, + -0.04198151527632037, + -0.06973416500924273, + 0.009335049655191989, + 0.0017498478589588456, + 0.17863070173037804, + -0.12855487179218428, + 0.10952450886822657, + 0.0027560042024069938, + -0.1864202204192986, + 0.04394865241236156, + 0.17336321718606953, + 0.04024224250637581, + 0.011716548186198375, + -0.13809908446993505, + -0.014164084533503691, + -0.03698867179580189, + 0.06815095736503937, + -0.0755735801495013, + 0.10332948298678178, + -0.05684433001881376, + 0.08359470520546045, + 0.008943230089379813, + 0.03585707010636529, + 0.22884045358376437, + -0.09467090104583001, + 0.11752754295902397, + 0.027108965486017593, + -0.08392180705563337, + -0.054311896194191224, + -0.09126113307297916, + -0.03510858375668982, + 0.07242192520748994, + -0.0985514558852773, + 0.10799776830373822, + -0.03418047267036433, + -0.025746822285929494, + -0.02034344264209229, + 0.14171083692075256, + -0.0409596772051378, + -0.09724226209459173, + -0.1680219037964277, + -0.033322439791839124, + 0.04293963462521895, + -0.1826611898359526, + 0.17335128294237168, + -0.10969460675071685, + -0.04298546138507933, + 0.013010530761196801, + -0.02818327341022754, + -0.23861697857951858, + 0.15539892742364694, + -0.10639170183866857, + -0.01379996760013351, + 0.031175567664114306, + -0.0917536823534635, + 0.07858524174015703, + -0.0775662018529945, + -0.025739858305230363, + -0.03908715494875404, + 0.0788752266004101, + 0.11139768335989676, + 0.06657000886514859, + 0.22696180380843095, + 0.0890469866820699, + -0.020396610350954785, + -0.02741374534490484, + 0.08566318828433814, + -0.016703929680833226, + -0.0597153668152972, + 0.15991464197553684, + -0.05779222996204924, + -0.00914453686093028, + -0.14659076789666947, + 0.08242272870776822, + 0.13056388983496858, + -0.1296577824693476, + 0.19536837103201582, + -0.03259175794292073, + 0.07222956460898353, + 0.02225956605563994, + 0.0030257290625434583, + -0.030150199436297348, + -0.0721103291399924, + -0.03322753011280325, + -0.08913285554529558, + 0.050286881497336344, + 0.13978296919672675, + 0.07854832917479723, + -0.04328728355937005, + -0.08037749042800302, + 0.0025173662611380496, + -0.07322537496927208, + -0.32726146717501386, + 0.05900563288186339, + 0.08893834428380674, + -0.08182443869612914, + 0.10872866052401589 + ], + [ + 0.08148396951294795, + 0.0395741550413308, + 0.05859872993429787, + 0.0006511539576197826, + -0.021389096054109092, + -0.025800173942906728, + 0.38870831745849593, + 0.11472813469231757, + 0.022133825630614758, + 0.10159337660201015, + 0.0750018426743525, + 0.04723309086304014, + 0.12361228863787187, + -0.0975151577914407, + -0.016762183123016926, + -0.03671948523478658, + 0.10771880705947678, + 0.022332559791393845, + -0.09755148597232537, + 0.0028867231246175163, + -0.021668890880811992, + 0.069223515037401, + 0.10407682205478005, + 0.09435855023995282, + 0.10412752011185795, + -0.15452506244569045, + 0.08494773523090143, + 0.1343613406044878, + 0.007118368186185138, + 0.058493896908364616, + 0.04185665291801795, + 0.017110821485527367, + 0.01275069079174713, + 0.07584330216158405, + 0.013561338715466062, + 0.1206348150834471, + 0.0940127084281115, + -0.0806052663473114, + 0.25478847765745805, + -0.030643021057372113, + -0.04381009572870527, + -0.0802730667465498, + 0.049944813675200754, + 0.04994873026962154, + -0.039186245692707684, + 0.132800942338236, + -0.017190402945318886, + 0.01604375815760153, + 0.03180082559309126, + -0.06945904767141038, + 0.30513675351170905, + -0.11642114941212948, + 0.08739751631650115, + 0.14769961748158528, + -0.045081697014037914, + 0.01183075193675192, + -0.046056284171562344, + -0.31359574403202783, + -0.05541791026584535, + -0.08176340148309594, + 0.028439687669992234, + 0.11576940243905774, + 0.03595418352284288, + 0.1168535126601352, + -0.14173876641647803, + 0.07754190112569623, + -0.07874727141835425, + -0.016845942056584837, + 0.07691972597100749, + -0.08293283539471812, + 0.047350564785462186, + -0.011154971842230505, + 0.044862098052684464, + 0.15104223881556275, + -0.02909016661882919, + 0.07700794042249905, + -0.11147717294879103, + 0.10036595617168068, + 0.0217309534309509, + -0.04619578892092049, + -0.09625123706367915, + -0.030714582916485697, + -0.052810236357435744, + 0.0673486619982426, + -0.0009076576594657751, + 0.01342045760445326, + -0.0963683802121096, + 0.054842312916749174, + -0.009626081333117341, + 0.13044159901081068, + 0.12616770692863938, + 0.0249079525819996, + 0.06586964083632628, + 0.05046356962013931, + 0.07262649370740142, + 0.14181792860364334, + -0.15593371294740993, + 0.14057406681291854, + 0.01437152959542668, + 0.051705379832522214 + ], + [ + 0.025678912429616455, + -0.02713257692112498, + -0.06120699751829914, + -0.027229332022615113, + -0.10855726985366652, + -0.11790213999342926, + 0.03203135741392024, + 0.02389418767257675, + -0.1396418308362163, + -0.03342210399715576, + 0.03525717738732099, + -0.06727125094567868, + -0.055521161853202494, + -0.12311979554399506, + 0.31625746882861433, + -0.018559371097852165, + 0.047612985800233786, + 0.11717086065999877, + 0.0515927890246889, + -0.12040085819649406, + 0.028013601013574717, + -0.11535784858684912, + -0.11129215063522906, + 0.1271302156219124, + 0.04736879564240158, + -0.11070742703430551, + 0.22681985210240274, + 0.044050842329528515, + -0.1130789194315996, + -0.03454783282082806, + -0.012305610132691262, + 0.0898614002373106, + 0.1652354327960413, + 0.07978751729371993, + 0.1168890530013176, + 0.004248674022445048, + -0.03759103788421969, + 0.07760233249306969, + -0.0008198214905897576, + 0.23375608893267694, + 0.16554822582213694, + -0.16487723100977383, + 0.03330233083508066, + -0.057250718950165924, + -0.017424789397946044, + -0.17441155907968994, + 0.06034525374656335, + 0.03258362541500201, + -0.05211280643082845, + 0.001318666756712341, + -0.11974076041700803, + 0.07858714804816812, + -0.10715256983855817, + 0.035726636039518374, + 0.03827078805822937, + -0.048599059924020506, + 0.09086136591818983, + -0.008243185122740884, + -0.12481022832934556, + -0.04588125733953074, + -0.15626805554349285, + -0.004532537251815767, + 0.02257672148905151, + 0.02287807194722084, + -0.17427773230205781, + -0.15559238389833954, + -0.13115289195774563, + 0.03201805686070596, + 0.06448820375842969, + 0.12481817941389461, + -0.01737614006996678, + 0.19701651103043588, + -0.05124586834661969, + -0.014405794776571, + -0.12118318279432827, + -0.007960697341559232, + -0.11713671546809698, + 0.11379173936397627, + 0.03154513686880054, + -0.07875728430141292, + -0.01600810366042702, + -0.12727799599640563, + 0.05516249755758698, + -0.1535512514070274, + 0.1867572920723794, + 0.09134121845054617, + -0.022710248433539092, + 0.0322180897947428, + 0.020626376757162952, + 0.05461341002531007, + 0.08853142474797743, + -0.18176996553946748, + 0.021446621857543632, + 0.01957482790478192, + -0.06661384918409266, + -0.10179395815466603, + -0.04162731610730051, + -0.12717708662634883, + 0.06750081167595107, + -0.08643471138791489 + ], + [ + 0.07490885853631603, + -0.07019979852198933, + -0.0414635404637973, + 0.060844865964264055, + 0.04144555145505177, + -0.03448503328519959, + -0.1753390516414465, + -0.1056529465524495, + 0.016161016039052425, + 0.15640019798218516, + -0.1323582031072191, + 0.08478347881095528, + -0.22688493781604258, + 0.04000073073056604, + -0.15406401414015922, + -0.038966075076928314, + -0.10899165493113139, + 0.08532646383550396, + 0.09627741741534662, + -0.01041967015045749, + 0.04734958755920178, + -0.003346360110603102, + 0.09094262757008299, + -0.06229578724028005, + -0.15735123188123593, + -0.05224699737940939, + 0.10223493834763409, + 0.04076683784146875, + -0.051983927794136936, + 0.04365577850622571, + -0.1525690720833404, + -0.14721345524457152, + 0.1961309409978455, + 0.04257667596366966, + 0.07345646941113199, + 0.05897742240135984, + -0.05809538965758771, + 0.016400784152177886, + -0.005167282174145273, + 0.06633219606659219, + -0.05496326489770543, + 0.05211661053699426, + 0.11106568163376913, + -0.008066123885150132, + -0.05707274477002011, + -0.059341921576991835, + 0.0697161353189241, + 0.035642759780009164, + 0.08746238002258659, + 0.04980778626886879, + 0.10902458788481909, + -0.05287514718166865, + -0.01067372405448722, + -0.09835110488425604, + -0.19781871979515675, + -0.0377661034746043, + -0.14513596501466694, + -0.06155153731801706, + 0.17208470604008544, + -0.05539211287314984, + -0.037254680870984797, + 0.1368035578707806, + -0.03001407559795375, + 0.016904396828184575, + 0.07219493715439057, + 0.03648101569136845, + 0.028977791660567256, + -0.14469290544093763, + -0.1606191222674298, + 0.0031028892739978766, + -0.014619682357959535, + 0.03045890831561327, + 0.00271195020607544, + 0.20181198920097213, + -0.08849489540119639, + 0.08294032615838114, + 0.08167338963341361, + 0.034038710176180875, + 0.0992840585068488, + -0.04785487071030942, + -0.31461599058051126, + 0.06362477668228285, + 0.14984639417923992, + -0.08139188982919605, + -0.026042443666803597, + 0.014201030630147505, + -0.028471960583446962, + -0.12783525415273553, + -0.06523013337898108, + 0.2192271233434233, + 0.04764700104812476, + -0.07543281705738034, + 0.023306809810675802, + 0.12554722053453357, + -0.22207487506327653, + 0.002077163386061691, + 0.07445913271517612, + 0.054239913125974384, + 0.10142047117473472, + -0.1077073575041881 + ], + [ + -0.04445520324563948, + 0.11521041608630714, + 0.11140759990303961, + 0.015853631168221315, + 0.10507099987777604, + 0.0338318860552783, + 0.056377602577610764, + -0.2221633447080466, + -0.1269668251971024, + -0.11518002820742962, + -0.08019755517757463, + 0.07359541092345846, + -0.06371257480098177, + -0.1327045479674885, + -0.11607699823477224, + -0.24480325593214058, + -0.09437030694635352, + -0.16203481566724245, + -0.10722412352363254, + 0.10886371375828265, + -0.1498614718008868, + -0.035548579856342785, + -0.04777614268828514, + 0.14766336037805347, + 0.0528982721809018, + 0.025862535619051642, + -0.12360925845330413, + -0.14777489090392654, + 0.05150349948588596, + 0.13104070814067492, + 0.17364133907181148, + -0.06326159073132018, + -0.13770087558967672, + 0.018368282565508133, + -0.09939796242018277, + -0.06162150669609061, + -0.0314759870172148, + 0.10490010380873181, + 0.006905184563665087, + 0.09867376032545723, + -0.016077369275710615, + -0.2233876170359587, + 0.21005375192530948, + 0.0583293373858312, + 0.04717787807575847, + -0.03989654879884726, + -0.05658360266965213, + 0.05562474959352827, + -0.05849592315011578, + -0.0069829927685474465, + -0.0054783091203922316, + 0.1551107121180358, + 0.03431079788366486, + 0.004069079594233277, + -0.07584833565579364, + 0.033637018417277675, + 0.012152028160462677, + 0.04917570538202016, + -0.00036170289646574163, + -0.059774894157498946, + -0.08041411999422576, + -0.10877223339668786, + -0.05526149570245424, + -0.07608088837461875, + -0.110087135704614, + -0.013844745238111602, + 0.02614158858025406, + 0.005572030566481876, + 0.03608107856531476, + 0.01345464362619678, + -0.23911416918598685, + -0.06755896450470418, + 0.12748653239471316, + 0.12809485006240443, + -0.24433598609666504, + -0.12502389402241884, + 0.0615584053044513, + 0.02104458237056902, + 0.13592903562306122, + 0.04989261334437376, + -0.11327209399022964, + 0.007514459797355451, + -0.016429683945715007, + -0.011712493969457435, + -0.06020683622433143, + 0.13367807207797247, + -0.02727488649605034, + -0.021208799993465293, + 0.12971242264193894, + -0.0452330564526443, + 0.013021406725120385, + -0.09114364936720784, + -0.0006317470199627028, + -0.040556840702533986, + -0.03126657073350701, + -0.0162531219736137, + -0.09733104891499841, + 0.1703437275596725, + -0.12034116398866619, + -0.10040601642451545 + ], + [ + -0.15885252494175428, + -0.0027130934252320503, + 0.19399985846969886, + -0.009112748012437081, + 0.09401403695439575, + 0.15529643110266572, + -0.0060413159948378235, + 0.08573679249598001, + -0.0900016845783345, + 0.05762633807302175, + 0.07324672410516275, + 0.08456634912085507, + -0.1965592968725674, + -0.028155009763810853, + 0.05239668495411445, + -0.10227134181999778, + -0.013663196672434678, + -0.057666474300958497, + -0.1348526114530755, + -0.10605323232386497, + -0.0018290082692805094, + -0.06886275908870526, + 0.11452030677507696, + 0.12137261811041936, + 0.16636760031030726, + 0.10845538570456766, + -0.09606744119978758, + -0.027689689931347173, + -0.05695993727122739, + -0.13803623733334341, + -0.13164487020416618, + -0.08993833884177413, + 0.017292831643862767, + 0.0751140408853418, + -0.12447613894307884, + -0.11169866682735644, + 0.07266233937097939, + 0.05203625822351243, + 0.13416739306667416, + -0.05365320121011022, + 0.0708400753536869, + 0.006349925774249482, + -0.16326853316167855, + -0.001446455526059152, + -0.01948106477690922, + -0.004511982686737457, + 0.15828932531978243, + 0.016974271107532735, + 0.16010119009961002, + 0.04624267633225581, + -0.1153568087916167, + -0.12916482567194024, + -0.13512116128774335, + -0.15820666531566863, + -0.12315846245871354, + 0.12912569597083348, + -0.024224611304592063, + -0.013620356907839762, + 0.21445222724150176, + -0.003953308040476727, + -0.03221747016560957, + 0.07607418809539387, + 0.10564308245806231, + -0.015783508271233544, + -0.014413785421870091, + 0.10504018169314783, + -0.14120045922264393, + 0.000134303329726261, + -0.011272313047312693, + 0.07676116284064609, + -0.01721241685837815, + -0.10999200492766222, + -0.017192816469817296, + -0.05632159899633964, + -0.10386309393923028, + -0.09192535737333353, + -0.2104114412800743, + 0.18546513802792566, + 0.016085081564842126, + -0.1350894919708889, + 0.05759653979145371, + 0.009921845282532168, + -0.05255176633134975, + -0.14728676587534853, + 0.03842017735344636, + -0.19853046200634145, + -0.0036903649422165186, + -0.031152657222474487, + -0.08925564906613781, + 0.05206053993517665, + -0.13066908368027658, + -0.0732579077552538, + 0.027377499605567325, + -0.10571126684717133, + 0.13839249957542318, + 0.1446611644949818, + 0.06030019160114284, + -0.046226301881462026, + -0.09508213887559837, + -0.011647576258349807 + ], + [ + -0.04446522965079142, + -0.08395358423633492, + -0.022294949359798217, + -0.05410258276777111, + -0.09677052302027994, + 0.04673746670414399, + -0.08662982784762603, + 0.0481531467019751, + 0.05720142245223195, + -0.1440502141810728, + -0.2273797989870489, + -0.034504531802214654, + 0.15482179159892678, + -0.033263454238113145, + 0.16898425008946547, + -0.03841529029532065, + 0.08363431342270529, + 0.12722563564537706, + -0.08172033550058917, + 0.021021225328511268, + -0.0298689721663724, + -0.035074482748515864, + 0.10596267517400197, + 0.09771374457567907, + -0.11729327701082976, + 0.23438415915060282, + 0.054041348650733706, + -0.12758604924536085, + 0.07345268196717189, + -0.01659229099119252, + 0.01674559238002307, + -0.13897124198880512, + 0.03315507780042203, + -0.1347348032109597, + 0.029843948877174523, + 0.1797371451070466, + 0.0556589741121998, + 0.18581708343680278, + 0.20513204674909577, + 0.008871484884341035, + -0.05094022562973697, + 0.10473710483755067, + 0.08283735871801659, + 0.03624467157159584, + -0.10946317989858945, + -0.047162454108773094, + -0.044284509417644974, + -0.04903688511926485, + 0.04741277941947486, + 0.08615910527991093, + 0.12701339655336377, + 0.09461862623031793, + 0.13477949421189075, + -0.05706675389892839, + 0.013265294763533322, + 0.02887743123885301, + -0.011660073709623898, + 0.08542038998181668, + -0.1573012372941069, + 0.20492642236034445, + -0.03683515162025829, + -0.053061721890109, + 0.009979193538381847, + 0.03515755400278155, + -0.08458738332395212, + 0.19562884726764534, + -0.10966951133710673, + -0.09836841967210898, + -0.01991462080011599, + 0.12456724903484932, + -0.09294919431455241, + 0.009436730587307497, + 0.03868887845132427, + -0.00805207904986195, + -0.008436048106001145, + -0.14269048280810026, + -0.10373758832903941, + 0.05593635850306143, + 0.0338552841176843, + -0.10707072376124968, + -0.0776550551480117, + 0.04823301451454043, + 0.08152952265539898, + 0.2014828715223886, + -0.10343111465932274, + -0.15114566194277634, + -0.16750850233511966, + -0.08895928223494065, + -0.05268940482653128, + -0.09873682872397567, + -0.026970677698146175, + -0.061670372595668155, + -0.02782644697576528, + 0.02922716507839228, + -0.08114857705081782, + -0.038783603207372355, + -0.05370909378429868, + -0.13541037595285893, + 0.09436351275784795, + 0.19002009645748136 + ], + [ + -0.11695658588845266, + -0.13345132573645843, + -0.028242876110486384, + 0.044415375471536345, + 0.15668619656586935, + 0.12375919858623005, + 0.10615328174287982, + -0.17001633819009593, + 0.1457360621767627, + -0.010745237095553924, + 0.24965007129406225, + -0.0041146560847652915, + 0.02585710517294724, + 0.077662602348981, + -0.0635573388661287, + 0.12413258713379716, + -0.009712652489951852, + 0.06925475390790489, + -0.10612381681890466, + -0.02161987694769255, + 0.10548142516102668, + -0.02935005914237172, + -0.10175033317611835, + 0.03671316079166733, + 0.013032431078518909, + 0.05290127203707044, + 0.1627511427510519, + 0.03054437791268078, + 0.20278754945844815, + -0.046749253085998956, + -0.20059491911624933, + -0.06067108886496077, + 0.006224762046371684, + 0.02049679945307146, + 0.029231206705525387, + 0.04568484704225594, + -0.10593881776519248, + 0.10083859697408147, + 0.09664813184791184, + 0.0846173970401583, + -0.07991089998286066, + -0.0794072841843004, + 0.08175853232537027, + 0.1570538455997597, + 0.10859989939556296, + 0.04898521294169688, + 0.004902993867724587, + -0.0020961706793950563, + -0.11798350760942888, + -0.13404835185467695, + -0.09945358891316458, + 0.08586616385690729, + 0.028668389599792884, + -0.08712879236488047, + 0.10980082442975782, + -0.11590753643402117, + 0.09942945485523447, + 0.08696466163714178, + -0.13455088125993886, + -0.07667632882761764, + 0.004336504346167801, + 0.014817705266438589, + -0.1278394493754307, + 0.021352049922903477, + 0.13985243041841094, + 0.14806403950080188, + -0.13681958643823788, + -0.08127290080646564, + 0.13092932898476872, + 0.03991391533308319, + 0.22522096877725167, + -0.029028325615694968, + 0.008750604542131418, + -0.09525108308594528, + -0.26623396575730174, + -0.07525985846602419, + -0.012815174048194801, + -0.012777536328210489, + -0.1757015087707325, + 0.053122911824376715, + -0.08647726154583854, + 0.07190058809838734, + 0.006648356883599347, + -0.02422412481123853, + 0.03317312014273167, + 0.022625756967276447, + 0.07705750964861202, + -0.06439094057900797, + -0.04198814198562628, + 0.08794418790078562, + -0.07021793314097279, + 0.03157628274630357, + -0.1750442291390884, + -0.05160197346756203, + -0.04548059525527725, + 0.12317905390531034, + -0.013590292354037456, + 0.1399713413574608, + 0.09549220043896595, + -0.013502802625138179 + ], + [ + -0.12511628923644014, + -0.12376644181016254, + -0.15022190258896537, + -0.008744009955511925, + 0.12795113407113223, + -0.31131675267792597, + -0.024776092918400102, + -0.09879063444485761, + 0.035701736376051056, + -0.04351466848960148, + 0.06315816820739971, + -0.09665498718174768, + 0.00897154431049148, + -0.06490462147054665, + -0.00044912299857002727, + -0.019640092341888658, + -0.023203254599365532, + -0.1353096217282838, + -0.05590890023750227, + 0.020789561718065737, + 0.18634602850198534, + -0.026188005512226317, + 0.059285929774567314, + 0.1109716157154724, + -0.1512214404146008, + -0.0028813539663199877, + 0.011884653106928881, + -0.10724709794782562, + -0.1871664946618391, + -0.09181377167261809, + -0.053846436277403764, + 0.06509513370114191, + 0.03572445057244874, + -0.04918021612617055, + 0.11393641545106042, + -0.08548450686514637, + 0.07966031133578282, + 0.0035740212473067117, + -0.12434933891251827, + -0.11232560476056169, + -0.17304006501603278, + -0.027106901647863432, + -0.046335820454507994, + -0.08901987312360943, + -0.07323041471719131, + 0.11782380034763139, + 0.002516453071892737, + 0.05776835559159246, + 0.04432056051841993, + 0.005454516939129383, + 0.2651089506961047, + 0.1208163121895592, + -0.13977008357131812, + 0.00529070551748949, + -0.06304677827158384, + 0.1255982803383645, + 0.020562566784331972, + -0.0560481005504581, + -0.2238731854154755, + -0.0441614007507788, + -0.053505961425720075, + -0.0496517646524592, + -0.07028611694251935, + -0.0315151143030473, + 0.18932621268896938, + 0.013584501106925983, + -0.1880865531164605, + -0.07043169841498514, + 0.06671479817133585, + 0.0033388047401393356, + -0.012361165740504977, + -0.24428175359940366, + -0.10809039441606695, + 0.016381134850981027, + -0.05523391198868586, + 0.03374584720558965, + -0.016806598454976927, + -0.037593706203459906, + 0.140628748106474, + 0.05687153742531407, + 0.01726775261766749, + -0.18386587217246655, + 0.020324689481976143, + -0.045640302482843745, + 0.05691982092058808, + -0.14666698811146475, + -0.09791055819700087, + 0.16136401358033411, + 0.08188008322984976, + 0.01029565791959386, + -0.007903197635883668, + 0.010725669932750051, + 0.005329730361213996, + -0.057087108861618954, + -0.029312903248021552, + -0.012030965438380328, + 0.10287167156776236, + 0.021072328558824616, + -0.16468041340231068, + -0.005801385588077994 + ], + [ + -0.00251747699048606, + 0.03539563741336067, + 0.11960906265624328, + 0.1803784815233464, + 0.019477993181620596, + -0.07746765176927667, + 0.05502764038498453, + 0.10148535509375277, + -0.14533996560276627, + 0.022060081161547056, + 0.00664752696511617, + -0.05101240081070039, + -0.10460171728266165, + 0.04644831860473415, + -0.15473660261052335, + -0.013104134609671775, + -0.037053044056921204, + -0.04445380935108646, + 0.23088098318478348, + -0.02854496759663268, + -0.0184914105397836, + -0.13216354975483, + -0.11269688337341982, + 0.031374428534375505, + 0.017383460794058683, + 0.05700727549643268, + 0.08740206272311746, + -0.12022510129349805, + 0.1061677668367127, + -0.14187356383583083, + -0.0031787897606476443, + 0.08426872693355691, + -0.09056329605006304, + 0.11068403001573117, + 0.06396923853849591, + 0.24231436052050587, + -0.004889957140966558, + 0.029410586407389645, + -0.014573246534343802, + -0.03243117547193016, + 0.08109096119385098, + 0.12598450525952923, + 0.155813525477121, + 0.010851455189398373, + 0.11717406825015182, + -0.041423881789615515, + -0.0002542170645400245, + -0.05402980659739821, + -0.02779731859148089, + 0.09765225787504622, + 0.12138499853593265, + 0.007090186764827175, + -0.15824582939944717, + -0.038600786575828404, + 0.06260122247704221, + 0.10605950239141859, + -0.15132607349190452, + 0.08688152013790199, + 0.05134776280389243, + -0.07593652675563463, + -0.12592090268798192, + 0.05933290521533687, + -0.06683824477929552, + -0.01383183679309864, + -0.0894405155263075, + -0.04492883751295318, + -0.22454935661886746, + 0.05977022855076906, + -0.006896549974083883, + -0.15571813555434805, + 0.023621590698337053, + -0.036394147863091274, + -0.25588633939597005, + -0.01573605893097209, + 0.07688415497245946, + 0.03654810065884484, + 0.10214954628914864, + 0.04296415386044002, + -0.05953865729629177, + 0.1522709206984684, + 0.185345428466841, + 0.08145957784503839, + -0.007478029737819813, + 0.06045957964786467, + 0.029771685838263364, + -0.07907039579980915, + -0.25122902520163193, + -0.160106499250376, + 0.05280875680023819, + -0.11553826651421496, + -0.07049965493608826, + -0.10487572645192533, + -0.05916848919028988, + 0.08545296268919897, + 0.01682966955982713, + 0.057224158694643194, + -0.14566941233408323, + 0.13329318730962927, + 0.09292215843316784, + 0.021093277587083094 + ], + [ + -0.13235666978708469, + 0.14414920982891924, + -0.11055542590429379, + 0.13086483953156286, + 0.1403713156346155, + 0.01382302303613934, + 0.09323180503235468, + -0.016370891894771495, + 0.3025610788007784, + 0.07412578221173803, + -0.04393072541983011, + -0.011653212116013239, + 0.07085191597750758, + -0.020715107610844684, + 0.049475059926982534, + 0.25484750600337214, + -0.03031210832096846, + 0.16254343073457564, + 0.046637956126303136, + 0.1617865804356897, + 0.004740649156718427, + 0.03666354546712183, + 0.023716641413075456, + 0.031149772398201072, + 0.05313471353286742, + 0.07066761101624197, + -0.09530694209111773, + -0.09546320625794218, + 0.04804265167645546, + 0.02331025478572484, + 0.07941809840410594, + -0.009790152255643406, + 0.14530687974932588, + 0.11752570212766214, + -0.15700779774908513, + -0.03618581465825485, + -0.1502396269432888, + -0.00405681407063026, + -0.07672848976124036, + -0.061992017766639436, + 0.20284246670337636, + -0.1655636760743577, + 0.03435607161916094, + -0.19734662672207032, + 0.06329052758084801, + -0.03992904063981956, + -0.03349996385550296, + 0.11871063823231955, + -0.07577820486744838, + -0.00016831714247381846, + -0.014273234734551065, + 0.069178411125312, + 0.060776126919168484, + -0.07986905642249846, + 0.023442899006984725, + 0.06952356528099404, + 0.056002960793839714, + 0.02026212927167046, + 0.09367142776399341, + -0.1585792451276591, + 0.1275105860740401, + -0.05349798363666271, + 0.052566248308912975, + 0.146050122311991, + -0.06473485557267719, + -0.08657866124866402, + -0.0579828871234297, + 0.09973244987403572, + 0.024442903924930547, + -0.19377412868687546, + -0.11764503853890301, + -0.11338787781925794, + -0.0865942642200546, + 0.07359326130226321, + -0.0896416059672043, + -0.05501732239565997, + -0.06831028510017668, + -0.08582804920096235, + 0.11757790601691, + -0.047612918872950084, + 0.008282054912008435, + 0.07147915523223339, + 0.042682020108272815, + 0.06795372290747508, + 0.01170388627321664, + -0.1213267633365623, + -0.15620086071679126, + 0.02630239650556478, + -0.11523392712334453, + 0.16941049103978628, + -0.006323631406286712, + -0.04321437726471472, + -0.017206267481320925, + 0.13370249084069524, + 0.0616210553609937, + -0.08350006896588091, + 0.1067225267855137, + -0.14701273675890966, + 0.06210726613999141, + 0.0702020643260321 + ], + [ + 0.12710177987507698, + 0.24128742813741652, + 0.023557448254716604, + 0.10271579245486176, + -0.06587106338206809, + -0.052449963088596764, + -0.09667104963180839, + 0.19602673595503395, + 0.045966208417741856, + -0.1341091701561569, + 0.06356932903563736, + -0.04965150558292251, + -0.060073545414506706, + 0.054307881631794445, + 0.17664620588477625, + -0.09567730262481615, + -0.12565605733509352, + -0.11417171886012349, + 0.025660254085968476, + 0.034495921662481416, + -0.02878960126403062, + -0.020521367138932618, + 0.1000103954296612, + -0.06225046749451776, + -0.024142792268491312, + -0.051496784055469404, + -0.050573092728822135, + -0.03664139127190697, + 0.032479687903254915, + -0.02621937042169384, + -0.011991129492950493, + 0.12081699023052814, + 0.11058771161502798, + 0.11251082984446693, + 0.05018986554112552, + -0.03027770960200766, + 0.012479214064023861, + 0.1896463616433433, + -0.16400789284452263, + -0.12592678882823857, + 0.09945062470194997, + 0.04344384493970242, + 0.015624056946043765, + 0.1803614009311275, + 0.014592144383693079, + 0.04892806309653967, + 0.055190125813100475, + -0.10628264991271846, + 0.07891300151589795, + -0.08857927892613338, + 0.09267440619128287, + -0.06364862882177574, + 0.10270491500962116, + -0.14143198383759573, + -0.12517683247104266, + -0.004397758332996693, + 0.19188966993710796, + -0.01009423007142012, + -0.2708001958305781, + -0.12224909492927473, + 0.08007378793472933, + -0.014962435783528724, + 0.026345886904084525, + 0.06321627760042746, + 0.06789345734071746, + 0.09331921042058292, + -0.05931767661634339, + 0.136939168088956, + 0.07742405728754265, + -0.01169739475700594, + -0.006761199218944197, + 0.10265179944879775, + 0.14125541098702024, + -0.0006312056183481741, + -0.019379474190229746, + 0.03659414652633789, + 0.09972332053917919, + 0.08606677935551804, + 0.11068957543220032, + 0.11418244199126154, + -0.016554796966494326, + 0.2396874017660118, + -0.04059801111015877, + -0.022679754543300044, + -0.05948991512672502, + 0.09254325219559312, + -0.04967215407036522, + -0.04097326471941776, + -0.14912531686842512, + 0.021261686027897762, + 0.04978177081212797, + -0.08575515451981425, + 0.05220912609027908, + -0.22788150602691332, + -0.015324847451317389, + 0.10951716059482283, + 0.18123551294769621, + 0.059746278384441145, + 0.09928643751828618, + 0.01028315761046518 + ], + [ + 0.01785672131608733, + 0.007014513598211855, + 0.1576210677318607, + -0.09346844402641732, + 0.021047450712517776, + 0.0833968268902427, + 0.0652707210477646, + 0.0404331440646071, + 0.14061586481445046, + -0.12614068875791937, + -0.12441148179455777, + 0.010278441671119288, + -0.07799768323551531, + 0.03036654649367091, + 0.10595595814726695, + -0.09640156423535576, + -0.2579059202042073, + 0.13958217620214117, + -0.05411559721670701, + -0.02597960238033741, + 0.12012093378750544, + -0.026285271409294906, + -0.04755341418931986, + 0.003277414487708664, + -0.05317336668564721, + 0.06555388396630304, + 0.0929610481420062, + 0.15017071888880287, + 0.050071121897978965, + 0.04408608509574593, + 0.11656314506129238, + -0.10023791061331533, + 0.08501931789921532, + -0.05431279019926846, + -0.11217001670512611, + -0.09763571861839423, + 0.04910487902262695, + -0.04619791055742834, + -0.06013955991693538, + -0.01891230951930553, + -0.14265997805462535, + 0.05117406309665487, + 0.08721720645599305, + -0.12305909525542884, + -0.13150009801326848, + 0.1011243715031509, + -0.013690650304049121, + 0.011267816737571422, + 0.06474545774893908, + 0.039598568762569716, + 0.0326962052077577, + 0.13645963559918872, + 0.17571677230616956, + 0.16001967428188169, + -0.07615232709371396, + -0.07984898160142799, + 0.032776281300727, + -0.12639167055772313, + 0.07464304456038232, + 0.004248831798367931, + 0.005976735683176408, + -0.026738925843568035, + 0.19406393417009937, + 0.013298183582511365, + 0.10950163999561234, + -0.21307897845648566, + -0.22611397656079688, + -0.23929245969905555, + -0.02832426746192103, + -0.10108526024262944, + -0.08715354966278055, + 0.04333880507003898, + -0.1191034064308048, + -0.10900862596404988, + -0.0879245458156692, + 0.04005680561247715, + 0.10680209549592967, + 0.044835091692691294, + -0.19441461543338456, + 0.0986183204395628, + 0.22109161790803789, + 0.0177225223650577, + -0.0861584075630163, + 0.024929720521409657, + 0.08955814662225312, + 0.12146055420641115, + -0.05950493215752493, + -0.1686204004212863, + -0.008799941406815982, + 0.02777185721967578, + 0.0032830894748348614, + -0.007721643210221596, + -0.018102657907218628, + -0.11516619755009956, + 0.038871953528654156, + 0.03390272759138683, + 0.01399292817180043, + -0.0467353362715795, + -0.03874905493514707, + -0.12331396988827499 + ], + [ + 0.014067709569348134, + 0.07535832112148173, + 0.0005999674476468016, + 0.15944460332928342, + -0.0737938901750901, + 0.2061345327152867, + 0.055242298372288834, + 0.0024362764918272823, + 0.006088906816739131, + 0.00906138895034068, + -0.11949782720195824, + -0.17224501593722305, + -0.014774394206135154, + 0.222604556092042, + 0.00027782714147605756, + 0.017252317120703076, + -0.0005995033211286823, + 0.18654114037208333, + 0.023019521746217877, + -0.11235397474246499, + 0.09256134261884566, + 0.10084354089529028, + 0.018493770023099827, + -0.09151908645304811, + 0.05788532939540888, + -0.005480603501700258, + 0.11428900151237055, + -0.01920484402728313, + 0.031915125218962, + 0.03764341145757848, + 0.03413550715894164, + -0.05748798891370461, + -0.18516660638920288, + 0.12042355019532044, + 0.04652547590861133, + -0.07703305286711057, + 0.08424337077893403, + -0.05719862622820984, + -0.009912279385230836, + -0.07400683393945034, + -0.005767002703963078, + -0.03130351395315928, + 0.12081537824008985, + 0.05350391003081237, + 0.08845455231796373, + 0.07793809873773905, + 0.014982910315847026, + -0.13679191115888611, + 0.10403736545728154, + -0.0011726243500552575, + 0.013453937413173056, + 0.10519204118747227, + -0.20958635402360845, + -0.060196025050121574, + 0.018251622977847222, + 0.00973490242337329, + 0.056294703563960366, + -0.2052414089715112, + -0.06200829952174997, + 0.17725930066148268, + -0.030955139005956846, + -0.06564476282630657, + -0.10659008738445375, + -0.09981093798285866, + 0.1156669858521731, + -0.008786439883373002, + 0.17915698463031196, + -0.03772892516359541, + -0.04071230501351888, + 0.07804223359631343, + -0.07919598942969502, + 0.1722865135717512, + -0.06545311951883055, + 0.18371991386754805, + -0.16291283980194554, + -0.07149202537466993, + -0.15259331101689402, + -0.09823919922917972, + 0.11170096865990439, + 0.03380048287730052, + 0.07315104323134178, + 0.026034492647288254, + 0.08045059225950559, + -0.0031861688700450517, + 0.13676697248808384, + 0.060909859839393114, + -0.17119848223191836, + 0.19483398112153363, + 0.1012020487762375, + 0.03489536639253803, + -0.2626936462436134, + 0.026814197598543234, + 0.12309952862161669, + 0.007621061602383969, + 0.04194548556928033, + 0.09181220187008568, + 0.07836396260692105, + -0.032125733361009184, + -0.013449720935860207, + 0.006946134299741625 + ], + [ + -0.021165209756173874, + 0.08265896195999108, + 0.11130159151276436, + 0.15642971967605482, + -0.17205479422408085, + -0.004779525780301342, + 0.1906369858780131, + -0.06704007550236925, + -0.06773159212504197, + -0.008173594630406114, + 0.01626403551054764, + 0.10493391090358872, + -0.12923841758317461, + 0.03499533328268182, + 0.021872795932067018, + -0.021619258086193104, + 0.02724263290847318, + 0.004686317949968781, + -0.059629232797093694, + -0.24636136106091014, + 0.06269916392825552, + 0.001111943604487022, + -0.025728959759762554, + -0.24072974359611785, + -0.030966512940302757, + -0.08154526245870604, + -0.09707144589184019, + -0.09214891647845024, + -0.01103406746084034, + 0.08463616157513218, + -0.007879005940909513, + -0.1270710005194081, + -0.03373486458931611, + 0.004026973426601625, + -0.03522258893448054, + 0.12820572505275338, + 0.0019967304516951764, + -0.028882822129677504, + -0.11177349945050065, + 0.05116940559533078, + 0.02442691515558775, + -0.054101652737830394, + -0.09786381827123738, + 0.21595439001143446, + 0.002748172743888411, + 0.04926566429376387, + -0.08624737629644325, + 0.016306781211035112, + -0.1605229675548622, + -0.047942175884361234, + 0.03433249088764976, + 0.041433151924247826, + 0.13672449352343238, + 0.07650158390660011, + -0.025752127646309686, + 0.15998189653952063, + -0.023105851376851616, + 0.08889416781338565, + -0.058932327742410355, + 0.17509896134690625, + 0.07231193188211958, + -0.008565254525866555, + -0.031607575857154326, + 0.14305339748944035, + 0.011563765296926114, + 0.00971693345434199, + -0.17006939441872426, + -0.03138739905647371, + -0.0914444104965011, + 0.07891684446025797, + 0.027097784693915525, + -0.11572697642945899, + 0.01766033612488489, + -0.03482382863532807, + -0.020545370489572324, + 0.025248150209462403, + -0.11348214564872561, + -0.026743329219399068, + 0.07641007125702513, + 0.1148148800540113, + 0.12110184193126547, + -0.24145408889173595, + -0.08117197479037515, + -0.12470875882273443, + -0.11723069933183415, + 0.027780646150561288, + 0.011527807627990709, + -0.09193712416144237, + -0.23189426249763326, + 0.10975380517262816, + -0.11335174775656652, + 0.005014318986177427, + 0.09074825141922185, + 0.15700928587816895, + -0.09946575507616076, + -0.2703283747132361, + 0.10400707185875324, + 0.01959142022066879, + 0.0037858146643758223, + 0.015322543540259735 + ], + [ + -0.03994829793504895, + 0.050675834669518506, + 0.05310908299489249, + 0.004857929276467663, + -0.07614529710013662, + 0.07310055789661309, + 0.07242593216750692, + 0.07573586425261195, + 0.01856504977809036, + 0.16025429864114651, + 0.0450825019684793, + 0.06787472543131974, + 0.05987771449472747, + 0.16798915184429616, + 0.018858343549142113, + -0.10145466502339487, + 0.22581214548158232, + -0.04869869464205071, + 0.1954487757472792, + 0.028595818827375583, + 0.07680458090520609, + -0.11374890321045046, + -0.13936598326878516, + 0.11706432691755929, + -0.051109495559372185, + 0.03598270636499296, + -0.11465770834370417, + 0.009791044800328132, + -0.08155856005998936, + -0.006262606543631526, + 0.05455587766623431, + -0.0924579290166155, + 0.015089670094998463, + 0.12200314743467656, + 0.09393339416603921, + -0.07639028693590158, + 0.1917918125555639, + 0.07684262314641095, + -0.0360355884626595, + -0.09714247720071303, + 0.1241076715816939, + -0.06374378099811087, + -0.14830852269259495, + -0.019870534232926736, + 0.004053492982666081, + -0.007208730582763021, + -0.04612942394624123, + -0.013961944902718246, + 0.1721235550375868, + 0.22167397029116911, + 0.003515862882321468, + 0.1579172837428318, + -0.03492964042744343, + 0.061860020849595625, + 0.08623156090127873, + -0.16181921207118127, + 0.01917448766490695, + 0.05359938302043123, + 0.037885994797623494, + 0.05886177380509553, + 0.03241091355213766, + -0.0328635581483239, + -0.015215448925344117, + 0.09686451030778073, + 0.060168712573273546, + -0.08993649272274615, + -0.013128258240036028, + -0.15944169368034616, + 0.10441480050667624, + -0.008059654574196372, + 0.07581834721907514, + -0.09898943580800898, + -0.08639486898925534, + 0.06823445373333438, + -0.0006806047463713409, + -0.10748198753894735, + -0.05150982316133786, + -0.2126766413466891, + -0.03161579837408415, + -0.14639000394299198, + -0.25483297480555234, + 0.034478273244518486, + -0.2667082887286878, + -0.06670254730368501, + -0.09565790018190103, + 0.1560881452732632, + -0.10684262550362043, + -0.0618612705241486, + -0.05638444769655003, + -0.10417395066603728, + 0.1258185676947142, + 0.010094231056258831, + -0.08828890527593111, + -0.08583312185438474, + -0.10709990232710859, + -0.01901717270405331, + 0.0804360013699549, + 0.11429353049817251, + 0.03499454611371466, + -0.018398391347383025 + ], + [ + 0.014580922758175768, + -0.10604822892651526, + 0.10095218030363061, + 0.02340071172874736, + 0.07319339540968406, + 0.08639360391167969, + -0.015163342911436896, + -0.02648694377589104, + -0.2071633171061942, + 0.11771280146531195, + -0.0012712664527611136, + -0.0063902969069381515, + 0.10866112461822933, + 0.048113195418875515, + 0.09624135974284588, + 0.04066557160490681, + -0.2727528657253729, + -0.04492360116326939, + -0.10014598153804861, + 0.025290640431234957, + -0.20664976269304394, + -0.024264021574563217, + -0.10599008374805537, + 0.01552682192907941, + 0.021747799913561464, + 0.037151126710485836, + -0.10234507920375668, + 0.1362409601653783, + 0.08782754050767037, + 0.08423786346732576, + 0.18924551772962034, + -0.008132332949822466, + 0.09080409973165289, + -0.10199583888441922, + 0.07499385010997515, + 0.013284657867014153, + -0.013165148592615998, + 0.03799418193252673, + 0.06380926318905022, + -0.19420930766128042, + 0.01156112854254389, + 0.15443275745674334, + -0.04788854500025159, + 0.05834133870957378, + -0.029503285296377673, + 0.10402917649594554, + 0.03265768454186874, + -0.06763936010885384, + -0.08715703560364767, + 0.007102309010072174, + -0.01977653597389679, + 0.07982071161385562, + 0.015126485146579499, + -0.27086298378547613, + 0.01689552807775976, + -0.15917046556623854, + -0.093117866504272, + -0.007707280172126344, + 0.015034046456277244, + -0.062097115225831404, + -0.017408996227340937, + -0.121674819839959, + -0.12682593358497365, + 0.004846032106395003, + 0.1882869791447029, + -0.19001942614410774, + -0.13881147250496287, + 0.11833453908618985, + 0.040939566083346104, + -0.039789916028062595, + 0.14071490799401792, + 0.06505366260226955, + 0.07245892795868232, + 0.0281539271191626, + 0.09341575797770496, + 0.027976252860134915, + -0.22329158254114287, + 0.020026884219148163, + -0.033355192567084156, + 0.05838952745391847, + -0.12465753997846396, + -0.13669391403066986, + 0.16253491293897915, + -0.10308551922179508, + -0.03888605397638693, + 0.0212875325560797, + -0.20537459944068576, + 0.07562560563011643, + -0.017975766832158183, + 0.049300321224984796, + 0.14844919799531445, + -0.01592234164546691, + 0.023936962050474686, + 0.12488681305173664, + 0.024573882301083455, + -0.05645267469615759, + -0.014681115767904871, + -0.04340920758862599, + -0.12171724421613808, + 0.02712350261702101 + ], + [ + 0.004087176199974362, + 0.042200784711099636, + 0.06507872737408511, + -0.2658214394306272, + 0.04641669132708401, + -0.016346940289450912, + -0.11455524801216661, + -0.01480540547853709, + 0.035718239963564005, + -0.05949183454673897, + 0.06752015071462364, + 0.11892798954646049, + -0.07709925450633051, + -0.07807477867954882, + -0.060211401461554716, + -0.1460547116183701, + -0.025565046883161188, + 0.2583136402370569, + 0.11997892372688801, + -0.1078616668499793, + 0.07304055463654233, + -0.017164083336891133, + -0.04247836955955613, + 0.06278754068914827, + 0.13186568377662736, + -0.17967355784074396, + 0.009848883412364427, + 0.0748045779693951, + 0.02260565350296754, + 0.19683973938906277, + -0.041756626070998275, + 0.15712037120091268, + -0.25497112357289703, + 0.05799151516541502, + 0.14548898686858278, + 0.046054968518599616, + -0.058005604287773065, + 0.0064613205269210775, + 0.007719136276198083, + 0.03351413868443041, + 0.030057416285092047, + -0.04545937400309211, + -0.16427891278842385, + -0.022478580274403106, + -0.15423005503173154, + -0.0301775797290945, + 0.02909236115739445, + -0.1257307632286057, + -0.04325439262507671, + -0.07515294494170194, + -0.03266621935678305, + -0.04571151023489645, + -0.006788782266576743, + -0.1435649337015784, + 0.05217014986282934, + -0.10319686324247405, + 0.07823220080809261, + -0.0011297631293635674, + 0.011535492753695302, + 0.06598860814403529, + 0.04628598553424913, + 0.2607809730576783, + -0.07542304287651866, + 0.05405263171817196, + 0.09154505699107068, + 0.0036958784425664627, + -0.08921564644783371, + 0.050854505549787835, + -0.034822926194336086, + 0.004293541908314262, + -0.1961691187793688, + -0.13638666041045686, + -0.13450057901652807, + 0.013476772356556805, + -0.10768635575842556, + -0.14814120942808667, + 0.0719099770480593, + -0.06557868335293048, + 0.026051589518295424, + 0.19634217319672642, + -0.0666635972326085, + 0.02578893679686934, + 0.07665825812158603, + 0.11372689205073828, + -0.12677948016617385, + -0.06874103988282665, + -0.12271750463277666, + 0.04166805858811447, + -0.07565801519749688, + -0.021835253025240375, + 0.1523282438491075, + 0.11614071304862049, + 0.01933664069464795, + -0.02036805453287752, + 0.07070188719800484, + -0.03626289416688281, + -0.014017906364592053, + -0.11664936566536346, + -0.06063891891638799, + 0.11087636096504196 + ], + [ + 0.05577221439546614, + -0.0255082156301927, + -0.1335348435205487, + -0.0339476950671766, + 0.106843563446638, + -0.08603977230112039, + -0.05535999337452398, + -0.033038146152661076, + 0.26029195172707786, + -0.06509895589849067, + 0.0032816869971589156, + -0.07560321170409176, + 0.12815556060343536, + 0.05258643733888534, + 0.025799987236219443, + -0.08471689120182402, + 0.0839874237522624, + 0.04127038690088519, + -0.12920484477930333, + -0.10973022583407992, + -0.0012889592351443384, + -0.09649473301973807, + 0.005561846029187108, + 0.08211083075873152, + 0.016107372919557734, + -0.1360958788666405, + -0.14775847535619827, + -0.14033347682793523, + -0.06684462985160815, + 0.09802609653881039, + 0.07904864851637233, + -0.10363909470413661, + -0.08403253526131893, + -0.0819219107955179, + 0.08952039508398502, + 0.14128647853589277, + -0.011982084526364272, + -0.03569355273884278, + -0.017339390440971325, + 0.0526873007465567, + 0.13195872245798232, + -0.004654908681416981, + -0.04898254562339101, + 0.04628589168316245, + -0.0017045135301482755, + 0.09192565528597167, + 0.11043145782556225, + -0.1016398545214734, + 0.15363746975135356, + 0.05381551164314419, + -0.12374838956156946, + -0.14302857786407355, + 0.005384167661552518, + -0.012855051122659208, + 0.01671929316935954, + 0.04102295822488891, + -0.039697548776517495, + -0.2252663864995975, + 0.011841344461842391, + 0.04032622748219424, + -0.1193697910974659, + -0.13313974767439277, + -0.04949692213541516, + -0.13380619615270048, + 0.06915906823472119, + 0.007727962984892537, + 0.003167721265123952, + 0.09062443304445783, + 0.07220849218695898, + -0.045269798421450645, + -0.08290711760567487, + -0.01756838053348477, + -0.11248807443559336, + -0.07411035167267181, + 0.06456520246925862, + 0.04809685739603189, + -0.03192990113771394, + 0.07436181927552622, + -0.25408176904092, + 0.008931046216657938, + 0.05869219873561668, + 0.16866522819780727, + -0.03778104661904918, + -0.059877825102441246, + -0.20513895458795506, + 0.06539834325778289, + 0.0365176823608066, + 0.01890890062430333, + 0.015639733387714714, + 0.19591846474677094, + -0.05573205257765193, + -0.3255310504877878, + -0.09469880705546783, + 0.17959522241357215, + -0.06718250134659183, + -0.08711545463683291, + -0.0020728728677433367, + 0.11591748286762572, + -0.059598738978091315, + -0.09073273463931227 + ], + [ + -0.050788427520114324, + -0.04312717189336901, + 0.04536926637775846, + -0.20299540375078598, + -0.04541971146922363, + -0.08295147168083243, + -0.17857743117644811, + 0.07731757339962911, + 0.07271759852240191, + 0.010208134140015682, + -0.041448301996803584, + 0.0033825874489911935, + 0.03580947452212434, + 0.02897511862652495, + 0.04021536954427147, + 0.008280376287439526, + 0.10443636709740689, + 0.05181529316497647, + -0.07371103159667546, + -0.0063522346428900355, + -0.09496655459380283, + 0.06476452436189013, + -0.0261503137280585, + -0.08779735661073144, + 0.13236127702166775, + 0.14086866096998815, + -0.04559482048577748, + 0.045883998672392456, + 0.01624440035442375, + 0.11253345723748033, + -0.03738968417429003, + -0.026196601881717844, + -0.022216379526133027, + 0.08437777631163507, + -0.08310425405185112, + 0.04543636204307239, + 0.13900978257178676, + -0.015008887801572997, + -0.0871012290895912, + -0.1654223891238912, + 0.06949938542469188, + 0.0063839228859460554, + -0.048298652692305113, + -0.05218089855079446, + -0.1363601574945809, + 0.17696609721441492, + -0.015199473765981152, + 0.03609942878087999, + -0.05714947326712495, + -0.02396130476519552, + -0.04461518224845058, + -0.033146537423021025, + -0.20547924403061818, + -0.03180428627142514, + 0.0495996315818235, + 0.11445704703819994, + 0.03411378790932656, + 0.1740940876415694, + -0.1486245089260288, + -0.05884981259361886, + -0.02810458154402635, + 0.1002242710129777, + -0.22916534661239052, + 0.01499462868492539, + -0.233109901907813, + -0.12230757198168991, + -0.09609125545524673, + -0.2516379084028268, + 0.13536188073687908, + -0.03785254098426793, + -0.09957581465876879, + -0.019181029126670905, + 0.2155786820504897, + 0.13302320635079498, + -0.019912345092865796, + 0.15140093541414407, + 0.04244775810174404, + -0.11717279320994489, + -0.10103486224299907, + 0.02746557308648548, + -0.0026662343406199515, + -0.08374450868956972, + 0.11990928913094188, + -0.020445336664985318, + 0.06878014961933937, + 0.07486936082266502, + 0.08892520098087996, + -0.18896877341463036, + 0.07274276632326863, + 0.10182778654143923, + -0.08116402198835551, + -0.09864511339122611, + 0.07954730778899946, + 0.1323239977149874, + 0.09158668584817747, + 0.16302617121198298, + 0.07928384038129405, + 0.1098176773110801, + 0.08790758092217842, + 0.0065519382199708195 + ], + [ + -0.01714333364263841, + -0.13424704296052153, + -0.10509429473518929, + 0.11781641674283076, + 0.0002257649275676291, + 0.21308230180056248, + 0.052611514098902835, + 0.11591598918194304, + 0.018738739333530048, + 0.11867019632003037, + 0.005994562017334152, + -0.08210110242024354, + 0.12192617195162603, + 0.01936292403822195, + -0.18985794720059437, + -0.12869352133954962, + 3.422447997050464e-05, + -0.10540683493448778, + -0.01525677882969853, + -0.17744695720813738, + 0.17814727626494622, + 0.03519436444742551, + -0.02826534558288034, + -0.0622143573615487, + 0.09916260962261861, + 0.11136923872497834, + -0.06191669045219835, + 0.06939713279755969, + -0.0214340038341888, + 0.00832921204474807, + 0.034931627799572575, + 0.010074466140661983, + 0.03781729267221462, + -0.12864029961906118, + -0.017896132287625904, + 0.14518339861601037, + -0.17275299937351837, + 0.03899115193170266, + -0.01158833034874444, + -0.052020130670307495, + 0.13299074927005564, + -0.17536060153925603, + 0.08227942007380779, + -0.05584891523374829, + -0.21616422003077657, + 0.06649385093253223, + -0.04079122317336009, + -0.16328775110827073, + 0.17230941255628074, + 0.03731766580357716, + 0.1354302165717686, + -0.12332199116549249, + -0.012813031800603633, + 0.11878735829994137, + 0.0026103200624943354, + -0.010963924061940116, + -0.057772740715636865, + 0.21349755115012867, + -0.06792481987662993, + -0.08694178334197193, + -0.04838488234079004, + -0.0768383928638195, + 0.15233283767088257, + -0.1267719643931681, + -0.006590784572520774, + -0.1145120989373124, + -0.0569538016938295, + 0.05364275732205392, + 0.018786334892014225, + 0.13635437856105684, + -0.08376423666310433, + 0.1359858638382562, + 0.009807014485069722, + -0.0257638010527793, + -0.025764349006907404, + -0.23301816845095175, + 0.16078027707154158, + 0.014121892302660852, + 0.10469441407626758, + 0.08293150326800608, + 0.005283191428233321, + -0.06589016505940837, + 0.09738767874616644, + -0.10446947435873365, + 0.05445439437875386, + -0.08230669629478615, + 0.10047687579591721, + 0.0436909696043574, + -0.05314038595618285, + 0.06520147306379992, + 0.17047314002616173, + 0.07727656337560089, + -0.09445274198588435, + 0.06366486487516067, + 0.09941093730047465, + 0.020968828782823638, + 0.11502195286005594, + 0.05095981443680189, + 0.04966670240978838, + 0.01720557682835641 + ], + [ + -0.050899076729876945, + -0.08986611011308569, + -0.028222688341488996, + 0.09522513568596568, + 0.14620171699391218, + 0.029301919307133238, + -0.09024067167260523, + 0.07995275857979331, + -0.1260824084099647, + -0.0796123105988342, + -0.18076060948257083, + -0.067427727442428, + 0.16668608739898239, + -0.02501033155907554, + 0.002921197818301828, + 0.008367767719124234, + 0.019020699968660737, + 0.052903617938518735, + -0.1802544171639824, + -0.03812381455145735, + 0.13298707830627257, + -0.031227077049336492, + -0.11895612975475625, + -0.041610763792478134, + 0.07720353221089138, + -0.05986053941139901, + 0.11651052069876754, + 0.22810931038953905, + -0.15491679599857197, + 0.1799088219786985, + -0.05320706315745191, + -0.11337431479970077, + 0.021585375646108185, + 0.03881318871340217, + 0.022766151269673063, + -0.08246867927333375, + -0.10554734927950254, + 0.11858130297427356, + -0.07651093842512294, + -0.1254875521261653, + -0.0242596111047974, + -0.07671372496613359, + -0.025159508561472758, + 0.11482368798680191, + 0.039134840600924516, + -0.19547706606439413, + -0.11472989899144032, + 0.05057117025727426, + -0.0589344833227109, + 0.040093817398203266, + -0.08926020235994875, + -0.04618682541489114, + -0.017227619425343756, + 0.023259948601413873, + -0.06481391007038992, + 0.11387894792888081, + -0.12863727581124498, + -0.05785959827157461, + -0.04222382626648924, + 0.006487695331533284, + -0.17088829169195857, + -0.05994555895262983, + -0.11416685265407159, + 0.03206034899836671, + -0.11809201262090292, + 0.05916349053206257, + 0.039411423459950266, + -0.14217510520053162, + 0.04123671447488728, + -0.16409361727567479, + 0.10685120316897125, + -0.14109556565230322, + -0.018449051031774053, + 0.07398726414498201, + 0.006264782713341792, + 0.06663628890276442, + -0.05196085829343676, + 0.09011038067187849, + 0.10485728573472414, + 0.10624349108967475, + 0.10536607837584427, + 0.3282184875693499, + -0.12325504098158996, + -0.08231769347021754, + -0.04755344433280835, + -0.025086004907612282, + 0.008704370261596876, + 0.024011468987232082, + -0.1394798648142113, + -0.19592153873243162, + 0.13657013943588567, + 0.15314182568487392, + 0.020446382009273525, + 0.07659686831959957, + 0.04051427128715989, + 0.0069410814610899665, + 0.02819555694998036, + -0.05875357372357685, + -0.017220519815721435, + -0.0540718585744206 + ], + [ + 0.0007801592195346164, + -0.12139249164824822, + 0.0101849057612569, + 0.007476363108916101, + 0.08673394566329826, + 0.15404468685253644, + 0.06462103414921305, + -0.010200978766800014, + -0.09183504955365046, + -0.034792494101672886, + -0.017903745766318032, + 0.22005661009128577, + 0.2467863647804486, + -0.1322475467045203, + 0.022289933609430074, + 0.09688693467498927, + -0.20075811394748794, + 0.019190091581351806, + 0.165898473791412, + 0.01506938896148035, + 0.032676283847248994, + 0.06621861480969202, + 0.03139223795047001, + 0.027600520515545363, + 0.04310034176575046, + 0.03650885027471432, + -0.08073256070182025, + -0.1272200816402815, + -0.012943155127830359, + 0.15473950477066264, + -0.0383615143409416, + -0.04766061739552807, + -0.034266523737197144, + 0.2683697878596511, + -0.21815007339714698, + 0.14831090282528198, + -0.10602519510704667, + 0.009440155434374506, + -0.2294398258889267, + 0.02890194102754589, + -0.03415132394428877, + 0.11718335753361896, + -0.21282555390277538, + -0.0482918167013201, + -0.11976029573889142, + -0.07236888521601925, + 0.06654308572758343, + -0.04384994779579609, + 0.06916842564109733, + -0.029450469923884844, + 0.07755742399866641, + -0.04916572658448277, + -0.11937756075250697, + -0.007556426190227236, + -0.1072828784517814, + 0.0350800687509044, + 0.11923971887491595, + -0.07000632213826331, + -0.13914679972724664, + 0.018999127337590523, + -0.04298879578279877, + -0.12747388868450343, + 0.042393772204441994, + -0.003968166814722653, + 0.07450760263634161, + 0.10630522670639167, + 0.004123557895103991, + -0.03557117160368785, + 0.05210072737992551, + 0.20702199962659218, + 0.12172980727595047, + 0.014158546674855792, + -0.08981269073323447, + 0.028630024887326317, + -0.003718324734775367, + 0.10203847636660822, + 0.10360753294593687, + -0.039323900343298974, + -0.026141497918657233, + -0.09719484135737676, + -0.07801874434684017, + 0.0371489451341343, + -0.04485823664349669, + -0.007967572017225462, + 0.09979691173615171, + 0.035872127345663245, + -0.03230822770031307, + -0.052740661410866974, + 0.061425853102570024, + 0.016244984480862434, + -0.04966427329791538, + -0.0068424669932223, + 0.08033279458328917, + -0.033024449125424536, + 0.07457618165067022, + -0.1768220255509226, + -0.26735111315242854, + 0.02045391058051992, + 0.07276041212633215, + -0.06656008244279814 + ], + [ + 0.061498868436460595, + 0.034947838866982626, + -0.06831617644002308, + -0.0152778589175232, + -0.002798946471748613, + 0.09821209505381079, + 0.007745369579542039, + -0.07416867462025302, + 0.13954583396000828, + 0.011406597197523573, + -0.06656094116920941, + 0.20549371368702468, + 0.07584000023383079, + 0.18820223970330444, + 0.03205842869262976, + -0.05707540824934716, + -0.02384624952896056, + -0.15946871176792046, + -0.10684932279539501, + 0.022502852558932206, + 0.008544855598421858, + -0.2911641337972371, + -0.06647583277875246, + 0.03709570497917917, + 0.21256441276127278, + -0.016912962836833332, + 0.042698962292535295, + 0.08164135810558981, + -0.014451059371332927, + -0.004671256977068238, + -0.06873952483725394, + 0.29382845943125174, + 0.17034043706192414, + 0.022074957246376016, + -0.021964893281707105, + -0.032400224980309394, + 0.1293795627100009, + 0.057203326250671045, + 0.14855495640815672, + -0.02852604700109833, + -0.13759139935324072, + -0.06568913563145411, + 0.014045840798491614, + 0.19046710604449357, + -0.037923683506803196, + -0.05778402082246276, + -0.06457126072952599, + 0.10906856709963861, + 0.08674426350623797, + -0.025512076560740112, + 0.07862688771757995, + -0.13232660067420446, + -0.12012154489150212, + -0.004628359550645757, + -0.0291833160179514, + -0.07507965046222835, + 0.0026256476342076222, + 0.08952304798119996, + 0.055697457429960906, + 0.18462666832138955, + 0.0023031944116010776, + -0.06767186860562563, + 0.016949471199010774, + 0.15665654079767652, + 0.10828534986222099, + -0.058230642089926996, + 0.14867692587599096, + 0.0720666417454625, + 0.023628114387520948, + -0.02635151672361574, + 0.04067307507568345, + -0.10889553159920203, + -0.033579279094643665, + -0.02525389616725242, + -0.15065304103487354, + 0.08774303280827424, + 0.18064089490601137, + 0.04168865018212654, + 0.02252987716652534, + -0.03816962404206169, + 0.11028795377837076, + -0.058961192413959154, + 0.10012021426040994, + 0.1357611521322731, + 0.054984937018715166, + 0.0018539532733818963, + -0.06919623342028026, + -0.05044230241198666, + 0.12688922364461705, + -0.05218502602920967, + -0.046224464897355294, + -0.12426680310092393, + 0.08813253480285621, + 0.1631326506503651, + 0.054959279221717346, + -0.18377833999645424, + 0.10580339230038753, + -0.03599758017248366, + 0.0849156477916536, + 0.004021201085680272 + ], + [ + -0.18510005794164086, + -0.17025166714441073, + -0.01180166952746264, + 0.1003608028852337, + 0.08128529448650033, + -0.03274870984597076, + 0.05263274467665658, + 0.0880029377573473, + -0.10250773896835584, + -0.011271157618117133, + -0.017901522248099176, + -0.09413109731850705, + 0.07353686373429863, + 0.06313271641335183, + -0.1339989308101901, + 0.14549882673380082, + -0.022467344560739892, + 0.02657815311144806, + -0.04702640518334982, + 0.07014142705758213, + -0.16965615914638318, + -0.19593685841103947, + -0.11662312466384012, + 0.10593180426358256, + -0.06568566166375517, + 0.06471806203278656, + -0.04963555247521561, + 0.09146247945832842, + 0.10233932922206361, + 0.07033733811229752, + -0.0615095443926563, + 0.08064660096559517, + -0.0520272482880686, + -0.018767496689189738, + 0.08395723436410069, + 0.0063889658959570385, + 0.10177451015820037, + 0.12027900739285824, + -0.15452105903264607, + 0.027313054218558168, + -0.03185625570038448, + -0.031844208935854525, + -0.18695177434841204, + 0.01673758268687097, + -0.009836455076150257, + 0.01617560295983562, + -0.15092438178686118, + 0.039534608910376176, + 0.1222394392779993, + 0.06800278819890923, + -0.12056879315509039, + -0.017243685604735017, + 0.2013821395017062, + 0.03121710450537088, + -0.0078373178089098, + 0.16497769203311358, + -0.05282157242572865, + -0.11586518980993118, + 0.05084468349346613, + 0.04825071079207604, + 0.048468496764862194, + 0.19893358186054433, + -0.05977646965076495, + 0.09587766999635565, + 0.15428169827635074, + -0.028050034584899398, + 0.027155418117040742, + 0.05181900253486292, + -0.040409880369119, + 0.11702288981446962, + -0.14261283996551846, + 0.17047921700203184, + 0.05037826174894257, + 0.07186821611528449, + -0.06136848133088254, + 0.007473595737045549, + 0.10287253566964265, + -0.050209401937541906, + 0.1673847486773675, + 0.02856413709275458, + 0.14899643247330926, + -0.11754604775603436, + -0.1435495597186786, + 0.07255946911502903, + 0.057420389965328646, + -0.004622997506503038, + 0.09850964021731556, + 0.047272773223621466, + -0.04075857943613627, + 0.14339418715107113, + 0.05825219482069639, + -0.21780622371825345, + 0.022575138660254845, + -0.04538968028552223, + -0.13230316205612766, + 0.1902944291815789, + -0.14940177533565424, + -0.07789518041511728, + 0.10452679519284909, + 0.04519987252941521 + ], + [ + 0.09680842540811924, + 0.03436472048195648, + -0.10195580004980237, + -0.024538415052776485, + 0.04815756353313058, + 0.030884352715910914, + -0.16769676439456807, + -0.011852180240480934, + -0.07610543064376295, + -0.03898874904385897, + 0.0620167675225856, + -0.00746349665204873, + -0.1058921862148945, + -0.07279844641376468, + -0.33483877079481633, + 0.020006388074515324, + 0.09609680624211535, + 0.05485244508360514, + 0.009168889041441, + 0.16381468646017122, + 0.03149093293729073, + -0.04036121987945675, + -0.044432496884080346, + 0.05097820657431508, + -0.051551873187244884, + -0.119262388612373, + 0.17172872171308598, + -0.029013522911144115, + 0.09880461645135204, + 0.05750949665518255, + 0.11890545845532832, + -0.09486565594323741, + -0.032133871304564, + 0.06410123520067115, + -0.2817946759072738, + -0.01702337930624281, + 0.047785848855536196, + -0.03945033079874037, + 0.09161088693466699, + -0.1449784872716192, + 0.03138583343101477, + 0.04325138724341817, + 0.016616041027795854, + 0.045871366609107574, + 0.021472827419238255, + 0.11588652201004988, + -0.10470726957411856, + 0.23599834071550063, + 0.06754396301970764, + 0.06226349725632602, + 0.11252010271584574, + -0.011974375028125555, + -0.009269095228607891, + 0.06730671954517342, + 0.025295623702233327, + -0.06927621336921551, + 0.25072467371127183, + 0.12728461305143451, + -0.06810337715881024, + 0.13158003956425252, + 0.010016647999226497, + 0.03175787792611844, + -0.11496048176788212, + 0.06140613729413441, + 0.03310515066312423, + 0.005199168836277954, + -0.055468548898098644, + 0.10064458923852451, + 0.06227818324887116, + 0.219558266619906, + -0.08671119386284795, + 0.13275146705159796, + -0.11581773504939159, + -0.10544376693908224, + 0.07577995349615628, + 0.10863594456633159, + -0.09503878316042064, + 0.14908226387206644, + -0.030701673978441212, + -0.10235062812624453, + 0.059816797082486335, + 0.06867682160930051, + -0.005639394451368316, + -0.09819832341172414, + 0.07863715621670091, + 0.02955305197066977, + -0.05598343028295639, + 0.04269564819222623, + -0.2112234294828713, + -0.020253440945230197, + 0.1186921225138769, + -0.05499277533953885, + -0.021185380057177117, + 0.13280782113125836, + -0.001392039396738733, + 0.033409354977928615, + 0.07389279369805078, + -0.051274042719858914, + -0.15247570140963335, + -0.06029136314951319 + ], + [ + -0.058651949960793225, + -0.027076885487533474, + -0.11990259904647824, + 0.15262299545730232, + -0.04896453036140984, + -0.06886405125296749, + -0.044471555356432754, + -0.08607233900102361, + -0.02438999909709642, + -0.10055247596522823, + 0.1952809217667134, + 0.18112196264773858, + 0.05836087656588642, + -0.22307184098456947, + 0.21115973800108523, + -0.19638044485883058, + -0.10172418978253657, + 0.14343515204811438, + 0.030855301804092922, + 0.027164828174792023, + -0.06802800048329534, + 0.15044634772892784, + -0.010211947684707819, + -0.029151329640067065, + 0.3013474954932672, + 0.13536879418291345, + 0.17796524442609446, + -0.02937435514579032, + 0.0655307810680911, + 0.046664415775114244, + 0.030174848242676855, + -0.10026223527272554, + 0.0588981271270883, + -0.10676580564108437, + 0.06497039041318141, + -0.11207564186055496, + 0.013847402631998467, + -0.11156065993664498, + -0.12629234540645642, + -0.05704235633457132, + 0.11735996271082182, + 0.0034442587355999433, + 0.0313042416300182, + 0.16457931047087856, + 0.18727863517696045, + 0.001997740886829864, + 0.046923332415632034, + -0.003411763222724262, + 0.16349725827344277, + 0.14578522315020856, + 0.05324823969609302, + -0.042415961618916635, + -0.05805545972116643, + 0.12609480819958774, + -0.056234884194820756, + 0.1562699120162416, + -0.029092941137814802, + 0.07173315939514194, + 0.07520982040453328, + 0.15253718171968533, + 0.2102820340802702, + -0.015402613845149467, + -0.11481116524504333, + 0.028244871181436107, + 0.1165895821967754, + -0.048343566772032685, + 0.03939833752644433, + -0.008032431615989847, + 0.0031221237543891988, + -0.0848759111784542, + 0.015510118874636302, + -0.012923384991464807, + -0.07031279287473831, + 0.10368440377064876, + 0.10738669455901904, + -0.07731756580901446, + 0.045001043112109715, + 0.07885713317596807, + -0.07447945384054501, + 0.028173992021537288, + -0.06053590430236305, + -0.06664735744759671, + 0.04063492903139237, + 0.13008790475982546, + 0.10936558136096383, + -0.04835942511241638, + 0.06423712139890701, + 0.00981490639809, + -0.031279413426139595, + 0.011075517340601462, + 0.08707620589843038, + 0.008669392774469934, + -0.13117937033202276, + -0.011598910561061325, + -0.11793345350734287, + 0.08346528251825554, + -0.02202293537895911, + 0.046665003649798684, + -0.011638159303136891, + 0.018491222846182726 + ], + [ + -0.0510410074473607, + 0.10113141042984988, + 0.1443130329161919, + 0.017679742414598947, + 0.05119171980774319, + -0.07299530755574371, + -0.0899649858633427, + -0.03941038492889851, + 0.1122850215322626, + -0.23730943377903121, + -0.04668536691340643, + -0.08230565345318472, + -0.11200494476267404, + 0.05855161428238719, + 0.019213161812565428, + -0.047893667443084806, + -0.06870777149618208, + -0.11519172299992973, + -0.017412860825632617, + 0.18676142438723117, + -0.04745334650270682, + 0.055700253403058834, + 0.06894976874170403, + -0.13346297656881917, + -0.05714665174126873, + -0.1300685602424686, + -0.003865193663022078, + 0.07543125256414653, + 0.052871789890055955, + -0.03239398963339927, + 0.09773066024786908, + 0.03237101520692694, + 0.0018931696589882658, + 0.01373907552588342, + 0.1005140347448747, + 0.019802944094444743, + -0.15718445449364815, + -0.14985111853476626, + 0.08864013417466776, + 0.10186868590065895, + 0.03215040621073942, + 0.034545239524042926, + -0.2673553865229572, + 0.03260290908391701, + -0.12287655623054583, + 0.041111439982265525, + -0.23839002440263274, + -0.059199372553483814, + 0.09975779858525549, + 0.15209169748591844, + -0.0015231778900472793, + -0.052492148029240425, + -0.08259545947788281, + 0.05489999241036481, + 0.1516144356914572, + 0.09101444143630762, + -0.19272078507475746, + 0.062126579006568046, + -0.10347883694550528, + 0.012175773522843531, + 0.15952975773346847, + 0.03060536901013434, + -0.08081294018995555, + -0.005549456181204381, + -0.01837415277642793, + -0.011439555100761048, + -0.02053382364203905, + -0.02958617358631423, + -0.007087579174956227, + 0.025060747997457604, + 0.10055921102033526, + 0.04533141365864155, + 0.056817539795551215, + -0.09438303647837831, + -0.14268979534813467, + -0.11935898229995946, + -0.08747698906937472, + 0.11358971096874816, + 0.053510066365511214, + -0.0828753277337572, + -0.11223095645491132, + 0.0658353810020758, + -0.13013927439999073, + 0.006460950876124931, + 0.152960638379856, + -0.053363418040550475, + -0.13882737833241415, + 0.035599263553232646, + 0.1186634874130835, + 0.09161236972550367, + -0.022671720025860438, + 0.08494404859716082, + -0.11280959266538491, + 0.10108627624240282, + 0.12013707469547497, + -0.0649836897795782, + -0.05555786555399718, + -0.02003346801326752, + 0.1640543626933936, + -0.2573413193923676 + ], + [ + -0.08732151680370373, + 0.010050339514640681, + -0.1673618849979862, + 0.06224365743021982, + -0.0008159337510106047, + 0.0737431994808499, + 0.11514693814020643, + -0.01984453829010528, + 0.06278114533506046, + 0.1535689447130932, + 0.0439966227581641, + -0.15285048828187214, + -0.1887545231454886, + 0.004768079375092934, + -0.07263852656499191, + -0.06419361276385381, + -0.019693993890425303, + -0.0391447992226034, + -0.06856489751759524, + 0.0688832961181656, + 0.1152837794789032, + 0.10228917336516839, + 0.10156870345221145, + 0.10266587347633661, + 0.16467067353251355, + 0.05658762003486917, + 0.16043284327914636, + 0.012911139366685346, + 0.047876330347355875, + 0.05353120122953232, + 0.1050277207548125, + 0.20029698479557428, + -0.031341972677272296, + 0.107756503014557, + -0.06420905031538003, + -0.09866986071161804, + 0.10632175846115108, + 0.10153287784630038, + -0.07613464501813326, + -0.11343598940029813, + 0.01874461862091664, + 0.056763174227547064, + -0.06984667253589588, + 0.04939863167167279, + 0.042242785164612974, + 0.03236012184557134, + 0.06609757797127637, + 0.011474428207295655, + 0.14473495034743936, + 0.031903224006199375, + -0.11877590408114241, + -0.023026552481157606, + 0.22312129436329078, + -0.05116945731604937, + -0.012733172480564294, + -0.039466778680442995, + -0.19140593249484913, + 0.15486671012599645, + -0.1686017541410333, + -0.016027514874640464, + -0.10115786981703644, + 0.02827348953591442, + -0.11566836480227334, + -0.17309296360045914, + -0.17446310069972937, + 0.061907772237166675, + -0.013505710052881757, + -0.13664211544776336, + -0.14415284124784566, + -0.0588172074858716, + 0.034266069344798804, + 0.012866576572206063, + -0.09160769539619984, + -0.19157509807908063, + 0.08037006404474456, + 0.03900499457034139, + -0.04698351534754242, + -0.010106043046774985, + -0.01050961471886204, + 0.04478833041771571, + -0.1143252855267841, + -0.02281756032750035, + -0.014980856669241059, + 0.1255444529707628, + -0.07729432894665798, + 0.06383863634608428, + 0.005396566793744336, + -0.03552601718011604, + 0.0875144942046972, + 0.17906810834665546, + 0.020849731950028927, + 0.012096219704888129, + 0.20874677776989878, + -0.09195569332888867, + -0.05677465268911777, + -0.2281919273822281, + -0.12059253652152876, + -0.11892592352582158, + -0.03612093763020561, + -0.028660406742520954 + ], + [ + 0.04167900092982467, + -0.09937720099736326, + 0.004697725557290036, + 0.18468069517442456, + 0.0924861051903446, + 0.14124163389224653, + -0.02466424977201693, + 0.11483211619072933, + 0.07528142974618957, + 0.04023953769168095, + -0.015298269690171513, + -0.1448786120861504, + -0.003966270250834096, + 0.029869576902645578, + -0.047896726394656884, + 0.08028250112610463, + 0.06514263495001384, + -0.10036553188298564, + -0.005744671871868357, + 0.062555095525198, + -0.10187245811428723, + 0.04533227422529504, + 0.1289997199714613, + 0.01953488520047042, + 0.1473859279900168, + -0.16081346289191986, + 0.03793476472643834, + 0.02143619437786204, + -0.21847484131812825, + 0.03597454709871152, + -0.011815139357513504, + -0.02457358373752688, + 0.08313018626249964, + 0.0025950225429713274, + 0.04889443615727317, + -0.06196901638678035, + 0.0474442120557788, + 0.12309284028853108, + -0.08450935831699925, + 0.2007107533278708, + -0.12609613718950255, + 0.1819571028767493, + 0.031445038908091666, + 0.0256040248276164, + 0.037098304702448036, + -0.06787922351129036, + 0.02095349655570618, + -0.008618659843512778, + -0.12908317420972867, + -0.15700309632969764, + 0.038052963640780965, + -0.11461676762200143, + -0.18047075335902635, + 0.07600676661927393, + 0.13487615989385074, + 0.09950805676608912, + -0.030657723458257416, + 0.04119038637340776, + 0.0797553629119698, + 0.12355678585144478, + 0.13940254298829888, + -0.13083125161633172, + -0.010330170479245906, + 0.09119966070503752, + 0.054557041971125646, + 0.07872119252078708, + -0.33780706903359886, + 0.012037156676138966, + -0.04438141695298096, + -0.022200212993455832, + -0.24578015775607828, + 0.11670258719732732, + -0.014485149928119436, + 0.009056846553543206, + 0.0025421928520324016, + -0.043720856647091765, + -0.040623767262326034, + -0.14634797822852186, + -0.028516487617782044, + 0.0007861991400611145, + -0.15516300464964977, + -0.031547778890486475, + -0.0034584761620804895, + 0.1342003881847919, + -0.04127075808876307, + 0.2001867148484435, + 0.055307146232869066, + -0.11722642900562445, + -0.0010242627417211107, + -0.048842067349968, + 0.05123353343627028, + -0.011694975665225127, + -0.09832174046762918, + -0.03183373301635716, + 0.1250538876765535, + 0.018245805839596167, + 0.007778426006575864, + -0.07855861369289437, + -0.17615306704842518, + -0.05816338935132447 + ], + [ + 0.002058541742407363, + 0.10083429910306381, + 0.016608482411292716, + 0.007165399369516941, + 0.19606923128616827, + 0.012497549943464288, + 0.033041453719470225, + -0.10882623464907422, + 0.023607637934916454, + 0.016815263017671864, + -0.10850961469256937, + -0.10842419024595179, + 0.0028611084340428765, + -0.07040501881664772, + -0.021698353686435315, + -0.0912617445782265, + 0.04759445566568845, + 0.05502284528613041, + -0.021225933781155427, + -0.1269978622874593, + 0.04848767853693607, + -0.0870316209604217, + -0.059985992916950344, + -0.05775150377336765, + -0.054451846705907116, + -0.07693805519780746, + -0.01864130212134172, + 0.1701289600782943, + 0.08016138108447972, + 0.0369407642959805, + 0.17088346496401066, + -0.10209798504065802, + 0.14026914264083623, + -0.03999891025828599, + -0.10357743282596582, + -0.09084052412557016, + 0.09479517457685124, + 0.06363955188667994, + 0.108794272728533, + -0.04568462994613273, + 0.011801116455291392, + 0.20039290553946074, + -0.04841366318998324, + -0.16771528772317942, + 0.08214371483267632, + -0.06515532337366625, + -0.04313856342547379, + -0.18957666746685328, + -0.021056889208307047, + -0.15716343586888834, + -0.01538852243951414, + -0.00784818581581035, + -0.17066436871754784, + 0.028323071612529227, + -0.10461407607652375, + 0.19635585249758816, + 0.10535547155133447, + -0.014665736316347757, + -0.005889431820521227, + 0.004991662065560344, + -0.11581451921421938, + 0.1282317094824554, + -0.08495829952474013, + -0.05301894162664467, + -0.047382034333376996, + -0.14450016749794906, + 0.026412904858874566, + 0.11064038574532715, + -0.003179464276242542, + 0.04991520117698666, + 0.10309869085009865, + -0.11490894409494624, + -0.004601656985504362, + -0.15287863841559474, + 0.06368541263085815, + -0.02275485449331557, + 0.11024264799722155, + 0.08906000432915485, + 0.13093463697515628, + -0.023662505509652047, + -0.1712225858769898, + -0.08930432155652569, + -0.07113341743541614, + 0.20148628566622714, + 0.0999816818723364, + 0.1596879757258472, + 0.04691994263252195, + 0.058713166692502365, + -0.11773441743774535, + 0.057664699005008334, + -0.1387203308305105, + -0.033136329527727375, + -0.17228680628885157, + -0.09430904109014228, + -0.02965646650307623, + -0.09990631279991807, + 0.011161664955532374, + 0.1156481246899922, + 0.11695325411228061, + 0.25731388525477256 + ], + [ + 0.10770180136370584, + 0.042128532154682284, + -0.012883172971382814, + -0.015741728095068446, + -0.17306376275187826, + 0.06514386000826172, + -0.041846402110910244, + -0.05397370370698802, + 0.09961062398903443, + 0.11123550609865883, + -0.16556064796678444, + 0.18021803631000513, + 0.12733555405675384, + -0.04748611572490545, + -0.12937410437891875, + -0.00052780786035527, + -0.1530076708701336, + -0.04921747935333472, + 0.06435374901375117, + 0.1504486670057558, + 0.19392225834027102, + -0.10931642062629077, + 0.07307612406087718, + 0.06919876091897968, + 0.04597820053762677, + -0.039807746981822864, + 0.1949102830665817, + -0.18572230811142643, + 0.1529813826762333, + -0.1647377260841399, + -0.013432446129492171, + -0.08239089086332692, + -0.05968085226542137, + -0.06878076643649497, + 0.13157217229984447, + -0.03301352349953216, + -0.013031392449696306, + 0.16699478817691366, + -0.13105218311991207, + -0.0559817862669203, + -0.10351180321652316, + 0.1141838580351385, + -0.10138087947754837, + 0.038716438662627764, + 0.002071649126836852, + -0.09178927074220312, + 0.1418950706586687, + -0.14093372004917576, + -0.08389553758636814, + -0.04549781001376198, + -0.18042401507903472, + 0.15842275981155438, + -0.049140570601667787, + 0.10067931133717478, + -0.029331414587985334, + -0.017400048647185553, + -0.0796808970356976, + -0.09514275431583816, + -0.08449585216540824, + -0.004484486796687689, + 0.014623780409918644, + 0.11549806698299445, + -0.05959376481084862, + 0.1530238477553577, + -0.1074973085172406, + -0.1416253966729409, + -0.04780409677064557, + 0.026633600578385385, + 0.05704470978678754, + -0.05627313264526059, + -0.039443804904037136, + 0.0658138129984243, + 0.09567093018554111, + -0.01884083340028211, + 0.03750707338716495, + -0.1095722114166204, + -0.04370619138976297, + 0.10445459077969824, + 0.07067179114933332, + -0.1376869912921995, + 0.07989618697628946, + -0.040641760875539716, + -0.13015796714590802, + -0.006336328583750082, + -0.05496657772979465, + -0.08297727574375456, + 0.12309768498608778, + 0.08005563484436229, + 0.02413347349511799, + 0.13262289579569098, + 0.04993223059445024, + 0.034072034157453024, + 0.03114792753813878, + 0.14537308682069663, + 0.16901700630380062, + 0.036117213359575275, + 0.08396394342011483, + 0.16217893232063468, + -0.10548231842262792, + 0.0055084077698401715 + ], + [ + 0.09216358453322102, + -0.13107032609389394, + -0.11761446126709928, + 0.08603304516204598, + -0.0424327688148899, + 0.07883402567556534, + 0.10441833480334335, + -0.02259035656105478, + -0.16068613434331014, + -0.11906533662600348, + -0.027311365219234725, + 0.11424557485642212, + 0.01223083597150954, + 0.009780961039531376, + -0.003213865596608343, + -0.09904940349687161, + 0.06631138241209264, + 0.18189604852400398, + -0.07456461182457581, + 0.09027513867300703, + -0.013127886454307236, + -0.07470483462899918, + -0.032402480771618974, + -0.11684459222574863, + -0.00881797529370295, + 0.04337012341494398, + -0.023660440579931375, + -0.09665319597373455, + -0.29887006621231205, + -0.1239713206836666, + -0.01755563058656644, + 0.03550449872894893, + -0.18265717305373896, + -0.05848944822647763, + -0.06442952432812253, + -0.05222245598850087, + -0.11165806925436239, + 0.037945759923503075, + 0.009996947215926621, + -0.14561835671491047, + 0.01771643156780788, + -0.06955712317259291, + -0.06021217625789789, + -0.04666310641670801, + -0.07332799277605077, + -0.054869801077167865, + -0.1342605066287371, + 0.0525252954417017, + -0.07106015910508297, + -0.059232762966043406, + 0.0856072420302084, + 0.03281321805046871, + -0.04856249228958066, + -0.1831891899337318, + 0.09623819218082447, + -0.23629383387340586, + 0.0039820483169726445, + -0.1247167858336266, + 0.015602879022296347, + -0.033629315892673206, + 0.16654226278041717, + 0.0865328739330264, + 0.03750618965136365, + -0.09982861625954081, + -0.013350700218156064, + -0.014445825688753166, + -0.034139390598176104, + -0.03208454475792357, + -0.01226229652241127, + -0.032628226827506525, + 0.06826879008033908, + -0.0565071196206699, + -0.018583882091379973, + -0.14788286660726135, + 0.17122861563508993, + -0.06506454751279202, + -0.13217761970064268, + 0.04315761191650636, + 0.21640940188280722, + 0.07704782783017401, + 0.012529100000026877, + 0.07709026504522831, + 0.0033248523663824254, + 0.21304669575307436, + 0.15029892103055797, + 0.1016905432207735, + 0.10190305199690478, + -0.23000472925252113, + 0.08259568757292655, + 0.17357335824332434, + -0.02354453753643461, + -0.17784265999179766, + -0.04309054662464745, + -0.008610754879980765, + -0.025954882327790963, + 0.03608636423773891, + 0.07450540471482113, + 0.09939118255003662, + 0.0023793340009756964, + -0.06164074434529379 + ], + [ + 0.06821625915438685, + -0.07719732427444137, + -0.11761846403284561, + 0.26467549937513407, + 0.02067966769186116, + -0.04917567436375162, + -0.0665077111347309, + 0.06465027345252135, + -0.12855253625213645, + 0.03798884540233817, + 0.10046544324703229, + 0.03350174046415878, + 0.08392469631334297, + 0.11080553241266597, + 0.11062726807693854, + -0.07735481790178862, + -0.08872367984152761, + -0.16485776684013523, + -0.10707462837385102, + -0.03316286197369363, + 0.06469717524945208, + -0.14715047339933196, + 0.11925559138376636, + 0.027102966563263508, + -0.03467421333339574, + -0.13492205278232905, + 0.052146324735906156, + 0.033819700974994954, + 0.13050774245658492, + 0.09158993768863509, + -0.146990636213005, + -0.23426100636030484, + -0.07158761285636703, + -0.017584162157665596, + -0.13843775537441325, + 0.14207295796200675, + -0.005342672373507444, + -0.046407217733473526, + -0.07154180434727081, + -0.06750760616680605, + 0.11869712531787444, + -0.033838105467763224, + 0.11215189099632177, + -0.18687962906647784, + -0.054270374004200685, + 0.049177318759422196, + -0.01931927629634229, + -0.055520166818886885, + -0.07634694431359802, + 0.02296645818549289, + -0.0661703727084374, + -0.1448036505383992, + 0.09640722376584207, + -0.05938793569162676, + 0.025985974328017577, + -0.07160074027956286, + -0.052967392019999456, + -0.1197449526364757, + -0.11511931487103448, + -0.06131487509103314, + 0.19161206054960264, + 0.1655603825647531, + -0.11984426691183174, + 0.10203213550760115, + -0.10543884132144722, + -0.09072716764336308, + 0.15641449867173876, + -0.004442215160548096, + -0.0027971735016031666, + -0.02615400354563982, + -0.15040564334013568, + -0.09327429266810346, + -0.09862717781196222, + -0.14890168875058174, + -0.11808690230147084, + 0.014447729741089594, + 0.012187138014526524, + 0.03560938457089619, + -0.08002480170630608, + -0.11225275298437293, + -0.10445964858743015, + -0.16334976184111805, + -0.017317396763482106, + 0.010185650779185759, + -0.016496266684218, + 0.020455985483795232, + -0.07824101147979036, + -0.07039486658106774, + 0.13992925782133087, + -0.21787268188573655, + -0.11019455551867682, + 0.03615857913213545, + -0.035380367360779534, + -0.0913403328872401, + -0.013577682501706705, + 0.009457349038064071, + 0.0711081714385732, + -0.14849985759495551, + -0.0467594481550612, + -0.02024790254163629 + ], + [ + -0.003300772406228488, + 0.012853746761445458, + 0.035937365110438636, + 0.06727159873500649, + 0.10864048570517114, + 0.07256092181399189, + -0.01657867721500574, + 0.01214551899579944, + -0.0496440684481913, + -0.10416591325338187, + -0.009700427796424257, + -0.10722237626671619, + 0.0008878345146518419, + -0.15694803772333107, + 0.05397608475000349, + 0.05353039125174837, + -0.11287769109748146, + -0.05588589740043918, + -0.042407913225279814, + 0.18875937798813072, + -0.033355424561229946, + 0.25453675079599175, + -0.22556562897378077, + 0.04188559848456725, + 0.08434434586406978, + -0.11539909846272234, + -0.025897518384297127, + 0.09191748487393248, + -0.14127633115315283, + -0.21432510295523707, + -0.04732304250997497, + -0.027927210079945784, + -0.1444161721450327, + -0.044409003669266894, + 0.004355177644416284, + 0.1885786739497807, + -0.01564399415504152, + 0.15174128654316613, + -0.015835111738948065, + 0.011168529410886545, + 0.0036484481589942157, + -0.031050662131816214, + -0.024599136182917092, + 0.025734919971529654, + 0.08729199682407746, + 0.06270923785639963, + -0.039950246918353936, + -0.004417865803642342, + -0.052012669587303446, + 0.024546668336049692, + -0.003985895340904259, + -0.021613851857823982, + 0.04034776281381784, + 0.003052031132419281, + -0.03854981960801102, + -0.014670448822378586, + -0.014116708576499817, + 0.03668142433628768, + 0.024644304833531073, + 0.1820838701785168, + -0.010155850426413959, + 0.20740770212762003, + 0.12167639862442917, + -0.16860647542750734, + 0.02336300664813351, + -0.04316923328105799, + -0.03821238898555228, + -0.026482161413764912, + 0.05876498296194336, + 0.023331973456217136, + -0.023937578647416875, + -0.029967622897987906, + -0.09424087881781296, + 0.10552964261827547, + -0.06711871466974254, + 0.1191537400516311, + 0.08661008680312436, + 0.020605838089918962, + -0.10387930192994825, + -0.303117227703235, + 0.06789175355620665, + -0.0019123149424042994, + 0.0018169227903149369, + -0.06429417833151727, + -0.09950907894594462, + 0.09179697442647015, + -0.08157878229411987, + -0.0022104281101841183, + 0.14932528535627, + 0.1294247368355153, + 0.049561220567970965, + 0.0882225840286422, + 0.07684171923016234, + -0.026789431765617294, + -0.05767816674318172, + -0.09876173226561166, + 0.2974239879657006, + 0.055523493972196976, + 0.10816379355066173, + 0.24355132488055375 + ], + [ + -0.24873045054779055, + -0.1539905359932413, + -0.0008457404147878296, + 0.09992392053503572, + 0.05187820751944079, + 0.009339473816641651, + -0.08899248705751578, + -0.011286023285630062, + -0.018603484432865504, + -0.022380790864623478, + 0.00013554304661446837, + 0.0632721781854149, + -0.03394974298483286, + -0.02134323027681559, + -0.0021141623870487374, + -0.05513896736006865, + -0.11280060366164422, + 0.02653425577169521, + -0.02518025931969073, + 0.06396774037573917, + 0.23893505994952563, + 0.14438153275572416, + 0.026221563335364923, + -0.14466737368880453, + -0.04886208572955774, + -0.1298431939787803, + -0.05749366772878215, + -0.18382064131397044, + -0.12788058113014117, + -0.010108884090352092, + 0.03951235975163676, + 0.03139655023582996, + 0.12612648913331054, + 0.08498538592226645, + -0.004080781920596081, + 0.1289206803783409, + 0.24776770618986754, + -0.07817503821155863, + -0.018069089196500493, + -0.05062394462121584, + -0.11839715204436287, + -0.013752467335154187, + -0.15738495900457658, + 0.04483841827958994, + 0.09905710847637894, + -0.04379006192208246, + 0.025197786501130654, + 0.0006247325177857312, + 0.06927957129016268, + -0.03459412201972998, + -0.009284189369010085, + 0.033031315099510045, + 0.09644290241926935, + 0.08842811689864327, + 0.21215894309635908, + -0.04939619732615342, + 0.19185871152584838, + -0.07128156140245745, + 0.15113974524499768, + -0.013338591764058352, + -0.12470926629961386, + -0.08044660340229078, + -0.006290801170426178, + 0.026965216768834097, + -0.1443251709912345, + -0.06276656901034924, + 0.10838365872629059, + 0.12718980424772725, + -0.11531724670840258, + -0.05178088408182564, + -0.03442557673882975, + 0.07277945251459517, + 0.14453917383612766, + -0.12113037010415474, + -0.12885704465843745, + -0.02996386599722902, + -0.06139085585308893, + 0.10254619667554998, + -0.06459608848041576, + 0.20152392248602838, + -0.10185664257705723, + -0.01716018716828757, + -0.0006664040331125737, + -0.06948144069260681, + 0.009546066339569037, + 0.0002883194308650361, + -0.09463635194440388, + -0.123816626057104, + 0.12945725789645393, + -0.08087281703499305, + 0.13074269117900642, + -0.04203459084678898, + -0.009044336610575686, + 0.08846090403919855, + 0.024193035218839344, + 0.14445704739042237, + 0.004177996923696194, + 0.0068849629795512774, + 0.1022639112347104, + 0.2426679599299371 + ], + [ + 0.012482281207199358, + -0.06013858129745485, + 0.0465784149557116, + 0.03294007757909769, + 0.08905771103360334, + 0.0369232778393531, + 0.13908672232765945, + -0.02615863151615356, + 0.014022606447392127, + -0.12839318214600662, + 0.09594695313964392, + -0.0607479331449137, + 0.09140032199581456, + -0.09211801047782385, + -0.07220424100054004, + 0.0897883805090615, + -0.05027700456798663, + 0.013340220630818753, + 0.02739866359535569, + -0.052418058472266764, + 0.06273569508609358, + -0.07031185369258337, + 0.2371029884410286, + 0.08095635324470139, + 0.059772728865803856, + -0.1143949757399023, + -0.03350941965765419, + 0.005630497106562548, + 0.0968211995898956, + -0.18809040799374765, + -0.06300001182213644, + -0.00645746024021146, + -0.07606794246508788, + -0.10533368910201923, + -0.07399965140786599, + -0.10162163370057414, + 0.028300427674497124, + -0.17220149931954995, + -0.08607631909555213, + 0.14567734388836712, + -0.034748317466074055, + -0.09010585710641705, + -0.031685560967065, + 0.03658317982059015, + -0.005076263840182332, + -0.09966666310881937, + -0.09719074494446008, + -0.10398006965620542, + 0.06999614106136402, + 0.1612546433154902, + -0.047196037461052054, + -0.011471551000975858, + -0.205777370685407, + -0.07773710201016697, + -0.1559597101985259, + -0.18472931456652952, + 0.005564377767121458, + 0.15579196636101947, + -0.10135260880142907, + -0.11080887507934552, + -0.029696798414488863, + -0.03693716832196247, + 0.015154375933076388, + 0.019847545514828722, + -0.056801407167433135, + -0.10038232410566603, + 0.031153130350084716, + -0.14491828733167775, + -0.30706093689234903, + 0.09017335852593616, + -0.009352087140626, + -0.05384054797808102, + 0.21516825041447665, + 0.10838631469287341, + 0.06262060388599798, + 0.18116334856618205, + -0.10595388091303712, + -0.018305536187623896, + -0.07628516444676622, + 0.04046178720151623, + 0.11310350168511057, + -0.014612996400890777, + -0.012017860720510993, + 0.15748421335852453, + -0.1425186215474064, + 0.12438269113622237, + -0.17822688267068, + 0.050146870800078146, + -0.12997692559180932, + -0.03954197366639801, + 0.11517036503137096, + -0.11954726368054723, + -0.08773141529176132, + 0.025343007765408876, + -0.02443131079447532, + 0.051283891982233855, + 0.08452787353257304, + -0.022642291770081816, + 0.05845383056360111, + 0.06998338462212263 + ], + [ + -0.07324823419771236, + 0.16550927393278012, + 0.16450421745652893, + -0.05233285393235979, + 0.07979376221267123, + -0.021040421407055365, + 0.004724564966415877, + 0.05569392564659427, + -0.028306908295564676, + 0.0441375412526111, + 0.1754892279903456, + 0.1342028182230358, + -0.09011578081398522, + -0.11956783916632856, + 0.023093346448681933, + 0.060299764520459244, + 0.09370001179716793, + 0.1362277336294546, + -0.19637739114096164, + 0.07084100791017035, + 0.14094221229954862, + 0.07727308242051897, + 0.18172259965128257, + 0.15092968452784444, + -0.03259009162033069, + -0.07239888149273499, + 0.15503635715793598, + -0.0280491715378004, + 0.027002853586867014, + -0.007928829442974454, + 0.04760852743695618, + -0.10987720880429983, + -0.003164154736204268, + -0.0037680996187464165, + -0.004394348725405266, + 0.030775909915005083, + 0.10807876952110465, + 0.049588819040269516, + -0.02713178587375222, + -0.06409274806843432, + -0.0537955262601045, + 0.13043179075852704, + 0.010695037889454194, + -0.03682421350739347, + -0.06542126106460794, + -0.04342959032502017, + -0.11876126968661643, + -0.14084045497201347, + -0.11781336878714094, + -0.06361242237564066, + 0.14444927955373135, + -0.004529274594863769, + 0.0316500764407747, + -0.2272795600838295, + -0.012162101001082691, + -0.017532842265868164, + -0.2757016607289756, + 0.09534457808591018, + -0.0014067275995885413, + 0.05580088681750844, + -0.021072089957155482, + -0.12581514058695903, + 0.07929456818440674, + -0.021199716321702096, + 0.020256073548540705, + 0.03442566419885791, + 0.22080733226176086, + 0.06182015288485188, + 0.1524011468413956, + -0.003466291715092584, + 0.00960334637509083, + 0.08245448421406136, + -0.0792912865318111, + 0.10426123370429026, + 0.021060552110617966, + -0.07100849726010912, + 0.10463552640659403, + -0.18873868069242036, + 0.019506799478405282, + 0.09777113559068443, + 0.10019657714634017, + -0.05287347817973206, + -0.1294474962212039, + -0.17034845543366026, + 0.1146052202489448, + 0.07509009152428513, + 0.11145031036718876, + -0.01711506866143113, + 0.059636246789533005, + -0.02850120199956457, + 0.08449739891584375, + -0.22017595302202853, + -0.13200433927525593, + 0.07169876616468168, + 0.03523214901544672, + -0.05259619898011884, + 0.0737540051730596, + -0.10812806018607753, + 0.09322494907446072, + 0.0002750696941393529 + ], + [ + 0.20367194863595836, + -0.20592839166049534, + 0.14240079381977325, + 0.26458167206235683, + -0.024447817422057722, + -0.04093801744992675, + -0.03329202355433989, + -0.006634856461533637, + 0.06282476075362263, + -0.04017500528654876, + -0.10376988532163335, + -0.028668791278650445, + -0.13310377535301585, + -0.10937292340411159, + 0.16316548855541593, + 0.1300143412413902, + -0.08728178154189176, + 0.027703647681542865, + -0.0859747484615795, + -0.14205657514239772, + 0.037539201106275434, + -0.13590006747790126, + 0.007473441994617469, + -0.031130206072704118, + 0.12439409181952842, + 0.15455727277240847, + 0.05308968599872689, + -0.010858304695855197, + 0.06189374834092123, + -0.02777555647045875, + 0.08402611301956216, + 0.10102344258189166, + -0.0864144956886619, + -0.03691143388307832, + -0.049902189653993054, + -0.04488975284357773, + 0.16632309663773368, + -0.10449061384296097, + -0.05565747509537407, + 0.04612903370385393, + -0.107469521991618, + -0.03918995708610245, + -0.03297634869632014, + 0.025388847659949976, + -0.07662925595398895, + 0.06877133714977578, + -0.08646291547387046, + -0.08516472390472467, + -0.11573397671555173, + -0.008596345469388858, + 0.1561817251719619, + 0.0065128554080370405, + -0.056229014333211355, + -0.008175545267897532, + 0.17376134685531716, + -0.08817103245086289, + 0.11416117727988345, + 0.09969754912743661, + 0.15953242345429103, + -0.08439894153685508, + 0.04133270780997419, + 0.10094266887071555, + -0.021858301937689787, + -0.1233815140164151, + -0.04845069345407673, + 0.031622141730157566, + 0.05326617910959319, + -0.05504061768962518, + 0.12829096703049492, + -0.06355647932011736, + -0.1003429057964097, + 0.023999385522669114, + -0.000607480965515495, + -0.08338437493542361, + -0.027409664714806055, + 0.07921778669350263, + 0.0949408010585009, + -0.09108437314504365, + 0.016981230759055072, + -0.11479876341486245, + -0.1846766951680529, + 0.19070040541792715, + -0.1635082348123509, + -0.11612271404782523, + -0.050514995764562025, + -0.19058918768154812, + 0.053261534377077896, + 0.22922190820342078, + -0.1192922552460674, + 0.01463173122255386, + 0.028386528783161655, + -0.09857047758093519, + 0.08071608555433543, + 0.0197606097394085, + -0.05698537776499559, + -0.10096052325758718, + -0.085942894728937, + 0.07345280043718093, + -0.044584142788806604, + 0.036641373369631906 + ], + [ + 0.07054823533015188, + -0.04930489096264393, + 0.03731771938260597, + -0.05034949869427583, + 0.12091895223237153, + -0.010712638718426874, + -0.03202403110601312, + 0.17224427452265761, + 0.026879441578155226, + -0.11621365470726737, + 0.21364997290455226, + 0.11654974057121921, + 0.04037024472067572, + 0.10322662304060276, + -0.03048954267782701, + -0.027455744503730915, + -0.15920805338595753, + -0.025625587126330174, + 0.18473435479964256, + 0.0023878066535012988, + -0.03280801003765325, + -0.1162452178820995, + -0.2101098789150997, + 0.08231551205692135, + -0.018307124531222192, + 0.08780563528372952, + 0.06602049762375432, + -0.024861616168774758, + -0.13038392767977736, + -0.02141507984895956, + -0.0316560745003987, + -0.18135718953866806, + 0.048996515526385474, + 0.04580899616445641, + -0.04210846352932278, + -0.256856511904333, + -0.09147694253362577, + -0.11988579237867604, + 0.08200443103999845, + -0.0353054774117739, + -0.016570619049673104, + 0.03839698715060473, + 0.11560966416573201, + -0.023027929732997825, + -0.05146469417729481, + -0.04676821518201889, + -0.12706005025036918, + -0.1714822250241756, + -0.005696930271785352, + 0.0351199051832763, + 0.025108369888643924, + 0.07068574905744435, + 0.06058398536592031, + 0.11855169687651677, + -0.010676645173603058, + 0.06326249736886373, + 0.026380633616978733, + 0.07815904160683806, + 0.009540886811882946, + 0.09525497348630813, + -0.03955293193877487, + 0.0068205286037603275, + 0.020197164885820837, + -0.027612041007306895, + -0.13948551945817522, + 0.20315021570768074, + 0.013773991661613586, + 0.06344925510120575, + 0.057062254092881404, + -0.049598924335080986, + -0.021170738516323374, + 0.08915331628949878, + -0.07466928817446596, + -0.05145689699024258, + -0.012874624607521616, + 0.1675795732347865, + -0.14700777613267357, + 0.0006775395873406763, + 0.08102410751822164, + 0.18619385762036586, + -0.12342444213173487, + -0.15022479606986167, + -0.014005616617929375, + 0.019718233129542587, + -0.3042763240596645, + -0.001442446526431874, + 0.08140159622112765, + 0.12384252865720137, + 0.1435072448699366, + 0.149637375834927, + -0.06261671065362279, + -0.03663675593145021, + 0.08856094336670443, + 0.062390377010613306, + 0.1253538493033669, + 0.039777718494959126, + 0.08181640447170672, + -0.07515883003331873, + 0.1679856949640539, + 0.012769089364334657 + ], + [ + -0.11391879235644395, + -0.04838799083276399, + 0.0387732189090769, + -0.1216456546760628, + 0.1134875134286036, + -0.14579735030084573, + 0.07902170846933206, + 0.19243971708613294, + 0.10400068793901308, + 0.01183557081861046, + 0.09035435446824663, + 0.08632442779196581, + 0.04414346764504751, + 0.12904768996269256, + -0.03281046113419271, + 0.06264644808469573, + -0.002235962167644106, + 0.04726262301331124, + -0.021018722164785786, + 0.1108221348476143, + -0.11067854173649418, + 0.08295127970143917, + 0.14717274888913554, + -0.18283316516057432, + -0.1462524579975829, + 0.06368754844541082, + 0.07650650081594294, + 0.21290907220909638, + -0.1361728759186463, + 0.013322763381767274, + 0.0778036698205819, + 0.10549501778811682, + -0.03803657423003056, + 0.06851135726597771, + -0.14000374120282666, + -0.040977953049328435, + -0.0902881571831397, + 0.19657305270767014, + -0.1557815721398491, + -0.022349179188480933, + -0.08382617466171932, + -0.036627674736264625, + 0.1331665678029205, + 0.28957966012987757, + -0.06923308169813053, + 0.007822738758716362, + -0.031173997427539006, + -0.16683338673262435, + -0.08245596123725607, + 0.053009242344428796, + -0.025119733778131818, + 0.03251099321602562, + -0.11538509811262238, + 0.16590207570233792, + -0.16923215656558652, + -0.1109707988493619, + 0.05111799093109486, + -0.03761059797836907, + 0.0688236258285114, + 0.013363150699074473, + 0.04722435798319492, + 0.07198420715374276, + -0.08812729566077601, + -0.04025658608045796, + -0.1579343863213947, + -0.1153365114106028, + 0.03191699346016437, + 0.11316389486789709, + -0.11328657295475679, + 0.06498462247495876, + 0.002246783734552212, + -0.033683705112747334, + -0.11133860362680195, + -0.027340116854928355, + 0.005059722499188125, + -0.22959002317111868, + -0.05291552367309945, + 0.018138827373884142, + -0.11840105006124933, + -0.09090968139057243, + -0.04743034566781913, + -0.0330191382539737, + 0.028409300930972808, + -0.09524370914791239, + -0.016093645256148665, + -0.16126478100549946, + -0.03674273201433721, + 0.008195470480583191, + 0.0010652853553996095, + -0.07911295427787275, + -0.0705468197106592, + -0.17340032511538037, + -0.004831339525975024, + -0.02867547217758891, + -0.11088688447057674, + -0.06794675283891, + -0.03979299958471051, + 0.07657366767304706, + -0.08579331498923748, + 0.03630031728728428 + ], + [ + -0.010839887013159369, + 0.049595733940424526, + -0.024505781647041792, + -0.12653337807253529, + 0.14706807532732194, + 0.15259378910226903, + -0.14414595875257313, + 0.23081684991611054, + 0.010485421693398935, + 0.023116284820513016, + 0.02858744741580812, + -0.006790264942244813, + -0.05229780191416926, + -0.11539518430281376, + 0.0967483845159755, + 0.0006923899740412432, + -0.10218059803292243, + -0.08304720494277532, + 0.006989882504535703, + 0.000759084167568771, + 0.12459921121963391, + 0.06344643468137416, + 0.00445026655873329, + -0.20606881290798632, + 0.02180438484276103, + 0.10147708485188639, + -0.07156665991437314, + -0.006684794770061612, + 0.13825606436753154, + 0.07365629659146813, + -0.14028591638532323, + -0.0505506157562515, + -0.045557597835100605, + 0.13805659000971177, + 0.22397677560451804, + -0.010149439516130582, + 0.0417559976422519, + -0.10257945927686987, + 0.17414842855653842, + -0.09951970058887785, + -0.23278852128953537, + -0.05467941918727268, + 0.026259964920568885, + -0.09345029283118095, + 0.16869842710479108, + -0.058591358911976414, + -0.06752174943011127, + -0.021274980244073118, + 0.03412366152606923, + 0.11842310568340413, + -0.051331639453855556, + -0.06206505312715503, + -0.0012669781999014036, + 0.058519347346818094, + 0.06354707087661975, + -0.11902328749685043, + -0.08454964602624193, + -0.048674343558650086, + -0.06834110932625287, + -0.04506996961979222, + 0.12562260512365847, + -0.09947923290570525, + -0.012265631117700472, + 0.05391756506480683, + -0.12836950322617793, + -0.00489325196768151, + -0.11067797441351009, + 0.10595227251053312, + 0.012250645585414131, + 0.0561608655121543, + -0.10125556963023791, + -0.09667833189245516, + -0.08229714061205082, + -0.06260396489213985, + -0.02931044509650764, + 0.07062590346019158, + -0.05621071067203766, + -0.11029815950003294, + 0.20118026309918238, + -0.14710818612008345, + 0.17954153727555092, + -0.013064623292604055, + 0.17812312682292267, + -0.018473986860180883, + 0.00396937186450192, + 0.13150248320354327, + 0.0852651991403094, + 0.05629123080432943, + -0.07128237966224654, + 0.026667408426325128, + 0.05319457256482381, + -0.10647619000065286, + -0.0668050592587389, + -0.042196205478760684, + -0.19871809972276863, + -0.11925869000499585, + -0.13059664785178282, + 0.17192619488608757, + -0.03846715103384224, + -0.005177729695421984 + ], + [ + -0.016156182294264233, + 0.2060300088448208, + -0.11440394494796807, + 0.13463239836866744, + 0.058178721539847364, + -0.13587816353005255, + 0.02975030661247751, + -0.054453394548924824, + -0.18197109427948607, + 0.06218212527575737, + 0.05165418667980677, + -0.05291007423683743, + 0.05434486175342098, + 0.0607152238933945, + 0.055281764257315215, + -0.1158099401772354, + 0.06614218484288768, + -0.05932770730625776, + -0.061147290585649355, + -0.07583424859064525, + 0.10793182669857347, + -0.0498799582342655, + -0.013572099478365149, + -0.16183303134670152, + -0.03360600485214938, + 0.19402010493625327, + 0.02003433248461253, + 0.11917969310687007, + 0.004424611403892596, + -0.01689039817141673, + -0.021416732176577958, + -0.059252847642606486, + -0.0209999313830791, + 0.008308716579391594, + -0.14686471716344357, + 0.0011257921196704114, + 0.05710860359258894, + -0.1339360447239652, + 0.04969598262467278, + 0.10230502485677548, + -0.2262752301984875, + 0.01966752723083559, + -0.12582800265886782, + -0.10945725863266262, + 0.018122264614700373, + 0.02051738055175318, + 0.016107385231795817, + -0.05614106939393829, + 0.07782309693567406, + -0.15779873426673963, + -0.013637390313565676, + 0.09628508384332422, + 0.027642472380156536, + -0.07454757477904352, + -0.058729100209764545, + 0.04880057577642802, + 0.14487243217282933, + 0.11327110908712398, + -0.02959464783745844, + 0.011502913987213743, + -0.03296955518506338, + 0.14015478860415462, + -0.013077927652778529, + 0.11711599077924319, + 0.014061442076515994, + -0.07837115883888063, + -0.11002305968139063, + 0.1561847012361278, + -0.037535623261134646, + 0.024845342001290276, + 0.015964135840355952, + 0.09440332081437719, + -0.037532465989525664, + 0.2820579136545566, + 0.01780924981165168, + -0.11889482511622164, + -0.10735696627425378, + -0.07265782255122513, + -0.12572707884024223, + -0.06956151803972982, + 0.07653950025084491, + 0.25437968076585693, + 0.01687680454395455, + 0.09420660615477994, + -0.16972913373162032, + -0.097590718490796, + 0.08666602852126568, + -0.07477183562131502, + 0.26155513404691794, + 0.07705884700616429, + 0.17973615735609946, + -0.031420535671031986, + -0.024992078417539948, + 0.03378561203457963, + 0.02614345958666291, + -0.0968985007561455, + -0.019990988474186223, + -0.051422714525916575, + 0.003780319043579618, + -0.12994698968687907 + ], + [ + -0.020963907410457335, + 0.03824044249593507, + 0.13583977664564292, + -0.12579745137777215, + 0.02940495442479247, + 0.009730438719287974, + 0.12057910388241515, + -0.06870706594426941, + -0.11578479168955949, + -0.11091024300550016, + 0.08906645702874838, + -0.19815696399761273, + -0.0360569174351659, + 0.1271780197945722, + 0.09387685028233417, + -0.026881485454510936, + 0.07827536749640213, + 0.15257775509539712, + 0.06690572144290449, + 0.07013426862010695, + 0.30233001965669976, + -0.08445946638244765, + -0.08585900853903608, + 0.10473543842050682, + 0.003933198846518721, + 0.08721178959408944, + -0.07480105520732383, + 0.010874104649006658, + 0.10758953258480833, + 0.018675594830014665, + -0.07330375121398729, + 0.07185837548548354, + 0.0634196664850238, + 0.024897016251800012, + -0.03916914306880998, + -0.040898897138242796, + -0.06496647715290103, + 0.05888026879453671, + -0.0758383187980179, + -0.04606070666677734, + 0.008780200008290488, + 0.07931222355566364, + 0.05032633824461087, + 0.12171962886226016, + 0.04307515208183225, + -0.24995280158831398, + -0.06951550261961964, + -0.0252693740515715, + -0.030394845857445996, + 0.04162460928055493, + 0.16524318445720937, + -0.17679603800897323, + 0.13726640857604572, + 0.012730495913901348, + 0.07541342529040718, + 0.15036468064778055, + 0.10916992807655097, + -0.1254070657039194, + 0.04589666483757082, + -0.1207683226227966, + 0.0807811896210471, + -0.00840653565650212, + -0.16343533801355564, + -0.13765228438620586, + 0.14437902397490698, + -0.00995834192399958, + 0.08306186832143554, + -0.07374745779241229, + -0.08953781649642585, + -0.04375427750076847, + -0.1669676336018187, + 0.06482131131730295, + 0.1327818448743117, + -0.016419355129127615, + 0.11909167405466968, + 0.03254918446100115, + -0.03897997089941291, + -0.0013011772460659614, + -0.006232264131569965, + -0.2417314039754113, + -0.020373369679725008, + -0.11372353169390968, + 0.14869431928825497, + -0.08336495066567094, + -0.0693714343357843, + -0.0673594210658717, + 0.015600593330438086, + -0.13039770466744036, + 0.05138299416190586, + -0.014267028090665296, + 0.05640571410340377, + 0.01804245312219084, + -0.06920064029983407, + 0.06494429569213092, + 0.19490705929952945, + -0.11769275519789782, + 0.027673884939904855, + 0.1401710213439116, + -0.054362751852775434, + -0.046552835198234506 + ], + [ + -0.0430697453756504, + -0.03956897399789692, + 0.06701650843804685, + 0.07440443287412364, + 0.03510727774816777, + -0.07408843689854146, + -0.15376253559767922, + -0.005002125509016226, + 0.07573779869434397, + -0.07788915682585736, + -0.08530209715919564, + -0.015709056681843213, + -0.006051684423353012, + 0.09867863340760565, + -0.0043321674171942015, + 0.08553972682900561, + 0.08835375169474577, + -0.17342572358994798, + -0.057331765323422566, + -0.09184151749914873, + 0.0737450542301781, + 0.013688354979848459, + 0.14207641611245211, + -0.06944721934253467, + 0.03980438732560418, + 0.1434062726193008, + 0.03608937854617418, + -0.13157088655373522, + 0.12953585838958906, + 0.07034597203502374, + 0.0907711892932239, + -0.0907048882465562, + -0.2850879951319073, + 0.12663239395635098, + 0.07612448122508769, + -0.021587556266982274, + -0.04633215938036121, + 0.005099700009295685, + 0.14746655919721646, + 0.009991276663239639, + 0.07180728609969719, + 0.011359639351189952, + -0.11448154755276138, + 0.11134524826144555, + -0.024878987501820108, + -0.16181170597653907, + 0.037592900150714516, + 0.20830402059903158, + -0.2336280380390533, + 0.01827149572205813, + -0.0005377411936655115, + -0.12842945568938707, + 0.10151164407883184, + 0.1229954318864134, + -0.17931387752170092, + -0.04294312213242471, + 0.10169826644027075, + -0.07086456565889739, + 0.06956456845794268, + -0.014865342303200012, + -0.10543348492792885, + -0.028591442112747244, + 0.05806814706413282, + -0.1032172173039233, + 0.04557905124527688, + -0.1284071120221763, + -0.06120436770559971, + -0.02313033290494234, + 0.02549723933559914, + -0.045984511760586766, + 0.16654017559580697, + 0.06423936087063843, + -0.17722527264627075, + 0.09463976098590679, + 0.04198916830208533, + -0.008956611926338443, + -0.003286712640288204, + -0.01957956828031653, + -0.019279807773944634, + 0.03015812115789396, + -0.11910791180489304, + -0.19967966731804224, + 0.05536732089793964, + 0.16277480879883835, + 0.0532377019273149, + 0.024240503605847265, + -0.009349238060084726, + 0.07735993946558149, + 0.0026839229127914787, + -0.0014865923823138177, + 0.20714390062488278, + -0.13566132211354104, + 0.04391519371444023, + -0.1570557238411637, + 0.11767962484747124, + 0.05929991065153095, + 0.16930286229694416, + -0.00812948004643553, + 0.1455578699426406, + -0.06040817699373696 + ], + [ + 0.10309846996547739, + 0.08814532956081425, + -0.015489924557593064, + -0.06572943187025154, + 0.1068298182751398, + -0.03039517775709797, + 0.15021485427248138, + -0.025689989102013103, + 0.07142621915563167, + -0.034804290809199355, + 0.0915616223251421, + -0.13160647725388655, + 0.017526059457755563, + 0.10752295742017229, + 0.010970403729932375, + 0.0635273563414187, + -0.07537811511534716, + 0.04105202605352963, + -0.02205177584064662, + -0.05817001209605504, + -0.18829880047950992, + -0.14813603981173165, + 0.11629988514192104, + -0.006880678193387796, + 0.08873836998735, + 0.07645858422509204, + 0.33955900249140686, + -0.12694698704089752, + -0.12837137624331071, + 0.09980086276006125, + -0.02935386788847608, + -0.16256705931507956, + 0.041215582592944645, + 0.10171389816075414, + 0.10743326063169281, + 0.1520730487859544, + -0.01831180599234832, + 0.05595845559241161, + -0.07970216244524644, + -0.1378181471687595, + 0.004114154255811139, + -0.02610319157320443, + -0.2676584584136101, + 0.03069054109927033, + 0.03359607317356351, + -0.03491514310039945, + -0.011160692168075288, + -0.01226151518685114, + 0.06643029872819002, + -0.04254959651524525, + 0.0945044523784871, + 0.13349185165116487, + 0.1671576538967647, + -0.015404630510843164, + 0.0858504853135961, + 0.005021910902268577, + -0.019866989115631506, + 0.08008607752482672, + 0.18453632113677476, + 0.04379639181861647, + -0.08986266646505482, + 0.04954603945844328, + 0.15209445338185734, + -0.133721307304476, + -0.11044389975287658, + -0.13829226415218226, + -0.0011508094527424501, + 0.13471345868114312, + -0.029277975145812648, + 0.1874215867264778, + -0.050191917384926434, + -0.18060890862949933, + 0.17938652693183946, + -0.01613446525422806, + 0.027003416838456473, + 0.1063184669719708, + 0.06191536305492092, + -0.04454165595743052, + 0.007177844580596722, + -0.03788907460814457, + -0.00796143128343907, + 0.018548514215529964, + 0.15072608408534804, + 0.029939431992724426, + 0.016348005512810668, + 0.04365725245906244, + -0.03378472230176244, + 0.0704660698263828, + 0.010647416881605596, + -0.1102828417917447, + -0.06890925263914847, + 0.15214694806246126, + -0.09019494735656304, + -0.004265011686441186, + -0.020755479541051752, + 0.07899664728956698, + 0.0573383235114307, + 0.06700256799016538, + -0.04613769335152459, + -0.16876658608813366 + ], + [ + -0.015866036615336348, + 0.04193102160035256, + 0.06729020665641779, + 0.1682627188153168, + 0.07040441155537437, + -0.17127758776613844, + -0.10799552838584625, + 0.09042762656650019, + 0.02748092898123131, + 0.05898055809451485, + -0.11966066826900039, + 0.1652597423802572, + 0.15336954256539345, + 0.04080812110735821, + 0.019503573614229767, + -0.09235475031566517, + -0.06920869349449622, + 0.08738542859985725, + -0.018816896900573626, + 0.15433684281874574, + -0.002018260156635057, + 0.011499464049271026, + 0.09940316798817653, + 0.14695795319173557, + 0.02301803515461253, + 0.1361469852562173, + 0.08160359931499062, + 0.10180261645961465, + 0.03263106810273381, + -0.08803089943956874, + 0.1906692348711754, + 0.15301937817725503, + -0.09113213446505558, + 0.12031241029302457, + -0.044604517332234576, + 0.16738697717638965, + 0.026747442804991146, + -0.014401530015870386, + 0.1310168666469954, + 0.10267377419214971, + 0.07891354574510905, + 0.04267696440235759, + 0.17278403461040118, + -0.04665394537342694, + 0.07810869930389676, + -0.026157836719492383, + 0.07355093496312178, + -0.12280505877838556, + 0.03619630175020026, + -0.009244440695005829, + -0.05264223248037862, + -0.08867397476220991, + -0.08501430898426479, + 0.05104549990454597, + 0.13031441549006934, + 0.11297933393150965, + 0.14389270157400394, + -0.08611755961576109, + 0.03447956517368035, + 0.002813032568492342, + -0.052802159128006114, + 0.0668257230213746, + 0.023528009137624702, + -0.09004114691941521, + 0.10115233009285798, + 0.05102712432477226, + 0.014923051368699819, + -0.05122664202887615, + -0.07072452431606421, + 0.15090408429507476, + 0.1200174312689664, + -0.16091650734373913, + 0.15136535992029498, + -0.16116352702481865, + -0.05317296556371875, + 0.06330111157776958, + -0.11739652776103492, + -0.2291243561196546, + 0.11959314437902085, + 0.07905026343013119, + 0.12346495072617128, + -0.09543724889826519, + -0.021509395147075398, + -0.07916824786536221, + -0.07557806104582465, + 0.057702873620658096, + 0.09266277606086828, + -0.10349568516632097, + -0.05413970201569611, + 0.07308296522001659, + 0.1378862369250961, + 0.14687965793859423, + -0.02602037619624397, + 0.043738586175516986, + -0.1440678674130759, + 0.005940503702014895, + 0.11715143909320823, + -0.06802294306084586, + -0.03859302309436582, + -0.18640277834498103 + ], + [ + -0.2971243459753007, + 0.015727335742730754, + -0.15450369522265728, + -0.029184694061274524, + -0.09397081946782761, + 0.01917328872665721, + -0.10078635960772779, + -0.030267356232292326, + 0.07769417430437064, + 0.059880860221333196, + 0.11130032321565451, + -0.04264541330262291, + -0.017760487500288823, + 0.15659102673694397, + 0.060029906731225886, + -0.12037261886166685, + -0.041297519419034624, + -0.05876559076248932, + -0.10785903384942987, + -0.20634306938149963, + -0.0032847867175920024, + 0.01876309231680424, + -0.00635659541831743, + 0.04884653110204889, + -0.046876631823698604, + 0.0551488705233504, + -0.1330562356465859, + 0.04459611529395678, + 0.05167020728234153, + -0.09950100735497976, + 0.03563843272832011, + 0.04022056442712194, + -0.169376865794975, + -0.03881074196026708, + -0.01547275905674218, + 0.07839640943690218, + -0.1705684553047113, + 0.0801286653247202, + -0.1190467841367479, + 0.034864376676652396, + -0.07463181525021659, + 0.15582621130236865, + 0.15141012675399043, + -0.023181754017672803, + 0.04744881827689677, + -0.1978484704371158, + -0.06313395486926167, + 0.024113004743352283, + 0.07445461327843701, + -0.009974519464456967, + 0.13357259071267916, + 0.1386592621122376, + -0.07632947615587066, + -0.005148463535266107, + -0.02313702487774025, + -0.11728788577309393, + -0.021103747160460647, + -0.050204315572017204, + 0.10844549620419415, + 0.19123766045005747, + 0.044590760215060275, + 0.1051496008829008, + 0.02155279082008547, + 0.07353310256755252, + -0.17739467551585186, + 0.06266058799944228, + 0.044599612706422834, + 0.11821014025188507, + 0.14358259928369763, + -0.013112114563642042, + -0.1062054156083271, + -0.04305168581990952, + 0.13749486707205896, + 0.010223656370671854, + 0.024349138198034748, + 0.2922689181032789, + -0.03623431257022922, + -0.001632893739394621, + -0.09403678499644931, + 0.036110373861915825, + -0.06437627795409503, + 0.016449872124348938, + -0.11122201323334348, + -0.010109238236701313, + 0.2261488399141221, + 0.028238443552477253, + -0.09377012334022568, + 0.04155756993155182, + -0.13383116924802552, + 0.16699713883590372, + 0.12735326316834786, + 0.08769941161506051, + -0.025264814577280567, + -0.04055949718739578, + 0.1047805289133099, + -0.05796038552244484, + -0.06974945787866971, + -0.003756731415429288, + -0.02085526719873067, + -0.06768697060493895 + ], + [ + 0.05617914460184719, + 0.1931347538733567, + -0.06575762694741605, + -0.08784304122971001, + 0.16954714092241083, + 0.22825959749414465, + -0.09437327651981367, + -0.09013257083635219, + 0.037558063600868434, + -0.19109911242406705, + -0.06806833192173585, + 0.07064201279387378, + 0.052105332216506865, + -0.023644057315188385, + 0.08962280788545293, + 0.01875265200991567, + 0.028821638366276412, + -0.13188053817566292, + 0.15928240215567124, + -0.179504042594718, + 0.07820943659533981, + 0.024733298689853127, + 0.03985794079666227, + 0.21903409975442964, + -0.06918487729783045, + 0.02862675175157655, + 0.11088653006470871, + 0.041612330252201374, + 0.010437818392859453, + 0.06286948008013112, + 0.03904332093981252, + 0.03856859018289319, + -0.059452266359439655, + -0.03365371794519271, + 0.03337750429210075, + 0.10550724228638768, + 0.0030803603778250606, + 0.20409457403414533, + -0.07032481135573937, + 0.021226767124239487, + -0.09735222628614172, + -0.17162935556989245, + 0.057525478270510993, + -0.08920561492433997, + 0.051395644808438966, + 0.19592545531174493, + -0.12119601563996928, + -0.011844038895580573, + -0.017925546022064857, + -0.017776162865248007, + -0.05007449791689753, + -0.1628463466594652, + 0.04933160346867006, + 0.07965120345703319, + 0.09437639878575901, + 0.060428341543666324, + -0.028905700641114675, + 0.07632763951367487, + 0.09242897542828328, + -0.056343116663918495, + 0.0727929417449646, + 0.050524674034570796, + 0.024277347635795966, + 0.11785801453467196, + 0.054352336775835744, + -0.03718866768661028, + -0.033511732128420416, + 0.023110391432465578, + -0.18383156582548227, + -0.006095117079538683, + 0.08991118117317504, + 0.038240309194570284, + 0.0315644752136082, + 0.07431608845389412, + 0.21028792994902892, + 0.11745655765027074, + -0.24873522571456638, + -0.03134453435809179, + -0.0138081611916243, + 0.15282160727517977, + -0.14898182085920797, + 0.030288850661485456, + -0.09381942698656964, + -0.10299033864897413, + 0.21125754619323056, + -0.14850013220070715, + 0.02899014507365575, + -0.036202181797128655, + 0.1180792962483196, + -0.028244119650422554, + -0.07581126893328338, + -0.08598342826743052, + 0.09844243030373356, + -0.011253241463633669, + -0.06558204653699276, + 0.0028630297811518823, + 0.05264472110041212, + 0.07644928635685978, + -0.046067097516809916, + 0.07381812918906057 + ], + [ + -0.0959524852423217, + -0.03419263946092623, + 0.1129614516750569, + 0.02831270233577221, + 0.08616829596137934, + 0.06660068009801963, + -0.04149218057870406, + 0.01898068363510058, + -0.009058900725779, + -0.06456810307242487, + 0.009648958783165107, + -0.08898133990257365, + -0.06736647939921836, + -0.017867474598357948, + -0.07341072017541092, + -0.002900533720201261, + -0.07579337934560783, + 0.10380907225017028, + 0.027363916949529773, + -0.05388306388819785, + 0.12023805460879754, + -0.15079534097517733, + 0.0868398661327709, + 0.015397374011298339, + 0.10450113508381172, + -0.05815916999829045, + -0.14733690522033865, + -0.04325824145218767, + -0.01754270848005869, + 0.20906474650634838, + 0.12225013699898812, + 0.12441594137034757, + 0.11411103363955107, + -0.11105790640985597, + 0.06400816102237583, + 0.07086129536739202, + 0.14193293785630265, + 0.023689550482180723, + -0.0846194747938874, + 0.10425507145723113, + 0.012706428988638004, + -0.0021003924179230963, + 0.022708146835109796, + -0.03517616990106597, + 0.21428273869996955, + 0.026257729166644907, + -0.07625123364363447, + -0.020403531682037866, + -0.1316053133197468, + 0.18211274884314793, + 0.09912967108971883, + 0.0626912281027849, + -0.0453323403271877, + 0.06563156522325173, + -0.2079523519104071, + -0.18616359125421697, + -0.010980133379011535, + -0.050022699566122784, + 0.01280765576551371, + -0.12264713242351602, + 0.009178407781400317, + 0.03344235242183384, + -0.030636323404231378, + 0.06605097201112363, + -0.07139531496901393, + 0.13726233438032837, + -0.045014636563744555, + 0.08836056833146928, + 0.27246380629606975, + 0.16893932269871512, + 0.04270176543380296, + -0.05466183563242231, + 0.009619039302479942, + 0.01618759901836541, + 0.1998019028678838, + -0.15089996214728016, + -0.03355856825596647, + 0.03215966667883437, + -0.09960593201423887, + -0.07849363052289944, + 0.03037436912518952, + -0.009433148250156691, + 0.023608689755708904, + 0.11079369576608278, + -0.0001251625438924278, + -0.013809138598279707, + 0.12297071166732358, + -0.053219403599754043, + 0.13932248259298505, + 0.047774922249599526, + -0.12106430259510577, + 0.20138762944286798, + 0.1689849935234811, + 0.09212435733667572, + -0.11286108509023225, + 0.11083148050198996, + 0.13976382616004587, + -0.13638406440416642, + 0.10620146755147625, + -0.13529785745150405 + ], + [ + -0.037964431141503864, + 0.09219608008641081, + -0.19199854573352565, + 0.0891656943932627, + -0.0568658844096094, + 0.15839865834405198, + -0.039617005186590226, + -0.14446176350129608, + -0.0856146187950493, + -0.04007968341320643, + 0.006337494326373519, + 0.1500898100751888, + -0.15888521845434248, + 0.07891267493691292, + 0.10506726882224471, + 0.02371477442980823, + 0.09661479441834776, + -0.032709810676868525, + 0.11784479439914772, + 0.11038128819334048, + -0.02289628732153509, + 0.007995440023820709, + -0.05111087861815491, + 0.03528705531801296, + 0.02986666283624023, + -0.03637285264838039, + -0.026058810461892377, + 0.20985678666385305, + 0.1549758752947393, + -0.12073423465118704, + -0.03266507365404175, + -0.12342831044071031, + -0.008929363395286456, + 0.1062360027662286, + -0.05519837569257286, + 0.04201727891667334, + -0.05563516671049053, + 0.06127271643767749, + 0.04634298484292554, + -0.0026667006923605133, + -0.0659357725497491, + -0.08557781079110495, + -0.22727842605801363, + -0.02315193752028888, + -0.02255705171067914, + -0.03445822386325107, + -0.03391714502065094, + -0.068914813264658, + -0.029930316576470828, + -0.07265648277273001, + 0.12711732545749466, + -0.03223492968846629, + -0.061596753341169666, + 0.16921767542820104, + -0.140152029040531, + -0.07011991307218034, + 0.01680595584176725, + -0.14113304233370907, + -0.028670548212004224, + 0.027838084694728375, + -0.0640723434519103, + -0.07538050638966884, + -0.03716016261499082, + -0.1992662551810505, + -0.04557232347481361, + 0.07692538437746595, + -0.183301155234488, + -0.01641606804352933, + 0.05172174383144477, + -0.1906958796637651, + -0.07521603199610055, + -0.06316935999502016, + 0.241374833903291, + -0.12223889795736273, + 0.161699326958328, + -0.11694705106728913, + 0.157542910518687, + -0.12435730298358075, + -0.05322237064289586, + 0.055497129652619, + 0.04401419648248443, + -0.02849444043687271, + 0.06336532729865418, + -0.09379313039216335, + -0.061734206107060874, + -0.02352485225709357, + -0.07672769033884495, + 0.14683152895801044, + 0.02887317822317073, + -0.014070541317819749, + -0.05594079714559034, + -0.11637050771768648, + -0.01913204315733591, + 0.11395455058278027, + -0.15703006801313565, + 0.14472665755949943, + -0.03387409776407076, + -0.22793529474603044, + -0.009085750179827708, + -0.022076400281331534 + ], + [ + -0.08871910158733415, + 0.0383409719610841, + -0.18173825324011217, + 0.15290972497564045, + -0.04107510506748763, + 0.07262759423266697, + -0.013334655056665057, + 0.024474718549258805, + 0.09843083332834567, + -0.057838352827172104, + -0.09367667914580426, + -0.01442416329919841, + -0.16040312759541564, + -0.0559762390766492, + 0.07696498937282098, + 0.08352810279374975, + 0.002988931997470476, + 0.05201834461162988, + 0.1063164662860969, + 0.06465504998748033, + -0.19116820366168166, + -0.14557313358526916, + 0.08213379426045705, + 0.1513205393244052, + -0.027051644345526146, + -0.0529799150123981, + -0.10961964431206209, + 0.09411459464739097, + 0.005832374361838248, + 0.06941203393242974, + -0.12137546658357137, + -0.13961875100032062, + -0.18864572787039124, + 0.07761014608674428, + 0.04578905484460764, + -0.11984700092930645, + 0.088167513276566, + -0.13713997698766978, + 0.023492323285839865, + -0.026179450758651465, + -0.02173833501547325, + 0.0662543423301757, + 0.06973407492630807, + 0.3122104947060006, + -0.182913500313549, + 0.01563926589461317, + -0.03296465476468261, + -0.05492247252078244, + -0.04203779462957275, + 0.11556572383820252, + 0.09930192747452267, + 0.017716187024125966, + -0.013705630554407605, + -0.0405158602127655, + 0.04264187070008659, + 0.03894727524749247, + 0.05023277535943428, + 0.018850874295783297, + -0.09655744740893547, + -0.13055278717890043, + -0.2834159661733781, + -0.011794445390637938, + 0.12929875807019497, + 0.1334697645526045, + 0.042438465936550866, + -0.13440484699627156, + 0.04714540373454348, + 0.09551332350752578, + -0.019036055325174283, + -0.033938499982508134, + -0.05876753758183325, + -0.07827774736387726, + -0.05415742098403291, + -0.03939951210816628, + 0.046569600451133515, + -0.02257600441337375, + -0.08156127766884082, + 0.0232727272236576, + -0.029112542886168734, + -0.029985927879122676, + 0.015614920782159404, + 0.008132392005123458, + 0.05430362945491381, + -0.09552460121768887, + 0.11370683416997461, + 0.008483840258545568, + 0.20487717952356665, + -0.1517404808236726, + 0.12666973021643296, + 0.12314519790154448, + 0.044728073513381386, + 0.24926956475041567, + -0.10828420903382624, + -0.01595712734777214, + -0.004170488050221758, + -0.05939465769845946, + -0.05787652738552478, + 0.010603588985602454, + -0.001491116907767041, + 0.15789646940351484 + ], + [ + -0.1514135715571587, + 0.037317649498358356, + 0.07548543193737772, + -0.02106466149690252, + -0.1117335666859843, + 0.09376661278380344, + -0.08367792312499528, + 0.00048316155071571215, + 0.07066341367945558, + 0.1071409819268742, + -0.0014039264407044185, + -0.09517208143147023, + 0.14069092444958772, + -0.2121416319658028, + -0.08935362126359045, + -0.05883884328720227, + -0.0355148654973347, + 0.008555301566377117, + 0.055736422116802437, + 0.07583972779173184, + -0.01759041678773418, + -0.21084457248074676, + 0.13420129501312858, + -0.0037182343966000488, + -0.15287165373028933, + 0.07511131512172001, + 0.13435051507629897, + 0.2194838553463972, + -0.05139020408302615, + 0.11742875077158468, + 0.012403313894840753, + 0.016372963278141126, + -0.1618818684650764, + -0.12207776625177366, + -0.050082992103773094, + 0.008340451989149605, + 0.04202919466014543, + -0.228837296316668, + -0.06506853053902409, + 0.03616915063061851, + 0.07211785949299593, + -0.19556579233837407, + -0.02606859929259636, + 0.12609514770073818, + 0.17751887590278495, + 0.021127031261831724, + 0.13752428352358134, + 0.12164625329453967, + 0.09772682726455274, + -0.1706258838703479, + 0.014471147611200521, + 0.1151754991524904, + -0.03822111946656883, + -0.09695048502086287, + -0.04494108362733501, + -0.00013417017337011977, + -0.07365829505954624, + -0.11454169036920366, + 0.0363718974908465, + 0.06366678058710282, + 0.10768236398754398, + -0.022861011933683055, + -0.013011947577266123, + -0.03417073780108041, + 0.011499853121978619, + 0.07482137785920623, + -0.19423653607248872, + -0.004608216700734335, + 0.010800998154035178, + -0.046191420630998965, + -0.03999307562541515, + 0.06401299610774794, + 0.03445400885617312, + -0.1535600077947479, + 0.09723316001379488, + 0.08051946860202838, + 0.04068071542368426, + -0.033893017196702895, + 0.0982393556268607, + -0.019713454447084115, + -0.07373675601209947, + -0.005303078249680326, + 0.052903005191483894, + -0.18011547974651634, + -0.04032916767172781, + -0.02122576193763987, + -0.02177930290536141, + -0.014057422738844676, + 0.09873903653013653, + -0.1327654487438554, + -0.040170540184128155, + -0.06739181531730075, + -0.04509179192040784, + -0.05144981363533272, + 0.1404217781877068, + -0.13780326613280103, + 0.08090170253109322, + 0.04985508054556506, + 0.2935382791492034, + 0.049165937320363465 + ], + [ + 0.008258663929300244, + 0.2353381064122614, + -0.09792025109770791, + 0.045179687287623456, + 0.2281491104978014, + 0.050184551284226026, + -0.03866551019054558, + 0.18878443605578113, + -0.2725445775759767, + -0.04964419172985091, + -0.0007701091780095294, + 0.19349691817667286, + -0.042501079344012566, + 0.03974380940743136, + -0.007230451377302724, + 0.23193696997399635, + 0.03564815426382708, + -0.0539348917598349, + 0.10756086183876086, + -0.1990910101903646, + 0.04159475291116025, + 0.12142740934377083, + 0.013902116279003524, + 0.0864244359017308, + -0.06623170763232612, + 0.06698314464490161, + 0.0894586709781289, + -0.07035021557728165, + -0.1608597545415747, + 0.09183577917645444, + 0.13156359151910993, + 0.0330202875998572, + -0.0008977789434086495, + -0.20322959112035088, + -0.0054978871274371805, + -0.0128106679111793, + -0.004773656460968532, + -0.14746566066880598, + -0.04459216161040066, + 0.10237365781037731, + -0.08916781815120013, + 0.012870794141678923, + 0.07547472349783114, + 0.1551175501889778, + -0.08047944087147722, + 0.0019660025053787216, + 0.08192149544684668, + 0.12329246607483138, + 0.10353650309925563, + -0.040616955949424244, + -0.059016790455561643, + 0.04400575577630167, + 0.012367696043913875, + 0.003022053429925807, + 0.18968900538602604, + -0.01671284712195398, + -0.09998226148565349, + -0.07932468440191423, + -0.014861378365561366, + -0.030303918898381844, + -0.09386359410758985, + 0.004452626647781735, + -0.15544552820949362, + 0.04606796544577491, + 0.004361570870930939, + -0.04700799234018513, + 0.056215691483795946, + -0.09478598941376894, + 0.13533794307356928, + -0.024044873796754105, + -0.021759116228473846, + -0.08168707451991616, + 0.14509429039985514, + -0.12360462454955513, + -0.015859534041144825, + -0.13056354632792622, + 0.15406102361384738, + 0.01863554812950905, + -0.04117131255490819, + -0.1638254962417848, + 0.03185635968316952, + -0.03563674444997927, + 0.05077816289898296, + 0.11047188930713564, + -0.050406751682624845, + -0.012352870592121127, + -0.1464972126634137, + 0.001674646919938818, + -0.12680864723666463, + 0.1873746007250716, + -0.008941401271552907, + -0.026506303258483778, + -0.007426620721812817, + -0.10691064784386616, + 0.08711618925685748, + 0.024410211435456543, + 0.05965325914451569, + -0.0020268423101690368, + 0.06207255993311488, + -0.005914397896559184 + ], + [ + 0.01360194968551664, + 0.015504369671128072, + -0.04018253506871987, + 0.049487893039475365, + -0.04173650869095372, + -0.12351596454391418, + -0.06622333401103331, + -0.026606891548119314, + 0.005670151754658509, + -0.00433034653011859, + 0.0844458128887159, + -0.017971412212012164, + 0.00868736277240116, + -0.07754644501398697, + -0.13957369774194692, + -0.006889893584332673, + -0.09012769722566398, + 0.09115475230918264, + 0.0023946682176764003, + -0.09672344599061797, + 0.11949448396599513, + 0.15271751573515593, + -0.06605471942061196, + 0.04014589645486377, + 0.10833228326578406, + -0.03324410636778647, + -0.034287596460612024, + 0.10719488390916036, + 0.013497212804669426, + -0.17636208636567235, + -0.10003339462328681, + -0.06043247724909563, + -0.05823037453980728, + -0.019379126551711957, + -0.013928743877053083, + -0.16935260114106734, + 0.08967178905583353, + 0.1306516165838656, + 0.054830974098012866, + 0.07328627081999728, + 0.08287330696325636, + -0.11937842778372178, + -0.04287110701289106, + -0.00651608621971216, + -0.054895383457433646, + 0.2695827741659768, + -0.06104667832555389, + -0.0874132524963292, + -0.14099685654649197, + 0.17885409557285809, + -0.01578546811971028, + 0.08536079476275521, + 0.056017552324765976, + 0.005549518098307698, + -0.008433864990640243, + 0.05422692334899086, + -0.0879953121403882, + -0.20483618576502025, + 0.03209771438359018, + 0.11465727692832836, + -0.15368426851250241, + -0.16070505323028608, + -0.016200251828051633, + 0.07485872217414112, + -0.015346462017536583, + -0.08500354924701291, + -0.014744108190571679, + 0.2412913429358774, + 0.011282281948406086, + 0.05443090982509829, + 0.06991988171367773, + 0.06346055179308488, + 0.12957111040915448, + -0.09992493711464027, + -0.018846222966475475, + 0.13406582218126875, + 0.08439706682198107, + -0.19088981451204676, + 0.08863320775231749, + -0.11346962769011287, + -0.1252844125843849, + 0.06873680262396044, + 0.11602365959941129, + 0.17020954154496395, + 0.0013946500319457573, + -0.1720402403457949, + -0.027501653925791642, + -0.2686652272361811, + -0.1155399765279201, + -0.1249955112262284, + -0.028729310662968494, + -0.06295701994800801, + 0.06502173592263752, + -0.05760659863295392, + 0.11770883983369226, + -0.057826034565219606, + -0.037970233057436714, + 0.017419873899383195, + 0.025180424043491273, + -0.16105100253074792 + ], + [ + -0.08042187896694002, + -0.010111521630370159, + -0.1429135123574707, + -0.11961982834720086, + 0.014716492566885581, + -0.002760808527878241, + -0.15012316432562042, + -0.09026207755339517, + -0.06070063960403639, + -0.06103793117005169, + -0.061352147993844496, + 0.0532342986166361, + -0.032387624384469516, + 0.18350651714963118, + -0.05033854090936257, + 0.09258457284739997, + -0.20289460875995818, + 0.08252447439509353, + -0.05212057021100882, + -0.09989176162455386, + -0.11397375093375219, + 0.14212274190989652, + 0.1310915508179931, + -0.026872688814189968, + -0.005061581097266852, + -0.00385340541707623, + 0.05486917919705984, + 0.002236622791171705, + 0.04939084008332534, + -0.17186021232307752, + -0.1418179829670539, + 0.17000482874012793, + -0.0002095973893062558, + 0.03575337080039812, + -0.14485284792112324, + 0.03136066414898299, + 0.09852448672091277, + -0.00321790548244689, + 0.08397712009091109, + 0.039997015347460814, + 0.14303435632955322, + -0.12650295162671676, + -0.023524848647920527, + 0.061848973136606304, + 0.07175839705772682, + -0.0268358788872411, + -0.05235646155343339, + -0.12356801474346774, + 0.11610578896398874, + -0.015430362820816855, + 0.11219262670820136, + -0.04755238687373691, + 0.11198851299063356, + -0.013119764486705938, + 0.10519900069356558, + -0.014960257353743744, + 0.00559489414587806, + -0.09223302767339402, + 0.11048919056988903, + -0.12210625649227806, + -0.03437491497416477, + -0.05949335509636643, + -0.06460078414334453, + 0.06679101619589056, + -0.0676044277260566, + -0.10095495954926188, + -0.15376732007227684, + -0.15893129909600157, + 0.23624175262865804, + 0.07476957024576286, + 0.025031703297262342, + 0.09031978909724278, + -0.09775829795945838, + 0.21817763085551214, + 0.12179463151976445, + 0.004006332291331209, + 0.027142933438753274, + 0.12990078592939067, + 0.1558138281877611, + 0.03306773518116475, + -0.0148244954782118, + -0.07557116629516064, + -0.18245880760158065, + 0.031700412348962675, + -0.18932642461556495, + 0.11895072045237422, + 0.09719826103240263, + 0.04378635037863322, + 0.03507507755079914, + -0.10149691835810805, + -0.12130952148476046, + 0.04688676967468946, + -0.20382444582810968, + -0.008020942036691632, + 0.04525852315487405, + -0.1678925224385876, + 0.012740532906609928, + -0.034530219397834495, + -0.1035448669941002, + 0.03778107549304148 + ] + ], + "condition_number": 1000.0, + "marginal_sigma": [ + 3.551930075459733, + 3.566825244732789, + 4.25187417928009, + 4.187199937498963, + 4.008228865218003, + 4.217092518743732, + 3.3417065444557488, + 3.7914261692199385, + 4.189795566544671, + 4.6828052526753785, + 4.5107815036468235, + 4.095396352273224, + 3.882851335882109, + 3.4804746667497812, + 3.87074374980923, + 3.2847610953036277, + 3.87766637109667, + 3.4835602064695665, + 3.2554118725461043, + 3.2093115090632343, + 4.051527950655028, + 3.9448051317821515, + 3.3447638660493073, + 4.841818903047891, + 3.9401348284929694, + 4.037603698333218, + 3.7024514771384434, + 4.1659358283746535, + 3.869217349631259, + 4.990511037965923, + 4.426256222355294, + 3.2963707260559345, + 3.6033420153775553, + 3.7938358415966142, + 4.010474220580976, + 3.51978744047867, + 3.616849162616999, + 3.435606364338734, + 3.099135316424343, + 3.4449997537113015, + 2.9290695913004954, + 3.661843703111771, + 4.106921030976568, + 4.158832718544056, + 4.306597097295499, + 3.494260819011395, + 3.56247849487923, + 4.219267867757302, + 3.546787296698898, + 3.674575319832205, + 3.9114604797658794, + 3.514485182761487, + 3.338362197612113, + 3.9806579041636847, + 3.594882831078716, + 3.9515187144178747, + 3.4218351901627315, + 3.8660552737557525, + 4.385864228221996, + 3.8358767124576065, + 3.497105748506641, + 3.4579981344833657, + 4.5062914504111236, + 4.012109651532329, + 3.3372720859752527, + 3.6911806010685098, + 3.731083984292929, + 3.656483124329984, + 4.18823891127548, + 3.5401849588680747, + 2.70792065827269, + 4.4065242553618695, + 4.0653349278605235, + 3.659328848111994, + 4.627355073388755, + 3.6659882755256943, + 3.887443056521935, + 3.4960803997964067, + 4.910496999323356, + 4.096632071692816, + 3.6250932760794163, + 3.7516611897669314, + 3.68969456615374, + 4.095341913307968, + 3.1759595104947467, + 4.001265680509483, + 4.027771363813414, + 3.6781295229501367, + 4.056628102127723, + 3.400895275569061, + 4.0149842424872215, + 3.531050630464106, + 3.45644558868065, + 4.441928807929918, + 4.077061533640375, + 3.850552206864495, + 4.206342804004794, + 3.0840787123082234, + 4.0931097976982285, + 3.9335740651176714 + ], + "note": "Sigma = eigenvectors @ diag(eigenvalues) @ eigenvectors.T (columns)" +} diff --git a/dataset/corr_gaussian_d100/priors.json b/dataset/corr_gaussian_d100/priors.json new file mode 100644 index 00000000..62db68f7 --- /dev/null +++ b/dataset/corr_gaussian_d100/priors.json @@ -0,0 +1,207 @@ +{ + "kind": "uniform", + "lower": { + "x000": -50.28350860822138, + "x001": -58.19432885055538, + "x002": -66.93276270432892, + "x003": -62.54573958642408, + "x004": -62.20740990069628, + "x005": -64.09302486191824, + "x006": -50.106727522109146, + "x007": -48.06027566365144, + "x008": -60.144125364242996, + "x009": -64.85174855711784, + "x010": -53.72501111051385, + "x011": -68.65797540276625, + "x012": -54.11185142163068, + "x013": -57.05922304951134, + "x014": -47.91001030430682, + "x015": -57.2048703877346, + "x016": -46.48483959654223, + "x017": -38.28455583139328, + "x018": -42.36616101667247, + "x019": -45.65928521113716, + "x020": -72.52775243600055, + "x021": -48.24813787701105, + "x022": -46.28553186437153, + "x023": -66.29916038541346, + "x024": -55.24198695323145, + "x025": -62.19913532157564, + "x026": -52.59647454966692, + "x027": -43.95224391773634, + "x028": -49.97600898289138, + "x029": -65.64203577698844, + "x030": -61.01238802611503, + "x031": -36.10703907202133, + "x032": -61.86216494409576, + "x033": -56.79841234220636, + "x034": -52.965732650431505, + "x035": -33.99032624963213, + "x036": -47.99728838414559, + "x037": -34.283720902930696, + "x038": -41.80590070470817, + "x039": -49.290034278466976, + "x040": -44.293025796731015, + "x041": -50.80250321781732, + "x042": -67.87855690682561, + "x043": -59.86646596362149, + "x044": -60.67131052516729, + "x045": -50.11754200218421, + "x046": -47.333963715109725, + "x047": -65.64321288468366, + "x048": -59.93341031673178, + "x049": -54.86256324734924, + "x050": -64.70599992181147, + "x051": -36.812692042104715, + "x052": -34.70002497409706, + "x053": -57.537571300004345, + "x054": -41.10895167883605, + "x055": -53.44905734960865, + "x056": -45.20530329435317, + "x057": -58.298894893647756, + "x058": -66.34592355144693, + "x059": -58.77678658197421, + "x060": -35.966457324637226, + "x061": -39.43725495319829, + "x062": -61.30885459476626, + "x063": -66.14900575739922, + "x064": -46.42008958042331, + "x065": -55.717279825575865, + "x066": -63.66094008745205, + "x067": -63.204356384018226, + "x068": -71.30242852761079, + "x069": -51.942285224401104, + "x070": -38.09886355938633, + "x071": -56.91355561548192, + "x072": -59.53010245838698, + "x073": -51.25362545168967, + "x074": -63.21658903696248, + "x075": -39.906844202004976, + "x076": -55.41506557927266, + "x077": -53.27624482593679, + "x078": -75.07828333697384, + "x079": -65.68796651944567, + "x080": -57.00681873786193, + "x081": -59.99091816949445, + "x082": -55.234668262076276, + "x083": -62.25030632500686, + "x084": -38.24580369973326, + "x085": -54.97055026617157, + "x086": -64.56480204940001, + "x087": -60.340695776724374, + "x088": -66.75915763339651, + "x089": -39.86674660538618, + "x090": -50.53567017641829, + "x091": -54.75380629842346, + "x092": -48.958488602241744, + "x093": -59.17950103499675, + "x094": -49.34435635688744, + "x095": -57.006910114439194, + "x096": -52.87625280498075, + "x097": -34.96543793399822, + "x098": -66.33182949697803, + "x099": -49.47438472414078 + }, + "upper": { + "x000": 48.56392938544826, + "x001": 42.96118555159755, + "x002": 56.54516011307307, + "x003": 65.65864119939829, + "x004": 57.743041652150836, + "x005": 53.3190617753184, + "x006": 37.91733293751531, + "x007": 64.22492829611275, + "x008": 46.63143416052725, + "x009": 70.81995506563666, + "x010": 60.49663940859979, + "x011": 61.26172547265837, + "x012": 53.39636164916381, + "x013": 36.03449900850382, + "x014": 51.22396188090314, + "x015": 32.616172255344296, + "x016": 56.03500049764209, + "x017": 49.49557597360007, + "x018": 42.195855322035705, + "x019": 41.502075329387864, + "x020": 44.629929951929114, + "x021": 65.62894993178392, + "x022": 45.919179899357076, + "x023": 67.49784682283494, + "x024": 67.78552971812773, + "x025": 56.08511188023394, + "x026": 64.03194790054118, + "x027": 69.8168050800397, + "x028": 66.18589676701619, + "x029": 66.99695115572806, + "x030": 73.30342825154835, + "x031": 58.6879180603774, + "x032": 38.250314176489255, + "x033": 49.06549839195599, + "x034": 54.29342880808585, + "x035": 61.081204353822, + "x036": 51.4169176244732, + "x037": 58.31106242735787, + "x038": 40.10994511165986, + "x039": 46.01709632800761, + "x040": 37.71999845055191, + "x041": 48.66345147145852, + "x042": 50.62355336762846, + "x043": 60.304079516439764, + "x044": 56.813591343439285, + "x045": 46.15983674818942, + "x046": 57.92426692597231, + "x047": 54.91018980555752, + "x048": 39.37877441266454, + "x049": 53.27554641257471, + "x050": 51.375601111702046, + "x051": 56.27893678463738, + "x052": 50.02029031113224, + "x053": 44.590160352970436, + "x054": 61.32829167310659, + "x055": 54.31225141261504, + "x056": 61.88846584280597, + "x057": 51.64837918722762, + "x058": 66.3239302760629, + "x059": 54.93675222531513, + "x060": 62.93314586791031, + "x061": 44.75280021029991, + "x062": 62.61639933732848, + "x063": 59.11618596751344, + "x064": 43.288795101955884, + "x065": 56.54573131915587, + "x066": 45.88651980183393, + "x067": 46.21801600123902, + "x068": 52.73271621157672, + "x069": 43.090162392936165, + "x070": 37.17803845353692, + "x071": 66.72851616106125, + "x072": 69.38458774281855, + "x073": 47.81818838182328, + "x074": 57.89905514026714, + "x075": 59.30689627936033, + "x076": 45.92339587764345, + "x077": 54.74347340278518, + "x078": 62.809202969071634, + "x079": 60.054000810281444, + "x080": 44.2537710753793, + "x081": 42.4986950261702, + "x082": 52.616321856329435, + "x083": 55.65363991362547, + "x084": 53.17649584412761, + "x085": 58.5603330031166, + "x086": 43.79422526762521, + "x087": 38.48434763242331, + "x088": 52.42739381201753, + "x089": 50.247957790670874, + "x090": 66.00848421102981, + "x091": 48.02701706945012, + "x092": 42.45770056810552, + "x093": 60.87348010932577, + "x094": 67.4407739099176, + "x095": 61.230690766587976, + "x096": 51.68799865131156, + "x097": 43.1219044849023, + "x098": 60.94956714726372, + "x099": 58.777879851797586 + } +} diff --git a/dataset/corr_gaussian_d100/truth.json b/dataset/corr_gaussian_d100/truth.json new file mode 100644 index 00000000..a7110e02 --- /dev/null +++ b/dataset/corr_gaussian_d100/truth.json @@ -0,0 +1,112 @@ +{ + "dataset": "corr_gaussian_d100", + "family": "correlated_nd", + "kind": "gaussian", + "dimension": 100, + "data_seed": 1, + "structure_seed": 2100, + "generator": "structure: numpy.random.default_rng([structure_seed]); data: numpy.random.default_rng([structure_seed, data_seed]).standard_normal(D)", + "max_deviation_sigma": 5.0, + "parameters": { + "x000": -6.492747633111218, + "x001": -3.400971192293465, + "x002": -4.315477603309867, + "x003": -1.2504540126874257, + "x004": 0.757866888837583, + "x005": -7.628698724436685, + "x006": -6.011779556741013, + "x007": 3.9635585462082865, + "x008": -8.7339767953809, + "x009": -3.4745083012637394, + "x010": 4.469778639188281, + "x011": -3.7046245044204262, + "x012": -2.267752862982446, + "x013": -9.464857493449992, + "x014": 2.4177196900959874, + "x015": -8.691383019876014, + "x016": 2.179053871948252, + "x017": 6.627662232178647, + "x018": -0.05432121914945576, + "x019": -2.3836919506364502, + "x020": -9.272464351505574, + "x021": 9.550781687813195, + "x022": 3.7742936300856105, + "x023": 5.399199397433128, + "x024": 6.653231292674818, + "x025": -0.8442376901291375, + "x026": 6.273618654344261, + "x027": 6.396787916646293, + "x028": 5.064803882990853, + "x029": 0.6242565530389186, + "x030": 3.6419770273933345, + "x031": 6.970498039644134, + "x032": -8.655756488242128, + "x033": -3.848889837482221, + "x034": -4.735342357251655, + "x035": 9.396320644899252, + "x036": 2.7492089997144014, + "x037": 8.791995546985135, + "x038": 2.0260675641655705, + "x039": 2.324851064682033, + "x040": -0.5462529403502039, + "x041": -3.6250421297742346, + "x042": -6.509899151067646, + "x043": 5.672380358342053, + "x044": -2.4612060968179534, + "x045": 2.2980835245631646, + "x046": 1.9789751567584517, + "x047": -0.5446263017323147, + "x048": -9.996937259809988, + "x049": 2.9291661984876036, + "x050": -4.904153021273419, + "x051": 9.221951766876192, + "x052": 5.993475135869961, + "x053": -4.280317099999154, + "x054": 9.270728976224746, + "x055": 1.0876861524148609, + "x056": 7.186388363924419, + "x057": -9.261064117818389, + "x058": 2.44327181151964, + "x059": 0.6606596133516511, + "x060": 9.32583403372493, + "x061": 2.362461202211179, + "x062": 3.2346932215550197, + "x063": -3.7761706650788955, + "x064": -3.6824792106213415, + "x065": -0.2887092404299949, + "x066": -5.012150360576626, + "x067": -9.539088633633117, + "x068": -7.08090756561772, + "x069": -8.306137062541968, + "x070": -0.44856399086437193, + "x071": -2.080882591738387, + "x072": 5.0743061196422055, + "x073": 0.798327536996716, + "x074": -6.035470897531061, + "x075": 7.652269337423444, + "x076": -8.26867217933394, + "x077": -0.8933525302059593, + "x078": -2.782938030045859, + "x079": -5.178747388570666, + "x080": -0.6899114795159136, + "x081": -9.123416414205586, + "x082": -3.5132083699566907, + "x083": -1.467710754228058, + "x084": 7.426862279546221, + "x085": 3.4222571598091314, + "x086": -8.417384766603215, + "x087": -7.12977916420596, + "x088": -2.5476269936296347, + "x089": 6.012893029776102, + "x090": 4.636427295676826, + "x091": -5.242210602255703, + "x092": -4.564246652337407, + "x093": -0.031342414211781744, + "x094": 8.170586556362693, + "x095": 1.6412272566125967, + "x096": 0.203252023236427, + "x097": 5.922901113379403, + "x098": -2.90360158329952, + "x099": 8.78316248570136 + } +} diff --git a/dataset/corr_gaussian_d20/data.json b/dataset/corr_gaussian_d20/data.json new file mode 100644 index 00000000..8b429cd7 --- /dev/null +++ b/dataset/corr_gaussian_d20/data.json @@ -0,0 +1,22 @@ +[ + -2.7255450241923844, + 8.244466742242865, + -6.9877063349383794, + -9.809175176416511, + 3.7512659604822423, + -9.327489338522593, + 0.1743645657668773, + -5.666396886949655, + -5.159458438037452, + -2.1307526277146165, + 2.0181192280415794, + 9.658638533588244, + 8.38028851407356, + 5.215722322849795, + -4.775881731853383, + -5.7825450628302395, + -3.1334748816843585, + -7.102904981879544, + -2.3726998533441943, + 3.4759215557884167 +] diff --git a/dataset/corr_gaussian_d20/model.json b/dataset/corr_gaussian_d20/model.json new file mode 100644 index 00000000..5164a97e --- /dev/null +++ b/dataset/corr_gaussian_d20/model.json @@ -0,0 +1,494 @@ +{ + "family": "correlated_nd", + "kind": "gaussian", + "dimension": 20, + "structure_seed": 2020, + "eigenvalues": [ + 0.1, + 0.14384498882876628, + 0.20691380811147897, + 0.29763514416313175, + 0.42813323987193935, + 0.6158482110660264, + 0.8858667904100825, + 1.2742749857031335, + 1.8329807108324356, + 2.636650898730358, + 3.79269019073225, + 5.455594781168517, + 7.847599703514611, + 11.288378916846883, + 16.23776739188721, + 23.357214690901213, + 33.59818286283781, + 48.32930238571752, + 69.51927961775606, + 100.0 + ], + "eigenvectors": [ + [ + 0.3996972934749876, + 0.1472130809843498, + 0.3006145257475493, + -0.15063015175853664, + -0.017570241850219513, + -0.02206423124522289, + -0.0402518501916802, + 0.2503691773555858, + -0.34474367117812105, + -0.04875567527177802, + -0.02948048680594139, + 0.26541154993404326, + -0.05842033779879037, + 0.4486431822344622, + 0.07717999966275925, + 0.11255294915937966, + -0.13423974723574317, + 0.0936448957596623, + -0.018419931694818297, + 0.4443266053871543 + ], + [ + 0.37656543336336723, + -0.08427742202944974, + -0.5150709612489617, + -0.13066700953904392, + 0.15740166753967155, + 0.16184395153642078, + -0.20250072158012075, + -0.1650671420021778, + -0.2822460029012974, + -0.06007889951550362, + -0.00538178835054441, + -0.28180503176879856, + 0.22080209408207696, + -0.02699912379504882, + -0.256942168339437, + 0.3736196706116664, + -0.045849533001010384, + -0.11865491670670959, + 0.11537580817488653, + 0.04690261513081391 + ], + [ + 0.0981443184690091, + -0.20370514647725363, + 0.19339913886759735, + -0.23510320038555318, + -0.18496369582110214, + -0.3232923605903312, + -0.23769901152036566, + 0.2080160573241074, + -0.05012465871492854, + 0.3060595023378665, + -0.09407296565093766, + -0.6486935477620578, + -0.04885344714578022, + -0.0007733370962963441, + 0.24014948713780399, + -0.088948444656874, + -0.08328213031890024, + -0.11094519546205481, + -0.05006267064870121, + -0.04619873191482184 + ], + [ + 0.24833052269328118, + -0.06273340063013089, + 0.06502262352126567, + 0.037332742018682225, + -0.14453772922841593, + -0.20264709099054187, + -0.01578313111512689, + 0.3892157145997868, + 0.24558673832673528, + 0.04049296778194729, + -0.09765873987370408, + 0.23084100100511631, + 0.161864364174478, + 0.14736056648992785, + -0.14589630661827363, + 0.2927107533006749, + 0.3581424976106653, + -0.1421596818199837, + 0.2971892935372492, + -0.4456737241740753 + ], + [ + -0.31091121725328963, + 0.44466115066819883, + 0.06272486619783264, + -0.14194648165100257, + 0.056371507839174675, + 0.1803548550343678, + -0.35700163548376607, + 0.15552847218016724, + -0.14395247966743246, + 0.41551168603536187, + 0.3156789578336797, + 0.0013014506500274618, + -0.12155601029616314, + -0.012976242924226881, + -0.21943014016716594, + 0.2090322833897071, + 0.2413134338199634, + 0.029578052665967927, + -0.1737675008114258, + -0.07116801538102344 + ], + [ + -0.052362566470157794, + -0.015226796872818563, + 0.03598188389398266, + 0.12514171396693868, + -0.422426012054256, + 0.008675326334146258, + 0.021110271982935, + -0.33994311102636876, + -0.1772655477638022, + -0.16137782977318565, + -0.1991820591219244, + -0.18279944959861072, + 0.028690599500829535, + 0.19335682464209325, + 0.05401511828033923, + 0.11506636428088717, + 0.6291507471955756, + 0.23906501994629212, + -0.19902566184164272, + 0.089600886205589 + ], + [ + 0.10566195733228044, + 0.13624955638117192, + -0.2088425080190637, + 0.302201759813201, + 0.21218646121039436, + 0.10783777379980389, + 0.3553444812457715, + 0.3529272693319665, + 0.01208753595606352, + -0.04349366796571578, + 0.30020743930447535, + -0.24579248920696142, + 0.16646789003412266, + 0.16951147633956537, + 0.31059116649980756, + -0.05940185957147149, + 0.21588532990982034, + -0.2605118036981489, + -0.3204834141928575, + 0.040634539449601124 + ], + [ + 0.10171359424239136, + 0.04444878071798856, + 0.24192450198953835, + 0.31588821686192603, + 0.46420240870327967, + 0.11964059640591779, + -0.2913588534637354, + -0.08610211132265741, + 0.19941132494168481, + -0.18215797523826824, + 0.053527985491476075, + -0.29339317200043624, + -0.3087256701873518, + 0.13734979350815982, + 0.08527131658488336, + 0.004502488961348241, + 0.1707069623809946, + 0.16829762665727793, + 0.4064780499069764, + 0.03487084011302981 + ], + [ + -0.08673917213846491, + -0.13615267175449552, + 0.2904712826278454, + 0.048714273110600205, + 0.01308929034695701, + -0.11077760405647458, + 0.0684616902919745, + -0.2994846153041506, + 0.05269416592078424, + -0.07878271847593353, + 0.10620070905093966, + -0.026619809558600865, + -0.21392120912863744, + 0.19446735870812348, + -0.32732612655439897, + 0.14497683699184155, + -0.00382028063960635, + -0.7192048118201689, + -0.13627776715777243, + 0.10871144602247672 + ], + [ + -0.27765191616217305, + -0.00932924317496682, + -0.21557719997012093, + 0.28748425895033336, + -0.036344774786909076, + -0.5808198883750428, + -0.3065183910221867, + 0.09344492078893092, + -0.36677524306421855, + -0.22952110836301476, + 0.24553312411453335, + 0.13571538562127514, + 0.07598554695716256, + -0.052082876163225, + 0.06485201323926669, + -0.09078385563665585, + 0.03490645270289746, + -0.08697416653072493, + 0.20418436839031723, + 0.12258117685308549 + ], + [ + 0.15371001321662175, + -0.2800553336690487, + 0.18014916379179363, + -0.036930225410747454, + 0.24727648098941532, + -0.27403119633874246, + 0.26716194506237284, + -0.22545765943648502, + 0.02135284356016606, + 0.4174833158712888, + 0.382956114850259, + 0.0439988293089871, + 0.27527005214397077, + -0.10684401035876055, + -0.1581754857683785, + -0.022177471349594077, + 0.2213615882358667, + 0.256647183220253, + 0.0739154348299215, + 0.2220516336638662 + ], + [ + 0.1915286468275042, + -0.1726642550803912, + -0.319611814210859, + 0.11681287870254785, + -0.3785724896977966, + 0.2577154360536107, + -0.0804732355633717, + 0.0510534291404669, + 0.05912384372132378, + 0.28447932564929895, + 0.193505266053716, + 0.07994767597297128, + -0.31247190236279626, + 0.1487295027246711, + -0.14485191390412416, + -0.4701777904948481, + 0.11327153157720915, + -0.10540783306522558, + 0.24072103982476725, + 0.16411523636002254 + ], + [ + -0.04194215840562585, + -0.47702123760400017, + 0.1007917014572313, + 0.2535599049633128, + 0.2196073853592607, + 0.190166532392327, + -0.03168413482344835, + 0.010527400378835573, + -0.5201658303314115, + 0.1840378334497534, + -0.09095398384018337, + 0.15410525425021931, + -0.12191780375142319, + 0.13994955860892996, + 0.04872463839302213, + -0.03728800896375631, + -0.04897993124641083, + 0.052933660312475206, + -0.17336001278244403, + -0.44810946181171124 + ], + [ + -0.23495203243874438, + 0.2359447843682074, + -0.12603106593171012, + -0.2584458026162968, + 0.013198382581218603, + -0.04752238818451388, + 0.33806569638874456, + -0.28352765612673325, + -0.16368602478633087, + 0.1611793442986227, + 0.06155542351697183, + -0.07467047245991806, + 0.0067232103223151835, + 0.45450465372098087, + 0.2544413746669025, + 0.009495034841742474, + -0.07944623058874056, + -0.05995685792864381, + 0.4572346556778306, + -0.23829322786527454 + ], + [ + 0.40234585051239774, + 0.1340892669165365, + 0.20945918237637987, + -0.05307707985266059, + -0.2588567311334365, + 0.07522428840959987, + -0.04862348070746877, + -0.2540007579754678, + -0.13040465383294395, + -0.175782429580809, + 0.48927573955278064, + 0.0897028359350015, + -0.10592182030247742, + -0.34247304929969874, + 0.3273172949449939, + 0.0519620789104941, + -0.02853715489357888, + -0.07651562006433729, + 0.007504710746030077, + -0.30576138690675847 + ], + [ + -0.09303634122181637, + -0.08487054887570279, + 0.19896326075079812, + -0.4705570356223686, + 0.14396222307888842, + 0.20200215633594681, + 0.005440190671294171, + 0.17260872774160543, + -0.21584648824872577, + -0.3883196211551954, + 0.05841781704460512, + -0.07239927709039612, + 0.21909104240018773, + -0.06270710927469474, + -0.19814051305788333, + -0.46277978251900587, + 0.29750592402642945, + -0.1068262159129856, + 0.12748686267619852, + -0.06487728164930355 + ], + [ + 0.06920214500684531, + 0.08784224143878203, + -0.10213194248008595, + -0.07146527724565566, + 0.057646420670853626, + -0.2090655034660795, + 0.47209948911601723, + 0.21222095237934302, + -0.2537192178826648, + -0.067691889370154, + -0.09233632212925587, + -0.12640837310655356, + -0.611940647447268, + -0.31210474307805564, + -0.21812083218853912, + 0.1147433522626343, + 0.12068501630692952, + 0.10290805366302848, + 0.07580533104992618, + -0.004885997045903045 + ], + [ + -0.22095078325068743, + -0.30562242858622823, + -0.017750842604729672, + -0.16758541223427162, + 0.045798612365846085, + 0.24617791742878303, + -0.013039623248799734, + 0.09248070155552726, + -0.014527711499355188, + 0.10755443559222981, + -0.09488150068362622, + 0.19137630382265383, + -0.0723243766953515, + -0.2789248939945612, + 0.4800288616245236, + 0.31948579229883456, + 0.24198693740921917, + -0.24601422100050035, + 0.22725619898216734, + 0.3380690488521618 + ], + [ + 0.11942059020801786, + -0.11257348493950431, + -0.3297213591424819, + -0.413375477910819, + 0.29280183593620196, + -0.2776330925147828, + -0.2005830915540388, + -0.14227607156417504, + 0.2333903858358566, + -0.08404283834213971, + 0.03477433993307786, + 0.23281912060589202, + -0.3044219974901167, + 0.19853458857321624, + 0.19304234488994612, + -0.09454633739515553, + 0.20356936770200132, + 0.04311067368775487, + -0.3474906704649478, + -0.10436101708781119 + ], + [ + -0.2567668083174033, + -0.39778706272875386, + -0.030213024750846855, + -0.13122556892841075, + -0.21081436534711612, + 0.10853026093980814, + 0.06409507158030069, + 0.2075680601357814, + 0.15918137682220396, + -0.2933840717242481, + 0.46811421486863813, + -0.13879853225327404, + -0.09576995327710638, + 0.2346256368245947, + -0.09017152210957817, + 0.31673996668042514, + -0.19799748151239974, + 0.303286118163975, + -0.02323711402991202, + -0.008865449335321338 + ] + ], + "condition_number": 1000.0, + "marginal_sigma": [ + 4.92189105250081, + 2.716913646361503, + 2.2697543616413567, + 5.89607054846737, + 2.757878335879868, + 4.592535475524937, + 3.9186187585203593, + 3.9881088607837643, + 5.54115995045977, + 2.490670893566691, + 3.5397467164703245, + 3.840721423455468, + 4.861953833845855, + 4.938414662532684, + 3.7533498459322563, + 3.4364915319606615, + 2.6569575913029766, + 5.224724096765078, + 3.686840193771584, + 3.210263586356598 + ], + "note": "Sigma = eigenvectors @ diag(eigenvalues) @ eigenvectors.T (columns)" +} diff --git a/dataset/corr_gaussian_d20/priors.json b/dataset/corr_gaussian_d20/priors.json new file mode 100644 index 00000000..0d72dbe9 --- /dev/null +++ b/dataset/corr_gaussian_d20/priors.json @@ -0,0 +1,47 @@ +{ + "kind": "uniform", + "lower": { + "x000": -81.9164874491034, + "x001": -27.890497293125726, + "x002": -44.139021813926526, + "x003": -78.19463052452781, + "x004": -34.21041256549853, + "x005": -68.89036166048206, + "x006": -55.15258112627913, + "x007": -56.56380747669127, + "x008": -83.48769496542249, + "x009": -39.21202593517312, + "x010": -40.346056530134376, + "x011": -48.25106476130907, + "x012": -59.794643965987724, + "x013": -60.28989507892081, + "x014": -60.02390922634109, + "x015": -48.46178964987995, + "x016": -37.032254374769416, + "x017": -65.58028865623861, + "x018": -57.02943892557502, + "x019": -36.43696443473311 + }, + "upper": { + "x000": 66.72328454449111, + "x001": 48.83659765533321, + "x002": 20.094185094451333, + "x003": 80.57073660953449, + "x004": 41.925825165217006, + "x005": 65.71947325069968, + "x006": 54.23767498849415, + "x007": 55.82032579475716, + "x008": 70.63908051135998, + "x009": 33.30172748171038, + "x010": 55.89421334511513, + "x011": 66.48142464837383, + "x012": 83.71997692064974, + "x013": 78.35384065563751, + "x014": 42.73466907940075, + "x015": 38.61971001566515, + "x016": 30.01468695566038, + "x017": 61.12945315624466, + "x018": 52.10089896500419, + "x019": 47.29831773233637 + } +} diff --git a/dataset/corr_gaussian_d20/truth.json b/dataset/corr_gaussian_d20/truth.json new file mode 100644 index 00000000..0705ae55 --- /dev/null +++ b/dataset/corr_gaussian_d20/truth.json @@ -0,0 +1,32 @@ +{ + "dataset": "corr_gaussian_d20", + "family": "correlated_nd", + "kind": "gaussian", + "dimension": 20, + "data_seed": 1, + "structure_seed": 2020, + "generator": "structure: numpy.random.default_rng([structure_seed]); data: numpy.random.default_rng([structure_seed, data_seed]).standard_normal(D)", + "max_deviation_sigma": 5.0, + "parameters": { + "x000": -3.415601385103473, + "x001": 8.458791419217938, + "x002": -9.475520449201857, + "x003": -6.475170463303527, + "x004": 6.873670290656175, + "x005": -2.9927329021320714, + "x006": 1.229587721947567, + "x007": -2.7048082089614445, + "x008": -4.448234352094172, + "x009": -2.403092817715182, + "x010": 4.575930556125488, + "x011": 9.87209892494575, + "x012": 7.8957615136028565, + "x013": 4.637172937209728, + "x014": -3.685332412242488, + "x015": -5.649248717155184, + "x016": -2.9161015551691865, + "x017": -2.507226547862058, + "x018": 1.3464769547333724, + "x019": 2.6045352643257083 + } +} diff --git a/dataset/corr_gaussian_d50/data.json b/dataset/corr_gaussian_d50/data.json new file mode 100644 index 00000000..8c10f7c7 --- /dev/null +++ b/dataset/corr_gaussian_d50/data.json @@ -0,0 +1,52 @@ +[ + 1.3674676447267482, + -1.4739575587447442, + 7.9158188331718335, + 11.342334086244502, + 8.502192597957883, + 11.301561400165223, + 0.3006355715075504, + 13.883797944456791, + 0.22818274878070222, + -8.638102004391436, + 10.097694701055314, + -1.758970751583992, + 2.0412416423242097, + -1.4902133047449801, + 2.103780295334192, + -4.5913717567438255, + 5.609963631804981, + -3.6208032393415888, + 0.43440236853950775, + -8.155871073795296, + -1.0027768200139802, + -3.2274517840363774, + 15.193883973969662, + 4.244955431052363, + -0.3264665705266704, + 6.075345934794627, + 3.942045655511824, + 6.754241364194623, + 8.901548636324534, + 7.127033861281852, + -9.72104476508505, + 8.178208083928123, + 3.35257276473279, + -5.390682663551361, + -0.8458197419643971, + -4.580330203801338, + 12.030784111314508, + -0.5925717376520747, + 9.965030030900763, + 6.140680565932433, + -6.839339648676248, + 2.111258437376411, + 2.697726410126876, + -0.5478755670099744, + -3.6629817642971148, + 16.087905535096944, + -5.835321678823923, + -4.18699328562702, + 0.7984156501190653, + -8.759508997926497 +] diff --git a/dataset/corr_gaussian_d50/model.json b/dataset/corr_gaussian_d50/model.json new file mode 100644 index 00000000..29c2a6bc --- /dev/null +++ b/dataset/corr_gaussian_d50/model.json @@ -0,0 +1,2714 @@ +{ + "family": "correlated_nd", + "kind": "gaussian", + "dimension": 50, + "structure_seed": 2050, + "eigenvalues": [ + 0.1, + 0.11513953993264472, + 0.13257113655901093, + 0.15264179671752334, + 0.1757510624854792, + 0.20235896477251572, + 0.2329951810515372, + 0.2682695795279726, + 0.3088843596477481, + 0.35564803062231287, + 0.40949150623804254, + 0.47148663634573934, + 0.5428675439323859, + 0.6250551925273973, + 0.7196856730011519, + 0.8286427728546845, + 0.9540954763499939, + 1.0985411419875584, + 1.2648552168552958, + 1.4563484775012436, + 1.6768329368110082, + 1.9306977288832496, + 2.2229964825261943, + 2.5595479226995357, + 2.9470517025518097, + 3.393221771895328, + 3.906939937054617, + 4.498432668969446, + 5.17947467923121, + 5.963623316594643, + 6.8664884500430015, + 7.906043210907698, + 9.102981779915218, + 10.481131341546853, + 12.067926406393289, + 13.894954943731374, + 15.998587196060573, + 18.420699693267164, + 21.209508879201906, + 24.420530945486497, + 28.11768697974231, + 32.374575428176435, + 37.27593720314938, + 42.91934260128778, + 49.417133613238335, + 56.89866029018293, + 65.51285568595509, + 75.43120063354615, + 86.85113737513521, + 100.0 + ], + "eigenvectors": [ + [ + -0.33573403694582926, + 0.05953543510931934, + -0.026437664625437785, + 0.0514616498037553, + 0.21143333769133485, + -0.060951928363054984, + -0.12723501759068712, + 0.1586370260955081, + -0.09033884498301373, + 0.13547754860350394, + -0.0936696452112779, + 0.0837299454000144, + -0.02682889814075626, + 0.1316383014879448, + 0.006365830504691045, + -0.01849323473443966, + 0.049463247799557485, + -0.07141224433157464, + -0.1456939870255131, + 0.0560224446936523, + -0.22892805319806653, + 0.11082419252826106, + 0.0704818126891726, + -0.09306178404317335, + 0.06604170651276901, + -0.04320914548607682, + -0.14982540416495255, + -0.19919237227851355, + -0.2682435700229646, + -0.07579534643542288, + -0.10440876663368692, + -0.05430339209099718, + 0.11357892041856388, + -0.015645683712753572, + -0.20154332734982433, + 0.2921272595525531, + -0.275980952475017, + -0.02375392210691232, + 0.04644212203660424, + -0.12496925242096475, + -0.20000055217901377, + 0.3672893648319801, + -0.059349127753203126, + 0.022111039052590542, + 0.05800828247459968, + 0.027743352546247848, + 0.0380144472098672, + -0.11634760635961391, + -0.1619331177925082, + 0.043525398223380286 + ], + [ + -0.25136174032532765, + -0.10905837007756147, + 0.2510284505855065, + 0.14594377984663393, + 0.06986584477859398, + 0.02240160016539109, + 0.15840196008172122, + 0.11769280496312155, + 0.08385106931889251, + 0.12184667543425856, + 0.2110755248242516, + -0.08556516420552603, + 0.03717266405923574, + -0.08935227545455028, + 0.011583174723531101, + -0.07651063367206538, + 0.015774610089475893, + -0.26064264488695676, + -0.11324954073490855, + -0.27854455215383256, + 0.1207803728334894, + 0.009164806558023514, + 0.08205458556059674, + -0.00969989757383019, + -0.20737052542858186, + -0.0043542161210394885, + -0.03291268151318937, + 0.2980068219907435, + -0.036085635831254514, + -0.0848978561137747, + -0.1850475925784516, + -0.07312726008311272, + -0.03905777082205227, + -0.30556252626336744, + 0.0270851644399666, + 0.033732030774764124, + 0.08269360221783902, + 0.177596131723407, + -0.1625479298692404, + 0.024283767268034842, + -0.2873656924654413, + -0.18779818534211593, + 0.041529041603503944, + -0.04882955587813315, + 0.025165890614314772, + 0.19577138820807366, + -0.12859739343420898, + -0.009753625930618856, + -0.056188061857093415, + 0.056643655114973115 + ], + [ + -0.15257860045135052, + -0.021457603286337435, + 0.1851235015297201, + -0.23802893415510495, + -0.0016622297017452987, + -0.09430024985026102, + 0.18691290806051, + -0.13685589812941437, + 0.12570550281348353, + -0.17358858820602954, + 0.20154834041785072, + -0.12889800737892507, + -0.0776735229378785, + 0.10139327869614495, + 0.04106453399172797, + 0.03985107114244495, + -0.1080947935611617, + -0.0073822033701161855, + 0.13962847385429228, + -0.11862913544959451, + -0.16789477159069383, + -0.13971848628143982, + -0.12608928575475786, + -0.06386858889413867, + -0.03495223027977791, + 0.04399741668524269, + -0.18556963733290327, + 0.20790726014490912, + -0.05416878539056814, + 0.08279260951819502, + 0.10099617143821514, + 0.2072579401033896, + 0.18947978552620562, + 0.0668384908327567, + 0.036781702794714474, + 0.10959494860694374, + -0.06796285852085615, + -0.1287981676605066, + -0.10838451644739566, + 0.011634474920885688, + 0.03532357619732917, + 0.059298040382285144, + 0.0569605759790588, + -0.0164456756650256, + 0.23499322661117458, + -0.41271113172868906, + 0.08186295043458511, + 0.1495944507852436, + -0.1867421878988776, + 0.24216164244866328 + ], + [ + 0.22189630000771995, + -0.39211523105831897, + 0.05037578703811748, + 0.06840821595653578, + 0.2771661344382491, + 0.02528170854295237, + 0.09178863557512357, + 0.03802960043238626, + 0.03709215265304127, + 0.06471108068078787, + 0.016214628378795462, + 0.019670766789598747, + -0.07640220652326159, + 0.04566237438458343, + -0.10774126401442857, + -0.039793188109526256, + -0.06589458161357951, + 0.016756317156338903, + 0.09816000943815541, + 0.1829333371756605, + -0.07179301815490285, + 0.4243634552855857, + 0.1706331797371497, + -0.11180714346566653, + -0.007800630325279933, + -0.11976553200746066, + -0.004742907542110152, + -0.08913584616152018, + 0.1598084402913316, + 0.12324829427979803, + 0.279123045790511, + -0.08494911847167314, + -0.10201013386829967, + -0.13081203716827025, + 0.14425121689698917, + 0.17971914480729453, + -0.011678266692561242, + -0.08473987388779393, + -0.07163028216441504, + 0.03438220784727825, + -0.15903443199289427, + 0.02592835346887355, + 0.02317667913397707, + -0.036702596046115595, + 0.19400931051141662, + -0.09801787314102502, + -0.12454266735275932, + 0.18396247986544628, + 0.1759029154040559, + 0.051770809235403316 + ], + [ + 0.13329628497086363, + 0.0702963750496233, + 0.14907305505095544, + -0.10878825270995336, + 0.08608128390965043, + 0.298074593016756, + -0.008137774213663677, + 0.08637122036811959, + -0.13953265680930219, + 0.03267829122849674, + -0.18328988934494772, + -0.2491939441704436, + -0.018797263975035113, + 0.0475394023729779, + 0.045688057943905035, + -0.06388819012309754, + -0.1856750261287274, + 0.17738487048562918, + 0.053490406384721925, + -0.08410404633512447, + -0.1463245650133564, + -0.07797121666123949, + 0.1170396908007789, + -0.0140754016189326, + 0.1252666774180602, + 0.24145679162391714, + 0.03141862460643483, + 0.03881278799870767, + -0.0633274979097809, + 0.015702486408641865, + 0.05628419378205589, + 0.1177863154500006, + 0.12122022047952753, + 0.028499955167059065, + -0.01748231549144383, + 0.01755167673372643, + -0.12163260555988546, + 0.29915346030089585, + 0.05115142801448019, + -0.251680158335819, + 0.018626833142277602, + 0.0013328147078058106, + 0.19369271837786217, + -0.14345471537912613, + -0.1628728216625404, + 0.14859512482900084, + -0.3201529495260939, + 0.10076598309713863, + 0.1373116743723236, + 0.2728780071820417 + ], + [ + 0.01262707121413627, + 0.03714385609919291, + 0.006209626946802256, + -0.0019868520721504244, + 0.10591482011759093, + -0.23550149439467244, + -0.00594435669216767, + 0.21045054175160371, + 0.050067328178388174, + -0.24213218680125353, + 0.0871869808268571, + 0.06841008423406866, + -0.02036042906549979, + 0.10329266802508903, + -0.037891148529733444, + 0.06135158265265157, + 0.1759198164771159, + 0.03846462303238299, + 0.14920340492261117, + 0.03961529732590376, + 0.029537721295455302, + -0.03535734227210086, + 0.02455962269888761, + 0.3432217238377173, + 0.1427294779655821, + -0.037688116646763414, + 0.1309727085513917, + -0.01846933824407726, + -0.21267241776905393, + -0.025677448370083702, + -0.13822674931210674, + 0.0009046112118987384, + -0.1806713964673593, + 0.06342537206024611, + 0.06020799518962367, + 0.19495667787458928, + 0.18244690404146294, + -0.03142417018007798, + -0.05197868501770771, + -0.18674498256093885, + 0.1311434298532129, + -0.019911735092892454, + 0.37271579601156696, + -0.3264370323848708, + 0.2705685267816527, + 0.14771412347266988, + -0.049328866604091436, + 0.030457841642253132, + -0.00815503290731713, + -0.07050286211765808 + ], + [ + -0.13707354314328013, + -0.04082404538628197, + -0.06457394523503797, + 0.07074486681497655, + 0.04519402561650323, + 0.23059460326674036, + -0.12000646173671307, + 0.08993379665551693, + 0.0038785608242322715, + 0.12820175593978628, + 0.11674063768890013, + 0.1787799157469233, + 0.2424838265287973, + -0.0818270845912179, + 0.24317935151572673, + 0.002981582602970641, + 0.07809289041897502, + -0.10175995840418715, + 0.0026460420209865926, + -0.004945810827044249, + 0.0294349368499821, + 0.18618594028526186, + -0.25260193699039174, + -0.005211363569865932, + -0.053836912539991476, + 0.0010235741465477487, + -0.2206439462832594, + 0.24022534576395296, + 0.05770346686246155, + -0.07385498486519744, + 0.1586052340462113, + 0.26116475357614155, + -0.18272183222032895, + 0.04069007069512727, + -0.10726382854751781, + 0.0010904382479660446, + 0.15438505855540438, + -0.05106594757579836, + 0.025053008901776763, + -0.07666392276485252, + 0.315502984558493, + 0.30697857390466216, + 0.11343039833971408, + 0.08671318302060019, + -0.00790371089513734, + 0.13133545779773517, + -0.02288719160858201, + 0.2149406418444913, + 0.13403762539599692, + 0.055059508892343866 + ], + [ + -0.11958382164466393, + 0.10948777675144457, + 0.08258444218452714, + -0.016989752642978747, + 0.024044691471298014, + 0.14085870725119287, + -0.032587869621576684, + -0.04047188987804384, + 0.08365542369942973, + 0.07517983813179656, + -0.013164816162750479, + 0.033896674582836094, + -0.03683303295648765, + 0.11784229130664237, + -0.00347935609816366, + -0.2656600005883868, + 0.058981045044435576, + -0.1056821889194122, + 0.19985044961846865, + -0.05983238773628817, + 0.04141753773587137, + -0.0069317176492808595, + -0.0725901981511428, + -0.07168593586000852, + 0.09593506541348887, + -0.24483369168687566, + 0.009447609963282332, + -0.14125691276202032, + -0.08684295969021635, + -0.43466899982033474, + -0.022078781035134935, + 0.10055840279987972, + 0.09273451699138488, + -0.16575557236846408, + 0.11959705069440092, + 0.05136303560542736, + 0.038758211597549726, + 0.07559868143858162, + 0.24054677924553597, + 0.11418904172410116, + 0.1628453045172063, + -0.1195395886538554, + -0.06921481459420775, + -0.13169944850559506, + 0.0905326942855004, + -0.3053005501030411, + -0.1464149288351211, + -0.19144621540711396, + 0.3471558547024094, + -0.05461933952201569 + ], + [ + -0.2594315427597683, + -0.056370990028834486, + 0.1382215225615129, + -0.1576095075941918, + 0.0955324820046734, + -0.06511761735191597, + -0.005999578569144437, + -0.14657767700505475, + 0.028140050370373197, + -0.1448102719340682, + -0.18283166697716077, + 0.27404005796660824, + -0.08503815382627822, + 0.38841826503632093, + -0.06733244630957136, + -0.11524705605519296, + 0.010576123904314345, + 0.040186507094596355, + -0.08424191774648779, + 0.04848910358515418, + 0.27780986518063916, + -0.09983413007489353, + -0.14245613744752975, + -0.0686311539632953, + -0.15331551476667582, + 0.04993443856437845, + 0.16494769629068898, + 0.03826687835786272, + 0.017130567721506843, + -0.0016184636010120592, + 0.15692806193853098, + -0.16929135839967582, + -0.010586954008732025, + 0.006801845801435187, + -0.22023336409072952, + 0.08154216197762909, + 0.07135533732214032, + -0.13563428357513468, + -0.04775140324510497, + -0.13324361580759414, + -0.08804350648617254, + -0.09215169199030405, + 0.038565508963246106, + -0.040259727723242995, + -0.3098147656138808, + 0.028207151994616788, + 0.052341304877762035, + 0.2059210670860983, + 0.21400566759866466, + 0.08364883673506725 + ], + [ + -0.11706228353715835, + 0.10656654741788314, + -0.12439852118648607, + -0.037756184911959374, + 0.14553421247022325, + -0.02073052703881311, + 0.13178028001080447, + 0.009361625615137552, + 0.07989403638193365, + 0.024087312900670194, + -0.15914057638949392, + 0.07232965803771753, + -0.2011480593569431, + 0.016938825210525643, + 0.11135796714798071, + 0.16593892593614062, + -0.18140984974129398, + -0.173062592991036, + 0.24477980867659002, + -0.06287237044994658, + 0.14058866217475405, + 0.1450719740106584, + -0.03230883236835577, + 0.12774199420281762, + 0.19219144684170447, + 0.06594053145955, + 0.13602894315655872, + -0.13557730855662528, + -0.15307502434742348, + 0.01863964393202503, + 0.2503190385257341, + 0.22052186654677358, + -0.010802855520071163, + 0.05974708177695509, + -0.24884950258214128, + -0.0914514222256881, + 0.20789264199070784, + 0.28890112596209805, + -0.24198678656921152, + 0.28111877603117236, + -0.10381750404466417, + -0.001371573569583491, + -0.1456251486284791, + 0.07212735661756618, + 0.0399873126251614, + 0.049602810712193676, + -0.08748784312630269, + -0.019754114335878765, + -0.11978174301375151, + -0.027270862151468872 + ], + [ + -0.14340529449883901, + -0.08794223774145615, + -0.25732762240838414, + -0.09994106406156072, + 0.15179717041332869, + -0.012925765416701138, + 0.036749192769501164, + 0.030542285697291765, + 0.12599157102508263, + 0.3253020528514628, + 0.07116763629006509, + 0.1619086493054887, + 0.13183373146994928, + 0.017918284752619112, + -0.13425628665200218, + 0.09144040632197128, + 0.060725958814555316, + 0.1511398879628157, + -0.2265321190552082, + 0.11243413705321127, + -0.03395370105848403, + -0.22420296968140468, + 0.15694153266845406, + 0.08379800058375651, + -0.04894905508427229, + 0.06345863436443151, + -0.14457993450009873, + 0.09377236279354365, + -0.11310443495027872, + 0.08480829370505223, + 0.16204206853610592, + -0.20217179889286135, + 0.005087697319864617, + 0.21715514972202327, + -0.005430296145629966, + -0.00043406340005852114, + 0.13803549082735822, + 0.22871061676702686, + 0.2219288555230693, + 0.20846384913831956, + 0.07419817572179974, + -0.21952327238548847, + 0.08642200525136386, + 0.01589118363421062, + 0.14979787656669413, + -0.09863018949580103, + -0.06651873764597152, + -0.08112491757916351, + 0.050104917012955226, + 0.24032990086231415 + ], + [ + 0.07700020830566574, + 0.13117290874806306, + -0.09418454381184867, + 0.1510999216006601, + -0.04193076759644486, + 0.04986890017967149, + -0.0378588137099936, + -0.040034714825351286, + 0.19086505968785641, + -0.04493128247794101, + 0.08880263909131961, + 0.2560185767760197, + -0.12009664512693506, + 0.06244327954026395, + 0.06071235429246755, + -0.15041703145528476, + -0.06653227390052696, + -0.26801681426178026, + -0.12547321741346587, + -0.01272371005757961, + -0.25627979443474797, + 0.12654364793646114, + -0.0005739305785299476, + 0.2648485682747246, + 0.1986745923758677, + 0.1739472964761846, + 0.05041101583209627, + 0.08567722356564847, + 0.10394173730227453, + 0.05936935519234193, + -0.11436039086160622, + -0.0667571457737254, + 0.02008194678884932, + 0.06728446758445782, + 0.012789227927948255, + -0.15367761068344357, + -0.1234820344648299, + -0.014979165861190087, + -0.16804465345426353, + -0.1897763327997351, + -0.03607851173096304, + -0.10594018168878826, + -0.1985774641471569, + -0.03668340708969501, + 0.11438055816591705, + -0.012143350347374661, + 0.19884061634910621, + -0.07677844941493667, + 0.30576822102792967, + 0.3346537074303364 + ], + [ + 0.1618944125616492, + 0.04090763470715723, + -0.2947260772374913, + -0.1261495617900082, + -0.055344285105206996, + -0.07447643982072108, + 0.307439310479365, + 0.03925864333078006, + 0.04823522034174499, + -0.10374011748763531, + 0.2270492201150028, + -0.015086191889823684, + 0.1299791166132669, + 0.17807883720678794, + 0.10282537449235787, + -0.17277373437369575, + 0.11649511909416409, + 0.07108285037762606, + -0.39164669389313367, + -0.1309568328935924, + 0.0862732930335593, + 0.0005513022956752472, + 0.16241868519801272, + -0.015487943433912387, + -0.006074930466113347, + -0.07721447377993677, + 0.3906376611480455, + 0.008251452002639569, + 0.011811189673466829, + -0.08224536997712598, + 0.049485700083775196, + 0.14759575263544217, + 0.13981499870850628, + -0.11145460881635676, + -0.08782210949313642, + -0.03134261278093298, + -0.06662221015396763, + 0.037849717895025725, + 0.029972238347924823, + 0.02484215765098303, + 0.019237247951652846, + 0.28495066118454493, + -0.09183691917372827, + 0.03784139160518356, + 0.09548966490922382, + -0.00530135332481437, + -0.18141626597159088, + 0.1267213384490129, + 0.004709583555281637, + -0.011052047478622347 + ], + [ + 0.10439548931345448, + -0.02336429896516051, + -0.049232303071937364, + 0.14194212396745773, + -0.055081140360911524, + -0.18310232175386093, + 0.12473471475186687, + 0.03794268043888741, + -0.06943636862547237, + -0.05323069747065584, + 0.11042914545612503, + 0.05184695777687545, + -0.2863476366587187, + 0.20230738749087784, + 0.13722774031670315, + 0.13635715998243736, + -0.10870212116266917, + -0.01779331253781141, + -0.06259650640677752, + 0.029813048666301228, + -0.03058702152989245, + -0.16426490453128173, + -0.28908217145664195, + -0.15341117025501635, + 0.1848810162678496, + -0.034563618956612946, + -0.27496353395258555, + -0.017657410660720626, + 0.14824523336697723, + -0.21877565672693414, + 0.03013291562814221, + -0.15898703391069585, + -0.1903067238824133, + -0.027443165163807723, + 0.01629445391654744, + -0.18755502130472695, + -0.06667203378450719, + 0.20531393623568533, + 0.3150255485516418, + -0.04069703986657297, + -0.1517760307535928, + 0.02056575892516351, + -0.06462953155528894, + -0.11498208845229838, + 0.10550027864211103, + 0.12523238095053446, + -0.08710741542303921, + 0.2594055614666465, + -0.0860320961617367, + -0.020053850184074636 + ], + [ + -0.057121930914093524, + 0.16471694761265507, + -0.04372828621431689, + -0.07689663621602495, + 0.10112443498411347, + 0.20968042912157256, + -0.1526412931122402, + -0.09618548664310142, + 0.17523892344843126, + -0.1039084929323106, + 0.06998705185511415, + 0.07296395733957511, + -0.03711584633878305, + 0.10179367326356673, + 0.04802032323299957, + -0.03894759838020835, + 0.03260987014820676, + -0.1575935215254273, + 0.012361488788700957, + 0.08930158903953475, + 0.2991592505205499, + -0.02964167737932605, + 0.22375409950538228, + 0.0005657977559726248, + 0.23071238732603783, + -0.31474865263640134, + -0.1312151934304584, + 0.14570624896327683, + 0.17940325318783826, + 0.20657756063210347, + 0.008361962411932952, + 0.03010150197256867, + 0.04476531922012862, + 0.12856234749751097, + 0.0964847445242154, + -0.07737128588317217, + -0.19981023288573477, + 0.14146447678700239, + 0.032251982803819496, + -0.21080998444017351, + -0.1659056203187789, + -0.02559609197662035, + 0.2664274513854967, + 0.24145451290923514, + 0.017363931255309016, + -0.07327285069110474, + -0.09680242117074257, + -0.030980802319923843, + -0.11551444107231083, + -0.20161199605514196 + ], + [ + 0.11649561435631484, + -0.26685359299982575, + 0.08668766760531704, + 0.133141307340513, + -0.07297367780219617, + 0.13401877502923898, + -0.18624347388172072, + 0.11415885496723983, + -0.08366942837153442, + -0.13552039297822355, + -0.0011276188276419677, + -0.025978039255737263, + 0.2100478833607425, + 0.28075697285504436, + -0.238995829630554, + 0.2922248618338393, + -0.13541702715247309, + -0.14133499548508408, + -0.1334074141043649, + -0.21892374893494249, + 0.1369523494350521, + 0.005332855791769407, + -0.12886983106523847, + 0.21893116073350424, + 0.02129293855961911, + 0.043059123674705456, + -0.05650862588724285, + 0.02611081458065361, + -0.061143358516375444, + -0.12803021306079898, + 0.13887269518132567, + 0.04427987510954965, + 0.21725779698499945, + 0.1846711794353357, + 0.018206699740264783, + -0.1539569680560316, + -0.0627579359005687, + -0.21707368888424608, + 0.03724129681983726, + 0.12026969806001618, + -0.1718922261405455, + 0.08750373087428491, + 0.031506997769438064, + -0.032524179724525495, + 0.07662759981227238, + -0.007341007705619297, + -0.15832388626794858, + -0.21350278422235688, + 0.05956627816967959, + -0.030362497231675376 + ], + [ + 0.0077427936758744905, + -0.12078916058173152, + 0.10173505898662268, + -0.1817564800667551, + -0.14754126096164252, + -0.09704516182124834, + 0.01902716393763679, + -0.01369945238504098, + 0.07506935847840136, + 0.10029103710792532, + -0.07525987574238346, + 0.1909804178022994, + 0.17669576443752316, + -0.006888328313752649, + 0.11083798103475188, + 0.32559856740881343, + 0.08808665842396463, + -0.06108731719828266, + -0.013053316595299612, + -0.0019093527104933723, + -0.12312797743313272, + -0.11728798389628617, + 0.21418092166715613, + 0.09898005584574686, + 0.4017560986072612, + 0.020504061367507806, + 0.017673731258356636, + 0.08592706091755176, + -0.07889269451199225, + -0.08642960591397222, + 0.19127051355436936, + 0.13338524873462085, + -0.14785015633388052, + -0.41674274209861406, + 0.07238281828536419, + 0.09532497338525006, + -0.12526265598309733, + -0.18141547650571307, + 0.07998158085669849, + -0.0735657658460749, + 0.010666063664502153, + -0.16928399093608476, + -0.09997046072479729, + 0.07388976257758824, + -0.22004732606842722, + 0.0010181570863087336, + -0.024374332786513055, + 0.014229737954458203, + -0.07120417907278419, + 0.014056351834027774 + ], + [ + -0.3891257517432112, + -0.10419196237536761, + -0.11681999512355191, + -0.22206068041943444, + -0.0901010120870762, + 0.0710395706177241, + -0.21212915548247507, + 0.026252371811435173, + -0.308222167147286, + -0.12507517682186042, + 0.11542320542220334, + 0.010656229272132273, + -0.2232488311798364, + -0.16400123506859282, + 0.026614608964230783, + 0.01654515980012879, + -0.2734201512533364, + -0.08525669723886138, + 0.005498278556292467, + -0.025588765447173575, + -0.2103868519879027, + -0.08090320110383878, + 0.2444197235395368, + 0.1787796979251498, + -0.1550622320535441, + -0.18263100008193112, + 0.2136926436710558, + -0.043977418303401995, + 0.09706977253435267, + -0.08208577754277172, + 0.023090263670265964, + 0.05192336113211931, + -0.13273773385825308, + 0.05646783481496892, + 0.08638412471975035, + -0.11961470993442305, + -0.07850614760027856, + -0.11766173069041191, + 0.1174927093288404, + 0.14115602725199433, + -0.0378976679147093, + -0.013030597428061456, + 0.04456040144018131, + 0.01970948948005334, + 0.06843927005948346, + 0.10270473738755022, + -0.02473169146351381, + 0.1928241337112403, + 0.10522503936643594, + 0.010618538540559084 + ], + [ + -0.10514077518018818, + -0.0075926018201666065, + -0.1282703124062964, + 0.10073798296474833, + -0.20160829250766626, + -0.16912960197684485, + -0.15303608109518999, + -0.06172554786611767, + -0.07146393113484861, + 0.07917947094742066, + 0.14085306454094085, + -0.2576281267474369, + 0.10292303662883466, + 0.18002829933097547, + -0.21363236936930508, + -0.10140043777279104, + 0.05980129574391019, + -0.209577276629949, + 0.21797910332676612, + 0.2777581382033622, + 0.03220078585493789, + -0.19733303902229887, + 0.030081577473715444, + -0.020339355120060437, + 0.06726667582250409, + -0.09306757036664258, + 0.04013021750638593, + -0.02720164180908402, + 0.09059700040007311, + 0.035437613191193, + 0.24123015681969423, + -0.03598826082466877, + 0.09686328244394549, + -0.19050422673008338, + 0.17285242980881793, + -0.05492905093908258, + 0.18170979726765507, + 0.1429660956413801, + -0.13674533972735303, + -0.05068753997269249, + 0.0013275619840811324, + 0.28121948096355215, + 0.0049156022890146965, + -0.042128966895059364, + -0.10245662824498314, + 0.15220503455695814, + 0.08012323575091228, + -0.08888757036282276, + -0.03255133073393705, + 0.2968524753850464 + ], + [ + -0.04179412155970908, + 0.044649910684100555, + -0.03395240091172306, + -0.1017686858053742, + -0.2443835226067545, + 0.06934577483908393, + -0.07264202817831919, + 0.14310092205244854, + 0.15572844551211387, + -0.0024797874970277265, + 0.10225240625686961, + -0.177428484298653, + -0.03187887575358118, + 0.12408175002582046, + -0.18300180707729372, + -0.09622492085682931, + -0.4776658883699817, + 0.17400947120081084, + -0.15815998560523345, + 0.15172868918065152, + -0.07053587800666691, + 0.1335558029840787, + -0.05567579647112149, + 0.0671115687268135, + 0.15351228270219516, + -0.0032863669445818027, + -0.09131582525121844, + 0.09316773398216507, + 0.02038107800395013, + 0.0073375670371881386, + -0.08760330428183227, + -0.1327103975728976, + -0.1168619473423628, + -0.27466132627443474, + -0.35173082042985715, + 0.07948121073690627, + 0.22893979672987733, + -0.03669106659837928, + -0.03646307610698759, + -0.04254753989683223, + 0.08941677503220755, + -0.02316061579094968, + 0.08917370510410426, + 0.15415200599279383, + 0.05178771543549837, + -0.10080913896169744, + -0.03677055443091951, + -0.09785749542472047, + 0.0045643348900737445, + -0.16060265148533354 + ], + [ + 0.06983654120035995, + -0.1290013055836052, + 0.01573850489663894, + -0.0030323529998321354, + 0.015820591552747443, + 0.009183183558722321, + -0.2224217605630412, + 0.1395181111153641, + 0.4224630712069841, + -0.14558489613680983, + -0.24257643894257763, + 0.01875033723063106, + -0.13657064891845147, + 0.07068107571907206, + 0.2213055773920824, + 0.0002154687162559365, + -0.057661894101959134, + -0.031082750204013996, + 0.08683235594089214, + -0.23587373093037609, + -0.0795147631625258, + -0.11396401910162364, + -0.04570606458891249, + -0.008675191711408672, + -0.21519620917593146, + -0.009514873310037501, + 0.15878171839241625, + 0.03888250601730951, + 0.09509918008798714, + 0.2743518984352679, + 0.04869673904966193, + -0.07900322892985909, + 0.024371297432140344, + -0.1986320176722501, + 0.07155306846864774, + 0.11016487251048739, + 0.05072735551942575, + 0.07605190801149699, + 0.3597399762731979, + 0.08366353921837359, + 0.08869038247065929, + 0.18361927332494715, + -0.025129061273009637, + 0.06445932237557654, + 0.08879592623845184, + 0.13622131673552018, + 0.07067817054578954, + -0.1835245363942025, + -0.0675113275205646, + 0.06599532654257625 + ], + [ + 0.1047747847268099, + -0.09272621379637415, + 0.061744466412529335, + -0.16997059361471786, + 0.16684128591991393, + -0.06885009886629183, + -0.14139498553004137, + -0.3023040269555028, + 0.10940856497032096, + 0.15813945031040333, + -0.002670448503499298, + -0.1772334942771041, + 0.091223147470316, + -0.022852528730170348, + 0.43457176690269633, + -0.037617610420919066, + -0.11437984402460177, + 0.11926214968618036, + -0.061206920185684806, + 0.10440702575755217, + 0.16335991856284246, + -0.0933339117968807, + -0.032384308632570684, + 0.18984585645697657, + -0.003160443090440682, + -0.16523068137577984, + -0.07716079487327676, + -0.1752952606176784, + 0.0013871097981679077, + -0.08430055916716911, + -0.21757847082721601, + -0.04388438522728433, + -0.15366180496753445, + 0.039256735210520234, + -0.041054857871516345, + -0.09598419256982214, + 0.12785213983861804, + -0.2383707601334486, + -0.10356538699140051, + -0.013028781326506913, + -0.16924416465821565, + 0.09758171241364699, + -0.07575993579211236, + -0.05623696911891841, + 0.03858960805628022, + 0.027145119823984862, + -0.20563613894085597, + -0.12581555843255232, + -0.03284656560899748, + 0.26989727609094594 + ], + [ + -0.1052400997177553, + 0.06714218302586811, + -0.08396528779909425, + 0.022209172770146474, + -0.15602615723647736, + -0.05347057731057145, + 0.0200179646416592, + -0.0292847413741225, + 0.04973768585804351, + 0.14552204181275247, + -0.33483068658082243, + -0.20253164163709322, + 0.04130801521869397, + 0.052395116099624786, + -0.23516734785025425, + 0.13012547199276323, + 0.010787910049593773, + -0.1380843528276589, + 0.02547966242417589, + -0.11968894112356676, + 0.21376492563334376, + 0.15990266702995773, + 0.18269117870865498, + -0.15910920118357877, + -0.046260249111303234, + -0.09978359344292136, + 0.06645295609046943, + 0.14704166341744745, + 0.04177048428264124, + 0.08173817946105826, + -0.09656650564572251, + 0.08394862678947454, + -0.32398937619661894, + 0.09910500814085973, + -0.1704267857440425, + -0.13085988216360792, + -0.09916068867377434, + -0.0920332224217535, + 0.14474933444697133, + -0.19779426331608035, + 0.12732695280924136, + -0.005341895722383381, + -0.19046134108334717, + -0.2762419599167019, + 0.2107763408723631, + -0.11205059458742389, + -0.04369864614598191, + 0.06641007086305292, + -0.07563183075518064, + 0.17524058917049662 + ], + [ + -0.13652334287890636, + -0.07771910276062063, + 0.08428450033645715, + 0.019820542193678414, + -0.05426690621535318, + -0.0011779433411384713, + 0.030089838303889917, + -0.45618551174461175, + -0.003670413152680562, + 0.21655764955619453, + 0.3912542877988733, + 0.06551874304136945, + -0.07684564098560726, + 0.17973548574527495, + 0.026731282121890146, + 0.15217268107584273, + -0.015397122253803594, + 0.09959392647490364, + 0.14627000553488034, + -0.12179134021352105, + -0.043016179611137226, + 0.1763176270183459, + 0.009408826664488357, + -0.03378446926743316, + -0.022572341018341442, + 0.1418861179602482, + 0.09001287148591837, + -0.0835298457491427, + -0.12739852266837529, + 0.2775998318246589, + -0.01746884050695371, + -0.08405945824507041, + -0.011977939483285571, + -0.07928425471623742, + -0.06919528837883562, + -0.1561878122055256, + -0.19472048120788507, + 0.05144113346570768, + 0.080107463654616, + -0.028092476879340644, + 0.1901882156900392, + 0.0944511972526762, + 0.081489237902354, + -0.1633351454439185, + -0.0042081787709077265, + 0.13458929800527705, + -0.08529071836118192, + -0.17926536033286916, + 0.0876618964287879, + -0.21341840169525483 + ], + [ + 0.08891186806161863, + 0.024824398536735726, + 0.20336242476428543, + -0.2633225931390863, + 0.18706980065578033, + -0.18249940670365755, + -0.0442175087807312, + 0.08157061937889915, + -0.006082233005294148, + -0.1580492587175234, + 0.10303631083063967, + 0.12325295236753064, + 0.22188242552385046, + -0.0036315729090865396, + -0.28235304494369406, + -0.06362780203259555, + -0.16323482622189606, + -0.2493560576707672, + -0.061419468722240335, + 0.0018562618054058864, + 0.029982758804253228, + -0.07665556965560225, + -0.08547921359608808, + 0.0075729620620721, + -0.010999700586874871, + -0.004475518444161624, + -0.12760592032940188, + -0.1887442728417883, + -0.02212559036336129, + 0.23044701965692307, + -0.22438088660692268, + 0.034211264015920284, + -0.22368781247289568, + 0.018485964112463806, + 0.11354150169176026, + 0.026427095483800008, + -0.12574068128703794, + 0.2107709508482095, + -0.030432552228470477, + 0.13255177002508864, + 0.2417445726202771, + 0.09779908376461023, + -0.2580214742288323, + 0.08813806692138115, + -0.12276181188806769, + 0.019445262547618247, + -0.21242650683150266, + 0.08151908936212535, + 0.060470394138713315, + 0.014443415875153007 + ], + [ + -0.11410661219592858, + -0.1494814414183935, + 0.14133948271860333, + 0.23198397216784286, + -0.031947630289163385, + -0.14992453794445817, + -0.19718275143720856, + 0.1489379654910909, + -0.03851476817047791, + 0.052118608554056235, + -0.04159108937010432, + 0.16671916134180928, + 0.17125697616813848, + 0.017806739919015557, + 0.20340211614832462, + -0.2757000445654252, + -0.18641377193783873, + 0.08133964728942213, + -0.027177509141321998, + 0.014636074653000965, + -0.10870696249427769, + -0.18192638077881787, + 0.024225997911487634, + -0.38118373751589535, + 0.22217975957977143, + -0.0059791333767942765, + 0.2303668178024395, + 0.1090523436650729, + -0.11783730762020685, + 0.13133458154415092, + 0.08820181096249165, + -0.012573684867732306, + -0.0010352281498388711, + 0.18359137354572636, + 0.08170807974866381, + -0.17857362769618607, + 0.06468695273537328, + -0.06583743110731187, + -0.19705681405956785, + -0.034263601518619624, + 0.07200281426008112, + -0.09343489978688714, + -0.08721773118136016, + -0.06893209945972492, + 0.14774603911796827, + -0.05402755025580266, + -0.17437774981247153, + -0.020297951089819136, + -0.10624890070569147, + -0.15826089975096658 + ], + [ + 0.0628222433817569, + -0.03807110886995977, + -0.09927836447087603, + 0.07169980095854857, + 0.0009331858087514913, + -0.2445835586824687, + -0.0817441084251972, + 0.027792518315551438, + 0.012006832869057831, + 0.17725818938968063, + -0.12573604469846253, + -0.15594382188964973, + 0.014746997000104104, + -0.00023091708045654344, + 0.1142290093683035, + -0.17390229875119792, + 0.012605566043608112, + -0.17914479979390066, + 0.2424322800201387, + -0.11036563384216243, + 0.07674371384132103, + -0.03497767766857794, + 0.13308034581490902, + 0.27933645479639607, + 0.0022469285213976412, + 0.2434083907337385, + -0.05579487590999919, + 0.14791925737857553, + -0.10110946807075202, + -0.07986948850939472, + -0.025548004333721855, + -0.3792061444141942, + 0.08328840067971775, + -0.012052871263489787, + -0.06266605198952686, + -0.06694229028512484, + -0.17849886255207761, + -0.05922729912285606, + 0.00481829591435564, + 0.0958989601000973, + 0.09711478007288095, + 0.1491997736706683, + 0.0802008862886354, + 0.16687253960267004, + -0.06583537537217421, + -0.2349465718002428, + -0.11691372074991865, + 0.330779184438906, + 0.07259978084740584, + -0.1784226098064828 + ], + [ + -0.07082371618783166, + -0.04609804910710113, + -0.07777340919179027, + 0.21007656314335538, + 0.11200357020257797, + 0.0465814087207337, + 0.02035922447835489, + -0.12548559844177573, + -0.1328292956888401, + 0.14924425596023044, + -0.2004956443635922, + -0.05801046065409792, + -0.21567908152327883, + 0.19762490310630348, + -0.07167732080387061, + 0.15805886004465936, + 0.03112754191227534, + 0.06548252329366432, + -0.24927320920930396, + -0.18795942531997487, + -0.13266617899931543, + -0.005178928470900853, + -0.21023607080899168, + 0.11733358552475162, + -0.006368138202986287, + -0.16161674776048576, + 0.16032344840937338, + -0.01896133516137622, + -0.06594066330357487, + 0.027936883040241334, + -0.11468472552851425, + 0.009852455325710384, + -0.17080921548738714, + -0.09233605731914257, + 0.3542572554504303, + -0.01784502824369929, + 0.10205434624651487, + 0.09214944956688072, + -0.21035923029591486, + -0.12022125760015072, + 0.19117650769991643, + 0.03667837031098311, + 0.11650318343941764, + 0.30261397640894866, + -0.08213883222961141, + -0.23789463935171973, + -0.07637652878573055, + 0.03174375430087036, + -0.0848946862071115, + 0.046364772135952866 + ], + [ + 0.2497959336562221, + -0.049298633445139226, + -0.060451475333350276, + 0.019193098983175498, + -0.008869901367718622, + 0.24602910854585758, + -0.10750897819874804, + -0.05964745470938725, + 0.05372058979483934, + -0.025882913303039157, + 0.16803328712708065, + 0.15104771191354366, + 0.044027764220311086, + -0.09658904913470422, + -0.07446520368492192, + -0.12590026993484665, + -0.08868332849235203, + -0.04881338953343834, + 0.05004947335954705, + -0.08255548455880561, + -0.10753287391534949, + -0.02318844883111126, + -0.016383510492255348, + 0.07688933348857704, + -0.09216441630988496, + -0.1772578166715067, + 0.11260495523739966, + 0.08829670871550334, + -0.31360657586765983, + -0.047971994309674915, + 0.11546432877390801, + -0.10836651114689276, + -0.2631705721773555, + 0.042092664622874094, + -0.07040622194585386, + -0.024235419445007185, + 0.032243996390108894, + 0.1504939564181531, + 0.04898161364116323, + -0.0398312712063556, + -0.19172250623029274, + 0.13869340049373308, + -0.005180315416762634, + -0.30854863046049885, + -0.3230249710200781, + -0.2977215373722976, + 0.14889790475256634, + 0.046593464197497, + -0.2671770695157044, + 0.0028741555331580314 + ], + [ + -0.03557629204784874, + -0.07774587152403076, + -0.020211004623106724, + -0.03219041829909983, + -0.0569783280225995, + 0.17882827046040087, + 0.4025495496626147, + 0.2763343502794084, + -0.23917142023820534, + 0.07590718619624301, + 0.040153877785810504, + 0.030378842517813233, + 0.18117711157557362, + -0.0026273952234587236, + 0.14927140620268595, + 0.12388393181764881, + -0.06777000763051746, + -0.012628549995445486, + 0.26441081119544513, + -0.15960111459780657, + 0.08678901211795584, + -0.22107163823626205, + -0.08132728634755214, + -0.04610760165457971, + 0.14586102119091396, + -0.19382359573226468, + 0.09790028531649253, + -0.10939872238605114, + 0.07618005167636398, + 0.22110108188064964, + -0.11727168770119674, + -0.25651811253022583, + -0.10428861659167753, + 0.03563857228831809, + -0.11765702924408303, + 0.04816073810363943, + -0.023350996777112342, + -0.02837170432087532, + -0.022149830424151196, + -0.05976647129214003, + -0.07353421627030857, + 0.11915596963504603, + 0.04850455976608637, + 0.10381846195295145, + 0.026474831210891062, + -0.1215082907899625, + 0.1790275433280925, + -0.13522444043758758, + 0.24668928785998945, + 0.09281081890704242 + ], + [ + -0.08094290863333645, + 0.18567338797811384, + 0.041524134281583414, + 0.09835739945194234, + 0.21207716113274352, + -0.25502083807492776, + 0.05543894326049713, + 0.16138413432124177, + -0.09275337044600762, + -0.04211011992906801, + 0.05985313757261522, + -0.01682258667931941, + -0.07279915068524971, + 0.06510438795579179, + -0.054551639216623045, + -0.05152382918394567, + 0.06962555937168843, + 0.3043454631452477, + 0.14038105163547807, + 0.011331791503916897, + -0.0977324364529161, + 0.18634438784138452, + -0.02036840209360762, + 0.11145485833948554, + 0.1138682575029743, + -0.13799393593588175, + 0.02315358940470884, + 0.4347232585604259, + 0.1351398532972456, + 0.10396203171251728, + -0.06552106557565149, + 0.09742068862348503, + -0.05492938580157865, + 0.049275932564937806, + 0.007955602582993703, + -0.12719462572381754, + -0.015496089738447676, + -0.12748360651441318, + 0.168819056636707, + 0.24246927121673223, + -0.11549242529400298, + 0.0987543856209713, + -0.07506662458093649, + -0.018319312290388242, + -0.3299540840179262, + -0.04037112923371191, + -0.12754323884164484, + -0.21123601781625023, + 0.052512135935389254, + 0.1074770953972199 + ], + [ + -0.10372926599018492, + 0.0852579014710697, + 0.3264378996010387, + -0.08665138510637428, + -0.1979570796302782, + 0.12704363651372352, + -0.054936003436846945, + 0.25596054446127714, + 0.1735349269838473, + 0.18760260613320867, + 0.04022819470869286, + -0.21221488732808744, + -0.0712995437248241, + 0.21619800011059453, + 0.150001639130575, + 0.108316594517971, + 0.2062361232390155, + 0.05484239732767363, + -0.17119962641729378, + 0.1827894389768664, + -0.01628750585947043, + 0.001765441138584121, + 0.08310194994399081, + 0.09838089443215255, + -0.018925973694311204, + 0.11300529911917193, + 0.02432953179349039, + -0.09047668323720859, + -0.026259180055106603, + 0.13763067370722976, + -0.017074930125194506, + 0.10220955301763895, + -0.12947153673008246, + 0.1464551222364603, + 0.1807886546542997, + -0.07481010704116187, + 0.09350376843581187, + 0.10243869551128561, + -0.02646152735564803, + 0.13160908650419945, + -0.18551306199459586, + 0.14826401881326284, + -0.13905310533768925, + -0.11639685198401045, + -0.037098947755497554, + -0.14571213173963782, + 0.16399426318878646, + 0.1766231841729541, + 0.1953473342864028, + -0.2161866671816453 + ], + [ + -0.028972041760007596, + -0.21176931272282928, + -0.0819565062425639, + -0.05622427672299907, + 0.24102057440778876, + -0.06205789183101492, + 0.14785174622678313, + 0.017692888762877727, + 0.04864638092529935, + -0.1165323393440553, + -0.007753825677082229, + -0.25661256126987614, + -0.06458148414317125, + -0.1283935040230542, + -0.07164588017515128, + -0.09687051629182111, + 0.03484761746342328, + -0.03207146233161071, + 0.009833797327240207, + 0.15455246579988036, + -0.0237040848451489, + -0.11906703281968724, + -0.09674488466549251, + 0.03415127351049015, + -0.07990690336886497, + 0.01862832268526234, + -0.037255765159141856, + 0.10297082896449357, + -0.41360413970027166, + 0.047832368064727515, + 0.1369927002621985, + 0.1586588675635338, + -0.08873324646348481, + -0.04338585071446701, + -0.007617433043262104, + -0.2980894114210007, + -0.007405846445670989, + -0.03927544377766913, + 0.15588938276740705, + -0.35705780776597473, + -0.09318753039028858, + -0.02381000535865452, + -0.1603470673377395, + 0.22196352645815506, + 0.052022880377642904, + 0.06256016039771478, + 0.10582891512180073, + -0.12885175411993216, + 0.23138147572417203, + -0.1775718760333778 + ], + [ + -0.08129983376110099, + 0.03188766236716813, + 0.06354822862251702, + 0.24011426998710528, + -0.004807393441059137, + -0.10279154326576413, + 0.13037903022042643, + 0.010987324591276035, + 0.32542544524858935, + -0.05735667617063906, + -0.1274311067057789, + 0.1346189809852039, + 0.21038600258502177, + -0.08409542026091747, + -0.061385610928469184, + 0.2461163117961558, + -0.10856488269878975, + 0.0859688320599352, + 0.06871187028590259, + 0.12098944942509925, + -0.23860683953436332, + -0.04871974879845964, + 0.09759332116314437, + 0.0358740556092271, + -0.19116338564909233, + -0.30345481846740774, + -0.04279021224945105, + -0.17667200333424285, + 0.011516207972253304, + -0.011763917623599896, + -0.14303651804318948, + 0.06413888963731143, + 0.27207800400052334, + -0.09595865494663225, + -0.14408148290283732, + -0.3398059844994911, + 0.02039662871346548, + 0.060060578344542474, + -0.048043133566901694, + -0.06805949513786815, + -0.0034036760716676983, + 0.05630606653307085, + 0.1479851589101798, + -0.06446160855335985, + -0.11407098557087196, + -0.04675539033546611, + -0.07381073545896097, + 0.23545251805081396, + 0.11321432249298156, + -0.00279319029584529 + ], + [ + 0.01799695074727802, + -0.20362316251919174, + 0.0665462823741661, + -0.30968051952810005, + 0.19279318791944142, + 0.06071300060444052, + 0.13666352081789632, + 0.07648053716834875, + 0.007766714746233257, + 0.1757470235736515, + -0.13890076398172382, + -0.08132978083357251, + 0.013725350160466327, + 0.10857025378933456, + 0.04416464089218463, + 0.012766627106054276, + -0.019194564062281757, + -0.11434107231626835, + -0.03344107037418418, + 0.17824131783287767, + -0.1552745648016528, + 0.024078030102400318, + -0.13444279417412391, + 0.1448551072582935, + -0.018341963540406434, + -0.20000834014685495, + 0.10243472271079075, + 0.2323305307404287, + 0.24148550442959021, + -0.1859159406773943, + 0.01145350325262974, + -0.1428939504420391, + 0.1725009285511082, + 0.0832317045067808, + -0.033922151516491666, + -0.08734862246162953, + -0.16972508341200507, + 0.12370103575021549, + -0.16573430222443214, + -0.02969420379862683, + 0.27321600946279206, + -0.021674228407153582, + -0.08626850812495798, + -0.22753367048053738, + -0.01512331803834839, + 0.13624031794226912, + 0.16008639641065694, + -0.12370384381922994, + -0.1892582567447792, + -0.21318145410843015 + ], + [ + -0.10144919288996576, + 0.25749259262680174, + -0.26187849065611113, + 0.04510738531592681, + 0.2455338961582532, + -0.008460049821518795, + -0.23843342864712821, + 0.09621475308475598, + 0.11644255609325004, + 0.043283450060004114, + 0.15794204724037975, + -0.2146475887153224, + 0.1602168394351403, + -0.08619561765932372, + -0.013160573570506798, + 0.16070335845369768, + 0.041748520006928316, + 0.06763579857185224, + 0.01722239673151836, + -0.11707886750298509, + -0.07851650336635549, + -0.16685866697369348, + -0.29026321948657374, + 0.02012028583666366, + -0.09021435229891198, + 0.05128719141874737, + 0.11029912654537037, + -0.1017631021271768, + 0.2499397623687362, + 0.07546049210622381, + 0.2316951717456153, + -0.021106058275147277, + -0.08097506987859741, + -0.1301189107591248, + -0.06424187612336055, + 0.12970558719900488, + -0.20559981146548315, + -0.05366784793209973, + -0.15607210638604999, + -0.11004218253509578, + -0.1255504504302994, + -0.1847254554401386, + -0.11392141744314718, + -0.17059589194370386, + 0.012710432525041828, + -0.11819414882153877, + -0.139553822274005, + 0.040607898880346195, + 0.09048986616299676, + -0.1572793822787186 + ], + [ + -0.04113309742977736, + -0.21078951695597395, + -0.16348258918572767, + -0.11056140854453726, + -0.2233651506201169, + -0.2538881455771967, + 0.07872225147080938, + 0.13059574583217998, + 0.1544148319042693, + -0.019955608623130866, + 0.09084068763455476, + -0.13992827089724844, + -0.0850170454214152, + 0.005299461739726307, + 0.15045227167327976, + -0.0025718811825607393, + 0.07715210926330127, + -0.2637633885463249, + -0.03512408973521127, + -0.12091031353987472, + -0.18571923580749367, + 0.19124269696657353, + 0.004335054531493029, + -0.14011377471101988, + -0.061710846413649566, + -0.022114584065446686, + -0.07573199659180298, + -0.17642741347354596, + 0.08539511656763324, + -0.025300289257335382, + 0.03603710855029827, + 0.029946026084232056, + -0.03498771408773949, + 0.3472517661299172, + -0.03570802800029136, + 0.10470023731885195, + 0.10157578510406719, + 0.009144906605113485, + 0.004894192026902292, + -0.17183169838654988, + 0.01024211119464037, + -0.15099473549207795, + 0.15581277847751368, + 0.01835303707990813, + -0.3830682615160456, + -0.07912660631235875, + -0.21550745382244382, + -0.19822968303152916, + 0.04064385366442806, + -0.007843353407044831 + ], + [ + -0.06907775167050219, + 0.20898537681440205, + 0.2649857979080342, + 0.18634650674112974, + 0.03193536497920194, + -0.01562541233286437, + 0.07000927373084787, + -0.14473707852710002, + 0.03063802573157839, + -0.1806663572041477, + 0.09667556895913772, + -0.2167391737505575, + 0.33186702208166474, + 0.07846260708397368, + 0.1339860002753129, + 0.11941950277301108, + -0.10125459613620176, + -0.043717573217413076, + 0.024765738802233705, + 0.13278648262576492, + -0.08930497091401149, + 0.21723000622206398, + 0.004082078106752272, + 0.04891623134582057, + -0.04504049290799012, + -0.04973504563806844, + 0.2804661342786469, + 0.002138733913058654, + -0.0643011979398084, + -0.1868961046758749, + 0.16172979329058462, + -0.23283753063476284, + -0.11029763590612382, + 0.22031309500050625, + 0.019934727792355552, + 0.14702389769338037, + -0.039918443837375694, + 0.11335394525632833, + 0.2262087478992131, + -0.028091833822672538, + 0.05353310453613395, + -0.1417899916682227, + -0.07286769096008743, + 0.28878166485030954, + 0.04901769727085365, + 0.06243885476318012, + 0.06526090170347837, + 0.04017396230427083, + -0.08850679463093783, + 0.09850448477244919 + ], + [ + -0.17504932246631244, + 0.1487253870941033, + 0.14415927129502343, + -0.04564914915395865, + -0.09355876211724862, + -0.045359802900233094, + 0.20564574612175365, + 0.13264142408020224, + 0.10960850491042318, + 0.08576991419403696, + 0.0020494340505965913, + 0.18851025540168403, + -0.12779775022974862, + -0.38719594024738174, + -0.06551843856582015, + 0.021854129219141902, + -0.2001553915181604, + 0.06006023041222743, + -0.09310462283063907, + 0.08401039342970056, + 0.2646330543212067, + 0.08656708190280091, + -0.09874780890224255, + 0.13188844144554504, + -0.03325233842807747, + 0.151070331143977, + 0.07567290726617762, + -0.07608108694190162, + 0.06486126471991992, + -0.0726792844621205, + 0.22602240376358934, + -0.17644412303886178, + 0.08652047476413563, + 0.012784907534301497, + 0.3111649954880649, + -0.04339677897813291, + -0.01926956061827922, + -0.08526678563404338, + 0.06972978200136488, + -0.2578528928669243, + 0.032277232714141395, + 0.25670944513582616, + -0.022332775260065125, + -0.08734238406161786, + -0.016677998608954275, + -0.1015718116128334, + -0.18075600079165854, + -0.1452486790193701, + -0.10476588739196693, + 0.02774028767336444 + ], + [ + 0.03399706627838681, + -0.044362754714536275, + 0.14919140079241414, + 0.12922437873257245, + -0.08488491834746495, + -0.1540308997759308, + -0.025296640260420417, + -0.21701943391414646, + -0.14675780246978962, + -0.20473355547273456, + -0.1090517882755905, + 0.06620261456071094, + -0.046050572280976115, + -0.10689340017669273, + 0.06728030613088049, + 0.09922173689454362, + 0.0421175857930611, + 0.10444871801676088, + -0.09156325832712149, + -0.056484864257064414, + -0.05620525832409696, + -0.18526884605074076, + 0.2625262794965125, + 0.09455937379993593, + -0.12446468518159469, + -0.04154282296783614, + -0.17055105457099454, + 0.16814534398166858, + 0.17435809087447843, + -0.10620504427306494, + 0.17736204647410572, + -0.01004506593679098, + -0.14308120707800523, + 0.050047715182907966, + -0.1792114724121993, + 0.20144712906723028, + 0.041606322952681164, + 0.3032237728528978, + -0.19244265602186678, + -0.09657613607838426, + 0.02780893999736128, + 0.22448156499272598, + -0.1420316428824267, + -0.025970244902590776, + 0.09719284334054211, + -0.13784811683664822, + -0.06529224437474197, + -0.2428779244363254, + 0.24386891686267548, + -0.1590181850839138 + ], + [ + -0.34017317366230526, + -0.28140293519082643, + -0.13462105323580972, + -0.029801012354687312, + -0.10823328042112144, + 0.0753237628903515, + 0.058380031544901616, + -0.13261785252234717, + -0.03296817499570639, + -0.34166213956631486, + -0.22071592025754228, + -0.05098546814059016, + 0.2953610031304865, + -0.07852657752282016, + 0.06585465596070607, + -0.18329522142416713, + 0.1709511371829129, + 0.11302582510724857, + -0.04223721378895605, + 0.06444592838376215, + -0.023521074405949898, + 0.19946967701580867, + -0.18296190588021846, + 0.13209918654133304, + 0.17162288069018308, + 0.19567276127464484, + -0.044155945030159474, + -0.0872163854818421, + 0.1156741464082859, + 0.08417970165128556, + -0.0829078883411923, + -0.0423701818656822, + -0.0861646529990509, + -0.13669104216424577, + 0.06300997302746926, + -0.12960923452166123, + -0.08897447119293436, + 0.2372570704759868, + 0.050407568321683104, + 0.10702227114671792, + -0.13298233061785042, + 5.4796645233861805e-05, + 0.07921891192490656, + -0.12933778452179534, + 0.036854977146646074, + -0.1543576643903861, + -0.022170250516550763, + -0.02821650755811191, + -0.0964275798757689, + 0.007109710990670075 + ], + [ + -0.1134079640229398, + -0.22660141557964103, + 0.013636662095641714, + 0.34560989052399604, + -0.02938541785701217, + -0.04830192487836979, + 0.08524044819178857, + -0.042214210030755046, + 0.11935775871933874, + 0.07603630031888979, + 0.05337479805548347, + -0.16569153689643626, + -0.06967202299022199, + -0.10094682451361964, + -0.017060353722279747, + -0.19153507497221506, + -0.183823873584642, + 0.13301597951609198, + -0.129813551686044, + -0.1126968594397909, + 0.2249809747407381, + -0.09742720139909516, + -0.00704375964514397, + 0.26381798124125805, + 0.20982083164421245, + -0.21002889450463796, + -0.08658313022716747, + -0.11706139649133407, + -0.0034584765872763806, + 0.12179154351012303, + 0.07074589125729566, + 0.2026768167562705, + 0.08794661666895146, + 0.13136742806872106, + -0.027222177612020036, + 0.2905061701384318, + -0.18676118978542747, + 0.014268462857382943, + 0.0800132422231723, + 0.05141404983220475, + 0.1622298637598782, + -0.08907308805559873, + -0.11336182752287374, + -0.11555769719753901, + -0.16732080292635673, + 0.12043441380349207, + 0.2010696334880237, + 0.15031646687407435, + 0.016278486089827505, + 0.0003083274331757311 + ], + [ + -0.041278668687001474, + -0.16302156621945751, + -0.04356619626582057, + 0.06524317306364834, + -0.03977483995322228, + 0.1700841037429196, + 0.06331819787923229, + -0.1530240603587595, + 0.3493120319987403, + -0.009360260944466337, + -0.0007933575033346858, + -0.04091516964919238, + -0.12765863703350586, + -0.1845295226938665, + -0.22761662079566747, + 0.11469776307044843, + 0.07352531469813216, + -0.03176349647786403, + 0.07250811333826654, + 0.19984685904567998, + -0.06470525754105294, + -0.22146620048811555, + -0.12209398718788973, + -0.1860346371048634, + 0.1840334799409609, + 0.11744235197834463, + 0.26062992227265463, + 0.16541046529137746, + 0.009329832547605967, + -0.19346546085328714, + -0.21915962524055058, + -0.004418516567516649, + -0.14447529845008164, + 0.19076445481756743, + -0.03895630539004651, + 0.18517432709074558, + -0.1532778195492642, + -0.0667961157433675, + -0.08397646799642808, + 0.1954184199028857, + -0.07896693735363548, + 0.21727383670795444, + 0.07033341059322656, + 0.09105700162926333, + -0.024078169295555948, + 0.102536731885646, + -0.17014627579333483, + 0.011777153717104347, + 0.11188133061955632, + 0.003066971983300146 + ], + [ + -0.06975238538449173, + -0.15229161681495001, + 0.048286040096298055, + 0.19834706851738076, + 0.11371998096738903, + 0.28628423122424895, + -0.03500896589077092, + 0.1152111871192367, + -0.10804598510190495, + -0.21782728104430782, + 0.1953528570889688, + -0.051765642637480465, + -0.2183156091470126, + -0.019337242730814573, + 0.08081972787958869, + 0.140354601976135, + 0.24082468156455147, + -0.10178480133051071, + 0.00805766242699993, + 0.22800405946320595, + 0.06165583966613199, + -0.08030667650850279, + 0.11427769837474115, + 0.06152033038759624, + 0.02620833182443431, + 0.06450141825662288, + 0.03106325271193246, + -0.04493939456175739, + 0.04099667474690589, + 0.1150018568640226, + -0.10441666068522439, + -0.12287829886552966, + 0.16545762279704604, + -0.07407148145118139, + -0.22246525035255663, + -0.016082735119686786, + 0.16768424446401434, + -0.08676222020220586, + 0.0830984337908917, + -0.07929311325532182, + 0.2596198055546475, + -0.0734102484421564, + -0.30387408861450516, + -0.030053131516583308, + -0.08923569535565709, + -0.18578160614730874, + -0.2584255583160505, + 0.03920280074028686, + -0.18663823028494606, + 0.08536683773034213 + ], + [ + 0.031193737449240855, + -0.008995585605415886, + -0.06328631374168255, + -0.11796583759498869, + -0.19386325334205623, + -0.06312889266435186, + -0.21444785870455818, + 0.1354292882736557, + 0.01665016297363255, + -0.17370073096257282, + 0.027039250395308925, + -0.07341832976609351, + -0.12884549072457832, + -0.14748976277129736, + 0.14989187539162876, + 0.21232230324793744, + 0.08124435439217, + 0.13058878088700707, + -0.09253005443156327, + 0.050709970050707355, + 0.19892715522165982, + 0.20459728792885973, + -0.13163691583863382, + -0.15995900260536738, + 0.018162730151022332, + -0.2709501812742815, + -0.03709806179127217, + 0.14151002045112376, + -0.36418410146186675, + 0.029112102108892198, + 0.051609997813950925, + -0.22906336492723847, + 0.11072207054208198, + -0.07702107270938634, + 0.03698845672503592, + -0.02252116789138476, + -0.26735981437394657, + 0.1452267108194629, + -0.23545506610463887, + 0.12510413001667964, + 0.1248426558956004, + -0.0623219430279132, + -0.021104867449251122, + -0.03572916479025445, + -0.0032098353561043134, + 0.029349542917893275, + -0.007689159285304046, + 0.025376516770757092, + 0.2015263391516939, + 0.20653063519018047 + ], + [ + 0.10151032456371178, + -0.12805112295551302, + 0.022063434435852434, + 0.02754783356232842, + 0.0684105256163644, + -0.2589792931836114, + -0.18013997514317986, + -0.019667155789939314, + -0.19691265838989655, + 0.15013768115954867, + 0.050831171300793954, + 0.04502987504466307, + 0.018294414663785574, + -0.12493328852418319, + 0.10532030048425507, + 0.183203510449497, + -0.172055093058555, + -0.17707744332994427, + -0.09363015342354751, + 0.24907183723934131, + 0.17443273017463462, + 0.0465077355945839, + -0.14173725860945893, + -0.03571509477507165, + -0.016300090341037635, + 0.11454725365310513, + 0.297257008251524, + 0.11817586971615486, + 0.07113281488355504, + 0.05125470962710246, + -0.2243577951273807, + 0.2621418291879702, + 0.1719253299209281, + -0.07650937395000855, + -0.09348814291899768, + 0.12331919735090972, + 0.004989928544183567, + 0.22349456467908482, + 0.22032736241893208, + -0.06932470823971373, + -0.10171085300973695, + -0.02908870406824064, + 0.16894493851659978, + -0.04033081395113179, + 0.004754444960949456, + -0.28091499948756643, + 0.13978806552135395, + -0.01337546046282332, + 0.09808222251311771, + 0.021109571586522446 + ], + [ + -0.01780160730393231, + 0.13106755988045943, + 0.048179780105132824, + 0.1061493966286563, + 0.32451525476538334, + -0.002489924039516646, + 0.08026211629608083, + -0.015048962711354284, + 0.01912687062507169, + -0.17416957536969863, + -0.026653419586175172, + -0.199728814959907, + -0.04270297117965497, + -0.07464291233616446, + 0.08872218785543871, + 0.05563305478779634, + -0.09668616362783103, + -0.23072574196431542, + -0.3090262622795737, + -0.010718105633970954, + 0.038490054411572966, + -0.06432906743774962, + 0.1826930152294315, + -0.2172780659643241, + 0.1444881186978593, + 0.12318463654161269, + -0.04604523363031219, + -0.08984212987626378, + 0.017888107001262046, + -0.03175794462131457, + 0.13272104852590208, + -0.07794881399130077, + -0.1402423535659717, + -0.10723748264473784, + -0.021631014999398634, + -0.1808871031195761, + -0.008211349410727006, + -0.15628169325918292, + -0.019472823379329464, + 0.24590208116515447, + 0.203942258025229, + 0.09458942613789263, + 0.3404850958057164, + -0.19212129443813777, + -0.12549847023378058, + -0.07561947323473471, + 0.23076917993450824, + -0.13256553098635462, + 0.07678908121942056, + 0.01830894360427864 + ], + [ + 0.05542461685640982, + 0.10577486083126914, + -0.1263712841395867, + 0.1957989880111737, + -0.18350450655734515, + 0.09005955466063445, + 0.2321784380405784, + 0.06451553857369777, + -0.06821069035459162, + -0.012076850753765089, + -0.11303458414126301, + 0.08303379798647637, + -0.006007224253358449, + 0.21294697481205055, + 0.19344984129968773, + -0.08170598161233923, + -0.14271995584622219, + -0.13208156462718162, + 0.027775437798599208, + 0.39474330883121833, + 0.017930928367434203, + -0.11655851039411856, + -0.03492102416161829, + 0.10530408003353099, + -0.3671459280222428, + 0.03923445444955677, + -0.07531380747348349, + 0.05357331030574199, + -0.128047094297348, + 0.11429902620350452, + 0.039921188480043876, + 0.1667461176839273, + -0.1710817473240778, + -0.08536425176404981, + 0.06130152959527664, + 0.11397846432039015, + -0.32024764737025013, + -0.10043526987594424, + -0.06630816816448452, + 0.1544829472538222, + 0.03014421232329336, + -0.12494366547085478, + 0.09880323053477254, + -0.06257411408451512, + -0.01022400827982625, + -0.008025643258203789, + -0.19618213525233455, + -0.16534385868491758, + -0.05279912071118214, + -0.008680806846336389 + ], + [ + 0.040115982624997715, + 0.19731128055369906, + 0.053512199009875146, + -0.04940779903735641, + -0.10222469727717201, + 0.026017217641827326, + 0.10736452211093256, + -0.24916583415023424, + -0.1375831871414893, + 0.0372467847819395, + -0.19138659863579655, + -0.06740202363915691, + 0.009938796161001946, + -0.16989408096897624, + -0.006050310430385304, + -0.03619522735812275, + 0.07069716474253356, + -0.2995477170637824, + -0.2033021694218267, + 0.022314882741863037, + -0.2133026185290513, + -0.0067046300942529575, + -0.212631075170562, + 0.06515408542253022, + 0.14028957848788798, + -0.2218050353896142, + -0.00933852498817241, + 0.12880600426227237, + -0.11643477429505032, + 0.3442859096988314, + 0.09394614964640897, + -0.13487854882376105, + 0.1840992586284454, + 0.006950782244812611, + -0.030279068743913375, + 0.15466106257626744, + 0.23643391804781455, + -0.13080991056072058, + 0.1505878530539292, + 0.08857567226216094, + -0.11529552106179135, + 0.02308535910769443, + 0.005629106072124711, + -0.1586630713135477, + 0.058490570057078924, + 0.09311342536821428, + -0.21117077374645712, + 0.10890609512240308, + 0.11551101330876405, + -0.13478091501300543 + ], + [ + -0.10323281006997422, + 0.019825915483173008, + -0.3694680294020715, + -0.0023668570103068005, + 0.11258538609507751, + 0.07858066778432436, + 0.0667038983329809, + -0.09299451560503445, + 0.03187359557288941, + -0.14466692334487796, + -0.02287235915017102, + -0.01557374908542268, + 0.13591052574780954, + 0.1354831515449514, + 0.12465374529221156, + 0.20842375017298925, + -0.31061520873979565, + 0.01693975530241465, + 0.07403452780540842, + 0.006048655794284301, + 0.05827559819512719, + 0.062321071435151844, + 0.1686805154369148, + -0.13417585156931755, + 0.004436552767332919, + 0.10694749612950807, + -0.12292627427370381, + 0.18094292893972705, + -0.09116281514990703, + -0.0372258241980374, + -0.22063930216432553, + -0.06828404282451847, + 0.1370987486349569, + 0.03493975625276386, + 0.378619216673377, + 0.20299507025925287, + 0.21602257582739595, + -0.019047901059644066, + -0.01074103807787401, + -0.07067717372627741, + -0.015482003785598948, + 0.05740650720920626, + -0.25000442875248874, + -0.18183245987160682, + -0.14163443266253276, + 0.038086130259357774, + 0.06149221981190303, + 0.061080292911686734, + 0.10305736711929701, + -0.16775400493117895 + ] + ], + "condition_number": 1000.0, + "marginal_sigma": [ + 3.731296538779526, + 3.3138446178097754, + 5.097607082848903, + 3.5301349191907474, + 5.0708893386338865, + 4.375486548457538, + 3.95455514604823, + 5.174442699329969, + 4.00527513213303, + 3.3544370500062946, + 3.9317276271286197, + 5.293295102093377, + 2.946060138342511, + 3.7886077072231155, + 4.014269038812807, + 3.194364238100906, + 3.0170050004572193, + 2.7188664369681113, + 4.192679133821783, + 3.145558240509409, + 3.3860765568215423, + 3.9866908045114497, + 4.018495750096286, + 3.7646403373279904, + 3.555370194194576, + 3.2921185300210425, + 4.64140008030981, + 3.8179897891595775, + 5.104308747904772, + 3.701884332679106, + 4.043728767456209, + 4.310841449381795, + 4.465341011249907, + 3.382054472593075, + 4.39694095339194, + 3.462454729978901, + 4.283802167734276, + 3.2640429589666873, + 3.492561204073657, + 4.624605100057069, + 2.5834947890491096, + 3.4796843309159255, + 3.1606757286681364, + 4.310066247184618, + 3.7006278484679567, + 3.5462541026662526, + 4.16160833931961, + 3.198971539574858, + 3.6271249128271736, + 3.6821635330974685 + ], + "note": "Sigma = eigenvectors @ diag(eigenvalues) @ eigenvectors.T (columns)" +} diff --git a/dataset/corr_gaussian_d50/priors.json b/dataset/corr_gaussian_d50/priors.json new file mode 100644 index 00000000..c941aa80 --- /dev/null +++ b/dataset/corr_gaussian_d50/priors.json @@ -0,0 +1,107 @@ +{ + "kind": "uniform", + "lower": { + "x000": -51.71313268089439, + "x001": -43.418998755596455, + "x002": -61.60603174146217, + "x003": -37.80239878377972, + "x004": -58.91252520589606, + "x005": -50.087292510070334, + "x006": -56.83715660050436, + "x007": -73.09166365911024, + "x008": -54.61696631174018, + "x009": -52.390509385653125, + "x010": -49.41364280931644, + "x011": -84.52707067664913, + "x012": -38.956824372501316, + "x013": -51.46317242192323, + "x014": -58.857688188831446, + "x015": -47.02321605807679, + "x016": -40.23373528872918, + "x017": -43.89902534506646, + "x018": -49.37006464425581, + "x019": -55.147040950325234, + "x020": -46.644982486021505, + "x021": -66.9727442863224, + "x022": -47.760896451525895, + "x023": -46.39490049926424, + "x024": -53.13632329269732, + "x025": -41.36446863635747, + "x026": -54.35165090966204, + "x027": -53.523753149910604, + "x028": -61.1455685083299, + "x029": -41.31505182636921, + "x030": -57.412621202700045, + "x031": -58.146250642850035, + "x032": -67.89819613729011, + "x033": -54.50134990371794, + "x034": -53.08539340661388, + "x035": -51.26071715394622, + "x036": -48.20536737738121, + "x037": -42.08601553253831, + "x038": -43.74887350025464, + "x039": -68.11853589057957, + "x040": -51.30154811189982, + "x041": -45.564110660751794, + "x042": -45.39664071423611, + "x043": -70.70281940187148, + "x044": -60.421533339436834, + "x045": -45.45335920724706, + "x046": -54.07015360107348, + "x047": -45.96152228269727, + "x048": -56.981074438003596, + "x049": -54.19828215326157 + }, + "upper": { + "x000": 58.00382057589272, + "x001": 39.96803689673328, + "x002": 62.884668706711, + "x003": 55.13783747030051, + "x004": 83.90743983129765, + "x005": 78.23831087405458, + "x006": 54.76997025923119, + "x007": 85.27934788668017, + "x008": 48.91220704062596, + "x009": 45.714475123131564, + "x010": 57.493165565381126, + "x011": 71.99965380769567, + "x012": 37.77627704091965, + "x013": 58.38898630127473, + "x014": 54.10333204209298, + "x015": 42.50381134166191, + "x016": 46.758993245893166, + "x017": 38.46525504620735, + "x018": 58.647784715243084, + "x019": 30.53736338267307, + "x020": 48.14748036100526, + "x021": 47.1270497607091, + "x022": 63.96878597585608, + "x023": 64.12036935953557, + "x024": 49.71828403660304, + "x025": 55.07205653344882, + "x026": 68.0298160309641, + "x027": 61.64448172471473, + "x028": 74.1226038883561, + "x029": 63.607130377920456, + "x030": 53.765977855017624, + "x031": 72.58640073554338, + "x032": 61.506987982983986, + "x033": 42.21062089946437, + "x034": 58.46731217482557, + "x035": 39.76124041090134, + "x036": 68.20851271889494, + "x037": 37.56157189948766, + "x038": 51.12825521520085, + "x039": 61.482154648673216, + "x040": 25.229026243733376, + "x041": 55.60718444522419, + "x042": 48.87572571878403, + "x043": 46.804298505915234, + "x044": 53.00652409075262, + "x045": 53.15882306275883, + "x046": 58.029232217132886, + "x047": 34.480974234430214, + "x048": 53.49358378238354, + "x049": 35.746116113520856 + } +} diff --git a/dataset/corr_gaussian_d50/truth.json b/dataset/corr_gaussian_d50/truth.json new file mode 100644 index 00000000..4040e95c --- /dev/null +++ b/dataset/corr_gaussian_d50/truth.json @@ -0,0 +1,62 @@ +{ + "dataset": "corr_gaussian_d50", + "family": "correlated_nd", + "kind": "gaussian", + "dimension": 50, + "data_seed": 1, + "structure_seed": 2050, + "generator": "structure: numpy.random.default_rng([structure_seed]); data: numpy.random.default_rng([structure_seed, data_seed]).standard_normal(D)", + "max_deviation_sigma": 5.0, + "parameters": { + "x000": 3.2131755627230696, + "x001": -0.04592651877219289, + "x002": 1.6242857816817775, + "x003": 5.825559719617424, + "x004": 5.080008308921631, + "x005": 9.675432874622011, + "x006": 3.3768092766168856, + "x007": 3.988135611105463, + "x008": -0.7519273584779302, + "x009": -7.676455791984589, + "x010": 3.5350934562448533, + "x011": -7.8793950417326775, + "x012": 2.0251045172197912, + "x013": -0.2768197827226402, + "x014": 4.498700182381219, + "x015": -4.530159465858821, + "x016": 5.9105990873128285, + "x017": -3.334795248135947, + "x018": 3.698723319244067, + "x019": -9.749940002772169, + "x020": 1.0576922251968028, + "x021": -3.384519237896053, + "x022": 9.594070505374777, + "x023": 7.2543173037780875, + "x024": -1.031832860049633, + "x025": 3.7757060790325454, + "x026": 3.4436370711977666, + "x027": 5.0299788420639615, + "x028": 8.164160978920268, + "x029": 5.1378159435815185, + "x030": -7.661957476185927, + "x031": 6.518997145113559, + "x032": 1.0534080193166666, + "x033": -6.052617429832625, + "x034": 4.810582742863536, + "x035": -7.29106355210072, + "x036": 9.81940355125484, + "x037": -2.0210641386958406, + "x038": 8.670782730168305, + "x039": 1.8199148425576777, + "x040": -9.978845923772408, + "x041": 5.1305783087657275, + "x042": 4.846031551045954, + "x043": -5.63899750192538, + "x044": -4.2727607400142436, + "x045": 8.718705460186676, + "x046": -2.353416942968998, + "x047": -5.047677034030597, + "x048": -0.4646188919239673, + "x049": -9.063995790746574 + } +} diff --git a/dataset/rosenbrock_d20/data.json b/dataset/rosenbrock_d20/data.json new file mode 100644 index 00000000..8849b5b6 --- /dev/null +++ b/dataset/rosenbrock_d20/data.json @@ -0,0 +1,22 @@ +[ + 3.4924355434607888, + -0.025558722579455125, + 0.03694266494814098, + 0.1540839198449629, + -0.10114156379801163, + 0.3416604409156271, + 0.49110876071345, + 0.5557025260437095, + -0.08461451416817531, + 0.43531951913393013, + -0.42392970555471865, + 0.08210011959582134, + -0.3635554910067433, + -0.029860767153739615, + -0.011389722462778978, + 0.22879973714856494, + -0.010900090134341647, + 0.24568914938818306, + 0.4266094952033787, + -0.14318609844124347 +] diff --git a/dataset/rosenbrock_d20/model.json b/dataset/rosenbrock_d20/model.json new file mode 100644 index 00000000..caf94f31 --- /dev/null +++ b/dataset/rosenbrock_d20/model.json @@ -0,0 +1,14 @@ +{ + "family": "correlated_nd", + "kind": "rosenbrock", + "dimension": 20, + "structure_seed": 3020, + "a": 0.05, + "b": 5.0, + "mu": 1.0, + "n1": 2, + "n2": 19, + "sigma1": 3.1622776601683795, + "sigma2": 0.31622776601683794, + "note": "hybrid Rosenbrock (Pagani et al. 2022), n1 = 2: x1 ~ N(y1, sigma1^2), x_j | x1 ~ N(x1^2 + y_j, sigma2^2), j = 2..D" +} diff --git a/dataset/rosenbrock_d20/priors.json b/dataset/rosenbrock_d20/priors.json new file mode 100644 index 00000000..1e216522 --- /dev/null +++ b/dataset/rosenbrock_d20/priors.json @@ -0,0 +1,47 @@ +{ + "kind": "uniform", + "lower": { + "x000": -35.09241382681001, + "x001": -4.306244894322548, + "x002": -3.811243211947052, + "x003": -4.95108236962904, + "x004": -4.9100250211922285, + "x005": -4.265456338704142, + "x006": -3.8916275279445953, + "x007": -4.122803250548903, + "x008": -4.429887201527565, + "x009": -3.8306678173775097, + "x010": -4.162191960162524, + "x011": -4.670661911433943, + "x012": -4.183438082973947, + "x013": -3.8210481052394973, + "x014": -4.134450851336102, + "x015": -4.931946593715954, + "x016": -4.786136827828845, + "x017": -3.7985407943134284, + "x018": -4.083467154480607, + "x019": -4.854572895143851 + }, + "upper": { + "x000": 36.36083951827732, + "x001": 1326.154645370117, + "x002": 1326.16648266391, + "x003": 1326.065372522388, + "x004": 1327.04009248846, + "x005": 1326.4666597526616, + "x006": 1326.5985545013825, + "x007": 1327.0488129622677, + "x008": 1326.4574433902603, + "x009": 1326.3899999843072, + "x010": 1326.399451267475, + "x011": 1326.0390707609217, + "x012": 1326.7005126536033, + "x013": 1326.172165299208, + "x014": 1326.3746688730305, + "x015": 1326.4781089146923, + "x016": 1326.5190940987854, + "x017": 1326.2706537404651, + "x018": 1326.7419859999136, + "x019": 1326.8703232899327 + } +} diff --git a/dataset/rosenbrock_d20/truth.json b/dataset/rosenbrock_d20/truth.json new file mode 100644 index 00000000..f2bbef68 --- /dev/null +++ b/dataset/rosenbrock_d20/truth.json @@ -0,0 +1,32 @@ +{ + "dataset": "rosenbrock_d20", + "family": "correlated_nd", + "kind": "rosenbrock", + "dimension": 20, + "data_seed": 1, + "structure_seed": 3020, + "generator": "structure: numpy.random.default_rng([structure_seed]); data: numpy.random.default_rng([structure_seed, data_seed]).standard_normal(D)", + "max_deviation_sigma": 5.0, + "parameters": { + "x000": 1.0, + "x001": 1.0, + "x002": 1.0, + "x003": 1.0, + "x004": 1.0, + "x005": 1.0, + "x006": 1.0, + "x007": 1.0, + "x008": 1.0, + "x009": 1.0, + "x010": 1.0, + "x011": 1.0, + "x012": 1.0, + "x013": 1.0, + "x014": 1.0, + "x015": 1.0, + "x016": 1.0, + "x017": 1.0, + "x018": 1.0, + "x019": 1.0 + } +} diff --git a/results/reference/corr_gaussian_d100/jax_cpu/reference.json b/results/reference/corr_gaussian_d100/jax_cpu/reference.json new file mode 100644 index 00000000..1a866f4d --- /dev/null +++ b/results/reference/corr_gaussian_d100/jax_cpu/reference.json @@ -0,0 +1,1985 @@ +{ + "schema_version": 1, + "status": "complete", + "exact": true, + "model": "correlated_nd", + "protocol_id": "correlated_nd@1", + "dataset": "corr_gaussian_d100", + "backend": "jax_cpu", + "data_seed": 1, + "assertion_mechanism": "none", + "kind": "gaussian", + "dimension": 100, + "log_evidence": -467.0879990829763, + "log_evidence_normalised": -467.0879990829763, + "log_evidence_offset": 0.0, + "log_evidence_how": { + "method": "closed form: ln Z = -ln V (normalised Gaussian likelihood, uniform box)", + "truncation_bound": 9.483495340221007e-27, + "log_evidence_error_bound": 9.483495340221007e-27 + }, + "log_volume": 467.0879990829763, + "information_nats": 267.62951843765785, + "max_log_likelihood": -149.45848064531845, + "map": { + "log_posterior": -149.45848064531845, + "vector": [ + -1.2021308320199742, + -2.952981643429867, + -3.7581037058845004, + -0.1032643427126958, + 4.163244353429565, + -5.385786055607202, + -3.6343944361180887, + 5.824753009082074, + -9.386392933118318, + -5.773668707081988, + 3.1420677186057517, + -8.563024588496887, + -2.769084481626737, + -9.113164332972586, + 3.8933862590750348, + -9.896208964265261, + 2.909289213872127, + 6.170666042554738, + 0.8055756405444758, + -1.026804658804273, + -9.556333676256035, + 10.505067652621388, + 3.0134816449048127, + 1.44675975200904, + 5.947563178758834, + -0.8645845155535714, + 10.151479547978367, + 9.36917460122682, + 2.6678306855994007, + -0.633343033206347, + 7.664614535237543, + 9.634654949924343, + -6.201033024398548, + -3.839180413244838, + -5.4828984853095495, + 7.027540723441524, + 5.616333000988521, + 5.853856783757642, + 2.8884557305173377, + -0.29362344912347726, + -1.9952419219761626, + -6.431541270895463, + -3.3088277707172695, + 8.274302770434312, + -0.3747143403521629, + -2.5047036056504153, + 2.900042942832223, + 2.092735626024465, + -6.580101913286118, + 2.0325394712968405, + -10.526405354554084, + 13.915463792286953, + 5.720570036150931, + -11.396896542279356, + 3.0165024613150937, + 2.046377680516482, + 8.198102981052497, + -10.146367250975526, + 5.869811050985641, + 4.9657302330650115, + 2.686677827304771, + -2.6330270162626306, + 7.101699669194365, + -1.172074863495809, + -0.5538980014918629, + -3.3944402948199883, + -4.116905037182889, + -10.759384401347873, + -1.15581397002944, + -9.777411041739587, + 2.3907983208805494, + -3.370487623453233, + 7.9948180869708825, + -1.757580774734179, + -4.975596921845037, + 7.05834423042185, + -3.1355151039103824, + -5.972509121707489, + -4.46862003463722, + -9.48163985645499, + 1.3298765779791588, + -4.821929319024434, + -0.7119218719745795, + -1.465305057306019, + 6.552554958625056, + 7.138678387159778, + -10.249747824118593, + -9.60526317763532, + -5.41776912178592, + 6.510672003438873, + 15.50212031732026, + -6.941889717763079, + -5.39740764677679, + 2.3321659892138005, + 11.68429160358741, + 1.0213508171222556, + 0.8361037255789572, + 5.752084012234308, + -10.537374908005383, + 10.718926099399667 + ], + "method": "exact mode (inside the box); PyAutoFit's uniform prior adds 0 there" + }, + "posterior": { + "x000": { + "median": -1.2021308320199742, + "sigma": 3.5322448641507433, + "lower_1": -4.7343756961707175, + "upper_1": 2.3301140321307696, + "lower_2": -8.163785855525687, + "upper_2": 5.759524191485737, + "mean": -1.2021308320199742 + }, + "x001": { + "median": -2.952981643429867, + "sigma": 3.5470574826560775, + "lower_1": -6.5000391260859445, + "upper_1": 0.5940758392262109, + "lower_2": -9.943830662254395, + "upper_2": 4.0378673753946615, + "mean": -2.952981643429867 + }, + "x002": { + "median": -3.7581037058845004, + "sigma": 4.228309796001084, + "lower_1": -7.986413501885584, + "upper_1": 0.47020609011658365, + "lower_2": -12.091623964069278, + "upper_2": 4.575416552300276, + "mean": -3.7581037058845004 + }, + "x003": { + "median": -0.1032643427126958, + "sigma": 4.163993986421228, + "lower_1": -4.267258329133924, + "upper_1": 4.060729643708532, + "lower_2": -8.310025416279029, + "upper_2": 8.103496730853635, + "mean": -0.1032643427126958 + }, + "x004": { + "median": 4.163244353429565, + "sigma": 3.9860147927249248, + "lower_1": 0.17722956070464058, + "upper_1": 8.14925914615449, + "lower_2": -3.6927398641915703, + "upper_2": 12.0192285710507, + "mean": 4.163244353429565 + }, + "x005": { + "median": -5.385786055607202, + "sigma": 4.193720899489577, + "lower_1": -9.579506955096779, + "upper_1": -1.1920651561176259, + "lower_2": -13.651135511818218, + "upper_2": 2.8795634006038124, + "mean": -5.385786055607202 + }, + "x006": { + "median": -3.6343944361180887, + "sigma": 3.3231864165076415, + "lower_1": -6.95758085262573, + "upper_1": -0.3112080196104472, + "lower_2": -10.184018910153153, + "upper_2": 2.9152300379169747, + "mean": -3.6343944361180887 + }, + "x007": { + "median": 5.824753009082074, + "sigma": 3.7704136425885215, + "lower_1": 2.054339366493552, + "upper_1": 9.595166651670596, + "lower_2": -1.606305732631669, + "upper_2": 13.255811750795816, + "mean": 5.824753009082074 + }, + "x008": { + "median": -9.386392933118318, + "sigma": 4.16657523018762, + "lower_1": -13.552968163305938, + "upper_1": -5.219817702930697, + "lower_2": -17.598241346131463, + "upper_2": -1.1745445201051723, + "mean": -9.386392933118318 + }, + "x009": { + "median": -5.773668707081988, + "sigma": 4.656852599059068, + "lower_1": -10.430521306141056, + "upper_1": -1.1168161080229195, + "lower_2": -14.951798348940716, + "upper_2": 3.40446093477674, + "mean": -5.773668707081988 + }, + "x010": { + "median": 3.1420677186057517, + "sigma": 4.485782225738326, + "lower_1": -1.3437145071325745, + "upper_1": 7.627849944344078, + "lower_2": -5.6989015706714525, + "upper_2": 11.983037007882954, + "mean": 3.1420677186057517 + }, + "x011": { + "median": -8.563024588496887, + "sigma": 4.072699187386574, + "lower_1": -12.635723775883461, + "upper_1": -4.490325401110313, + "lower_2": -16.589853941369118, + "upper_2": -0.5361952356246587, + "mean": -8.563024588496887 + }, + "x012": { + "median": -2.769084481626737, + "sigma": 3.8613321202994824, + "lower_1": -6.630416601926219, + "upper_1": 1.0922476386727458, + "lower_2": -10.379333257278905, + "upper_2": 4.841164294025431, + "mean": -2.769084481626737 + }, + "x013": { + "median": -9.113164332972586, + "sigma": 3.461185469661158, + "lower_1": -12.574349802633744, + "upper_1": -5.651978863311428, + "lower_2": -15.934769328906203, + "upper_2": -2.2915593370389695, + "mean": -9.113164332972586 + }, + "x014": { + "median": 3.8933862590750348, + "sigma": 3.8492916358826683, + "lower_1": 0.0440946231923669, + "upper_1": 7.742677894957703, + "lower_2": -3.6931320839345725, + "upper_2": 11.479904602084641, + "mean": 3.8933862590750348 + }, + "x015": { + "median": -9.896208964265261, + "sigma": 3.266556565685395, + "lower_1": -13.162765529950656, + "upper_1": -6.629652398579866, + "lower_2": -16.33422240887871, + "upper_2": -3.458195519651812, + "mean": -9.896208964265261 + }, + "x016": { + "median": 2.909289213872127, + "sigma": 3.856175891194438, + "lower_1": -0.9468866773223112, + "upper_1": 6.765465105066565, + "lower_2": -4.6907972175394725, + "upper_2": 10.509375645283725, + "mean": 2.909289213872127 + }, + "x017": { + "median": 6.170666042554738, + "sigma": 3.464253908959454, + "lower_1": 2.7064121335952835, + "upper_1": 9.634919951514192, + "lower_2": -0.6569865001025263, + "upper_2": 12.998318585212001, + "mean": 6.170666042554738 + }, + "x018": { + "median": 0.8055756405444758, + "sigma": 3.2373699997480965, + "lower_1": -2.4317943592036206, + "upper_1": 4.042945640292572, + "lower_2": -5.574914384489984, + "upper_2": 7.186065665578935, + "mean": 0.8055756405444758 + }, + "x019": { + "median": -1.026804658804273, + "sigma": 3.1915251298637215, + "lower_1": -4.218329788667995, + "upper_1": 2.1647204710594483, + "lower_2": -7.316939631738102, + "upper_2": 5.263330314129556, + "mean": -1.026804658804273 + }, + "x020": { + "median": -9.556333676256035, + "sigma": 4.0290739095735475, + "lower_1": -13.585407585829582, + "upper_1": -5.527259766682488, + "lower_2": -17.49718254189726, + "upper_2": -1.6154848106148085, + "mean": -9.556333676256035 + }, + "x021": { + "median": 10.505067652621388, + "sigma": 3.922942561027048, + "lower_1": 6.582125091594341, + "upper_1": 14.428010213648436, + "lower_2": 2.773391668299591, + "upper_2": 18.236743636943185, + "mean": 10.505067652621388 + }, + "x022": { + "median": 3.0134816449048127, + "sigma": 3.326226794067863, + "lower_1": -0.3127451491630504, + "upper_1": 6.339708438972676, + "lower_2": -3.542135069342782, + "upper_2": 9.569098359152406, + "mean": 3.0134816449048127 + }, + "x023": { + "median": 1.44675975200904, + "sigma": 4.814984977209972, + "lower_1": -3.3682252252009324, + "upper_1": 6.2617447292190125, + "lower_2": -8.043030917630055, + "upper_2": 10.936550421648136, + "mean": 1.44675975200904 + }, + "x024": { + "median": 5.947563178758834, + "sigma": 3.9182981411041413, + "lower_1": 2.0292650376546932, + "upper_1": 9.865861319862976, + "lower_2": -1.7749591793192874, + "upper_2": 13.670085536836954, + "mean": 5.947563178758834 + }, + "x025": { + "median": -0.8645845155535714, + "sigma": 4.015226827084321, + "lower_1": -4.879811342637892, + "upper_1": 3.15064231153075, + "lower_2": -8.778142348132402, + "upper_2": 7.048973317025259, + "mean": -0.8645845155535714 + }, + "x026": { + "median": 10.151479547978367, + "sigma": 3.6819320586419195, + "lower_1": 6.469547489336447, + "upper_1": 13.833411606620286, + "lower_2": 2.8948079982798953, + "upper_2": 17.408151097676836, + "mean": 10.151479547978367 + }, + "x027": { + "median": 9.36917460122682, + "sigma": 4.142847725473125, + "lower_1": 5.226326875753695, + "upper_1": 13.512022326699945, + "lower_2": 1.204090415707464, + "upper_2": 17.534258786746175, + "mean": 9.36917460122682 + }, + "x028": { + "median": 2.6678306855994007, + "sigma": 3.8477736951927524, + "lower_1": -1.1799430095933512, + "upper_1": 6.515604380792153, + "lower_2": -4.915695968035388, + "upper_2": 10.25135733923419, + "mean": 2.6678306855994007 + }, + "x029": { + "median": -0.633343033206347, + "sigma": 4.962853042950498, + "lower_1": -5.596196076156845, + "upper_1": 4.329510009744151, + "lower_2": -10.414564932069158, + "upper_2": 9.147878865656462, + "mean": -0.633343033206347 + }, + "x030": { + "median": 7.664614535237543, + "sigma": 4.4017253934274425, + "lower_1": 3.262889141810101, + "upper_1": 12.066339928664986, + "lower_2": -1.0106882469251453, + "upper_2": 16.33991731740023, + "mean": 7.664614535237543 + }, + "x031": { + "median": 9.634654949924343, + "sigma": 3.278101854508181, + "lower_1": 6.356553095416162, + "upper_1": 12.912756804432524, + "lower_2": 3.1738870471625633, + "upper_2": 16.09542285268612, + "mean": 9.634654949924343 + }, + "x032": { + "median": -6.201033024398548, + "sigma": 3.583371873093128, + "lower_1": -9.784404897491676, + "upper_1": -2.6176611513054198, + "lower_2": -13.26345359851853, + "upper_2": 0.8613875497214325, + "mean": -6.201033024398548 + }, + "x033": { + "median": -3.839180413244838, + "sigma": 3.77280996027946, + "lower_1": -7.611990373524298, + "upper_1": -0.06637045296537813, + "lower_2": -11.274962026031407, + "upper_2": 3.5966011995417295, + "mean": -3.839180413244838 + }, + "x034": { + "median": -5.4828984853095495, + "sigma": 3.988247704066241, + "lower_1": -9.47114618937579, + "upper_1": -1.4946507812433087, + "lower_2": -13.343283518574605, + "upper_2": 2.377486547955506, + "mean": -5.4828984853095495 + }, + "x035": { + "median": 7.027540723441524, + "sigma": 3.500280367406692, + "lower_1": 3.527260356034832, + "upper_1": 10.527821090848215, + "lower_2": 0.12888410686691198, + "upper_2": 13.926197340016135, + "mean": 7.027540723441524 + }, + "x036": { + "median": 5.616333000988521, + "sigma": 3.5968041621450686, + "lower_1": 2.019528838843453, + "upper_1": 9.21313716313359, + "lower_2": -1.4725610952546493, + "upper_2": 12.705227097231692, + "mean": 5.616333000988521 + }, + "x037": { + "median": 5.853856783757642, + "sigma": 3.4165658326222523, + "lower_1": 2.4372909511353904, + "upper_1": 9.270422616379895, + "lower_2": -0.8798079554028702, + "upper_2": 12.587521522918154, + "mean": 5.853856783757642 + }, + "x038": { + "median": 2.8884557305173377, + "sigma": 3.081959546551939, + "lower_1": -0.19350381603460187, + "upper_1": 5.970415277069277, + "lower_2": -3.1857378728905186, + "upper_2": 8.962649333925192, + "mean": 2.8884557305173377 + }, + "x039": { + "median": -0.29362344912347726, + "sigma": 3.4259071627338606, + "lower_1": -3.719530611857338, + "upper_1": 3.1322837136103834, + "lower_2": -7.045698893146984, + "upper_2": 6.458451994900028, + "mean": -0.29362344912347726 + }, + "x040": { + "median": -1.9952419219761626, + "sigma": 2.9128363455387465, + "lower_1": -4.9080782675149095, + "upper_1": 0.9175944235625839, + "lower_2": -7.736112829136589, + "upper_2": 3.7456289851842626, + "mean": -1.9952419219761626 + }, + "x041": { + "median": -6.431541270895463, + "sigma": 3.641549337641495, + "lower_1": -10.073090608536958, + "upper_1": -2.789991933253968, + "lower_2": -13.608623046009317, + "upper_2": 0.7455405042183898, + "mean": -6.431541270895463 + }, + "x042": { + "median": -3.3088277707172695, + "sigma": 4.0841599949745735, + "lower_1": -7.392987765691843, + "upper_1": 0.775332224257304, + "lower_2": -11.35824507878145, + "upper_2": 4.740589537346909, + "mean": -3.3088277707172695 + }, + "x043": { + "median": 8.274302770434312, + "sigma": 4.135783981906783, + "lower_1": 4.138518788527529, + "upper_1": 12.410086752341096, + "lower_2": 0.12314042436116068, + "upper_2": 16.42546511650746, + "mean": 8.274302770434312 + }, + "x044": { + "median": -0.3747143403521629, + "sigma": 4.282729433213747, + "lower_1": -4.657443773565911, + "upper_1": 3.9080150928615844, + "lower_2": -8.815489546976078, + "upper_2": 8.066060866271751, + "mean": -0.3747143403521629 + }, + "x045": { + "median": -2.5047036056504153, + "sigma": 3.474895217456849, + "lower_1": -5.979598823107264, + "upper_1": 0.9701916118064338, + "lower_2": -9.35332896350218, + "upper_2": 4.343921752201349, + "mean": -2.5047036056504153 + }, + "x046": { + "median": 2.900042942832223, + "sigma": 3.5427348229978657, + "lower_1": -0.6426918801656423, + "upper_1": 6.442777765830089, + "lower_2": -4.082286602829527, + "upper_2": 9.88237248849397, + "mean": 2.900042942832223 + }, + "x047": { + "median": 2.092735626024465, + "sigma": 4.195884192464853, + "lower_1": -2.1031485664403884, + "upper_1": 6.288619818489318, + "lower_2": -6.1768774359069525, + "upper_2": 10.362348687955883, + "mean": 2.092735626024465 + }, + "x048": { + "median": -6.580101913286118, + "sigma": 3.5271305872704275, + "lower_1": -10.107232500556545, + "upper_1": -3.0529713260156903, + "lower_2": -13.531677275640135, + "upper_2": 0.37147344906789925, + "mean": -6.580101913286118 + }, + "x049": { + "median": 2.0325394712968405, + "sigma": 3.654210394255135, + "lower_1": -1.6216709229582946, + "upper_1": 5.686749865551976, + "lower_2": -5.169495814054031, + "upper_2": 9.23457475664771, + "mean": 2.0325394712968405 + }, + "x050": { + "median": -10.526405354554084, + "sigma": 3.88978270896658, + "lower_1": -14.416188063520664, + "upper_1": -6.636622645587504, + "lower_2": -18.19272702184697, + "upper_2": -2.860083687261201, + "mean": -10.526405354554084 + }, + "x051": { + "median": 13.915463792286953, + "sigma": 3.4950074954210306, + "lower_1": 10.420456296865924, + "upper_1": 17.410471287707985, + "lower_2": 7.02719940987477, + "upper_2": 20.803728174699135, + "mean": 13.915463792286953 + }, + "x052": { + "median": 5.720570036150931, + "sigma": 3.3198606044248007, + "lower_1": 2.4007094317261304, + "upper_1": 9.040430640575732, + "lower_2": -0.8224996385187966, + "upper_2": 12.263639710820657, + "mean": 5.720570036150931 + }, + "x053": { + "median": -11.396896542279356, + "sigma": 3.9585966331567892, + "lower_1": -15.355493175436145, + "upper_1": -7.438299909122566, + "lower_2": -19.19884266921487, + "upper_2": -3.594950415343841, + "mean": -11.396896542279356 + }, + "x054": { + "median": 3.0165024613150937, + "sigma": 3.5749595705816235, + "lower_1": -0.5584571092665298, + "upper_1": 6.591462031896717, + "lower_2": -4.029338416240576, + "upper_2": 10.062343338870763, + "mean": 3.0165024613150937 + }, + "x055": { + "median": 2.046377680516482, + "sigma": 3.929618936203724, + "lower_1": -1.8832412556872415, + "upper_1": 5.975996616720206, + "lower_2": -5.698456683978566, + "upper_2": 9.79121204501153, + "mean": 2.046377680516482 + }, + "x056": { + "median": 8.198102981052497, + "sigma": 3.4028709799018717, + "lower_1": 4.795232001150625, + "upper_1": 11.600973960954368, + "lower_2": 1.4914292473017765, + "upper_2": 14.904776714803216, + "mean": 8.198102981052497 + }, + "x057": { + "median": -10.146367250975526, + "sigma": 3.8446291439110465, + "lower_1": -13.990996394886572, + "upper_1": -6.301738107064479, + "lower_2": -17.72369634977794, + "upper_2": -2.569038152173114, + "mean": -10.146367250975526 + }, + "x058": { + "median": 5.869811050985641, + "sigma": 4.361557256443023, + "lower_1": 1.508253794542619, + "upper_1": 10.231368307428664, + "lower_2": -2.7263248774120292, + "upper_2": 14.465946979383311, + "mean": 5.869811050985641 + }, + "x059": { + "median": 4.9657302330650115, + "sigma": 3.8146178357241767, + "lower_1": 1.1511123973408344, + "upper_1": 8.780348068789188, + "lower_2": -2.5524499724878016, + "upper_2": 12.483910438617823, + "mean": 4.9657302330650115 + }, + "x060": { + "median": 2.686677827304771, + "sigma": 3.4777243800205726, + "lower_1": -0.7910465527158017, + "upper_1": 6.1644022073253435, + "lower_2": -4.167523489896233, + "upper_2": 9.540879144505773, + "mean": 2.686677827304771 + }, + "x061": { + "median": -2.6330270162626306, + "sigma": 3.438833504961602, + "lower_1": -6.071860521224233, + "upper_1": 0.8058064886989715, + "lower_2": -9.41057881845672, + "upper_2": 4.144524785931459, + "mean": -2.6330270162626306 + }, + "x062": { + "median": 7.101699669194365, + "sigma": 4.481317056902053, + "lower_1": 2.620382612292312, + "upper_1": 11.583016726096417, + "lower_2": -1.7304692774522001, + "upper_2": 15.933868615840929, + "mean": 7.101699669194365 + }, + "x063": { + "median": -1.172074863495809, + "sigma": 3.989874071268259, + "lower_1": -5.161948934764068, + "upper_1": 2.8177992077724503, + "lower_2": -9.03566528252472, + "upper_2": 6.691515555533101, + "mean": -1.172074863495809 + }, + "x064": { + "median": -0.5538980014918629, + "sigma": 3.318776534313946, + "lower_1": -3.872674535805809, + "upper_1": 2.7648785328220833, + "lower_2": -7.094831096614216, + "upper_2": 5.98703509363049, + "mean": -0.5538980014918629 + }, + "x065": { + "median": -3.3944402948199883, + "sigma": 3.670723647083493, + "lower_1": -7.0651639419034815, + "upper_1": 0.27628335226350487, + "lower_2": -10.629021333347175, + "upper_2": 3.840140743707198, + "mean": -3.3944402948199883 + }, + "x066": { + "median": -4.116905037182889, + "sigma": 3.7104058810977563, + "lower_1": -7.827310918280645, + "upper_1": -0.4064991560851321, + "lower_2": -11.429695269691237, + "upper_2": 3.1958851953254586, + "mean": -4.116905037182889 + }, + "x067": { + "median": -10.759384401347873, + "sigma": 3.6362184678133787, + "lower_1": -14.395602869161252, + "upper_1": -7.123165933534494, + "lower_2": -17.925959635113134, + "upper_2": -3.5928091675826135, + "mean": -10.759384401347873 + }, + "x068": { + "median": -1.15581397002944, + "sigma": 4.165027202083734, + "lower_1": -5.320841172113174, + "upper_1": 3.009213232054294, + "lower_2": -9.364611394778628, + "upper_2": 7.052983454719746, + "mean": -1.15581397002944 + }, + "x069": { + "median": -9.777411041739587, + "sigma": 3.5205648403669514, + "lower_1": -13.297975882106538, + "upper_1": -6.256846201372635, + "lower_2": -16.716046059731426, + "upper_2": -2.838776023747749, + "mean": -9.777411041739587 + }, + "x070": { + "median": 2.3907983208805494, + "sigma": 2.6929130457258195, + "lower_1": -0.30211472484527, + "upper_1": 5.083711366606369, + "lower_2": -2.9166286423259176, + "upper_2": 7.698225284087016, + "mean": 2.3907983208805494 + }, + "x071": { + "median": -3.370487623453233, + "sigma": 4.382102783299597, + "lower_1": -7.75259040675283, + "upper_1": 1.0116151598463645, + "lower_2": -12.007116460964676, + "upper_2": 5.2661412140582105, + "mean": -3.370487623453233 + }, + "x072": { + "median": 7.9948180869708825, + "sigma": 4.042804366898849, + "lower_1": 3.952013720072033, + "upper_1": 12.037622453869732, + "lower_2": 0.026908043271518522, + "upper_2": 15.962728130670246, + "mean": 7.9948180869708825 + }, + "x073": { + "median": -1.757580774734179, + "sigma": 3.639048420261836, + "lower_1": -5.396629194996015, + "upper_1": 1.8814676455276573, + "lower_2": -8.929733524622128, + "upper_2": 5.414571975153769, + "mean": -1.757580774734179 + }, + "x074": { + "median": -4.975596921845037, + "sigma": 4.601709731142092, + "lower_1": -9.57730665298713, + "upper_1": -0.37388719070294485, + "lower_2": -14.045046209365696, + "upper_2": 4.09385236567562, + "mean": -4.975596921845037 + }, + "x075": { + "median": 7.05834423042185, + "sigma": 3.6456709403510543, + "lower_1": 3.4126732900707966, + "upper_1": 10.704015170772905, + "lower_2": -0.1268607573546099, + "upper_2": 14.24354921819831, + "mean": 7.05834423042185 + }, + "x076": { + "median": -3.1355151039103824, + "sigma": 3.865898393087255, + "lower_1": -7.001413496997637, + "upper_1": 0.7303832891768725, + "lower_2": -10.754763486643679, + "upper_2": 4.483733278822914, + "mean": -3.1355151039103824 + }, + "x077": { + "median": -5.972509121707489, + "sigma": 3.476704713912641, + "lower_1": -9.44921383562013, + "upper_1": -2.4958044077948482, + "lower_2": -12.824700792364839, + "upper_2": 0.8796825489498596, + "mean": -5.972509121707489 + }, + "x078": { + "median": -4.46862003463722, + "sigma": 4.8832824514549475, + "lower_1": -9.351902486092168, + "upper_1": 0.41466241681772775, + "lower_2": -14.093017299503003, + "upper_2": 5.155777230228561, + "mean": -4.46862003463722 + }, + "x079": { + "median": -9.48163985645499, + "sigma": 4.073928058304823, + "lower_1": -13.555567914759813, + "upper_1": -5.407711798150168, + "lower_2": -17.510891174884616, + "upper_2": -1.4523885380253638, + "mean": -9.48163985645499 + }, + "x080": { + "median": 1.3298765779791588, + "sigma": 3.6050025857678443, + "lower_1": -2.2751260077886855, + "upper_1": 4.934879163747003, + "lower_2": -5.775175683734812, + "upper_2": 8.434928839693129, + "mean": 1.3298765779791588 + }, + "x081": { + "median": -4.821929319024434, + "sigma": 3.730869045295805, + "lower_1": -8.552798364320239, + "upper_1": -1.0910602737286288, + "lower_2": -12.175050133164309, + "upper_2": 2.531191495115439, + "mean": -4.821929319024434 + }, + "x082": { + "median": -0.7119218719745795, + "sigma": 3.6692458479477756, + "lower_1": -4.381167719922355, + "upper_1": 2.957323975973196, + "lower_2": -7.9435903355890485, + "upper_2": 6.519746591639889, + "mean": -0.7119218719745795 + }, + "x083": { + "median": -1.465305057306019, + "sigma": 4.072645050128421, + "lower_1": -5.53795010743444, + "upper_1": 2.607339992822402, + "lower_2": -9.492027711766992, + "upper_2": 6.5614175971549535, + "mean": -1.465305057306019 + }, + "x084": { + "median": 6.552554958625056, + "sigma": 3.158357971966489, + "lower_1": 3.3941969866585677, + "upper_1": 9.710912930591546, + "lower_2": 0.32778870169789354, + "upper_2": 12.777321215552218, + "mean": 6.552554958625056 + }, + "x085": { + "median": 7.138678387159778, + "sigma": 3.9790901987992915, + "lower_1": 3.1595881883604866, + "upper_1": 11.11776858595907, + "lower_2": -0.703658239214958, + "upper_2": 14.981015013534513, + "mean": 7.138678387159778 + }, + "x086": { + "median": -10.249747824118593, + "sigma": 4.005448984510746, + "lower_1": -14.25519680862934, + "upper_1": -6.244298839607847, + "lower_2": -18.144034635154657, + "upper_2": -2.355461013082529, + "mean": -10.249747824118593 + }, + "x087": { + "median": -9.60526317763532, + "sigma": 3.6577448995642907, + "lower_1": -13.263008077199611, + "upper_1": -5.94751827807103, + "lower_2": -16.81426457309108, + "upper_2": -2.3962617821795638, + "mean": -9.60526317763532 + }, + "x088": { + "median": -5.41776912178592, + "sigma": 4.034145795411131, + "lower_1": -9.451914917197051, + "upper_1": -1.3836233263747877, + "lower_2": -13.368614100629328, + "upper_2": 2.5330758570574874, + "mean": -5.41776912178592 + }, + "x089": { + "median": 6.510672003438873, + "sigma": 3.3820471167604578, + "lower_1": 3.1286248866784154, + "upper_1": 9.892719120199331, + "lower_2": -0.15496025186890883, + "upper_2": 13.176304258746654, + "mean": 6.510672003438873 + }, + "x090": { + "median": 15.50212031732026, + "sigma": 3.992732730904356, + "lower_1": 11.509387586415905, + "upper_1": 19.494853048224616, + "lower_2": 7.632895803549476, + "upper_2": 23.371344831091044, + "mean": 15.50212031732026 + }, + "x091": { + "median": -6.941889717763079, + "sigma": 3.5114811354777977, + "lower_1": -10.453370853240877, + "upper_1": -3.4304085822852812, + "lower_2": -13.862621781060177, + "upper_2": -0.0211576544659815, + "mean": -6.941889717763079 + }, + "x092": { + "median": -5.39740764677679, + "sigma": 3.4372895635490472, + "lower_1": -8.834697210325837, + "upper_1": -1.9601180832277425, + "lower_2": -12.171916515113208, + "upper_2": 1.377101221559628, + "mean": -5.39740764677679 + }, + "x093": { + "median": 2.3321659892138005, + "sigma": 4.417311119702408, + "lower_1": -2.0851451304886073, + "upper_1": 6.749477108916208, + "lower_2": -6.373854496219774, + "upper_2": 11.038186474647373, + "mean": 2.3321659892138005 + }, + "x094": { + "median": 11.68429160358741, + "sigma": 4.054465982459915, + "lower_1": 7.629825621127494, + "upper_1": 15.738757586047324, + "lower_2": 3.6933978348986374, + "upper_2": 19.675185372276182, + "mean": 11.68429160358741 + }, + "x095": { + "median": 1.0213508171222556, + "sigma": 3.829211996827108, + "lower_1": -2.8078611797048523, + "upper_1": 4.850562813949363, + "lower_2": -6.5255928289233776, + "upper_2": 8.568294463167888, + "mean": 1.0213508171222556 + }, + "x096": { + "median": 0.8361037255789572, + "sigma": 4.183030760925183, + "lower_1": -3.3469270353462255, + "upper_1": 5.01913448650414, + "lower_2": -7.40817667689966, + "upper_2": 9.080384128057574, + "mean": 0.8361037255789572 + }, + "x097": { + "median": 5.752084012234308, + "sigma": 3.0669863878942962, + "lower_1": 2.6850976243400115, + "upper_1": 8.819070400128604, + "lower_2": -0.29259918937647633, + "upper_2": 11.79676721384509, + "mean": 5.752084012234308 + }, + "x098": { + "median": -10.537374908005383, + "sigma": 4.070425305164079, + "lower_1": -14.607800213169462, + "upper_1": -6.466949602841303, + "lower_2": -18.559722696261936, + "upper_2": -2.5150271197488294, + "mean": -10.537374908005383 + }, + "x099": { + "median": 10.718926099399667, + "sigma": 3.9117737382457025, + "lower_1": 6.807152361153965, + "upper_1": 14.63069983764537, + "lower_2": 3.009262601248219, + "upper_2": 18.428589597551113, + "mean": 10.718926099399667 + } + }, + "posterior_relabelled": { + "x000": { + "median": -1.2021308320199742, + "sigma": 3.5322448641507433, + "lower_1": -4.7343756961707175, + "upper_1": 2.3301140321307696, + "lower_2": -8.163785855525687, + "upper_2": 5.759524191485737, + "mean": -1.2021308320199742 + }, + "x001": { + "median": -2.952981643429867, + "sigma": 3.5470574826560775, + "lower_1": -6.5000391260859445, + "upper_1": 0.5940758392262109, + "lower_2": -9.943830662254395, + "upper_2": 4.0378673753946615, + "mean": -2.952981643429867 + }, + "x002": { + "median": -3.7581037058845004, + "sigma": 4.228309796001084, + "lower_1": -7.986413501885584, + "upper_1": 0.47020609011658365, + "lower_2": -12.091623964069278, + "upper_2": 4.575416552300276, + "mean": -3.7581037058845004 + }, + "x003": { + "median": -0.1032643427126958, + "sigma": 4.163993986421228, + "lower_1": -4.267258329133924, + "upper_1": 4.060729643708532, + "lower_2": -8.310025416279029, + "upper_2": 8.103496730853635, + "mean": -0.1032643427126958 + }, + "x004": { + "median": 4.163244353429565, + "sigma": 3.9860147927249248, + "lower_1": 0.17722956070464058, + "upper_1": 8.14925914615449, + "lower_2": -3.6927398641915703, + "upper_2": 12.0192285710507, + "mean": 4.163244353429565 + }, + "x005": { + "median": -5.385786055607202, + "sigma": 4.193720899489577, + "lower_1": -9.579506955096779, + "upper_1": -1.1920651561176259, + "lower_2": -13.651135511818218, + "upper_2": 2.8795634006038124, + "mean": -5.385786055607202 + }, + "x006": { + "median": -3.6343944361180887, + "sigma": 3.3231864165076415, + "lower_1": -6.95758085262573, + "upper_1": -0.3112080196104472, + "lower_2": -10.184018910153153, + "upper_2": 2.9152300379169747, + "mean": -3.6343944361180887 + }, + "x007": { + "median": 5.824753009082074, + "sigma": 3.7704136425885215, + "lower_1": 2.054339366493552, + "upper_1": 9.595166651670596, + "lower_2": -1.606305732631669, + "upper_2": 13.255811750795816, + "mean": 5.824753009082074 + }, + "x008": { + "median": -9.386392933118318, + "sigma": 4.16657523018762, + "lower_1": -13.552968163305938, + "upper_1": -5.219817702930697, + "lower_2": -17.598241346131463, + "upper_2": -1.1745445201051723, + "mean": -9.386392933118318 + }, + "x009": { + "median": -5.773668707081988, + "sigma": 4.656852599059068, + "lower_1": -10.430521306141056, + "upper_1": -1.1168161080229195, + "lower_2": -14.951798348940716, + "upper_2": 3.40446093477674, + "mean": -5.773668707081988 + }, + "x010": { + "median": 3.1420677186057517, + "sigma": 4.485782225738326, + "lower_1": -1.3437145071325745, + "upper_1": 7.627849944344078, + "lower_2": -5.6989015706714525, + "upper_2": 11.983037007882954, + "mean": 3.1420677186057517 + }, + "x011": { + "median": -8.563024588496887, + "sigma": 4.072699187386574, + "lower_1": -12.635723775883461, + "upper_1": -4.490325401110313, + "lower_2": -16.589853941369118, + "upper_2": -0.5361952356246587, + "mean": -8.563024588496887 + }, + "x012": { + "median": -2.769084481626737, + "sigma": 3.8613321202994824, + "lower_1": -6.630416601926219, + "upper_1": 1.0922476386727458, + "lower_2": -10.379333257278905, + "upper_2": 4.841164294025431, + "mean": -2.769084481626737 + }, + "x013": { + "median": -9.113164332972586, + "sigma": 3.461185469661158, + "lower_1": -12.574349802633744, + "upper_1": -5.651978863311428, + "lower_2": -15.934769328906203, + "upper_2": -2.2915593370389695, + "mean": -9.113164332972586 + }, + "x014": { + "median": 3.8933862590750348, + "sigma": 3.8492916358826683, + "lower_1": 0.0440946231923669, + "upper_1": 7.742677894957703, + "lower_2": -3.6931320839345725, + "upper_2": 11.479904602084641, + "mean": 3.8933862590750348 + }, + "x015": { + "median": -9.896208964265261, + "sigma": 3.266556565685395, + "lower_1": -13.162765529950656, + "upper_1": -6.629652398579866, + "lower_2": -16.33422240887871, + "upper_2": -3.458195519651812, + "mean": -9.896208964265261 + }, + "x016": { + "median": 2.909289213872127, + "sigma": 3.856175891194438, + "lower_1": -0.9468866773223112, + "upper_1": 6.765465105066565, + "lower_2": -4.6907972175394725, + "upper_2": 10.509375645283725, + "mean": 2.909289213872127 + }, + "x017": { + "median": 6.170666042554738, + "sigma": 3.464253908959454, + "lower_1": 2.7064121335952835, + "upper_1": 9.634919951514192, + "lower_2": -0.6569865001025263, + "upper_2": 12.998318585212001, + "mean": 6.170666042554738 + }, + "x018": { + "median": 0.8055756405444758, + "sigma": 3.2373699997480965, + "lower_1": -2.4317943592036206, + "upper_1": 4.042945640292572, + "lower_2": -5.574914384489984, + "upper_2": 7.186065665578935, + "mean": 0.8055756405444758 + }, + "x019": { + "median": -1.026804658804273, + "sigma": 3.1915251298637215, + "lower_1": -4.218329788667995, + "upper_1": 2.1647204710594483, + "lower_2": -7.316939631738102, + "upper_2": 5.263330314129556, + "mean": -1.026804658804273 + }, + "x020": { + "median": -9.556333676256035, + "sigma": 4.0290739095735475, + "lower_1": -13.585407585829582, + "upper_1": -5.527259766682488, + "lower_2": -17.49718254189726, + "upper_2": -1.6154848106148085, + "mean": -9.556333676256035 + }, + "x021": { + "median": 10.505067652621388, + "sigma": 3.922942561027048, + "lower_1": 6.582125091594341, + "upper_1": 14.428010213648436, + "lower_2": 2.773391668299591, + "upper_2": 18.236743636943185, + "mean": 10.505067652621388 + }, + "x022": { + "median": 3.0134816449048127, + "sigma": 3.326226794067863, + "lower_1": -0.3127451491630504, + "upper_1": 6.339708438972676, + "lower_2": -3.542135069342782, + "upper_2": 9.569098359152406, + "mean": 3.0134816449048127 + }, + "x023": { + "median": 1.44675975200904, + "sigma": 4.814984977209972, + "lower_1": -3.3682252252009324, + "upper_1": 6.2617447292190125, + "lower_2": -8.043030917630055, + "upper_2": 10.936550421648136, + "mean": 1.44675975200904 + }, + "x024": { + "median": 5.947563178758834, + "sigma": 3.9182981411041413, + "lower_1": 2.0292650376546932, + "upper_1": 9.865861319862976, + "lower_2": -1.7749591793192874, + "upper_2": 13.670085536836954, + "mean": 5.947563178758834 + }, + "x025": { + "median": -0.8645845155535714, + "sigma": 4.015226827084321, + "lower_1": -4.879811342637892, + "upper_1": 3.15064231153075, + "lower_2": -8.778142348132402, + "upper_2": 7.048973317025259, + "mean": -0.8645845155535714 + }, + "x026": { + "median": 10.151479547978367, + "sigma": 3.6819320586419195, + "lower_1": 6.469547489336447, + "upper_1": 13.833411606620286, + "lower_2": 2.8948079982798953, + "upper_2": 17.408151097676836, + "mean": 10.151479547978367 + }, + "x027": { + "median": 9.36917460122682, + "sigma": 4.142847725473125, + "lower_1": 5.226326875753695, + "upper_1": 13.512022326699945, + "lower_2": 1.204090415707464, + "upper_2": 17.534258786746175, + "mean": 9.36917460122682 + }, + "x028": { + "median": 2.6678306855994007, + "sigma": 3.8477736951927524, + "lower_1": -1.1799430095933512, + "upper_1": 6.515604380792153, + "lower_2": -4.915695968035388, + "upper_2": 10.25135733923419, + "mean": 2.6678306855994007 + }, + "x029": { + "median": -0.633343033206347, + "sigma": 4.962853042950498, + "lower_1": -5.596196076156845, + "upper_1": 4.329510009744151, + "lower_2": -10.414564932069158, + "upper_2": 9.147878865656462, + "mean": -0.633343033206347 + }, + "x030": { + "median": 7.664614535237543, + "sigma": 4.4017253934274425, + "lower_1": 3.262889141810101, + "upper_1": 12.066339928664986, + "lower_2": -1.0106882469251453, + "upper_2": 16.33991731740023, + "mean": 7.664614535237543 + }, + "x031": { + "median": 9.634654949924343, + "sigma": 3.278101854508181, + "lower_1": 6.356553095416162, + "upper_1": 12.912756804432524, + "lower_2": 3.1738870471625633, + "upper_2": 16.09542285268612, + "mean": 9.634654949924343 + }, + "x032": { + "median": -6.201033024398548, + "sigma": 3.583371873093128, + "lower_1": -9.784404897491676, + "upper_1": -2.6176611513054198, + "lower_2": -13.26345359851853, + "upper_2": 0.8613875497214325, + "mean": -6.201033024398548 + }, + "x033": { + "median": -3.839180413244838, + "sigma": 3.77280996027946, + "lower_1": -7.611990373524298, + "upper_1": -0.06637045296537813, + "lower_2": -11.274962026031407, + "upper_2": 3.5966011995417295, + "mean": -3.839180413244838 + }, + "x034": { + "median": -5.4828984853095495, + "sigma": 3.988247704066241, + "lower_1": -9.47114618937579, + "upper_1": -1.4946507812433087, + "lower_2": -13.343283518574605, + "upper_2": 2.377486547955506, + "mean": -5.4828984853095495 + }, + "x035": { + "median": 7.027540723441524, + "sigma": 3.500280367406692, + "lower_1": 3.527260356034832, + "upper_1": 10.527821090848215, + "lower_2": 0.12888410686691198, + "upper_2": 13.926197340016135, + "mean": 7.027540723441524 + }, + "x036": { + "median": 5.616333000988521, + "sigma": 3.5968041621450686, + "lower_1": 2.019528838843453, + "upper_1": 9.21313716313359, + "lower_2": -1.4725610952546493, + "upper_2": 12.705227097231692, + "mean": 5.616333000988521 + }, + "x037": { + "median": 5.853856783757642, + "sigma": 3.4165658326222523, + "lower_1": 2.4372909511353904, + "upper_1": 9.270422616379895, + "lower_2": -0.8798079554028702, + "upper_2": 12.587521522918154, + "mean": 5.853856783757642 + }, + "x038": { + "median": 2.8884557305173377, + "sigma": 3.081959546551939, + "lower_1": -0.19350381603460187, + "upper_1": 5.970415277069277, + "lower_2": -3.1857378728905186, + "upper_2": 8.962649333925192, + "mean": 2.8884557305173377 + }, + "x039": { + "median": -0.29362344912347726, + "sigma": 3.4259071627338606, + "lower_1": -3.719530611857338, + "upper_1": 3.1322837136103834, + "lower_2": -7.045698893146984, + "upper_2": 6.458451994900028, + "mean": -0.29362344912347726 + }, + "x040": { + "median": -1.9952419219761626, + "sigma": 2.9128363455387465, + "lower_1": -4.9080782675149095, + "upper_1": 0.9175944235625839, + "lower_2": -7.736112829136589, + "upper_2": 3.7456289851842626, + "mean": -1.9952419219761626 + }, + "x041": { + "median": -6.431541270895463, + "sigma": 3.641549337641495, + "lower_1": -10.073090608536958, + "upper_1": -2.789991933253968, + "lower_2": -13.608623046009317, + "upper_2": 0.7455405042183898, + "mean": -6.431541270895463 + }, + "x042": { + "median": -3.3088277707172695, + "sigma": 4.0841599949745735, + "lower_1": -7.392987765691843, + "upper_1": 0.775332224257304, + "lower_2": -11.35824507878145, + "upper_2": 4.740589537346909, + "mean": -3.3088277707172695 + }, + "x043": { + "median": 8.274302770434312, + "sigma": 4.135783981906783, + "lower_1": 4.138518788527529, + "upper_1": 12.410086752341096, + "lower_2": 0.12314042436116068, + "upper_2": 16.42546511650746, + "mean": 8.274302770434312 + }, + "x044": { + "median": -0.3747143403521629, + "sigma": 4.282729433213747, + "lower_1": -4.657443773565911, + "upper_1": 3.9080150928615844, + "lower_2": -8.815489546976078, + "upper_2": 8.066060866271751, + "mean": -0.3747143403521629 + }, + "x045": { + "median": -2.5047036056504153, + "sigma": 3.474895217456849, + "lower_1": -5.979598823107264, + "upper_1": 0.9701916118064338, + "lower_2": -9.35332896350218, + "upper_2": 4.343921752201349, + "mean": -2.5047036056504153 + }, + "x046": { + "median": 2.900042942832223, + "sigma": 3.5427348229978657, + "lower_1": -0.6426918801656423, + "upper_1": 6.442777765830089, + "lower_2": -4.082286602829527, + "upper_2": 9.88237248849397, + "mean": 2.900042942832223 + }, + "x047": { + "median": 2.092735626024465, + "sigma": 4.195884192464853, + "lower_1": -2.1031485664403884, + "upper_1": 6.288619818489318, + "lower_2": -6.1768774359069525, + "upper_2": 10.362348687955883, + "mean": 2.092735626024465 + }, + "x048": { + "median": -6.580101913286118, + "sigma": 3.5271305872704275, + "lower_1": -10.107232500556545, + "upper_1": -3.0529713260156903, + "lower_2": -13.531677275640135, + "upper_2": 0.37147344906789925, + "mean": -6.580101913286118 + }, + "x049": { + "median": 2.0325394712968405, + "sigma": 3.654210394255135, + "lower_1": -1.6216709229582946, + "upper_1": 5.686749865551976, + "lower_2": -5.169495814054031, + "upper_2": 9.23457475664771, + "mean": 2.0325394712968405 + }, + "x050": { + "median": -10.526405354554084, + "sigma": 3.88978270896658, + "lower_1": -14.416188063520664, + "upper_1": -6.636622645587504, + "lower_2": -18.19272702184697, + "upper_2": -2.860083687261201, + "mean": -10.526405354554084 + }, + "x051": { + "median": 13.915463792286953, + "sigma": 3.4950074954210306, + "lower_1": 10.420456296865924, + "upper_1": 17.410471287707985, + "lower_2": 7.02719940987477, + "upper_2": 20.803728174699135, + "mean": 13.915463792286953 + }, + "x052": { + "median": 5.720570036150931, + "sigma": 3.3198606044248007, + "lower_1": 2.4007094317261304, + "upper_1": 9.040430640575732, + "lower_2": -0.8224996385187966, + "upper_2": 12.263639710820657, + "mean": 5.720570036150931 + }, + "x053": { + "median": -11.396896542279356, + "sigma": 3.9585966331567892, + "lower_1": -15.355493175436145, + "upper_1": -7.438299909122566, + "lower_2": -19.19884266921487, + "upper_2": -3.594950415343841, + "mean": -11.396896542279356 + }, + "x054": { + "median": 3.0165024613150937, + "sigma": 3.5749595705816235, + "lower_1": -0.5584571092665298, + "upper_1": 6.591462031896717, + "lower_2": -4.029338416240576, + "upper_2": 10.062343338870763, + "mean": 3.0165024613150937 + }, + "x055": { + "median": 2.046377680516482, + "sigma": 3.929618936203724, + "lower_1": -1.8832412556872415, + "upper_1": 5.975996616720206, + "lower_2": -5.698456683978566, + "upper_2": 9.79121204501153, + "mean": 2.046377680516482 + }, + "x056": { + "median": 8.198102981052497, + "sigma": 3.4028709799018717, + "lower_1": 4.795232001150625, + "upper_1": 11.600973960954368, + "lower_2": 1.4914292473017765, + "upper_2": 14.904776714803216, + "mean": 8.198102981052497 + }, + "x057": { + "median": -10.146367250975526, + "sigma": 3.8446291439110465, + "lower_1": -13.990996394886572, + "upper_1": -6.301738107064479, + "lower_2": -17.72369634977794, + "upper_2": -2.569038152173114, + "mean": -10.146367250975526 + }, + "x058": { + "median": 5.869811050985641, + "sigma": 4.361557256443023, + "lower_1": 1.508253794542619, + "upper_1": 10.231368307428664, + "lower_2": -2.7263248774120292, + "upper_2": 14.465946979383311, + "mean": 5.869811050985641 + }, + "x059": { + "median": 4.9657302330650115, + "sigma": 3.8146178357241767, + "lower_1": 1.1511123973408344, + "upper_1": 8.780348068789188, + "lower_2": -2.5524499724878016, + "upper_2": 12.483910438617823, + "mean": 4.9657302330650115 + }, + "x060": { + "median": 2.686677827304771, + "sigma": 3.4777243800205726, + "lower_1": -0.7910465527158017, + "upper_1": 6.1644022073253435, + "lower_2": -4.167523489896233, + "upper_2": 9.540879144505773, + "mean": 2.686677827304771 + }, + "x061": { + "median": -2.6330270162626306, + "sigma": 3.438833504961602, + "lower_1": -6.071860521224233, + "upper_1": 0.8058064886989715, + "lower_2": -9.41057881845672, + "upper_2": 4.144524785931459, + "mean": -2.6330270162626306 + }, + "x062": { + "median": 7.101699669194365, + "sigma": 4.481317056902053, + "lower_1": 2.620382612292312, + "upper_1": 11.583016726096417, + "lower_2": -1.7304692774522001, + "upper_2": 15.933868615840929, + "mean": 7.101699669194365 + }, + "x063": { + "median": -1.172074863495809, + "sigma": 3.989874071268259, + "lower_1": -5.161948934764068, + "upper_1": 2.8177992077724503, + "lower_2": -9.03566528252472, + "upper_2": 6.691515555533101, + "mean": -1.172074863495809 + }, + "x064": { + "median": -0.5538980014918629, + "sigma": 3.318776534313946, + "lower_1": -3.872674535805809, + "upper_1": 2.7648785328220833, + "lower_2": -7.094831096614216, + "upper_2": 5.98703509363049, + "mean": -0.5538980014918629 + }, + "x065": { + "median": -3.3944402948199883, + "sigma": 3.670723647083493, + "lower_1": -7.0651639419034815, + "upper_1": 0.27628335226350487, + "lower_2": -10.629021333347175, + "upper_2": 3.840140743707198, + "mean": -3.3944402948199883 + }, + "x066": { + "median": -4.116905037182889, + "sigma": 3.7104058810977563, + "lower_1": -7.827310918280645, + "upper_1": -0.4064991560851321, + "lower_2": -11.429695269691237, + "upper_2": 3.1958851953254586, + "mean": -4.116905037182889 + }, + "x067": { + "median": -10.759384401347873, + "sigma": 3.6362184678133787, + "lower_1": -14.395602869161252, + "upper_1": -7.123165933534494, + "lower_2": -17.925959635113134, + "upper_2": -3.5928091675826135, + "mean": -10.759384401347873 + }, + "x068": { + "median": -1.15581397002944, + "sigma": 4.165027202083734, + "lower_1": -5.320841172113174, + "upper_1": 3.009213232054294, + "lower_2": -9.364611394778628, + "upper_2": 7.052983454719746, + "mean": -1.15581397002944 + }, + "x069": { + "median": -9.777411041739587, + "sigma": 3.5205648403669514, + "lower_1": -13.297975882106538, + "upper_1": -6.256846201372635, + "lower_2": -16.716046059731426, + "upper_2": -2.838776023747749, + "mean": -9.777411041739587 + }, + "x070": { + "median": 2.3907983208805494, + "sigma": 2.6929130457258195, + "lower_1": -0.30211472484527, + "upper_1": 5.083711366606369, + "lower_2": -2.9166286423259176, + "upper_2": 7.698225284087016, + "mean": 2.3907983208805494 + }, + "x071": { + "median": -3.370487623453233, + "sigma": 4.382102783299597, + "lower_1": -7.75259040675283, + "upper_1": 1.0116151598463645, + "lower_2": -12.007116460964676, + "upper_2": 5.2661412140582105, + "mean": -3.370487623453233 + }, + "x072": { + "median": 7.9948180869708825, + "sigma": 4.042804366898849, + "lower_1": 3.952013720072033, + "upper_1": 12.037622453869732, + "lower_2": 0.026908043271518522, + "upper_2": 15.962728130670246, + "mean": 7.9948180869708825 + }, + "x073": { + "median": -1.757580774734179, + "sigma": 3.639048420261836, + "lower_1": -5.396629194996015, + "upper_1": 1.8814676455276573, + "lower_2": -8.929733524622128, + "upper_2": 5.414571975153769, + "mean": -1.757580774734179 + }, + "x074": { + "median": -4.975596921845037, + "sigma": 4.601709731142092, + "lower_1": -9.57730665298713, + "upper_1": -0.37388719070294485, + "lower_2": -14.045046209365696, + "upper_2": 4.09385236567562, + "mean": -4.975596921845037 + }, + "x075": { + "median": 7.05834423042185, + "sigma": 3.6456709403510543, + "lower_1": 3.4126732900707966, + "upper_1": 10.704015170772905, + "lower_2": -0.1268607573546099, + "upper_2": 14.24354921819831, + "mean": 7.05834423042185 + }, + "x076": { + "median": -3.1355151039103824, + "sigma": 3.865898393087255, + "lower_1": -7.001413496997637, + "upper_1": 0.7303832891768725, + "lower_2": -10.754763486643679, + "upper_2": 4.483733278822914, + "mean": -3.1355151039103824 + }, + "x077": { + "median": -5.972509121707489, + "sigma": 3.476704713912641, + "lower_1": -9.44921383562013, + "upper_1": -2.4958044077948482, + "lower_2": -12.824700792364839, + "upper_2": 0.8796825489498596, + "mean": -5.972509121707489 + }, + "x078": { + "median": -4.46862003463722, + "sigma": 4.8832824514549475, + "lower_1": -9.351902486092168, + "upper_1": 0.41466241681772775, + "lower_2": -14.093017299503003, + "upper_2": 5.155777230228561, + "mean": -4.46862003463722 + }, + "x079": { + "median": -9.48163985645499, + "sigma": 4.073928058304823, + "lower_1": -13.555567914759813, + "upper_1": -5.407711798150168, + "lower_2": -17.510891174884616, + "upper_2": -1.4523885380253638, + "mean": -9.48163985645499 + }, + "x080": { + "median": 1.3298765779791588, + "sigma": 3.6050025857678443, + "lower_1": -2.2751260077886855, + "upper_1": 4.934879163747003, + "lower_2": -5.775175683734812, + "upper_2": 8.434928839693129, + "mean": 1.3298765779791588 + }, + "x081": { + "median": -4.821929319024434, + "sigma": 3.730869045295805, + "lower_1": -8.552798364320239, + "upper_1": -1.0910602737286288, + "lower_2": -12.175050133164309, + "upper_2": 2.531191495115439, + "mean": -4.821929319024434 + }, + "x082": { + "median": -0.7119218719745795, + "sigma": 3.6692458479477756, + "lower_1": -4.381167719922355, + "upper_1": 2.957323975973196, + "lower_2": -7.9435903355890485, + "upper_2": 6.519746591639889, + "mean": -0.7119218719745795 + }, + "x083": { + "median": -1.465305057306019, + "sigma": 4.072645050128421, + "lower_1": -5.53795010743444, + "upper_1": 2.607339992822402, + "lower_2": -9.492027711766992, + "upper_2": 6.5614175971549535, + "mean": -1.465305057306019 + }, + "x084": { + "median": 6.552554958625056, + "sigma": 3.158357971966489, + "lower_1": 3.3941969866585677, + "upper_1": 9.710912930591546, + "lower_2": 0.32778870169789354, + "upper_2": 12.777321215552218, + "mean": 6.552554958625056 + }, + "x085": { + "median": 7.138678387159778, + "sigma": 3.9790901987992915, + "lower_1": 3.1595881883604866, + "upper_1": 11.11776858595907, + "lower_2": -0.703658239214958, + "upper_2": 14.981015013534513, + "mean": 7.138678387159778 + }, + "x086": { + "median": -10.249747824118593, + "sigma": 4.005448984510746, + "lower_1": -14.25519680862934, + "upper_1": -6.244298839607847, + "lower_2": -18.144034635154657, + "upper_2": -2.355461013082529, + "mean": -10.249747824118593 + }, + "x087": { + "median": -9.60526317763532, + "sigma": 3.6577448995642907, + "lower_1": -13.263008077199611, + "upper_1": -5.94751827807103, + "lower_2": -16.81426457309108, + "upper_2": -2.3962617821795638, + "mean": -9.60526317763532 + }, + "x088": { + "median": -5.41776912178592, + "sigma": 4.034145795411131, + "lower_1": -9.451914917197051, + "upper_1": -1.3836233263747877, + "lower_2": -13.368614100629328, + "upper_2": 2.5330758570574874, + "mean": -5.41776912178592 + }, + "x089": { + "median": 6.510672003438873, + "sigma": 3.3820471167604578, + "lower_1": 3.1286248866784154, + "upper_1": 9.892719120199331, + "lower_2": -0.15496025186890883, + "upper_2": 13.176304258746654, + "mean": 6.510672003438873 + }, + "x090": { + "median": 15.50212031732026, + "sigma": 3.992732730904356, + "lower_1": 11.509387586415905, + "upper_1": 19.494853048224616, + "lower_2": 7.632895803549476, + "upper_2": 23.371344831091044, + "mean": 15.50212031732026 + }, + "x091": { + "median": -6.941889717763079, + "sigma": 3.5114811354777977, + "lower_1": -10.453370853240877, + "upper_1": -3.4304085822852812, + "lower_2": -13.862621781060177, + "upper_2": -0.0211576544659815, + "mean": -6.941889717763079 + }, + "x092": { + "median": -5.39740764677679, + "sigma": 3.4372895635490472, + "lower_1": -8.834697210325837, + "upper_1": -1.9601180832277425, + "lower_2": -12.171916515113208, + "upper_2": 1.377101221559628, + "mean": -5.39740764677679 + }, + "x093": { + "median": 2.3321659892138005, + "sigma": 4.417311119702408, + "lower_1": -2.0851451304886073, + "upper_1": 6.749477108916208, + "lower_2": -6.373854496219774, + "upper_2": 11.038186474647373, + "mean": 2.3321659892138005 + }, + "x094": { + "median": 11.68429160358741, + "sigma": 4.054465982459915, + "lower_1": 7.629825621127494, + "upper_1": 15.738757586047324, + "lower_2": 3.6933978348986374, + "upper_2": 19.675185372276182, + "mean": 11.68429160358741 + }, + "x095": { + "median": 1.0213508171222556, + "sigma": 3.829211996827108, + "lower_1": -2.8078611797048523, + "upper_1": 4.850562813949363, + "lower_2": -6.5255928289233776, + "upper_2": 8.568294463167888, + "mean": 1.0213508171222556 + }, + "x096": { + "median": 0.8361037255789572, + "sigma": 4.183030760925183, + "lower_1": -3.3469270353462255, + "upper_1": 5.01913448650414, + "lower_2": -7.40817667689966, + "upper_2": 9.080384128057574, + "mean": 0.8361037255789572 + }, + "x097": { + "median": 5.752084012234308, + "sigma": 3.0669863878942962, + "lower_1": 2.6850976243400115, + "upper_1": 8.819070400128604, + "lower_2": -0.29259918937647633, + "upper_2": 11.79676721384509, + "mean": 5.752084012234308 + }, + "x098": { + "median": -10.537374908005383, + "sigma": 4.070425305164079, + "lower_1": -14.607800213169462, + "upper_1": -6.466949602841303, + "lower_2": -18.559722696261936, + "upper_2": -2.5150271197488294, + "mean": -10.537374908005383 + }, + "x099": { + "median": 10.718926099399667, + "sigma": 3.9117737382457025, + "lower_1": 6.807152361153965, + "upper_1": 14.63069983764537, + "lower_2": 3.009262601248219, + "upper_2": 18.428589597551113, + "mean": 10.718926099399667 + } + }, + "relabelled_note": "no label symmetry: the relabelled posterior is the posterior", + "modes": null, + "ppc_chi2": null, + "whitened": { + "worst_median": 0.0, + "sigma_ratio_min": 1.0, + "sigma_ratio_max": 1.0 + }, + "limitations": [], + "agreement": { + "test": "protocol correlated_nd \u00a76 (exact reference self-test)", + "backend_identity": { + "points": 64, + "max_abs_delta_nat": 5.684341886080802e-14, + "tolerance_nat": 1e-08, + "path": "autofit Fitness.call under jax.jit" + }, + "draws": { + "n": 200000, + "seed": 0, + "worst_median_offset_sigma": 0.00814918023907866, + "worst_sigma_ratio_offset": 0.00839648793700598, + "whitened": { + "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", + "n_coordinates": 100, + "worst_median": 0.007293766744453657, + "worst_median_key": "u009", + "sigma_ratio_min": 0.995754412386327, + "sigma_ratio_min_key": "u065", + "sigma_ratio_max": 1.0050897571741753, + "sigma_ratio_max_key": "u090" + }, + "tolerance_median_sigma": 0.02, + "tolerance_sigma": 0.02 + }, + "truncation": { + "unconstrained_draws_inside": 1.0, + "box_mass": 1.0, + "ok": true + }, + "failures": [], + "control_verdicts": { + "posterior": "accepted", + "evidence": "accepted" + } + }, + "library_revisions": { + "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", + "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" + }, + "written_at": "2026-10-15T19:38:43Z" +} diff --git a/results/reference/corr_gaussian_d100/numpy/reference.json b/results/reference/corr_gaussian_d100/numpy/reference.json new file mode 100644 index 00000000..50dde4a1 --- /dev/null +++ b/results/reference/corr_gaussian_d100/numpy/reference.json @@ -0,0 +1,1985 @@ +{ + "schema_version": 1, + "status": "complete", + "exact": true, + "model": "correlated_nd", + "protocol_id": "correlated_nd@1", + "dataset": "corr_gaussian_d100", + "backend": "numpy", + "data_seed": 1, + "assertion_mechanism": "none", + "kind": "gaussian", + "dimension": 100, + "log_evidence": -467.0879990829763, + "log_evidence_normalised": -467.0879990829763, + "log_evidence_offset": 0.0, + "log_evidence_how": { + "method": "closed form: ln Z = -ln V (normalised Gaussian likelihood, uniform box)", + "truncation_bound": 9.483495340221007e-27, + "log_evidence_error_bound": 9.483495340221007e-27 + }, + "log_volume": 467.0879990829763, + "information_nats": 267.62951843765785, + "max_log_likelihood": -149.45848064531845, + "map": { + "log_posterior": -149.45848064531845, + "vector": [ + -1.2021308320199742, + -2.952981643429867, + -3.7581037058845004, + -0.1032643427126958, + 4.163244353429565, + -5.385786055607202, + -3.6343944361180887, + 5.824753009082074, + -9.386392933118318, + -5.773668707081988, + 3.1420677186057517, + -8.563024588496887, + -2.769084481626737, + -9.113164332972586, + 3.8933862590750348, + -9.896208964265261, + 2.909289213872127, + 6.170666042554738, + 0.8055756405444758, + -1.026804658804273, + -9.556333676256035, + 10.505067652621388, + 3.0134816449048127, + 1.44675975200904, + 5.947563178758834, + -0.8645845155535714, + 10.151479547978367, + 9.36917460122682, + 2.6678306855994007, + -0.633343033206347, + 7.664614535237543, + 9.634654949924343, + -6.201033024398548, + -3.839180413244838, + -5.4828984853095495, + 7.027540723441524, + 5.616333000988521, + 5.853856783757642, + 2.8884557305173377, + -0.29362344912347726, + -1.9952419219761626, + -6.431541270895463, + -3.3088277707172695, + 8.274302770434312, + -0.3747143403521629, + -2.5047036056504153, + 2.900042942832223, + 2.092735626024465, + -6.580101913286118, + 2.0325394712968405, + -10.526405354554084, + 13.915463792286953, + 5.720570036150931, + -11.396896542279356, + 3.0165024613150937, + 2.046377680516482, + 8.198102981052497, + -10.146367250975526, + 5.869811050985641, + 4.9657302330650115, + 2.686677827304771, + -2.6330270162626306, + 7.101699669194365, + -1.172074863495809, + -0.5538980014918629, + -3.3944402948199883, + -4.116905037182889, + -10.759384401347873, + -1.15581397002944, + -9.777411041739587, + 2.3907983208805494, + -3.370487623453233, + 7.9948180869708825, + -1.757580774734179, + -4.975596921845037, + 7.05834423042185, + -3.1355151039103824, + -5.972509121707489, + -4.46862003463722, + -9.48163985645499, + 1.3298765779791588, + -4.821929319024434, + -0.7119218719745795, + -1.465305057306019, + 6.552554958625056, + 7.138678387159778, + -10.249747824118593, + -9.60526317763532, + -5.41776912178592, + 6.510672003438873, + 15.50212031732026, + -6.941889717763079, + -5.39740764677679, + 2.3321659892138005, + 11.68429160358741, + 1.0213508171222556, + 0.8361037255789572, + 5.752084012234308, + -10.537374908005383, + 10.718926099399667 + ], + "method": "exact mode (inside the box); PyAutoFit's uniform prior adds 0 there" + }, + "posterior": { + "x000": { + "median": -1.2021308320199742, + "sigma": 3.5322448641507433, + "lower_1": -4.7343756961707175, + "upper_1": 2.3301140321307696, + "lower_2": -8.163785855525687, + "upper_2": 5.759524191485737, + "mean": -1.2021308320199742 + }, + "x001": { + "median": -2.952981643429867, + "sigma": 3.5470574826560775, + "lower_1": -6.5000391260859445, + "upper_1": 0.5940758392262109, + "lower_2": -9.943830662254395, + "upper_2": 4.0378673753946615, + "mean": -2.952981643429867 + }, + "x002": { + "median": -3.7581037058845004, + "sigma": 4.228309796001084, + "lower_1": -7.986413501885584, + "upper_1": 0.47020609011658365, + "lower_2": -12.091623964069278, + "upper_2": 4.575416552300276, + "mean": -3.7581037058845004 + }, + "x003": { + "median": -0.1032643427126958, + "sigma": 4.163993986421228, + "lower_1": -4.267258329133924, + "upper_1": 4.060729643708532, + "lower_2": -8.310025416279029, + "upper_2": 8.103496730853635, + "mean": -0.1032643427126958 + }, + "x004": { + "median": 4.163244353429565, + "sigma": 3.9860147927249248, + "lower_1": 0.17722956070464058, + "upper_1": 8.14925914615449, + "lower_2": -3.6927398641915703, + "upper_2": 12.0192285710507, + "mean": 4.163244353429565 + }, + "x005": { + "median": -5.385786055607202, + "sigma": 4.193720899489577, + "lower_1": -9.579506955096779, + "upper_1": -1.1920651561176259, + "lower_2": -13.651135511818218, + "upper_2": 2.8795634006038124, + "mean": -5.385786055607202 + }, + "x006": { + "median": -3.6343944361180887, + "sigma": 3.3231864165076415, + "lower_1": -6.95758085262573, + "upper_1": -0.3112080196104472, + "lower_2": -10.184018910153153, + "upper_2": 2.9152300379169747, + "mean": -3.6343944361180887 + }, + "x007": { + "median": 5.824753009082074, + "sigma": 3.7704136425885215, + "lower_1": 2.054339366493552, + "upper_1": 9.595166651670596, + "lower_2": -1.606305732631669, + "upper_2": 13.255811750795816, + "mean": 5.824753009082074 + }, + "x008": { + "median": -9.386392933118318, + "sigma": 4.16657523018762, + "lower_1": -13.552968163305938, + "upper_1": -5.219817702930697, + "lower_2": -17.598241346131463, + "upper_2": -1.1745445201051723, + "mean": -9.386392933118318 + }, + "x009": { + "median": -5.773668707081988, + "sigma": 4.656852599059068, + "lower_1": -10.430521306141056, + "upper_1": -1.1168161080229195, + "lower_2": -14.951798348940716, + "upper_2": 3.40446093477674, + "mean": -5.773668707081988 + }, + "x010": { + "median": 3.1420677186057517, + "sigma": 4.485782225738326, + "lower_1": -1.3437145071325745, + "upper_1": 7.627849944344078, + "lower_2": -5.6989015706714525, + "upper_2": 11.983037007882954, + "mean": 3.1420677186057517 + }, + "x011": { + "median": -8.563024588496887, + "sigma": 4.072699187386574, + "lower_1": -12.635723775883461, + "upper_1": -4.490325401110313, + "lower_2": -16.589853941369118, + "upper_2": -0.5361952356246587, + "mean": -8.563024588496887 + }, + "x012": { + "median": -2.769084481626737, + "sigma": 3.8613321202994824, + "lower_1": -6.630416601926219, + "upper_1": 1.0922476386727458, + "lower_2": -10.379333257278905, + "upper_2": 4.841164294025431, + "mean": -2.769084481626737 + }, + "x013": { + "median": -9.113164332972586, + "sigma": 3.461185469661158, + "lower_1": -12.574349802633744, + "upper_1": -5.651978863311428, + "lower_2": -15.934769328906203, + "upper_2": -2.2915593370389695, + "mean": -9.113164332972586 + }, + "x014": { + "median": 3.8933862590750348, + "sigma": 3.8492916358826683, + "lower_1": 0.0440946231923669, + "upper_1": 7.742677894957703, + "lower_2": -3.6931320839345725, + "upper_2": 11.479904602084641, + "mean": 3.8933862590750348 + }, + "x015": { + "median": -9.896208964265261, + "sigma": 3.266556565685395, + "lower_1": -13.162765529950656, + "upper_1": -6.629652398579866, + "lower_2": -16.33422240887871, + "upper_2": -3.458195519651812, + "mean": -9.896208964265261 + }, + "x016": { + "median": 2.909289213872127, + "sigma": 3.856175891194438, + "lower_1": -0.9468866773223112, + "upper_1": 6.765465105066565, + "lower_2": -4.6907972175394725, + "upper_2": 10.509375645283725, + "mean": 2.909289213872127 + }, + "x017": { + "median": 6.170666042554738, + "sigma": 3.464253908959454, + "lower_1": 2.7064121335952835, + "upper_1": 9.634919951514192, + "lower_2": -0.6569865001025263, + "upper_2": 12.998318585212001, + "mean": 6.170666042554738 + }, + "x018": { + "median": 0.8055756405444758, + "sigma": 3.2373699997480965, + "lower_1": -2.4317943592036206, + "upper_1": 4.042945640292572, + "lower_2": -5.574914384489984, + "upper_2": 7.186065665578935, + "mean": 0.8055756405444758 + }, + "x019": { + "median": -1.026804658804273, + "sigma": 3.1915251298637215, + "lower_1": -4.218329788667995, + "upper_1": 2.1647204710594483, + "lower_2": -7.316939631738102, + "upper_2": 5.263330314129556, + "mean": -1.026804658804273 + }, + "x020": { + "median": -9.556333676256035, + "sigma": 4.0290739095735475, + "lower_1": -13.585407585829582, + "upper_1": -5.527259766682488, + "lower_2": -17.49718254189726, + "upper_2": -1.6154848106148085, + "mean": -9.556333676256035 + }, + "x021": { + "median": 10.505067652621388, + "sigma": 3.922942561027048, + "lower_1": 6.582125091594341, + "upper_1": 14.428010213648436, + "lower_2": 2.773391668299591, + "upper_2": 18.236743636943185, + "mean": 10.505067652621388 + }, + "x022": { + "median": 3.0134816449048127, + "sigma": 3.326226794067863, + "lower_1": -0.3127451491630504, + "upper_1": 6.339708438972676, + "lower_2": -3.542135069342782, + "upper_2": 9.569098359152406, + "mean": 3.0134816449048127 + }, + "x023": { + "median": 1.44675975200904, + "sigma": 4.814984977209972, + "lower_1": -3.3682252252009324, + "upper_1": 6.2617447292190125, + "lower_2": -8.043030917630055, + "upper_2": 10.936550421648136, + "mean": 1.44675975200904 + }, + "x024": { + "median": 5.947563178758834, + "sigma": 3.9182981411041413, + "lower_1": 2.0292650376546932, + "upper_1": 9.865861319862976, + "lower_2": -1.7749591793192874, + "upper_2": 13.670085536836954, + "mean": 5.947563178758834 + }, + "x025": { + "median": -0.8645845155535714, + "sigma": 4.015226827084321, + "lower_1": -4.879811342637892, + "upper_1": 3.15064231153075, + "lower_2": -8.778142348132402, + "upper_2": 7.048973317025259, + "mean": -0.8645845155535714 + }, + "x026": { + "median": 10.151479547978367, + "sigma": 3.6819320586419195, + "lower_1": 6.469547489336447, + "upper_1": 13.833411606620286, + "lower_2": 2.8948079982798953, + "upper_2": 17.408151097676836, + "mean": 10.151479547978367 + }, + "x027": { + "median": 9.36917460122682, + "sigma": 4.142847725473125, + "lower_1": 5.226326875753695, + "upper_1": 13.512022326699945, + "lower_2": 1.204090415707464, + "upper_2": 17.534258786746175, + "mean": 9.36917460122682 + }, + "x028": { + "median": 2.6678306855994007, + "sigma": 3.8477736951927524, + "lower_1": -1.1799430095933512, + "upper_1": 6.515604380792153, + "lower_2": -4.915695968035388, + "upper_2": 10.25135733923419, + "mean": 2.6678306855994007 + }, + "x029": { + "median": -0.633343033206347, + "sigma": 4.962853042950498, + "lower_1": -5.596196076156845, + "upper_1": 4.329510009744151, + "lower_2": -10.414564932069158, + "upper_2": 9.147878865656462, + "mean": -0.633343033206347 + }, + "x030": { + "median": 7.664614535237543, + "sigma": 4.4017253934274425, + "lower_1": 3.262889141810101, + "upper_1": 12.066339928664986, + "lower_2": -1.0106882469251453, + "upper_2": 16.33991731740023, + "mean": 7.664614535237543 + }, + "x031": { + "median": 9.634654949924343, + "sigma": 3.278101854508181, + "lower_1": 6.356553095416162, + "upper_1": 12.912756804432524, + "lower_2": 3.1738870471625633, + "upper_2": 16.09542285268612, + "mean": 9.634654949924343 + }, + "x032": { + "median": -6.201033024398548, + "sigma": 3.583371873093128, + "lower_1": -9.784404897491676, + "upper_1": -2.6176611513054198, + "lower_2": -13.26345359851853, + "upper_2": 0.8613875497214325, + "mean": -6.201033024398548 + }, + "x033": { + "median": -3.839180413244838, + "sigma": 3.77280996027946, + "lower_1": -7.611990373524298, + "upper_1": -0.06637045296537813, + "lower_2": -11.274962026031407, + "upper_2": 3.5966011995417295, + "mean": -3.839180413244838 + }, + "x034": { + "median": -5.4828984853095495, + "sigma": 3.988247704066241, + "lower_1": -9.47114618937579, + "upper_1": -1.4946507812433087, + "lower_2": -13.343283518574605, + "upper_2": 2.377486547955506, + "mean": -5.4828984853095495 + }, + "x035": { + "median": 7.027540723441524, + "sigma": 3.500280367406692, + "lower_1": 3.527260356034832, + "upper_1": 10.527821090848215, + "lower_2": 0.12888410686691198, + "upper_2": 13.926197340016135, + "mean": 7.027540723441524 + }, + "x036": { + "median": 5.616333000988521, + "sigma": 3.5968041621450686, + "lower_1": 2.019528838843453, + "upper_1": 9.21313716313359, + "lower_2": -1.4725610952546493, + "upper_2": 12.705227097231692, + "mean": 5.616333000988521 + }, + "x037": { + "median": 5.853856783757642, + "sigma": 3.4165658326222523, + "lower_1": 2.4372909511353904, + "upper_1": 9.270422616379895, + "lower_2": -0.8798079554028702, + "upper_2": 12.587521522918154, + "mean": 5.853856783757642 + }, + "x038": { + "median": 2.8884557305173377, + "sigma": 3.081959546551939, + "lower_1": -0.19350381603460187, + "upper_1": 5.970415277069277, + "lower_2": -3.1857378728905186, + "upper_2": 8.962649333925192, + "mean": 2.8884557305173377 + }, + "x039": { + "median": -0.29362344912347726, + "sigma": 3.4259071627338606, + "lower_1": -3.719530611857338, + "upper_1": 3.1322837136103834, + "lower_2": -7.045698893146984, + "upper_2": 6.458451994900028, + "mean": -0.29362344912347726 + }, + "x040": { + "median": -1.9952419219761626, + "sigma": 2.9128363455387465, + "lower_1": -4.9080782675149095, + "upper_1": 0.9175944235625839, + "lower_2": -7.736112829136589, + "upper_2": 3.7456289851842626, + "mean": -1.9952419219761626 + }, + "x041": { + "median": -6.431541270895463, + "sigma": 3.641549337641495, + "lower_1": -10.073090608536958, + "upper_1": -2.789991933253968, + "lower_2": -13.608623046009317, + "upper_2": 0.7455405042183898, + "mean": -6.431541270895463 + }, + "x042": { + "median": -3.3088277707172695, + "sigma": 4.0841599949745735, + "lower_1": -7.392987765691843, + "upper_1": 0.775332224257304, + "lower_2": -11.35824507878145, + "upper_2": 4.740589537346909, + "mean": -3.3088277707172695 + }, + "x043": { + "median": 8.274302770434312, + "sigma": 4.135783981906783, + "lower_1": 4.138518788527529, + "upper_1": 12.410086752341096, + "lower_2": 0.12314042436116068, + "upper_2": 16.42546511650746, + "mean": 8.274302770434312 + }, + "x044": { + "median": -0.3747143403521629, + "sigma": 4.282729433213747, + "lower_1": -4.657443773565911, + "upper_1": 3.9080150928615844, + "lower_2": -8.815489546976078, + "upper_2": 8.066060866271751, + "mean": -0.3747143403521629 + }, + "x045": { + "median": -2.5047036056504153, + "sigma": 3.474895217456849, + "lower_1": -5.979598823107264, + "upper_1": 0.9701916118064338, + "lower_2": -9.35332896350218, + "upper_2": 4.343921752201349, + "mean": -2.5047036056504153 + }, + "x046": { + "median": 2.900042942832223, + "sigma": 3.5427348229978657, + "lower_1": -0.6426918801656423, + "upper_1": 6.442777765830089, + "lower_2": -4.082286602829527, + "upper_2": 9.88237248849397, + "mean": 2.900042942832223 + }, + "x047": { + "median": 2.092735626024465, + "sigma": 4.195884192464853, + "lower_1": -2.1031485664403884, + "upper_1": 6.288619818489318, + "lower_2": -6.1768774359069525, + "upper_2": 10.362348687955883, + "mean": 2.092735626024465 + }, + "x048": { + "median": -6.580101913286118, + "sigma": 3.5271305872704275, + "lower_1": -10.107232500556545, + "upper_1": -3.0529713260156903, + "lower_2": -13.531677275640135, + "upper_2": 0.37147344906789925, + "mean": -6.580101913286118 + }, + "x049": { + "median": 2.0325394712968405, + "sigma": 3.654210394255135, + "lower_1": -1.6216709229582946, + "upper_1": 5.686749865551976, + "lower_2": -5.169495814054031, + "upper_2": 9.23457475664771, + "mean": 2.0325394712968405 + }, + "x050": { + "median": -10.526405354554084, + "sigma": 3.88978270896658, + "lower_1": -14.416188063520664, + "upper_1": -6.636622645587504, + "lower_2": -18.19272702184697, + "upper_2": -2.860083687261201, + "mean": -10.526405354554084 + }, + "x051": { + "median": 13.915463792286953, + "sigma": 3.4950074954210306, + "lower_1": 10.420456296865924, + "upper_1": 17.410471287707985, + "lower_2": 7.02719940987477, + "upper_2": 20.803728174699135, + "mean": 13.915463792286953 + }, + "x052": { + "median": 5.720570036150931, + "sigma": 3.3198606044248007, + "lower_1": 2.4007094317261304, + "upper_1": 9.040430640575732, + "lower_2": -0.8224996385187966, + "upper_2": 12.263639710820657, + "mean": 5.720570036150931 + }, + "x053": { + "median": -11.396896542279356, + "sigma": 3.9585966331567892, + "lower_1": -15.355493175436145, + "upper_1": -7.438299909122566, + "lower_2": -19.19884266921487, + "upper_2": -3.594950415343841, + "mean": -11.396896542279356 + }, + "x054": { + "median": 3.0165024613150937, + "sigma": 3.5749595705816235, + "lower_1": -0.5584571092665298, + "upper_1": 6.591462031896717, + "lower_2": -4.029338416240576, + "upper_2": 10.062343338870763, + "mean": 3.0165024613150937 + }, + "x055": { + "median": 2.046377680516482, + "sigma": 3.929618936203724, + "lower_1": -1.8832412556872415, + "upper_1": 5.975996616720206, + "lower_2": -5.698456683978566, + "upper_2": 9.79121204501153, + "mean": 2.046377680516482 + }, + "x056": { + "median": 8.198102981052497, + "sigma": 3.4028709799018717, + "lower_1": 4.795232001150625, + "upper_1": 11.600973960954368, + "lower_2": 1.4914292473017765, + "upper_2": 14.904776714803216, + "mean": 8.198102981052497 + }, + "x057": { + "median": -10.146367250975526, + "sigma": 3.8446291439110465, + "lower_1": -13.990996394886572, + "upper_1": -6.301738107064479, + "lower_2": -17.72369634977794, + "upper_2": -2.569038152173114, + "mean": -10.146367250975526 + }, + "x058": { + "median": 5.869811050985641, + "sigma": 4.361557256443023, + "lower_1": 1.508253794542619, + "upper_1": 10.231368307428664, + "lower_2": -2.7263248774120292, + "upper_2": 14.465946979383311, + "mean": 5.869811050985641 + }, + "x059": { + "median": 4.9657302330650115, + "sigma": 3.8146178357241767, + "lower_1": 1.1511123973408344, + "upper_1": 8.780348068789188, + "lower_2": -2.5524499724878016, + "upper_2": 12.483910438617823, + "mean": 4.9657302330650115 + }, + "x060": { + "median": 2.686677827304771, + "sigma": 3.4777243800205726, + "lower_1": -0.7910465527158017, + "upper_1": 6.1644022073253435, + "lower_2": -4.167523489896233, + "upper_2": 9.540879144505773, + "mean": 2.686677827304771 + }, + "x061": { + "median": -2.6330270162626306, + "sigma": 3.438833504961602, + "lower_1": -6.071860521224233, + "upper_1": 0.8058064886989715, + "lower_2": -9.41057881845672, + "upper_2": 4.144524785931459, + "mean": -2.6330270162626306 + }, + "x062": { + "median": 7.101699669194365, + "sigma": 4.481317056902053, + "lower_1": 2.620382612292312, + "upper_1": 11.583016726096417, + "lower_2": -1.7304692774522001, + "upper_2": 15.933868615840929, + "mean": 7.101699669194365 + }, + "x063": { + "median": -1.172074863495809, + "sigma": 3.989874071268259, + "lower_1": -5.161948934764068, + "upper_1": 2.8177992077724503, + "lower_2": -9.03566528252472, + "upper_2": 6.691515555533101, + "mean": -1.172074863495809 + }, + "x064": { + "median": -0.5538980014918629, + "sigma": 3.318776534313946, + "lower_1": -3.872674535805809, + "upper_1": 2.7648785328220833, + "lower_2": -7.094831096614216, + "upper_2": 5.98703509363049, + "mean": -0.5538980014918629 + }, + "x065": { + "median": -3.3944402948199883, + "sigma": 3.670723647083493, + "lower_1": -7.0651639419034815, + "upper_1": 0.27628335226350487, + "lower_2": -10.629021333347175, + "upper_2": 3.840140743707198, + "mean": -3.3944402948199883 + }, + "x066": { + "median": -4.116905037182889, + "sigma": 3.7104058810977563, + "lower_1": -7.827310918280645, + "upper_1": -0.4064991560851321, + "lower_2": -11.429695269691237, + "upper_2": 3.1958851953254586, + "mean": -4.116905037182889 + }, + "x067": { + "median": -10.759384401347873, + "sigma": 3.6362184678133787, + "lower_1": -14.395602869161252, + "upper_1": -7.123165933534494, + "lower_2": -17.925959635113134, + "upper_2": -3.5928091675826135, + "mean": -10.759384401347873 + }, + "x068": { + "median": -1.15581397002944, + "sigma": 4.165027202083734, + "lower_1": -5.320841172113174, + "upper_1": 3.009213232054294, + "lower_2": -9.364611394778628, + "upper_2": 7.052983454719746, + "mean": -1.15581397002944 + }, + "x069": { + "median": -9.777411041739587, + "sigma": 3.5205648403669514, + "lower_1": -13.297975882106538, + "upper_1": -6.256846201372635, + "lower_2": -16.716046059731426, + "upper_2": -2.838776023747749, + "mean": -9.777411041739587 + }, + "x070": { + "median": 2.3907983208805494, + "sigma": 2.6929130457258195, + "lower_1": -0.30211472484527, + "upper_1": 5.083711366606369, + "lower_2": -2.9166286423259176, + "upper_2": 7.698225284087016, + "mean": 2.3907983208805494 + }, + "x071": { + "median": -3.370487623453233, + "sigma": 4.382102783299597, + "lower_1": -7.75259040675283, + "upper_1": 1.0116151598463645, + "lower_2": -12.007116460964676, + "upper_2": 5.2661412140582105, + "mean": -3.370487623453233 + }, + "x072": { + "median": 7.9948180869708825, + "sigma": 4.042804366898849, + "lower_1": 3.952013720072033, + "upper_1": 12.037622453869732, + "lower_2": 0.026908043271518522, + "upper_2": 15.962728130670246, + "mean": 7.9948180869708825 + }, + "x073": { + "median": -1.757580774734179, + "sigma": 3.639048420261836, + "lower_1": -5.396629194996015, + "upper_1": 1.8814676455276573, + "lower_2": -8.929733524622128, + "upper_2": 5.414571975153769, + "mean": -1.757580774734179 + }, + "x074": { + "median": -4.975596921845037, + "sigma": 4.601709731142092, + "lower_1": -9.57730665298713, + "upper_1": -0.37388719070294485, + "lower_2": -14.045046209365696, + "upper_2": 4.09385236567562, + "mean": -4.975596921845037 + }, + "x075": { + "median": 7.05834423042185, + "sigma": 3.6456709403510543, + "lower_1": 3.4126732900707966, + "upper_1": 10.704015170772905, + "lower_2": -0.1268607573546099, + "upper_2": 14.24354921819831, + "mean": 7.05834423042185 + }, + "x076": { + "median": -3.1355151039103824, + "sigma": 3.865898393087255, + "lower_1": -7.001413496997637, + "upper_1": 0.7303832891768725, + "lower_2": -10.754763486643679, + "upper_2": 4.483733278822914, + "mean": -3.1355151039103824 + }, + "x077": { + "median": -5.972509121707489, + "sigma": 3.476704713912641, + "lower_1": -9.44921383562013, + "upper_1": -2.4958044077948482, + "lower_2": -12.824700792364839, + "upper_2": 0.8796825489498596, + "mean": -5.972509121707489 + }, + "x078": { + "median": -4.46862003463722, + "sigma": 4.8832824514549475, + "lower_1": -9.351902486092168, + "upper_1": 0.41466241681772775, + "lower_2": -14.093017299503003, + "upper_2": 5.155777230228561, + "mean": -4.46862003463722 + }, + "x079": { + "median": -9.48163985645499, + "sigma": 4.073928058304823, + "lower_1": -13.555567914759813, + "upper_1": -5.407711798150168, + "lower_2": -17.510891174884616, + "upper_2": -1.4523885380253638, + "mean": -9.48163985645499 + }, + "x080": { + "median": 1.3298765779791588, + "sigma": 3.6050025857678443, + "lower_1": -2.2751260077886855, + "upper_1": 4.934879163747003, + "lower_2": -5.775175683734812, + "upper_2": 8.434928839693129, + "mean": 1.3298765779791588 + }, + "x081": { + "median": -4.821929319024434, + "sigma": 3.730869045295805, + "lower_1": -8.552798364320239, + "upper_1": -1.0910602737286288, + "lower_2": -12.175050133164309, + "upper_2": 2.531191495115439, + "mean": -4.821929319024434 + }, + "x082": { + "median": -0.7119218719745795, + "sigma": 3.6692458479477756, + "lower_1": -4.381167719922355, + "upper_1": 2.957323975973196, + "lower_2": -7.9435903355890485, + "upper_2": 6.519746591639889, + "mean": -0.7119218719745795 + }, + "x083": { + "median": -1.465305057306019, + "sigma": 4.072645050128421, + "lower_1": -5.53795010743444, + "upper_1": 2.607339992822402, + "lower_2": -9.492027711766992, + "upper_2": 6.5614175971549535, + "mean": -1.465305057306019 + }, + "x084": { + "median": 6.552554958625056, + "sigma": 3.158357971966489, + "lower_1": 3.3941969866585677, + "upper_1": 9.710912930591546, + "lower_2": 0.32778870169789354, + "upper_2": 12.777321215552218, + "mean": 6.552554958625056 + }, + "x085": { + "median": 7.138678387159778, + "sigma": 3.9790901987992915, + "lower_1": 3.1595881883604866, + "upper_1": 11.11776858595907, + "lower_2": -0.703658239214958, + "upper_2": 14.981015013534513, + "mean": 7.138678387159778 + }, + "x086": { + "median": -10.249747824118593, + "sigma": 4.005448984510746, + "lower_1": -14.25519680862934, + "upper_1": -6.244298839607847, + "lower_2": -18.144034635154657, + "upper_2": -2.355461013082529, + "mean": -10.249747824118593 + }, + "x087": { + "median": -9.60526317763532, + "sigma": 3.6577448995642907, + "lower_1": -13.263008077199611, + "upper_1": -5.94751827807103, + "lower_2": -16.81426457309108, + "upper_2": -2.3962617821795638, + "mean": -9.60526317763532 + }, + "x088": { + "median": -5.41776912178592, + "sigma": 4.034145795411131, + "lower_1": -9.451914917197051, + "upper_1": -1.3836233263747877, + "lower_2": -13.368614100629328, + "upper_2": 2.5330758570574874, + "mean": -5.41776912178592 + }, + "x089": { + "median": 6.510672003438873, + "sigma": 3.3820471167604578, + "lower_1": 3.1286248866784154, + "upper_1": 9.892719120199331, + "lower_2": -0.15496025186890883, + "upper_2": 13.176304258746654, + "mean": 6.510672003438873 + }, + "x090": { + "median": 15.50212031732026, + "sigma": 3.992732730904356, + "lower_1": 11.509387586415905, + "upper_1": 19.494853048224616, + "lower_2": 7.632895803549476, + "upper_2": 23.371344831091044, + "mean": 15.50212031732026 + }, + "x091": { + "median": -6.941889717763079, + "sigma": 3.5114811354777977, + "lower_1": -10.453370853240877, + "upper_1": -3.4304085822852812, + "lower_2": -13.862621781060177, + "upper_2": -0.0211576544659815, + "mean": -6.941889717763079 + }, + "x092": { + "median": -5.39740764677679, + "sigma": 3.4372895635490472, + "lower_1": -8.834697210325837, + "upper_1": -1.9601180832277425, + "lower_2": -12.171916515113208, + "upper_2": 1.377101221559628, + "mean": -5.39740764677679 + }, + "x093": { + "median": 2.3321659892138005, + "sigma": 4.417311119702408, + "lower_1": -2.0851451304886073, + "upper_1": 6.749477108916208, + "lower_2": -6.373854496219774, + "upper_2": 11.038186474647373, + "mean": 2.3321659892138005 + }, + "x094": { + "median": 11.68429160358741, + "sigma": 4.054465982459915, + "lower_1": 7.629825621127494, + "upper_1": 15.738757586047324, + "lower_2": 3.6933978348986374, + "upper_2": 19.675185372276182, + "mean": 11.68429160358741 + }, + "x095": { + "median": 1.0213508171222556, + "sigma": 3.829211996827108, + "lower_1": -2.8078611797048523, + "upper_1": 4.850562813949363, + "lower_2": -6.5255928289233776, + "upper_2": 8.568294463167888, + "mean": 1.0213508171222556 + }, + "x096": { + "median": 0.8361037255789572, + "sigma": 4.183030760925183, + "lower_1": -3.3469270353462255, + "upper_1": 5.01913448650414, + "lower_2": -7.40817667689966, + "upper_2": 9.080384128057574, + "mean": 0.8361037255789572 + }, + "x097": { + "median": 5.752084012234308, + "sigma": 3.0669863878942962, + "lower_1": 2.6850976243400115, + "upper_1": 8.819070400128604, + "lower_2": -0.29259918937647633, + "upper_2": 11.79676721384509, + "mean": 5.752084012234308 + }, + "x098": { + "median": -10.537374908005383, + "sigma": 4.070425305164079, + "lower_1": -14.607800213169462, + "upper_1": -6.466949602841303, + "lower_2": -18.559722696261936, + "upper_2": -2.5150271197488294, + "mean": -10.537374908005383 + }, + "x099": { + "median": 10.718926099399667, + "sigma": 3.9117737382457025, + "lower_1": 6.807152361153965, + "upper_1": 14.63069983764537, + "lower_2": 3.009262601248219, + "upper_2": 18.428589597551113, + "mean": 10.718926099399667 + } + }, + "posterior_relabelled": { + "x000": { + "median": -1.2021308320199742, + "sigma": 3.5322448641507433, + "lower_1": -4.7343756961707175, + "upper_1": 2.3301140321307696, + "lower_2": -8.163785855525687, + "upper_2": 5.759524191485737, + "mean": -1.2021308320199742 + }, + "x001": { + "median": -2.952981643429867, + "sigma": 3.5470574826560775, + "lower_1": -6.5000391260859445, + "upper_1": 0.5940758392262109, + "lower_2": -9.943830662254395, + "upper_2": 4.0378673753946615, + "mean": -2.952981643429867 + }, + "x002": { + "median": -3.7581037058845004, + "sigma": 4.228309796001084, + "lower_1": -7.986413501885584, + "upper_1": 0.47020609011658365, + "lower_2": -12.091623964069278, + "upper_2": 4.575416552300276, + "mean": -3.7581037058845004 + }, + "x003": { + "median": -0.1032643427126958, + "sigma": 4.163993986421228, + "lower_1": -4.267258329133924, + "upper_1": 4.060729643708532, + "lower_2": -8.310025416279029, + "upper_2": 8.103496730853635, + "mean": -0.1032643427126958 + }, + "x004": { + "median": 4.163244353429565, + "sigma": 3.9860147927249248, + "lower_1": 0.17722956070464058, + "upper_1": 8.14925914615449, + "lower_2": -3.6927398641915703, + "upper_2": 12.0192285710507, + "mean": 4.163244353429565 + }, + "x005": { + "median": -5.385786055607202, + "sigma": 4.193720899489577, + "lower_1": -9.579506955096779, + "upper_1": -1.1920651561176259, + "lower_2": -13.651135511818218, + "upper_2": 2.8795634006038124, + "mean": -5.385786055607202 + }, + "x006": { + "median": -3.6343944361180887, + "sigma": 3.3231864165076415, + "lower_1": -6.95758085262573, + "upper_1": -0.3112080196104472, + "lower_2": -10.184018910153153, + "upper_2": 2.9152300379169747, + "mean": -3.6343944361180887 + }, + "x007": { + "median": 5.824753009082074, + "sigma": 3.7704136425885215, + "lower_1": 2.054339366493552, + "upper_1": 9.595166651670596, + "lower_2": -1.606305732631669, + "upper_2": 13.255811750795816, + "mean": 5.824753009082074 + }, + "x008": { + "median": -9.386392933118318, + "sigma": 4.16657523018762, + "lower_1": -13.552968163305938, + "upper_1": -5.219817702930697, + "lower_2": -17.598241346131463, + "upper_2": -1.1745445201051723, + "mean": -9.386392933118318 + }, + "x009": { + "median": -5.773668707081988, + "sigma": 4.656852599059068, + "lower_1": -10.430521306141056, + "upper_1": -1.1168161080229195, + "lower_2": -14.951798348940716, + "upper_2": 3.40446093477674, + "mean": -5.773668707081988 + }, + "x010": { + "median": 3.1420677186057517, + "sigma": 4.485782225738326, + "lower_1": -1.3437145071325745, + "upper_1": 7.627849944344078, + "lower_2": -5.6989015706714525, + "upper_2": 11.983037007882954, + "mean": 3.1420677186057517 + }, + "x011": { + "median": -8.563024588496887, + "sigma": 4.072699187386574, + "lower_1": -12.635723775883461, + "upper_1": -4.490325401110313, + "lower_2": -16.589853941369118, + "upper_2": -0.5361952356246587, + "mean": -8.563024588496887 + }, + "x012": { + "median": -2.769084481626737, + "sigma": 3.8613321202994824, + "lower_1": -6.630416601926219, + "upper_1": 1.0922476386727458, + "lower_2": -10.379333257278905, + "upper_2": 4.841164294025431, + "mean": -2.769084481626737 + }, + "x013": { + "median": -9.113164332972586, + "sigma": 3.461185469661158, + "lower_1": -12.574349802633744, + "upper_1": -5.651978863311428, + "lower_2": -15.934769328906203, + "upper_2": -2.2915593370389695, + "mean": -9.113164332972586 + }, + "x014": { + "median": 3.8933862590750348, + "sigma": 3.8492916358826683, + "lower_1": 0.0440946231923669, + "upper_1": 7.742677894957703, + "lower_2": -3.6931320839345725, + "upper_2": 11.479904602084641, + "mean": 3.8933862590750348 + }, + "x015": { + "median": -9.896208964265261, + "sigma": 3.266556565685395, + "lower_1": -13.162765529950656, + "upper_1": -6.629652398579866, + "lower_2": -16.33422240887871, + "upper_2": -3.458195519651812, + "mean": -9.896208964265261 + }, + "x016": { + "median": 2.909289213872127, + "sigma": 3.856175891194438, + "lower_1": -0.9468866773223112, + "upper_1": 6.765465105066565, + "lower_2": -4.6907972175394725, + "upper_2": 10.509375645283725, + "mean": 2.909289213872127 + }, + "x017": { + "median": 6.170666042554738, + "sigma": 3.464253908959454, + "lower_1": 2.7064121335952835, + "upper_1": 9.634919951514192, + "lower_2": -0.6569865001025263, + "upper_2": 12.998318585212001, + "mean": 6.170666042554738 + }, + "x018": { + "median": 0.8055756405444758, + "sigma": 3.2373699997480965, + "lower_1": -2.4317943592036206, + "upper_1": 4.042945640292572, + "lower_2": -5.574914384489984, + "upper_2": 7.186065665578935, + "mean": 0.8055756405444758 + }, + "x019": { + "median": -1.026804658804273, + "sigma": 3.1915251298637215, + "lower_1": -4.218329788667995, + "upper_1": 2.1647204710594483, + "lower_2": -7.316939631738102, + "upper_2": 5.263330314129556, + "mean": -1.026804658804273 + }, + "x020": { + "median": -9.556333676256035, + "sigma": 4.0290739095735475, + "lower_1": -13.585407585829582, + "upper_1": -5.527259766682488, + "lower_2": -17.49718254189726, + "upper_2": -1.6154848106148085, + "mean": -9.556333676256035 + }, + "x021": { + "median": 10.505067652621388, + "sigma": 3.922942561027048, + "lower_1": 6.582125091594341, + "upper_1": 14.428010213648436, + "lower_2": 2.773391668299591, + "upper_2": 18.236743636943185, + "mean": 10.505067652621388 + }, + "x022": { + "median": 3.0134816449048127, + "sigma": 3.326226794067863, + "lower_1": -0.3127451491630504, + "upper_1": 6.339708438972676, + "lower_2": -3.542135069342782, + "upper_2": 9.569098359152406, + "mean": 3.0134816449048127 + }, + "x023": { + "median": 1.44675975200904, + "sigma": 4.814984977209972, + "lower_1": -3.3682252252009324, + "upper_1": 6.2617447292190125, + "lower_2": -8.043030917630055, + "upper_2": 10.936550421648136, + "mean": 1.44675975200904 + }, + "x024": { + "median": 5.947563178758834, + "sigma": 3.9182981411041413, + "lower_1": 2.0292650376546932, + "upper_1": 9.865861319862976, + "lower_2": -1.7749591793192874, + "upper_2": 13.670085536836954, + "mean": 5.947563178758834 + }, + "x025": { + "median": -0.8645845155535714, + "sigma": 4.015226827084321, + "lower_1": -4.879811342637892, + "upper_1": 3.15064231153075, + "lower_2": -8.778142348132402, + "upper_2": 7.048973317025259, + "mean": -0.8645845155535714 + }, + "x026": { + "median": 10.151479547978367, + "sigma": 3.6819320586419195, + "lower_1": 6.469547489336447, + "upper_1": 13.833411606620286, + "lower_2": 2.8948079982798953, + "upper_2": 17.408151097676836, + "mean": 10.151479547978367 + }, + "x027": { + "median": 9.36917460122682, + "sigma": 4.142847725473125, + "lower_1": 5.226326875753695, + "upper_1": 13.512022326699945, + "lower_2": 1.204090415707464, + "upper_2": 17.534258786746175, + "mean": 9.36917460122682 + }, + "x028": { + "median": 2.6678306855994007, + "sigma": 3.8477736951927524, + "lower_1": -1.1799430095933512, + "upper_1": 6.515604380792153, + "lower_2": -4.915695968035388, + "upper_2": 10.25135733923419, + "mean": 2.6678306855994007 + }, + "x029": { + "median": -0.633343033206347, + "sigma": 4.962853042950498, + "lower_1": -5.596196076156845, + "upper_1": 4.329510009744151, + "lower_2": -10.414564932069158, + "upper_2": 9.147878865656462, + "mean": -0.633343033206347 + }, + "x030": { + "median": 7.664614535237543, + "sigma": 4.4017253934274425, + "lower_1": 3.262889141810101, + "upper_1": 12.066339928664986, + "lower_2": -1.0106882469251453, + "upper_2": 16.33991731740023, + "mean": 7.664614535237543 + }, + "x031": { + "median": 9.634654949924343, + "sigma": 3.278101854508181, + "lower_1": 6.356553095416162, + "upper_1": 12.912756804432524, + "lower_2": 3.1738870471625633, + "upper_2": 16.09542285268612, + "mean": 9.634654949924343 + }, + "x032": { + "median": -6.201033024398548, + "sigma": 3.583371873093128, + "lower_1": -9.784404897491676, + "upper_1": -2.6176611513054198, + "lower_2": -13.26345359851853, + "upper_2": 0.8613875497214325, + "mean": -6.201033024398548 + }, + "x033": { + "median": -3.839180413244838, + "sigma": 3.77280996027946, + "lower_1": -7.611990373524298, + "upper_1": -0.06637045296537813, + "lower_2": -11.274962026031407, + "upper_2": 3.5966011995417295, + "mean": -3.839180413244838 + }, + "x034": { + "median": -5.4828984853095495, + "sigma": 3.988247704066241, + "lower_1": -9.47114618937579, + "upper_1": -1.4946507812433087, + "lower_2": -13.343283518574605, + "upper_2": 2.377486547955506, + "mean": -5.4828984853095495 + }, + "x035": { + "median": 7.027540723441524, + "sigma": 3.500280367406692, + "lower_1": 3.527260356034832, + "upper_1": 10.527821090848215, + "lower_2": 0.12888410686691198, + "upper_2": 13.926197340016135, + "mean": 7.027540723441524 + }, + "x036": { + "median": 5.616333000988521, + "sigma": 3.5968041621450686, + "lower_1": 2.019528838843453, + "upper_1": 9.21313716313359, + "lower_2": -1.4725610952546493, + "upper_2": 12.705227097231692, + "mean": 5.616333000988521 + }, + "x037": { + "median": 5.853856783757642, + "sigma": 3.4165658326222523, + "lower_1": 2.4372909511353904, + "upper_1": 9.270422616379895, + "lower_2": -0.8798079554028702, + "upper_2": 12.587521522918154, + "mean": 5.853856783757642 + }, + "x038": { + "median": 2.8884557305173377, + "sigma": 3.081959546551939, + "lower_1": -0.19350381603460187, + "upper_1": 5.970415277069277, + "lower_2": -3.1857378728905186, + "upper_2": 8.962649333925192, + "mean": 2.8884557305173377 + }, + "x039": { + "median": -0.29362344912347726, + "sigma": 3.4259071627338606, + "lower_1": -3.719530611857338, + "upper_1": 3.1322837136103834, + "lower_2": -7.045698893146984, + "upper_2": 6.458451994900028, + "mean": -0.29362344912347726 + }, + "x040": { + "median": -1.9952419219761626, + "sigma": 2.9128363455387465, + "lower_1": -4.9080782675149095, + "upper_1": 0.9175944235625839, + "lower_2": -7.736112829136589, + "upper_2": 3.7456289851842626, + "mean": -1.9952419219761626 + }, + "x041": { + "median": -6.431541270895463, + "sigma": 3.641549337641495, + "lower_1": -10.073090608536958, + "upper_1": -2.789991933253968, + "lower_2": -13.608623046009317, + "upper_2": 0.7455405042183898, + "mean": -6.431541270895463 + }, + "x042": { + "median": -3.3088277707172695, + "sigma": 4.0841599949745735, + "lower_1": -7.392987765691843, + "upper_1": 0.775332224257304, + "lower_2": -11.35824507878145, + "upper_2": 4.740589537346909, + "mean": -3.3088277707172695 + }, + "x043": { + "median": 8.274302770434312, + "sigma": 4.135783981906783, + "lower_1": 4.138518788527529, + "upper_1": 12.410086752341096, + "lower_2": 0.12314042436116068, + "upper_2": 16.42546511650746, + "mean": 8.274302770434312 + }, + "x044": { + "median": -0.3747143403521629, + "sigma": 4.282729433213747, + "lower_1": -4.657443773565911, + "upper_1": 3.9080150928615844, + "lower_2": -8.815489546976078, + "upper_2": 8.066060866271751, + "mean": -0.3747143403521629 + }, + "x045": { + "median": -2.5047036056504153, + "sigma": 3.474895217456849, + "lower_1": -5.979598823107264, + "upper_1": 0.9701916118064338, + "lower_2": -9.35332896350218, + "upper_2": 4.343921752201349, + "mean": -2.5047036056504153 + }, + "x046": { + "median": 2.900042942832223, + "sigma": 3.5427348229978657, + "lower_1": -0.6426918801656423, + "upper_1": 6.442777765830089, + "lower_2": -4.082286602829527, + "upper_2": 9.88237248849397, + "mean": 2.900042942832223 + }, + "x047": { + "median": 2.092735626024465, + "sigma": 4.195884192464853, + "lower_1": -2.1031485664403884, + "upper_1": 6.288619818489318, + "lower_2": -6.1768774359069525, + "upper_2": 10.362348687955883, + "mean": 2.092735626024465 + }, + "x048": { + "median": -6.580101913286118, + "sigma": 3.5271305872704275, + "lower_1": -10.107232500556545, + "upper_1": -3.0529713260156903, + "lower_2": -13.531677275640135, + "upper_2": 0.37147344906789925, + "mean": -6.580101913286118 + }, + "x049": { + "median": 2.0325394712968405, + "sigma": 3.654210394255135, + "lower_1": -1.6216709229582946, + "upper_1": 5.686749865551976, + "lower_2": -5.169495814054031, + "upper_2": 9.23457475664771, + "mean": 2.0325394712968405 + }, + "x050": { + "median": -10.526405354554084, + "sigma": 3.88978270896658, + "lower_1": -14.416188063520664, + "upper_1": -6.636622645587504, + "lower_2": -18.19272702184697, + "upper_2": -2.860083687261201, + "mean": -10.526405354554084 + }, + "x051": { + "median": 13.915463792286953, + "sigma": 3.4950074954210306, + "lower_1": 10.420456296865924, + "upper_1": 17.410471287707985, + "lower_2": 7.02719940987477, + "upper_2": 20.803728174699135, + "mean": 13.915463792286953 + }, + "x052": { + "median": 5.720570036150931, + "sigma": 3.3198606044248007, + "lower_1": 2.4007094317261304, + "upper_1": 9.040430640575732, + "lower_2": -0.8224996385187966, + "upper_2": 12.263639710820657, + "mean": 5.720570036150931 + }, + "x053": { + "median": -11.396896542279356, + "sigma": 3.9585966331567892, + "lower_1": -15.355493175436145, + "upper_1": -7.438299909122566, + "lower_2": -19.19884266921487, + "upper_2": -3.594950415343841, + "mean": -11.396896542279356 + }, + "x054": { + "median": 3.0165024613150937, + "sigma": 3.5749595705816235, + "lower_1": -0.5584571092665298, + "upper_1": 6.591462031896717, + "lower_2": -4.029338416240576, + "upper_2": 10.062343338870763, + "mean": 3.0165024613150937 + }, + "x055": { + "median": 2.046377680516482, + "sigma": 3.929618936203724, + "lower_1": -1.8832412556872415, + "upper_1": 5.975996616720206, + "lower_2": -5.698456683978566, + "upper_2": 9.79121204501153, + "mean": 2.046377680516482 + }, + "x056": { + "median": 8.198102981052497, + "sigma": 3.4028709799018717, + "lower_1": 4.795232001150625, + "upper_1": 11.600973960954368, + "lower_2": 1.4914292473017765, + "upper_2": 14.904776714803216, + "mean": 8.198102981052497 + }, + "x057": { + "median": -10.146367250975526, + "sigma": 3.8446291439110465, + "lower_1": -13.990996394886572, + "upper_1": -6.301738107064479, + "lower_2": -17.72369634977794, + "upper_2": -2.569038152173114, + "mean": -10.146367250975526 + }, + "x058": { + "median": 5.869811050985641, + "sigma": 4.361557256443023, + "lower_1": 1.508253794542619, + "upper_1": 10.231368307428664, + "lower_2": -2.7263248774120292, + "upper_2": 14.465946979383311, + "mean": 5.869811050985641 + }, + "x059": { + "median": 4.9657302330650115, + "sigma": 3.8146178357241767, + "lower_1": 1.1511123973408344, + "upper_1": 8.780348068789188, + "lower_2": -2.5524499724878016, + "upper_2": 12.483910438617823, + "mean": 4.9657302330650115 + }, + "x060": { + "median": 2.686677827304771, + "sigma": 3.4777243800205726, + "lower_1": -0.7910465527158017, + "upper_1": 6.1644022073253435, + "lower_2": -4.167523489896233, + "upper_2": 9.540879144505773, + "mean": 2.686677827304771 + }, + "x061": { + "median": -2.6330270162626306, + "sigma": 3.438833504961602, + "lower_1": -6.071860521224233, + "upper_1": 0.8058064886989715, + "lower_2": -9.41057881845672, + "upper_2": 4.144524785931459, + "mean": -2.6330270162626306 + }, + "x062": { + "median": 7.101699669194365, + "sigma": 4.481317056902053, + "lower_1": 2.620382612292312, + "upper_1": 11.583016726096417, + "lower_2": -1.7304692774522001, + "upper_2": 15.933868615840929, + "mean": 7.101699669194365 + }, + "x063": { + "median": -1.172074863495809, + "sigma": 3.989874071268259, + "lower_1": -5.161948934764068, + "upper_1": 2.8177992077724503, + "lower_2": -9.03566528252472, + "upper_2": 6.691515555533101, + "mean": -1.172074863495809 + }, + "x064": { + "median": -0.5538980014918629, + "sigma": 3.318776534313946, + "lower_1": -3.872674535805809, + "upper_1": 2.7648785328220833, + "lower_2": -7.094831096614216, + "upper_2": 5.98703509363049, + "mean": -0.5538980014918629 + }, + "x065": { + "median": -3.3944402948199883, + "sigma": 3.670723647083493, + "lower_1": -7.0651639419034815, + "upper_1": 0.27628335226350487, + "lower_2": -10.629021333347175, + "upper_2": 3.840140743707198, + "mean": -3.3944402948199883 + }, + "x066": { + "median": -4.116905037182889, + "sigma": 3.7104058810977563, + "lower_1": -7.827310918280645, + "upper_1": -0.4064991560851321, + "lower_2": -11.429695269691237, + "upper_2": 3.1958851953254586, + "mean": -4.116905037182889 + }, + "x067": { + "median": -10.759384401347873, + "sigma": 3.6362184678133787, + "lower_1": -14.395602869161252, + "upper_1": -7.123165933534494, + "lower_2": -17.925959635113134, + "upper_2": -3.5928091675826135, + "mean": -10.759384401347873 + }, + "x068": { + "median": -1.15581397002944, + "sigma": 4.165027202083734, + "lower_1": -5.320841172113174, + "upper_1": 3.009213232054294, + "lower_2": -9.364611394778628, + "upper_2": 7.052983454719746, + "mean": -1.15581397002944 + }, + "x069": { + "median": -9.777411041739587, + "sigma": 3.5205648403669514, + "lower_1": -13.297975882106538, + "upper_1": -6.256846201372635, + "lower_2": -16.716046059731426, + "upper_2": -2.838776023747749, + "mean": -9.777411041739587 + }, + "x070": { + "median": 2.3907983208805494, + "sigma": 2.6929130457258195, + "lower_1": -0.30211472484527, + "upper_1": 5.083711366606369, + "lower_2": -2.9166286423259176, + "upper_2": 7.698225284087016, + "mean": 2.3907983208805494 + }, + "x071": { + "median": -3.370487623453233, + "sigma": 4.382102783299597, + "lower_1": -7.75259040675283, + "upper_1": 1.0116151598463645, + "lower_2": -12.007116460964676, + "upper_2": 5.2661412140582105, + "mean": -3.370487623453233 + }, + "x072": { + "median": 7.9948180869708825, + "sigma": 4.042804366898849, + "lower_1": 3.952013720072033, + "upper_1": 12.037622453869732, + "lower_2": 0.026908043271518522, + "upper_2": 15.962728130670246, + "mean": 7.9948180869708825 + }, + "x073": { + "median": -1.757580774734179, + "sigma": 3.639048420261836, + "lower_1": -5.396629194996015, + "upper_1": 1.8814676455276573, + "lower_2": -8.929733524622128, + "upper_2": 5.414571975153769, + "mean": -1.757580774734179 + }, + "x074": { + "median": -4.975596921845037, + "sigma": 4.601709731142092, + "lower_1": -9.57730665298713, + "upper_1": -0.37388719070294485, + "lower_2": -14.045046209365696, + "upper_2": 4.09385236567562, + "mean": -4.975596921845037 + }, + "x075": { + "median": 7.05834423042185, + "sigma": 3.6456709403510543, + "lower_1": 3.4126732900707966, + "upper_1": 10.704015170772905, + "lower_2": -0.1268607573546099, + "upper_2": 14.24354921819831, + "mean": 7.05834423042185 + }, + "x076": { + "median": -3.1355151039103824, + "sigma": 3.865898393087255, + "lower_1": -7.001413496997637, + "upper_1": 0.7303832891768725, + "lower_2": -10.754763486643679, + "upper_2": 4.483733278822914, + "mean": -3.1355151039103824 + }, + "x077": { + "median": -5.972509121707489, + "sigma": 3.476704713912641, + "lower_1": -9.44921383562013, + "upper_1": -2.4958044077948482, + "lower_2": -12.824700792364839, + "upper_2": 0.8796825489498596, + "mean": -5.972509121707489 + }, + "x078": { + "median": -4.46862003463722, + "sigma": 4.8832824514549475, + "lower_1": -9.351902486092168, + "upper_1": 0.41466241681772775, + "lower_2": -14.093017299503003, + "upper_2": 5.155777230228561, + "mean": -4.46862003463722 + }, + "x079": { + "median": -9.48163985645499, + "sigma": 4.073928058304823, + "lower_1": -13.555567914759813, + "upper_1": -5.407711798150168, + "lower_2": -17.510891174884616, + "upper_2": -1.4523885380253638, + "mean": -9.48163985645499 + }, + "x080": { + "median": 1.3298765779791588, + "sigma": 3.6050025857678443, + "lower_1": -2.2751260077886855, + "upper_1": 4.934879163747003, + "lower_2": -5.775175683734812, + "upper_2": 8.434928839693129, + "mean": 1.3298765779791588 + }, + "x081": { + "median": -4.821929319024434, + "sigma": 3.730869045295805, + "lower_1": -8.552798364320239, + "upper_1": -1.0910602737286288, + "lower_2": -12.175050133164309, + "upper_2": 2.531191495115439, + "mean": -4.821929319024434 + }, + "x082": { + "median": -0.7119218719745795, + "sigma": 3.6692458479477756, + "lower_1": -4.381167719922355, + "upper_1": 2.957323975973196, + "lower_2": -7.9435903355890485, + "upper_2": 6.519746591639889, + "mean": -0.7119218719745795 + }, + "x083": { + "median": -1.465305057306019, + "sigma": 4.072645050128421, + "lower_1": -5.53795010743444, + "upper_1": 2.607339992822402, + "lower_2": -9.492027711766992, + "upper_2": 6.5614175971549535, + "mean": -1.465305057306019 + }, + "x084": { + "median": 6.552554958625056, + "sigma": 3.158357971966489, + "lower_1": 3.3941969866585677, + "upper_1": 9.710912930591546, + "lower_2": 0.32778870169789354, + "upper_2": 12.777321215552218, + "mean": 6.552554958625056 + }, + "x085": { + "median": 7.138678387159778, + "sigma": 3.9790901987992915, + "lower_1": 3.1595881883604866, + "upper_1": 11.11776858595907, + "lower_2": -0.703658239214958, + "upper_2": 14.981015013534513, + "mean": 7.138678387159778 + }, + "x086": { + "median": -10.249747824118593, + "sigma": 4.005448984510746, + "lower_1": -14.25519680862934, + "upper_1": -6.244298839607847, + "lower_2": -18.144034635154657, + "upper_2": -2.355461013082529, + "mean": -10.249747824118593 + }, + "x087": { + "median": -9.60526317763532, + "sigma": 3.6577448995642907, + "lower_1": -13.263008077199611, + "upper_1": -5.94751827807103, + "lower_2": -16.81426457309108, + "upper_2": -2.3962617821795638, + "mean": -9.60526317763532 + }, + "x088": { + "median": -5.41776912178592, + "sigma": 4.034145795411131, + "lower_1": -9.451914917197051, + "upper_1": -1.3836233263747877, + "lower_2": -13.368614100629328, + "upper_2": 2.5330758570574874, + "mean": -5.41776912178592 + }, + "x089": { + "median": 6.510672003438873, + "sigma": 3.3820471167604578, + "lower_1": 3.1286248866784154, + "upper_1": 9.892719120199331, + "lower_2": -0.15496025186890883, + "upper_2": 13.176304258746654, + "mean": 6.510672003438873 + }, + "x090": { + "median": 15.50212031732026, + "sigma": 3.992732730904356, + "lower_1": 11.509387586415905, + "upper_1": 19.494853048224616, + "lower_2": 7.632895803549476, + "upper_2": 23.371344831091044, + "mean": 15.50212031732026 + }, + "x091": { + "median": -6.941889717763079, + "sigma": 3.5114811354777977, + "lower_1": -10.453370853240877, + "upper_1": -3.4304085822852812, + "lower_2": -13.862621781060177, + "upper_2": -0.0211576544659815, + "mean": -6.941889717763079 + }, + "x092": { + "median": -5.39740764677679, + "sigma": 3.4372895635490472, + "lower_1": -8.834697210325837, + "upper_1": -1.9601180832277425, + "lower_2": -12.171916515113208, + "upper_2": 1.377101221559628, + "mean": -5.39740764677679 + }, + "x093": { + "median": 2.3321659892138005, + "sigma": 4.417311119702408, + "lower_1": -2.0851451304886073, + "upper_1": 6.749477108916208, + "lower_2": -6.373854496219774, + "upper_2": 11.038186474647373, + "mean": 2.3321659892138005 + }, + "x094": { + "median": 11.68429160358741, + "sigma": 4.054465982459915, + "lower_1": 7.629825621127494, + "upper_1": 15.738757586047324, + "lower_2": 3.6933978348986374, + "upper_2": 19.675185372276182, + "mean": 11.68429160358741 + }, + "x095": { + "median": 1.0213508171222556, + "sigma": 3.829211996827108, + "lower_1": -2.8078611797048523, + "upper_1": 4.850562813949363, + "lower_2": -6.5255928289233776, + "upper_2": 8.568294463167888, + "mean": 1.0213508171222556 + }, + "x096": { + "median": 0.8361037255789572, + "sigma": 4.183030760925183, + "lower_1": -3.3469270353462255, + "upper_1": 5.01913448650414, + "lower_2": -7.40817667689966, + "upper_2": 9.080384128057574, + "mean": 0.8361037255789572 + }, + "x097": { + "median": 5.752084012234308, + "sigma": 3.0669863878942962, + "lower_1": 2.6850976243400115, + "upper_1": 8.819070400128604, + "lower_2": -0.29259918937647633, + "upper_2": 11.79676721384509, + "mean": 5.752084012234308 + }, + "x098": { + "median": -10.537374908005383, + "sigma": 4.070425305164079, + "lower_1": -14.607800213169462, + "upper_1": -6.466949602841303, + "lower_2": -18.559722696261936, + "upper_2": -2.5150271197488294, + "mean": -10.537374908005383 + }, + "x099": { + "median": 10.718926099399667, + "sigma": 3.9117737382457025, + "lower_1": 6.807152361153965, + "upper_1": 14.63069983764537, + "lower_2": 3.009262601248219, + "upper_2": 18.428589597551113, + "mean": 10.718926099399667 + } + }, + "relabelled_note": "no label symmetry: the relabelled posterior is the posterior", + "modes": null, + "ppc_chi2": null, + "whitened": { + "worst_median": 0.0, + "sigma_ratio_min": 1.0, + "sigma_ratio_max": 1.0 + }, + "limitations": [], + "agreement": { + "test": "protocol correlated_nd \u00a76 (exact reference self-test)", + "backend_identity": { + "points": 64, + "max_abs_delta_nat": 5.684341886080802e-14, + "tolerance_nat": 1e-08, + "path": "autofit Fitness.call" + }, + "draws": { + "n": 200000, + "seed": 0, + "worst_median_offset_sigma": 0.00814918023907866, + "worst_sigma_ratio_offset": 0.00839648793700598, + "whitened": { + "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", + "n_coordinates": 100, + "worst_median": 0.007293766744453657, + "worst_median_key": "u009", + "sigma_ratio_min": 0.995754412386327, + "sigma_ratio_min_key": "u065", + "sigma_ratio_max": 1.0050897571741753, + "sigma_ratio_max_key": "u090" + }, + "tolerance_median_sigma": 0.02, + "tolerance_sigma": 0.02 + }, + "truncation": { + "unconstrained_draws_inside": 1.0, + "box_mass": 1.0, + "ok": true + }, + "failures": [], + "control_verdicts": { + "posterior": "accepted", + "evidence": "accepted" + } + }, + "library_revisions": { + "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", + "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" + }, + "written_at": "2026-10-15T19:38:35Z" +} diff --git a/results/reference/corr_gaussian_d20/jax_cpu/reference.json b/results/reference/corr_gaussian_d20/jax_cpu/reference.json new file mode 100644 index 00000000..41280a44 --- /dev/null +++ b/results/reference/corr_gaussian_d20/jax_cpu/reference.json @@ -0,0 +1,465 @@ +{ + "schema_version": 1, + "status": "complete", + "exact": true, + "model": "correlated_nd", + "protocol_id": "correlated_nd@1", + "dataset": "corr_gaussian_d20", + "backend": "jax_cpu", + "data_seed": 1, + "assertion_mechanism": "none", + "kind": "gaussian", + "dimension": 20, + "log_evidence": -93.01954726010284, + "log_evidence_normalised": -93.01954726010284, + "log_evidence_offset": 0.0, + "log_evidence_how": { + "method": "closed form: ln Z = -ln V (normalised Gaussian likelihood, uniform box)", + "truncation_bound": 2.241988674201202e-29, + "log_evidence_error_bound": 2.241988674201202e-29 + }, + "log_volume": 93.01954726010284, + "information_nats": 53.127851131039165, + "max_log_likelihood": -29.891696129063675, + "map": { + "log_posterior": -29.891696129063675, + "vector": [ + -2.7255450241923844, + 8.244466742242865, + -6.9877063349383794, + -9.809175176416511, + 3.7512659604822423, + -9.327489338522593, + 0.1743645657668773, + -5.666396886949655, + -5.159458438037452, + -2.1307526277146165, + 2.0181192280415794, + 9.658638533588244, + 8.38028851407356, + 5.215722322849795, + -4.775881731853383, + -5.7825450628302395, + -3.1334748816843585, + -7.102904981879544, + -2.3726998533441943, + 3.4759215557884167 + ], + "method": "exact mode (inside the box); PyAutoFit's uniform prior adds 0 there" + }, + "posterior": { + "x000": { + "median": -2.7255450241923844, + "sigma": 4.8946133574589785, + "lower_1": -7.620158381651363, + "upper_1": 2.169068333266594, + "lower_2": -12.372274222923913, + "upper_2": 6.921184174539142, + "mean": -2.7255450241923844 + }, + "x001": { + "median": 8.244466742242865, + "sigma": 2.7018561936243515, + "lower_1": 5.542610548618514, + "upper_1": 10.946322935867217, + "lower_2": 2.9194138462689274, + "upper_2": 13.569519638216804, + "mean": 8.244466742242865 + }, + "x002": { + "median": -6.9877063349383794, + "sigma": 2.2571751178839667, + "lower_1": -9.244881452822346, + "upper_1": -4.730531217054413, + "lower_2": -11.436343137508139, + "upper_2": -2.53906953236862, + "mean": -6.9877063349383794 + }, + "x003": { + "median": -9.809175176416511, + "sigma": 5.863393836884226, + "lower_1": -15.672569013300738, + "upper_1": -3.9457813395322843, + "lower_2": -21.36526110171988, + "upper_2": 1.7469107488868545, + "mean": -9.809175176416511 + }, + "x004": { + "median": 3.7512659604822423, + "sigma": 2.7425938520491293, + "lower_1": 1.008672108433113, + "upper_1": 6.493859812531372, + "lower_2": -1.6540762515855567, + "upper_2": 9.15660817255004, + "mean": 3.7512659604822423 + }, + "x005": { + "median": -9.327489338522593, + "sigma": 4.567083107556224, + "lower_1": -13.894572446078817, + "upper_1": -4.760406230966369, + "lower_2": -18.328693468273997, + "upper_2": -0.32628520877118916, + "mean": -9.327489338522593 + }, + "x006": { + "median": 0.1743645657668773, + "sigma": 3.896901315704186, + "lower_1": -3.7225367499373085, + "upper_1": 4.071265881471064, + "lower_2": -7.505987070076085, + "upper_2": 7.854716201609839, + "mean": 0.1743645657668773 + }, + "x007": { + "median": -5.666396886949655, + "sigma": 3.966006295705081, + "lower_1": -9.632403182654736, + "upper_1": -1.7003905912445738, + "lower_2": -13.482946620510896, + "upper_2": 2.1501528466115856, + "mean": -5.666396886949655 + }, + "x008": { + "median": -5.159458438037452, + "sigma": 5.510450194860882, + "lower_1": -10.669908632898334, + "upper_1": 0.3509917568234293, + "lower_2": -16.01993237351435, + "upper_2": 5.701015497439444, + "mean": -5.159458438037452 + }, + "x009": { + "median": -2.1307526277146165, + "sigma": 2.476867304588475, + "lower_1": -4.607619932303091, + "upper_1": 0.3461146768738588, + "lower_2": -7.012377876447524, + "upper_2": 2.750872621018291, + "mean": -2.1307526277146165 + }, + "x010": { + "median": 2.0181192280415794, + "sigma": 3.520129026759752, + "lower_1": -1.5020097987181726, + "upper_1": 5.538248254801331, + "lower_2": -4.919656850634169, + "upper_2": 8.955895306717327, + "mean": 2.0181192280415794 + }, + "x011": { + "median": 9.658638533588244, + "sigma": 3.8194356967678735, + "lower_1": 5.839202836820371, + "upper_1": 13.478074230356118, + "lower_2": 2.130962868964118, + "upper_2": 17.18631419821237, + "mean": 9.658638533588244 + }, + "x012": { + "median": 8.38028851407356, + "sigma": 4.835008317869891, + "lower_1": 3.5452801962036693, + "upper_1": 13.215296831943451, + "lower_2": -1.148965894760753, + "upper_2": 17.909542922907875, + "mean": 8.38028851407356 + }, + "x013": { + "median": 5.215722322849795, + "sigma": 4.911045391714258, + "lower_1": 0.3046769311355373, + "upper_1": 10.126767714564053, + "lower_2": -4.463392556438788, + "upper_2": 14.89483720213838, + "mean": 5.215722322849795 + }, + "x014": { + "median": -4.775881731853383, + "sigma": 3.732548342731443, + "lower_1": -8.508430074584826, + "upper_1": -1.0433333891219396, + "lower_2": -12.132312251259567, + "upper_2": 2.5805487875527984, + "mean": -4.775881731853383 + }, + "x015": { + "median": -5.7825450628302395, + "sigma": 3.4174460945418397, + "lower_1": -9.199991157372079, + "upper_1": -2.3650989682883994, + "lower_2": -12.517944698650012, + "upper_2": 0.9528545729895317, + "mean": -5.7825450628302395 + }, + "x016": { + "median": -3.1334748816843585, + "sigma": 2.642232422025242, + "lower_1": -5.7757073037096, + "upper_1": -0.4912424596591167, + "lower_2": -8.341016069088484, + "upper_2": 2.0740663057197666, + "mean": -3.1334748816843585 + }, + "x017": { + "median": -7.102904981879544, + "sigma": 5.195768065623987, + "lower_1": -12.29867304750353, + "upper_1": -1.9071369162555571, + "lower_2": -17.34317604069766, + "upper_2": 3.1373660769385703, + "mean": -7.102904981879544 + }, + "x018": { + "median": -2.3726998533441943, + "sigma": 3.6664072948307247, + "lower_1": -6.039107148174919, + "upper_1": 1.29370744148653, + "lower_2": -9.598773849891172, + "upper_2": 4.853374143202783, + "mean": -2.3726998533441943 + }, + "x019": { + "median": 3.4759215557884167, + "sigma": 3.1924719306335314, + "lower_1": 0.2834496251548848, + "upper_1": 6.668393486421948, + "lower_2": -2.816079454350904, + "upper_2": 9.767922565927737, + "mean": 3.4759215557884167 + } + }, + "posterior_relabelled": { + "x000": { + "median": -2.7255450241923844, + "sigma": 4.8946133574589785, + "lower_1": -7.620158381651363, + "upper_1": 2.169068333266594, + "lower_2": -12.372274222923913, + "upper_2": 6.921184174539142, + "mean": -2.7255450241923844 + }, + "x001": { + "median": 8.244466742242865, + "sigma": 2.7018561936243515, + "lower_1": 5.542610548618514, + "upper_1": 10.946322935867217, + "lower_2": 2.9194138462689274, + "upper_2": 13.569519638216804, + "mean": 8.244466742242865 + }, + "x002": { + "median": -6.9877063349383794, + "sigma": 2.2571751178839667, + "lower_1": -9.244881452822346, + "upper_1": -4.730531217054413, + "lower_2": -11.436343137508139, + "upper_2": -2.53906953236862, + "mean": -6.9877063349383794 + }, + "x003": { + "median": -9.809175176416511, + "sigma": 5.863393836884226, + "lower_1": -15.672569013300738, + "upper_1": -3.9457813395322843, + "lower_2": -21.36526110171988, + "upper_2": 1.7469107488868545, + "mean": -9.809175176416511 + }, + "x004": { + "median": 3.7512659604822423, + "sigma": 2.7425938520491293, + "lower_1": 1.008672108433113, + "upper_1": 6.493859812531372, + "lower_2": -1.6540762515855567, + "upper_2": 9.15660817255004, + "mean": 3.7512659604822423 + }, + "x005": { + "median": -9.327489338522593, + "sigma": 4.567083107556224, + "lower_1": -13.894572446078817, + "upper_1": -4.760406230966369, + "lower_2": -18.328693468273997, + "upper_2": -0.32628520877118916, + "mean": -9.327489338522593 + }, + "x006": { + "median": 0.1743645657668773, + "sigma": 3.896901315704186, + "lower_1": -3.7225367499373085, + "upper_1": 4.071265881471064, + "lower_2": -7.505987070076085, + "upper_2": 7.854716201609839, + "mean": 0.1743645657668773 + }, + "x007": { + "median": -5.666396886949655, + "sigma": 3.966006295705081, + "lower_1": -9.632403182654736, + "upper_1": -1.7003905912445738, + "lower_2": -13.482946620510896, + "upper_2": 2.1501528466115856, + "mean": -5.666396886949655 + }, + "x008": { + "median": -5.159458438037452, + "sigma": 5.510450194860882, + "lower_1": -10.669908632898334, + "upper_1": 0.3509917568234293, + "lower_2": -16.01993237351435, + "upper_2": 5.701015497439444, + "mean": -5.159458438037452 + }, + "x009": { + "median": -2.1307526277146165, + "sigma": 2.476867304588475, + "lower_1": -4.607619932303091, + "upper_1": 0.3461146768738588, + "lower_2": -7.012377876447524, + "upper_2": 2.750872621018291, + "mean": -2.1307526277146165 + }, + "x010": { + "median": 2.0181192280415794, + "sigma": 3.520129026759752, + "lower_1": -1.5020097987181726, + "upper_1": 5.538248254801331, + "lower_2": -4.919656850634169, + "upper_2": 8.955895306717327, + "mean": 2.0181192280415794 + }, + "x011": { + "median": 9.658638533588244, + "sigma": 3.8194356967678735, + "lower_1": 5.839202836820371, + "upper_1": 13.478074230356118, + "lower_2": 2.130962868964118, + "upper_2": 17.18631419821237, + "mean": 9.658638533588244 + }, + "x012": { + "median": 8.38028851407356, + "sigma": 4.835008317869891, + "lower_1": 3.5452801962036693, + "upper_1": 13.215296831943451, + "lower_2": -1.148965894760753, + "upper_2": 17.909542922907875, + "mean": 8.38028851407356 + }, + "x013": { + "median": 5.215722322849795, + "sigma": 4.911045391714258, + "lower_1": 0.3046769311355373, + "upper_1": 10.126767714564053, + "lower_2": -4.463392556438788, + "upper_2": 14.89483720213838, + "mean": 5.215722322849795 + }, + "x014": { + "median": -4.775881731853383, + "sigma": 3.732548342731443, + "lower_1": -8.508430074584826, + "upper_1": -1.0433333891219396, + "lower_2": -12.132312251259567, + "upper_2": 2.5805487875527984, + "mean": -4.775881731853383 + }, + "x015": { + "median": -5.7825450628302395, + "sigma": 3.4174460945418397, + "lower_1": -9.199991157372079, + "upper_1": -2.3650989682883994, + "lower_2": -12.517944698650012, + "upper_2": 0.9528545729895317, + "mean": -5.7825450628302395 + }, + "x016": { + "median": -3.1334748816843585, + "sigma": 2.642232422025242, + "lower_1": -5.7757073037096, + "upper_1": -0.4912424596591167, + "lower_2": -8.341016069088484, + "upper_2": 2.0740663057197666, + "mean": -3.1334748816843585 + }, + "x017": { + "median": -7.102904981879544, + "sigma": 5.195768065623987, + "lower_1": -12.29867304750353, + "upper_1": -1.9071369162555571, + "lower_2": -17.34317604069766, + "upper_2": 3.1373660769385703, + "mean": -7.102904981879544 + }, + "x018": { + "median": -2.3726998533441943, + "sigma": 3.6664072948307247, + "lower_1": -6.039107148174919, + "upper_1": 1.29370744148653, + "lower_2": -9.598773849891172, + "upper_2": 4.853374143202783, + "mean": -2.3726998533441943 + }, + "x019": { + "median": 3.4759215557884167, + "sigma": 3.1924719306335314, + "lower_1": 0.2834496251548848, + "upper_1": 6.668393486421948, + "lower_2": -2.816079454350904, + "upper_2": 9.767922565927737, + "mean": 3.4759215557884167 + } + }, + "relabelled_note": "no label symmetry: the relabelled posterior is the posterior", + "modes": null, + "ppc_chi2": null, + "whitened": { + "worst_median": 0.0, + "sigma_ratio_min": 1.0, + "sigma_ratio_max": 1.0 + }, + "limitations": [], + "agreement": { + "test": "protocol correlated_nd \u00a76 (exact reference self-test)", + "backend_identity": { + "points": 64, + "max_abs_delta_nat": 7.105427357601002e-15, + "tolerance_nat": 1e-08, + "path": "autofit Fitness.call under jax.jit" + }, + "draws": { + "n": 200000, + "seed": 0, + "worst_median_offset_sigma": 0.004272028895988029, + "worst_sigma_ratio_offset": 0.0035675251347991876, + "whitened": { + "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", + "n_coordinates": 20, + "worst_median": 0.005493583937710987, + "worst_median_key": "u001", + "sigma_ratio_min": 0.9946543566605447, + "sigma_ratio_min_key": "u013", + "sigma_ratio_max": 1.004668704870897, + "sigma_ratio_max_key": "u017" + }, + "tolerance_median_sigma": 0.02, + "tolerance_sigma": 0.02 + }, + "truncation": { + "unconstrained_draws_inside": 1.0, + "box_mass": 1.0, + "ok": true + }, + "failures": [], + "control_verdicts": { + "posterior": "accepted", + "evidence": "accepted" + } + }, + "library_revisions": { + "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", + "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" + }, + "written_at": "2026-10-15T19:38:20Z" +} diff --git a/results/reference/corr_gaussian_d20/numpy/reference.json b/results/reference/corr_gaussian_d20/numpy/reference.json new file mode 100644 index 00000000..8cd4aa1a --- /dev/null +++ b/results/reference/corr_gaussian_d20/numpy/reference.json @@ -0,0 +1,465 @@ +{ + "schema_version": 1, + "status": "complete", + "exact": true, + "model": "correlated_nd", + "protocol_id": "correlated_nd@1", + "dataset": "corr_gaussian_d20", + "backend": "numpy", + "data_seed": 1, + "assertion_mechanism": "none", + "kind": "gaussian", + "dimension": 20, + "log_evidence": -93.01954726010284, + "log_evidence_normalised": -93.01954726010284, + "log_evidence_offset": 0.0, + "log_evidence_how": { + "method": "closed form: ln Z = -ln V (normalised Gaussian likelihood, uniform box)", + "truncation_bound": 2.241988674201202e-29, + "log_evidence_error_bound": 2.241988674201202e-29 + }, + "log_volume": 93.01954726010284, + "information_nats": 53.127851131039165, + "max_log_likelihood": -29.891696129063675, + "map": { + "log_posterior": -29.891696129063675, + "vector": [ + -2.7255450241923844, + 8.244466742242865, + -6.9877063349383794, + -9.809175176416511, + 3.7512659604822423, + -9.327489338522593, + 0.1743645657668773, + -5.666396886949655, + -5.159458438037452, + -2.1307526277146165, + 2.0181192280415794, + 9.658638533588244, + 8.38028851407356, + 5.215722322849795, + -4.775881731853383, + -5.7825450628302395, + -3.1334748816843585, + -7.102904981879544, + -2.3726998533441943, + 3.4759215557884167 + ], + "method": "exact mode (inside the box); PyAutoFit's uniform prior adds 0 there" + }, + "posterior": { + "x000": { + "median": -2.7255450241923844, + "sigma": 4.8946133574589785, + "lower_1": -7.620158381651363, + "upper_1": 2.169068333266594, + "lower_2": -12.372274222923913, + "upper_2": 6.921184174539142, + "mean": -2.7255450241923844 + }, + "x001": { + "median": 8.244466742242865, + "sigma": 2.7018561936243515, + "lower_1": 5.542610548618514, + "upper_1": 10.946322935867217, + "lower_2": 2.9194138462689274, + "upper_2": 13.569519638216804, + "mean": 8.244466742242865 + }, + "x002": { + "median": -6.9877063349383794, + "sigma": 2.2571751178839667, + "lower_1": -9.244881452822346, + "upper_1": -4.730531217054413, + "lower_2": -11.436343137508139, + "upper_2": -2.53906953236862, + "mean": -6.9877063349383794 + }, + "x003": { + "median": -9.809175176416511, + "sigma": 5.863393836884226, + "lower_1": -15.672569013300738, + "upper_1": -3.9457813395322843, + "lower_2": -21.36526110171988, + "upper_2": 1.7469107488868545, + "mean": -9.809175176416511 + }, + "x004": { + "median": 3.7512659604822423, + "sigma": 2.7425938520491293, + "lower_1": 1.008672108433113, + "upper_1": 6.493859812531372, + "lower_2": -1.6540762515855567, + "upper_2": 9.15660817255004, + "mean": 3.7512659604822423 + }, + "x005": { + "median": -9.327489338522593, + "sigma": 4.567083107556224, + "lower_1": -13.894572446078817, + "upper_1": -4.760406230966369, + "lower_2": -18.328693468273997, + "upper_2": -0.32628520877118916, + "mean": -9.327489338522593 + }, + "x006": { + "median": 0.1743645657668773, + "sigma": 3.896901315704186, + "lower_1": -3.7225367499373085, + "upper_1": 4.071265881471064, + "lower_2": -7.505987070076085, + "upper_2": 7.854716201609839, + "mean": 0.1743645657668773 + }, + "x007": { + "median": -5.666396886949655, + "sigma": 3.966006295705081, + "lower_1": -9.632403182654736, + "upper_1": -1.7003905912445738, + "lower_2": -13.482946620510896, + "upper_2": 2.1501528466115856, + "mean": -5.666396886949655 + }, + "x008": { + "median": -5.159458438037452, + "sigma": 5.510450194860882, + "lower_1": -10.669908632898334, + "upper_1": 0.3509917568234293, + "lower_2": -16.01993237351435, + "upper_2": 5.701015497439444, + "mean": -5.159458438037452 + }, + "x009": { + "median": -2.1307526277146165, + "sigma": 2.476867304588475, + "lower_1": -4.607619932303091, + "upper_1": 0.3461146768738588, + "lower_2": -7.012377876447524, + "upper_2": 2.750872621018291, + "mean": -2.1307526277146165 + }, + "x010": { + "median": 2.0181192280415794, + "sigma": 3.520129026759752, + "lower_1": -1.5020097987181726, + "upper_1": 5.538248254801331, + "lower_2": -4.919656850634169, + "upper_2": 8.955895306717327, + "mean": 2.0181192280415794 + }, + "x011": { + "median": 9.658638533588244, + "sigma": 3.8194356967678735, + "lower_1": 5.839202836820371, + "upper_1": 13.478074230356118, + "lower_2": 2.130962868964118, + "upper_2": 17.18631419821237, + "mean": 9.658638533588244 + }, + "x012": { + "median": 8.38028851407356, + "sigma": 4.835008317869891, + "lower_1": 3.5452801962036693, + "upper_1": 13.215296831943451, + "lower_2": -1.148965894760753, + "upper_2": 17.909542922907875, + "mean": 8.38028851407356 + }, + "x013": { + "median": 5.215722322849795, + "sigma": 4.911045391714258, + "lower_1": 0.3046769311355373, + "upper_1": 10.126767714564053, + "lower_2": -4.463392556438788, + "upper_2": 14.89483720213838, + "mean": 5.215722322849795 + }, + "x014": { + "median": -4.775881731853383, + "sigma": 3.732548342731443, + "lower_1": -8.508430074584826, + "upper_1": -1.0433333891219396, + "lower_2": -12.132312251259567, + "upper_2": 2.5805487875527984, + "mean": -4.775881731853383 + }, + "x015": { + "median": -5.7825450628302395, + "sigma": 3.4174460945418397, + "lower_1": -9.199991157372079, + "upper_1": -2.3650989682883994, + "lower_2": -12.517944698650012, + "upper_2": 0.9528545729895317, + "mean": -5.7825450628302395 + }, + "x016": { + "median": -3.1334748816843585, + "sigma": 2.642232422025242, + "lower_1": -5.7757073037096, + "upper_1": -0.4912424596591167, + "lower_2": -8.341016069088484, + "upper_2": 2.0740663057197666, + "mean": -3.1334748816843585 + }, + "x017": { + "median": -7.102904981879544, + "sigma": 5.195768065623987, + "lower_1": -12.29867304750353, + "upper_1": -1.9071369162555571, + "lower_2": -17.34317604069766, + "upper_2": 3.1373660769385703, + "mean": -7.102904981879544 + }, + "x018": { + "median": -2.3726998533441943, + "sigma": 3.6664072948307247, + "lower_1": -6.039107148174919, + "upper_1": 1.29370744148653, + "lower_2": -9.598773849891172, + "upper_2": 4.853374143202783, + "mean": -2.3726998533441943 + }, + "x019": { + "median": 3.4759215557884167, + "sigma": 3.1924719306335314, + "lower_1": 0.2834496251548848, + "upper_1": 6.668393486421948, + "lower_2": -2.816079454350904, + "upper_2": 9.767922565927737, + "mean": 3.4759215557884167 + } + }, + "posterior_relabelled": { + "x000": { + "median": -2.7255450241923844, + "sigma": 4.8946133574589785, + "lower_1": -7.620158381651363, + "upper_1": 2.169068333266594, + "lower_2": -12.372274222923913, + "upper_2": 6.921184174539142, + "mean": -2.7255450241923844 + }, + "x001": { + "median": 8.244466742242865, + "sigma": 2.7018561936243515, + "lower_1": 5.542610548618514, + "upper_1": 10.946322935867217, + "lower_2": 2.9194138462689274, + "upper_2": 13.569519638216804, + "mean": 8.244466742242865 + }, + "x002": { + "median": -6.9877063349383794, + "sigma": 2.2571751178839667, + "lower_1": -9.244881452822346, + "upper_1": -4.730531217054413, + "lower_2": -11.436343137508139, + "upper_2": -2.53906953236862, + "mean": -6.9877063349383794 + }, + "x003": { + "median": -9.809175176416511, + "sigma": 5.863393836884226, + "lower_1": -15.672569013300738, + "upper_1": -3.9457813395322843, + "lower_2": -21.36526110171988, + "upper_2": 1.7469107488868545, + "mean": -9.809175176416511 + }, + "x004": { + "median": 3.7512659604822423, + "sigma": 2.7425938520491293, + "lower_1": 1.008672108433113, + "upper_1": 6.493859812531372, + "lower_2": -1.6540762515855567, + "upper_2": 9.15660817255004, + "mean": 3.7512659604822423 + }, + "x005": { + "median": -9.327489338522593, + "sigma": 4.567083107556224, + "lower_1": -13.894572446078817, + "upper_1": -4.760406230966369, + "lower_2": -18.328693468273997, + "upper_2": -0.32628520877118916, + "mean": -9.327489338522593 + }, + "x006": { + "median": 0.1743645657668773, + "sigma": 3.896901315704186, + "lower_1": -3.7225367499373085, + "upper_1": 4.071265881471064, + "lower_2": -7.505987070076085, + "upper_2": 7.854716201609839, + "mean": 0.1743645657668773 + }, + "x007": { + "median": -5.666396886949655, + "sigma": 3.966006295705081, + "lower_1": -9.632403182654736, + "upper_1": -1.7003905912445738, + "lower_2": -13.482946620510896, + "upper_2": 2.1501528466115856, + "mean": -5.666396886949655 + }, + "x008": { + "median": -5.159458438037452, + "sigma": 5.510450194860882, + "lower_1": -10.669908632898334, + "upper_1": 0.3509917568234293, + "lower_2": -16.01993237351435, + "upper_2": 5.701015497439444, + "mean": -5.159458438037452 + }, + "x009": { + "median": -2.1307526277146165, + "sigma": 2.476867304588475, + "lower_1": -4.607619932303091, + "upper_1": 0.3461146768738588, + "lower_2": -7.012377876447524, + "upper_2": 2.750872621018291, + "mean": -2.1307526277146165 + }, + "x010": { + "median": 2.0181192280415794, + "sigma": 3.520129026759752, + "lower_1": -1.5020097987181726, + "upper_1": 5.538248254801331, + "lower_2": -4.919656850634169, + "upper_2": 8.955895306717327, + "mean": 2.0181192280415794 + }, + "x011": { + "median": 9.658638533588244, + "sigma": 3.8194356967678735, + "lower_1": 5.839202836820371, + "upper_1": 13.478074230356118, + "lower_2": 2.130962868964118, + "upper_2": 17.18631419821237, + "mean": 9.658638533588244 + }, + "x012": { + "median": 8.38028851407356, + "sigma": 4.835008317869891, + "lower_1": 3.5452801962036693, + "upper_1": 13.215296831943451, + "lower_2": -1.148965894760753, + "upper_2": 17.909542922907875, + "mean": 8.38028851407356 + }, + "x013": { + "median": 5.215722322849795, + "sigma": 4.911045391714258, + "lower_1": 0.3046769311355373, + "upper_1": 10.126767714564053, + "lower_2": -4.463392556438788, + "upper_2": 14.89483720213838, + "mean": 5.215722322849795 + }, + "x014": { + "median": -4.775881731853383, + "sigma": 3.732548342731443, + "lower_1": -8.508430074584826, + "upper_1": -1.0433333891219396, + "lower_2": -12.132312251259567, + "upper_2": 2.5805487875527984, + "mean": -4.775881731853383 + }, + "x015": { + "median": -5.7825450628302395, + "sigma": 3.4174460945418397, + "lower_1": -9.199991157372079, + "upper_1": -2.3650989682883994, + "lower_2": -12.517944698650012, + "upper_2": 0.9528545729895317, + "mean": -5.7825450628302395 + }, + "x016": { + "median": -3.1334748816843585, + "sigma": 2.642232422025242, + "lower_1": -5.7757073037096, + "upper_1": -0.4912424596591167, + "lower_2": -8.341016069088484, + "upper_2": 2.0740663057197666, + "mean": -3.1334748816843585 + }, + "x017": { + "median": -7.102904981879544, + "sigma": 5.195768065623987, + "lower_1": -12.29867304750353, + "upper_1": -1.9071369162555571, + "lower_2": -17.34317604069766, + "upper_2": 3.1373660769385703, + "mean": -7.102904981879544 + }, + "x018": { + "median": -2.3726998533441943, + "sigma": 3.6664072948307247, + "lower_1": -6.039107148174919, + "upper_1": 1.29370744148653, + "lower_2": -9.598773849891172, + "upper_2": 4.853374143202783, + "mean": -2.3726998533441943 + }, + "x019": { + "median": 3.4759215557884167, + "sigma": 3.1924719306335314, + "lower_1": 0.2834496251548848, + "upper_1": 6.668393486421948, + "lower_2": -2.816079454350904, + "upper_2": 9.767922565927737, + "mean": 3.4759215557884167 + } + }, + "relabelled_note": "no label symmetry: the relabelled posterior is the posterior", + "modes": null, + "ppc_chi2": null, + "whitened": { + "worst_median": 0.0, + "sigma_ratio_min": 1.0, + "sigma_ratio_max": 1.0 + }, + "limitations": [], + "agreement": { + "test": "protocol correlated_nd \u00a76 (exact reference self-test)", + "backend_identity": { + "points": 64, + "max_abs_delta_nat": 1.4210854715202004e-14, + "tolerance_nat": 1e-08, + "path": "autofit Fitness.call" + }, + "draws": { + "n": 200000, + "seed": 0, + "worst_median_offset_sigma": 0.004272028895988029, + "worst_sigma_ratio_offset": 0.0035675251347991876, + "whitened": { + "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", + "n_coordinates": 20, + "worst_median": 0.005493583937710987, + "worst_median_key": "u001", + "sigma_ratio_min": 0.9946543566605447, + "sigma_ratio_min_key": "u013", + "sigma_ratio_max": 1.004668704870897, + "sigma_ratio_max_key": "u017" + }, + "tolerance_median_sigma": 0.02, + "tolerance_sigma": 0.02 + }, + "truncation": { + "unconstrained_draws_inside": 1.0, + "box_mass": 1.0, + "ok": true + }, + "failures": [], + "control_verdicts": { + "posterior": "accepted", + "evidence": "accepted" + } + }, + "library_revisions": { + "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", + "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" + }, + "written_at": "2026-10-15T19:38:18Z" +} diff --git a/results/reference/corr_gaussian_d50/jax_cpu/reference.json b/results/reference/corr_gaussian_d50/jax_cpu/reference.json new file mode 100644 index 00000000..0896e79b --- /dev/null +++ b/results/reference/corr_gaussian_d50/jax_cpu/reference.json @@ -0,0 +1,1035 @@ +{ + "schema_version": 1, + "status": "complete", + "exact": true, + "model": "correlated_nd", + "protocol_id": "correlated_nd@1", + "dataset": "corr_gaussian_d50", + "backend": "jax_cpu", + "data_seed": 1, + "assertion_mechanism": "none", + "kind": "gaussian", + "dimension": 50, + "log_evidence": -233.01879556167918, + "log_evidence_normalised": -233.01879556167918, + "log_evidence_offset": 0.0, + "log_evidence_how": { + "method": "closed form: ln Z = -ln V (normalised Gaussian likelihood, uniform box)", + "truncation_bound": 7.286351242713426e-26, + "log_evidence_error_bound": 7.286351242713426e-26 + }, + "log_volume": 233.01879556167918, + "information_nats": 133.28955523902, + "max_log_likelihood": -74.7292403226592, + "map": { + "log_posterior": -74.7292403226592, + "vector": [ + 1.3674676447267482, + -1.4739575587447442, + 7.9158188331718335, + 11.342334086244502, + 8.502192597957883, + 11.301561400165223, + 0.3006355715075504, + 13.883797944456791, + 0.22818274878070222, + -8.638102004391436, + 10.097694701055314, + -1.758970751583992, + 2.0412416423242097, + -1.4902133047449801, + 2.103780295334192, + -4.5913717567438255, + 5.609963631804981, + -3.6208032393415888, + 0.43440236853950775, + -8.155871073795296, + -1.0027768200139802, + -3.2274517840363774, + 15.193883973969662, + 4.244955431052363, + -0.3264665705266704, + 6.075345934794627, + 3.942045655511824, + 6.754241364194623, + 8.901548636324534, + 7.127033861281852, + -9.72104476508505, + 8.178208083928123, + 3.35257276473279, + -5.390682663551361, + -0.8458197419643971, + -4.580330203801338, + 12.030784111314508, + -0.5925717376520747, + 9.965030030900763, + 6.140680565932433, + -6.839339648676248, + 2.111258437376411, + 2.697726410126876, + -0.5478755670099744, + -3.6629817642971148, + 16.087905535096944, + -5.835321678823923, + -4.18699328562702, + 0.7984156501190653, + -8.759508997926497 + ], + "method": "exact mode (inside the box); PyAutoFit's uniform prior adds 0 there" + }, + "posterior": { + "x000": { + "median": 1.3674676447267482, + "sigma": 3.7106172575825647, + "lower_1": -2.3431496128558162, + "upper_1": 5.078084902309313, + "lower_2": -5.945739186920083, + "upper_2": 8.680674476373579, + "mean": 1.3674676447267482 + }, + "x001": { + "median": -1.4739575587447442, + "sigma": 3.295478903913142, + "lower_1": -4.769436462657886, + "upper_1": 1.8215213451683971, + "lower_2": -7.968973660013804, + "upper_2": 5.021058542524314, + "mean": -1.4739575587447442 + }, + "x002": { + "median": 7.9158188331718335, + "sigma": 5.069355549044964, + "lower_1": 2.8464632841268704, + "upper_1": 12.985174382216798, + "lower_2": -2.075307456548302, + "upper_2": 17.90694512289197, + "mean": 7.9158188331718335 + }, + "x003": { + "median": 11.342334086244502, + "sigma": 3.5105704991832627, + "lower_1": 7.83176358706124, + "upper_1": 14.852904585427765, + "lower_2": 4.423396784063424, + "upper_2": 18.26127138842558, + "mean": 11.342334086244502 + }, + "x004": { + "median": 8.502192597957883, + "sigma": 5.0427858776887575, + "lower_1": 3.4594067202691248, + "upper_1": 13.54497847564664, + "lower_2": -1.436567875352667, + "upper_2": 18.44095307126843, + "mean": 8.502192597957883 + }, + "x005": { + "median": 11.301561400165223, + "sigma": 4.35123709099183, + "lower_1": 6.950324309173393, + "upper_1": 15.652798491157053, + "lower_2": 2.725765350348981, + "upper_2": 19.877357449981467, + "mean": 11.301561400165223 + }, + "x006": { + "median": 0.3006355715075504, + "sigma": 3.9326385395753576, + "lower_1": -3.632002968067807, + "upper_1": 4.233274111082908, + "lower_2": -7.450150089624513, + "upper_2": 8.051421232639612, + "mean": 0.3006355715075504 + }, + "x007": { + "median": 13.883797944456791, + "sigma": 5.145765333565841, + "lower_1": 8.73803261089095, + "upper_1": 19.029563278022632, + "lower_2": 3.7420766137038335, + "upper_2": 24.025519275209746, + "mean": 13.883797944456791 + }, + "x008": { + "median": 0.22818274878070222, + "sigma": 3.983077429573676, + "lower_1": -3.7548946807929737, + "upper_1": 4.211260178354378, + "lower_2": -7.6220122583739425, + "upper_2": 8.078377755935346, + "mean": 0.22818274878070222 + }, + "x009": { + "median": -8.638102004391436, + "sigma": 3.335846368109627, + "lower_1": -11.973948372501063, + "upper_1": -5.302255636281809, + "lower_2": -15.212677810810558, + "upper_2": -2.0635261979723163, + "mean": -8.638102004391436 + }, + "x010": { + "median": 10.097694701055314, + "sigma": 3.909937533431631, + "lower_1": 6.187757167623682, + "upper_1": 14.007632234486945, + "lower_2": 2.391650154862093, + "upper_2": 17.803739247248533, + "mean": 10.097694701055314 + }, + "x011": { + "median": -1.758970751583992, + "sigma": 5.263959042432332, + "lower_1": -7.022929794016324, + "upper_1": 3.50498829084834, + "lower_2": -12.133638511229279, + "upper_2": 8.615697008061293, + "mean": -1.758970751583992 + }, + "x012": { + "median": 2.0412416423242097, + "sigma": 2.929732728984725, + "lower_1": -0.8884910866605154, + "upper_1": 4.970974371308935, + "lower_2": -3.7329301251162, + "upper_2": 7.815413409764618, + "mean": 2.0412416423242097 + }, + "x013": { + "median": -1.4902133047449801, + "sigma": 3.7676108008372537, + "lower_1": -5.257824105582234, + "upper_1": 2.277397496092274, + "lower_2": -8.915747962453155, + "upper_2": 5.935321352963194, + "mean": -1.4902133047449801 + }, + "x014": { + "median": 2.103780295334192, + "sigma": 3.992021490972233, + "lower_1": -1.8882411956380407, + "upper_1": 6.095801786306425, + "lower_2": -5.7640424449931285, + "upper_2": 9.971603035661513, + "mean": 2.103780295334192 + }, + "x015": { + "median": -4.5913717567438255, + "sigma": 3.1766606984227614, + "lower_1": -7.768032455166587, + "upper_1": -1.4147110583210636, + "lower_2": -10.85221061692433, + "upper_2": 1.6694671034366788, + "mean": -4.5913717567438255 + }, + "x016": { + "median": 5.609963631804981, + "sigma": 3.0002844063879257, + "lower_1": 2.6096792254170555, + "upper_1": 8.610248038192907, + "lower_2": -0.3032575102684172, + "upper_2": 11.523184773878379, + "mean": 5.609963631804981 + }, + "x017": { + "median": -3.6208032393415888, + "sigma": 2.7037981616373505, + "lower_1": -6.324601400978939, + "upper_1": -0.9170050777042382, + "lower_2": -8.949683534573827, + "upper_2": 1.7080770558906488, + "mean": -3.6208032393415888 + }, + "x018": { + "median": 0.43440236853950775, + "sigma": 4.16944281639811, + "lower_1": -3.7350404478586023, + "upper_1": 4.603845184937618, + "lower_2": -7.783097732483776, + "upper_2": 8.651902469562792, + "mean": 0.43440236853950775 + }, + "x019": { + "median": -8.155871073795296, + "sigma": 3.1281251893699817, + "lower_1": -11.283996263165278, + "upper_1": -5.027745884425315, + "lower_2": -14.321051936466919, + "upper_2": -1.9906902111236748, + "mean": -8.155871073795296 + }, + "x020": { + "median": -1.0027768200139802, + "sigma": 3.367310525082919, + "lower_1": -4.370087345096899, + "upper_1": 2.364533705068939, + "lower_2": -7.639364920279596, + "upper_2": 5.633811280251635, + "mean": -1.0027768200139802 + }, + "x021": { + "median": -3.2274517840363774, + "sigma": 3.9645960984662434, + "lower_1": -7.192047882502621, + "upper_1": 0.7371443144298655, + "lower_2": -11.04122217837583, + "upper_2": 4.586318610303075, + "mean": -3.2274517840363774 + }, + "x022": { + "median": 15.193883973969662, + "sigma": 3.996224777328141, + "lower_1": 11.19765919664152, + "upper_1": 19.190108751297803, + "lower_2": 7.317777031753672, + "upper_2": 23.069990916185652, + "mean": 15.193883973969662 + }, + "x023": { + "median": 4.244955431052363, + "sigma": 3.7437762609052427, + "lower_1": 0.5011791701471195, + "upper_1": 7.9887316919576055, + "lower_2": -3.1336040448572176, + "upper_2": 11.623514906961942, + "mean": 4.244955431052363 + }, + "x024": { + "median": -0.3264665705266704, + "sigma": 3.535665917345786, + "lower_1": -3.862132487872456, + "upper_1": 3.2091993468191156, + "lower_2": -7.294864102855216, + "upper_2": 6.641930961801875, + "mean": -0.3264665705266704 + }, + "x025": { + "median": 6.075345934794627, + "sigma": 3.2738732246403286, + "lower_1": 2.801472710154298, + "upper_1": 9.349219159434956, + "lower_2": -0.3770878168835603, + "upper_2": 12.527779686472813, + "mean": 6.075345934794627 + }, + "x026": { + "median": 3.942045655511824, + "sigma": 4.6156768989944705, + "lower_1": -0.6736312434826464, + "upper_1": 8.557722554506295, + "lower_2": -5.1549313397367165, + "upper_2": 13.039022650760366, + "mean": 3.942045655511824 + }, + "x027": { + "median": 6.754241364194623, + "sigma": 3.796830043844084, + "lower_1": 2.9574113203505394, + "upper_1": 10.551071408038707, + "lower_2": -0.7288811158998225, + "upper_2": 14.237363844289067, + "mean": 6.754241364194623 + }, + "x028": { + "median": 8.901548636324534, + "sigma": 5.076020072690405, + "lower_1": 3.8255285636341307, + "upper_1": 13.977568709014939, + "lower_2": -1.1027126755415573, + "upper_2": 18.905809948190623, + "mean": 8.901548636324534 + }, + "x029": { + "median": 7.127033861281852, + "sigma": 3.6813680573634127, + "lower_1": 3.44566580391844, + "upper_1": 10.808401918645265, + "lower_2": -0.12852610570228684, + "upper_2": 14.382593828265989, + "mean": 7.127033861281852 + }, + "x030": { + "median": -9.72104476508505, + "sigma": 4.021317950358885, + "lower_1": -13.742362715443935, + "upper_1": -5.699726814726167, + "lower_2": -17.64660751254776, + "upper_2": -1.7954820176223398, + "mean": -9.72104476508505 + }, + "x031": { + "median": 8.178208083928123, + "sigma": 4.286950262605082, + "lower_1": 3.89125782132304, + "upper_1": 12.465158346533205, + "lower_2": -0.2708858999226411, + "upper_2": 16.627302067778885, + "mean": 8.178208083928123 + }, + "x032": { + "median": 3.35257276473279, + "sigma": 4.440593569857279, + "lower_1": -1.0880208051244895, + "upper_1": 7.793166334590069, + "lower_2": -5.399334796006691, + "upper_2": 12.10448032547227, + "mean": 3.35257276473279 + }, + "x033": { + "median": -5.390682663551361, + "sigma": 3.3633107317149857, + "lower_1": -8.753993395266347, + "upper_1": -2.027371931836375, + "lower_2": -12.019387623586395, + "upper_2": 1.2380222964836713, + "mean": -5.390682663551361 + }, + "x034": { + "median": -0.8458197419643971, + "sigma": 4.372572593108422, + "lower_1": -5.218392335072819, + "upper_1": 3.5267528511440247, + "lower_2": -9.463665652761808, + "upper_2": 7.772026168833013, + "mean": -0.8458197419643971 + }, + "x035": { + "median": -4.580330203801338, + "sigma": 3.4432654014844144, + "lower_1": -8.023595605285752, + "upper_1": -1.1370648023169236, + "lower_2": -11.36661677266034, + "upper_2": 2.2059563650576646, + "mean": -4.580330203801338 + }, + "x036": { + "median": 12.030784111314508, + "sigma": 4.26006083581438, + "lower_1": 7.77072327550013, + "upper_1": 16.29084494712889, + "lower_2": 3.6346861456607176, + "upper_2": 20.426882076968297, + "mean": 12.030784111314508 + }, + "x037": { + "median": -0.5925717376520747, + "sigma": 3.24595325167971, + "lower_1": -3.838524989331785, + "upper_1": 2.653381514027635, + "lower_2": -6.9899783812183305, + "upper_2": 5.80483490591418, + "mean": -0.5925717376520747 + }, + "x038": { + "median": 9.965030030900763, + "sigma": 3.4732050219835937, + "lower_1": 6.49182500891717, + "upper_1": 13.438235052884357, + "lower_2": 3.1197358571145504, + "upper_2": 16.810324204686975, + "mean": 9.965030030900763 + }, + "x039": { + "median": 6.140680565932433, + "sigma": 4.598974998483781, + "lower_1": 1.5417055674486528, + "upper_1": 10.739655564416214, + "lower_2": -2.923378872899674, + "upper_2": 15.20474000476454, + "mean": 6.140680565932433 + }, + "x040": { + "median": -6.839339648676248, + "sigma": 2.569176759201204, + "lower_1": -9.408516407877451, + "upper_1": -4.270162889475044, + "lower_2": -11.902896389459407, + "upper_2": -1.77578290789309, + "mean": -6.839339648676248 + }, + "x041": { + "median": 2.111258437376411, + "sigma": 3.4603995139607964, + "lower_1": -1.3491410765843854, + "upper_1": 5.571657951337207, + "lower_2": -4.708797528787158, + "upper_2": 8.931314403539979, + "mean": 2.111258437376411 + }, + "x042": { + "median": 2.697726410126876, + "sigma": 3.143158894643758, + "lower_1": -0.445432484516882, + "upper_1": 5.840885304770634, + "lower_2": -3.4970841848725627, + "upper_2": 8.892537005126314, + "mean": 2.697726410126876 + }, + "x043": { + "median": -0.5478755670099744, + "sigma": 4.2861793566690185, + "lower_1": -4.834054923678993, + "upper_1": 3.738303789659044, + "lower_2": -8.995450182473535, + "upper_2": 7.899699048453584, + "mean": -0.5478755670099744 + }, + "x044": { + "median": -3.6629817642971148, + "sigma": 3.680118536734506, + "lower_1": -7.343100301031621, + "upper_1": 0.0171367724373912, + "lower_2": -10.916079067480258, + "upper_2": 3.5901155388860273, + "mean": -3.6629817642971148 + }, + "x045": { + "median": 16.087905535096944, + "sigma": 3.5266003482613826, + "lower_1": 12.561305186835561, + "upper_1": 19.614505883358326, + "lower_2": 9.137375213843683, + "upper_2": 23.038435856350205, + "mean": 16.087905535096944 + }, + "x046": { + "median": -5.835321678823923, + "sigma": 4.138544219867834, + "lower_1": -9.973865898691756, + "upper_1": -1.6967774589560891, + "lower_2": -13.991924141651904, + "upper_2": 2.3212807840040552, + "mean": -5.835321678823923 + }, + "x047": { + "median": -4.18699328562702, + "sigma": 3.181242465693858, + "lower_1": -7.368235751320878, + "upper_1": -1.0057508199331626, + "lower_2": -10.45686229076239, + "upper_2": 2.0828757195083485, + "mean": -4.18699328562702 + }, + "x048": { + "median": 0.7984156501190653, + "sigma": 3.6070229629474704, + "lower_1": -2.8086073128284053, + "upper_1": 4.4054386130665355, + "lower_2": -6.310618546450177, + "upper_2": 7.907449846688308, + "mean": 0.7984156501190653 + }, + "x049": { + "median": -8.759508997926497, + "sigma": 3.6617565527562537, + "lower_1": -12.421265550682751, + "upper_1": -5.097752445170244, + "lower_2": -15.976416907984294, + "upper_2": -1.542601087868701, + "mean": -8.759508997926497 + } + }, + "posterior_relabelled": { + "x000": { + "median": 1.3674676447267482, + "sigma": 3.7106172575825647, + "lower_1": -2.3431496128558162, + "upper_1": 5.078084902309313, + "lower_2": -5.945739186920083, + "upper_2": 8.680674476373579, + "mean": 1.3674676447267482 + }, + "x001": { + "median": -1.4739575587447442, + "sigma": 3.295478903913142, + "lower_1": -4.769436462657886, + "upper_1": 1.8215213451683971, + "lower_2": -7.968973660013804, + "upper_2": 5.021058542524314, + "mean": -1.4739575587447442 + }, + "x002": { + "median": 7.9158188331718335, + "sigma": 5.069355549044964, + "lower_1": 2.8464632841268704, + "upper_1": 12.985174382216798, + "lower_2": -2.075307456548302, + "upper_2": 17.90694512289197, + "mean": 7.9158188331718335 + }, + "x003": { + "median": 11.342334086244502, + "sigma": 3.5105704991832627, + "lower_1": 7.83176358706124, + "upper_1": 14.852904585427765, + "lower_2": 4.423396784063424, + "upper_2": 18.26127138842558, + "mean": 11.342334086244502 + }, + "x004": { + "median": 8.502192597957883, + "sigma": 5.0427858776887575, + "lower_1": 3.4594067202691248, + "upper_1": 13.54497847564664, + "lower_2": -1.436567875352667, + "upper_2": 18.44095307126843, + "mean": 8.502192597957883 + }, + "x005": { + "median": 11.301561400165223, + "sigma": 4.35123709099183, + "lower_1": 6.950324309173393, + "upper_1": 15.652798491157053, + "lower_2": 2.725765350348981, + "upper_2": 19.877357449981467, + "mean": 11.301561400165223 + }, + "x006": { + "median": 0.3006355715075504, + "sigma": 3.9326385395753576, + "lower_1": -3.632002968067807, + "upper_1": 4.233274111082908, + "lower_2": -7.450150089624513, + "upper_2": 8.051421232639612, + "mean": 0.3006355715075504 + }, + "x007": { + "median": 13.883797944456791, + "sigma": 5.145765333565841, + "lower_1": 8.73803261089095, + "upper_1": 19.029563278022632, + "lower_2": 3.7420766137038335, + "upper_2": 24.025519275209746, + "mean": 13.883797944456791 + }, + "x008": { + "median": 0.22818274878070222, + "sigma": 3.983077429573676, + "lower_1": -3.7548946807929737, + "upper_1": 4.211260178354378, + "lower_2": -7.6220122583739425, + "upper_2": 8.078377755935346, + "mean": 0.22818274878070222 + }, + "x009": { + "median": -8.638102004391436, + "sigma": 3.335846368109627, + "lower_1": -11.973948372501063, + "upper_1": -5.302255636281809, + "lower_2": -15.212677810810558, + "upper_2": -2.0635261979723163, + "mean": -8.638102004391436 + }, + "x010": { + "median": 10.097694701055314, + "sigma": 3.909937533431631, + "lower_1": 6.187757167623682, + "upper_1": 14.007632234486945, + "lower_2": 2.391650154862093, + "upper_2": 17.803739247248533, + "mean": 10.097694701055314 + }, + "x011": { + "median": -1.758970751583992, + "sigma": 5.263959042432332, + "lower_1": -7.022929794016324, + "upper_1": 3.50498829084834, + "lower_2": -12.133638511229279, + "upper_2": 8.615697008061293, + "mean": -1.758970751583992 + }, + "x012": { + "median": 2.0412416423242097, + "sigma": 2.929732728984725, + "lower_1": -0.8884910866605154, + "upper_1": 4.970974371308935, + "lower_2": -3.7329301251162, + "upper_2": 7.815413409764618, + "mean": 2.0412416423242097 + }, + "x013": { + "median": -1.4902133047449801, + "sigma": 3.7676108008372537, + "lower_1": -5.257824105582234, + "upper_1": 2.277397496092274, + "lower_2": -8.915747962453155, + "upper_2": 5.935321352963194, + "mean": -1.4902133047449801 + }, + "x014": { + "median": 2.103780295334192, + "sigma": 3.992021490972233, + "lower_1": -1.8882411956380407, + "upper_1": 6.095801786306425, + "lower_2": -5.7640424449931285, + "upper_2": 9.971603035661513, + "mean": 2.103780295334192 + }, + "x015": { + "median": -4.5913717567438255, + "sigma": 3.1766606984227614, + "lower_1": -7.768032455166587, + "upper_1": -1.4147110583210636, + "lower_2": -10.85221061692433, + "upper_2": 1.6694671034366788, + "mean": -4.5913717567438255 + }, + "x016": { + "median": 5.609963631804981, + "sigma": 3.0002844063879257, + "lower_1": 2.6096792254170555, + "upper_1": 8.610248038192907, + "lower_2": -0.3032575102684172, + "upper_2": 11.523184773878379, + "mean": 5.609963631804981 + }, + "x017": { + "median": -3.6208032393415888, + "sigma": 2.7037981616373505, + "lower_1": -6.324601400978939, + "upper_1": -0.9170050777042382, + "lower_2": -8.949683534573827, + "upper_2": 1.7080770558906488, + "mean": -3.6208032393415888 + }, + "x018": { + "median": 0.43440236853950775, + "sigma": 4.16944281639811, + "lower_1": -3.7350404478586023, + "upper_1": 4.603845184937618, + "lower_2": -7.783097732483776, + "upper_2": 8.651902469562792, + "mean": 0.43440236853950775 + }, + "x019": { + "median": -8.155871073795296, + "sigma": 3.1281251893699817, + "lower_1": -11.283996263165278, + "upper_1": -5.027745884425315, + "lower_2": -14.321051936466919, + "upper_2": -1.9906902111236748, + "mean": -8.155871073795296 + }, + "x020": { + "median": -1.0027768200139802, + "sigma": 3.367310525082919, + "lower_1": -4.370087345096899, + "upper_1": 2.364533705068939, + "lower_2": -7.639364920279596, + "upper_2": 5.633811280251635, + "mean": -1.0027768200139802 + }, + "x021": { + "median": -3.2274517840363774, + "sigma": 3.9645960984662434, + "lower_1": -7.192047882502621, + "upper_1": 0.7371443144298655, + "lower_2": -11.04122217837583, + "upper_2": 4.586318610303075, + "mean": -3.2274517840363774 + }, + "x022": { + "median": 15.193883973969662, + "sigma": 3.996224777328141, + "lower_1": 11.19765919664152, + "upper_1": 19.190108751297803, + "lower_2": 7.317777031753672, + "upper_2": 23.069990916185652, + "mean": 15.193883973969662 + }, + "x023": { + "median": 4.244955431052363, + "sigma": 3.7437762609052427, + "lower_1": 0.5011791701471195, + "upper_1": 7.9887316919576055, + "lower_2": -3.1336040448572176, + "upper_2": 11.623514906961942, + "mean": 4.244955431052363 + }, + "x024": { + "median": -0.3264665705266704, + "sigma": 3.535665917345786, + "lower_1": -3.862132487872456, + "upper_1": 3.2091993468191156, + "lower_2": -7.294864102855216, + "upper_2": 6.641930961801875, + "mean": -0.3264665705266704 + }, + "x025": { + "median": 6.075345934794627, + "sigma": 3.2738732246403286, + "lower_1": 2.801472710154298, + "upper_1": 9.349219159434956, + "lower_2": -0.3770878168835603, + "upper_2": 12.527779686472813, + "mean": 6.075345934794627 + }, + "x026": { + "median": 3.942045655511824, + "sigma": 4.6156768989944705, + "lower_1": -0.6736312434826464, + "upper_1": 8.557722554506295, + "lower_2": -5.1549313397367165, + "upper_2": 13.039022650760366, + "mean": 3.942045655511824 + }, + "x027": { + "median": 6.754241364194623, + "sigma": 3.796830043844084, + "lower_1": 2.9574113203505394, + "upper_1": 10.551071408038707, + "lower_2": -0.7288811158998225, + "upper_2": 14.237363844289067, + "mean": 6.754241364194623 + }, + "x028": { + "median": 8.901548636324534, + "sigma": 5.076020072690405, + "lower_1": 3.8255285636341307, + "upper_1": 13.977568709014939, + "lower_2": -1.1027126755415573, + "upper_2": 18.905809948190623, + "mean": 8.901548636324534 + }, + "x029": { + "median": 7.127033861281852, + "sigma": 3.6813680573634127, + "lower_1": 3.44566580391844, + "upper_1": 10.808401918645265, + "lower_2": -0.12852610570228684, + "upper_2": 14.382593828265989, + "mean": 7.127033861281852 + }, + "x030": { + "median": -9.72104476508505, + "sigma": 4.021317950358885, + "lower_1": -13.742362715443935, + "upper_1": -5.699726814726167, + "lower_2": -17.64660751254776, + "upper_2": -1.7954820176223398, + "mean": -9.72104476508505 + }, + "x031": { + "median": 8.178208083928123, + "sigma": 4.286950262605082, + "lower_1": 3.89125782132304, + "upper_1": 12.465158346533205, + "lower_2": -0.2708858999226411, + "upper_2": 16.627302067778885, + "mean": 8.178208083928123 + }, + "x032": { + "median": 3.35257276473279, + "sigma": 4.440593569857279, + "lower_1": -1.0880208051244895, + "upper_1": 7.793166334590069, + "lower_2": -5.399334796006691, + "upper_2": 12.10448032547227, + "mean": 3.35257276473279 + }, + "x033": { + "median": -5.390682663551361, + "sigma": 3.3633107317149857, + "lower_1": -8.753993395266347, + "upper_1": -2.027371931836375, + "lower_2": -12.019387623586395, + "upper_2": 1.2380222964836713, + "mean": -5.390682663551361 + }, + "x034": { + "median": -0.8458197419643971, + "sigma": 4.372572593108422, + "lower_1": -5.218392335072819, + "upper_1": 3.5267528511440247, + "lower_2": -9.463665652761808, + "upper_2": 7.772026168833013, + "mean": -0.8458197419643971 + }, + "x035": { + "median": -4.580330203801338, + "sigma": 3.4432654014844144, + "lower_1": -8.023595605285752, + "upper_1": -1.1370648023169236, + "lower_2": -11.36661677266034, + "upper_2": 2.2059563650576646, + "mean": -4.580330203801338 + }, + "x036": { + "median": 12.030784111314508, + "sigma": 4.26006083581438, + "lower_1": 7.77072327550013, + "upper_1": 16.29084494712889, + "lower_2": 3.6346861456607176, + "upper_2": 20.426882076968297, + "mean": 12.030784111314508 + }, + "x037": { + "median": -0.5925717376520747, + "sigma": 3.24595325167971, + "lower_1": -3.838524989331785, + "upper_1": 2.653381514027635, + "lower_2": -6.9899783812183305, + "upper_2": 5.80483490591418, + "mean": -0.5925717376520747 + }, + "x038": { + "median": 9.965030030900763, + "sigma": 3.4732050219835937, + "lower_1": 6.49182500891717, + "upper_1": 13.438235052884357, + "lower_2": 3.1197358571145504, + "upper_2": 16.810324204686975, + "mean": 9.965030030900763 + }, + "x039": { + "median": 6.140680565932433, + "sigma": 4.598974998483781, + "lower_1": 1.5417055674486528, + "upper_1": 10.739655564416214, + "lower_2": -2.923378872899674, + "upper_2": 15.20474000476454, + "mean": 6.140680565932433 + }, + "x040": { + "median": -6.839339648676248, + "sigma": 2.569176759201204, + "lower_1": -9.408516407877451, + "upper_1": -4.270162889475044, + "lower_2": -11.902896389459407, + "upper_2": -1.77578290789309, + "mean": -6.839339648676248 + }, + "x041": { + "median": 2.111258437376411, + "sigma": 3.4603995139607964, + "lower_1": -1.3491410765843854, + "upper_1": 5.571657951337207, + "lower_2": -4.708797528787158, + "upper_2": 8.931314403539979, + "mean": 2.111258437376411 + }, + "x042": { + "median": 2.697726410126876, + "sigma": 3.143158894643758, + "lower_1": -0.445432484516882, + "upper_1": 5.840885304770634, + "lower_2": -3.4970841848725627, + "upper_2": 8.892537005126314, + "mean": 2.697726410126876 + }, + "x043": { + "median": -0.5478755670099744, + "sigma": 4.2861793566690185, + "lower_1": -4.834054923678993, + "upper_1": 3.738303789659044, + "lower_2": -8.995450182473535, + "upper_2": 7.899699048453584, + "mean": -0.5478755670099744 + }, + "x044": { + "median": -3.6629817642971148, + "sigma": 3.680118536734506, + "lower_1": -7.343100301031621, + "upper_1": 0.0171367724373912, + "lower_2": -10.916079067480258, + "upper_2": 3.5901155388860273, + "mean": -3.6629817642971148 + }, + "x045": { + "median": 16.087905535096944, + "sigma": 3.5266003482613826, + "lower_1": 12.561305186835561, + "upper_1": 19.614505883358326, + "lower_2": 9.137375213843683, + "upper_2": 23.038435856350205, + "mean": 16.087905535096944 + }, + "x046": { + "median": -5.835321678823923, + "sigma": 4.138544219867834, + "lower_1": -9.973865898691756, + "upper_1": -1.6967774589560891, + "lower_2": -13.991924141651904, + "upper_2": 2.3212807840040552, + "mean": -5.835321678823923 + }, + "x047": { + "median": -4.18699328562702, + "sigma": 3.181242465693858, + "lower_1": -7.368235751320878, + "upper_1": -1.0057508199331626, + "lower_2": -10.45686229076239, + "upper_2": 2.0828757195083485, + "mean": -4.18699328562702 + }, + "x048": { + "median": 0.7984156501190653, + "sigma": 3.6070229629474704, + "lower_1": -2.8086073128284053, + "upper_1": 4.4054386130665355, + "lower_2": -6.310618546450177, + "upper_2": 7.907449846688308, + "mean": 0.7984156501190653 + }, + "x049": { + "median": -8.759508997926497, + "sigma": 3.6617565527562537, + "lower_1": -12.421265550682751, + "upper_1": -5.097752445170244, + "lower_2": -15.976416907984294, + "upper_2": -1.542601087868701, + "mean": -8.759508997926497 + } + }, + "relabelled_note": "no label symmetry: the relabelled posterior is the posterior", + "modes": null, + "ppc_chi2": null, + "whitened": { + "worst_median": 0.0, + "sigma_ratio_min": 1.0, + "sigma_ratio_max": 1.0 + }, + "limitations": [], + "agreement": { + "test": "protocol correlated_nd \u00a76 (exact reference self-test)", + "backend_identity": { + "points": 64, + "max_abs_delta_nat": 2.842170943040401e-14, + "tolerance_nat": 1e-08, + "path": "autofit Fitness.call under jax.jit" + }, + "draws": { + "n": 200000, + "seed": 0, + "worst_median_offset_sigma": 0.0078746773220655, + "worst_sigma_ratio_offset": 0.004217016907160032, + "whitened": { + "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", + "n_coordinates": 50, + "worst_median": 0.006541814383453264, + "worst_median_key": "u026", + "sigma_ratio_min": 0.9958164047457363, + "sigma_ratio_min_key": "u046", + "sigma_ratio_max": 1.0047206633040369, + "sigma_ratio_max_key": "u013" + }, + "tolerance_median_sigma": 0.02, + "tolerance_sigma": 0.02 + }, + "truncation": { + "unconstrained_draws_inside": 1.0, + "box_mass": 1.0, + "ok": true + }, + "failures": [], + "control_verdicts": { + "posterior": "accepted", + "evidence": "accepted" + } + }, + "library_revisions": { + "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", + "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" + }, + "written_at": "2026-10-15T19:38:28Z" +} diff --git a/results/reference/corr_gaussian_d50/numpy/reference.json b/results/reference/corr_gaussian_d50/numpy/reference.json new file mode 100644 index 00000000..b5492347 --- /dev/null +++ b/results/reference/corr_gaussian_d50/numpy/reference.json @@ -0,0 +1,1035 @@ +{ + "schema_version": 1, + "status": "complete", + "exact": true, + "model": "correlated_nd", + "protocol_id": "correlated_nd@1", + "dataset": "corr_gaussian_d50", + "backend": "numpy", + "data_seed": 1, + "assertion_mechanism": "none", + "kind": "gaussian", + "dimension": 50, + "log_evidence": -233.01879556167918, + "log_evidence_normalised": -233.01879556167918, + "log_evidence_offset": 0.0, + "log_evidence_how": { + "method": "closed form: ln Z = -ln V (normalised Gaussian likelihood, uniform box)", + "truncation_bound": 7.286351242713426e-26, + "log_evidence_error_bound": 7.286351242713426e-26 + }, + "log_volume": 233.01879556167918, + "information_nats": 133.28955523902, + "max_log_likelihood": -74.7292403226592, + "map": { + "log_posterior": -74.7292403226592, + "vector": [ + 1.3674676447267482, + -1.4739575587447442, + 7.9158188331718335, + 11.342334086244502, + 8.502192597957883, + 11.301561400165223, + 0.3006355715075504, + 13.883797944456791, + 0.22818274878070222, + -8.638102004391436, + 10.097694701055314, + -1.758970751583992, + 2.0412416423242097, + -1.4902133047449801, + 2.103780295334192, + -4.5913717567438255, + 5.609963631804981, + -3.6208032393415888, + 0.43440236853950775, + -8.155871073795296, + -1.0027768200139802, + -3.2274517840363774, + 15.193883973969662, + 4.244955431052363, + -0.3264665705266704, + 6.075345934794627, + 3.942045655511824, + 6.754241364194623, + 8.901548636324534, + 7.127033861281852, + -9.72104476508505, + 8.178208083928123, + 3.35257276473279, + -5.390682663551361, + -0.8458197419643971, + -4.580330203801338, + 12.030784111314508, + -0.5925717376520747, + 9.965030030900763, + 6.140680565932433, + -6.839339648676248, + 2.111258437376411, + 2.697726410126876, + -0.5478755670099744, + -3.6629817642971148, + 16.087905535096944, + -5.835321678823923, + -4.18699328562702, + 0.7984156501190653, + -8.759508997926497 + ], + "method": "exact mode (inside the box); PyAutoFit's uniform prior adds 0 there" + }, + "posterior": { + "x000": { + "median": 1.3674676447267482, + "sigma": 3.7106172575825647, + "lower_1": -2.3431496128558162, + "upper_1": 5.078084902309313, + "lower_2": -5.945739186920083, + "upper_2": 8.680674476373579, + "mean": 1.3674676447267482 + }, + "x001": { + "median": -1.4739575587447442, + "sigma": 3.295478903913142, + "lower_1": -4.769436462657886, + "upper_1": 1.8215213451683971, + "lower_2": -7.968973660013804, + "upper_2": 5.021058542524314, + "mean": -1.4739575587447442 + }, + "x002": { + "median": 7.9158188331718335, + "sigma": 5.069355549044964, + "lower_1": 2.8464632841268704, + "upper_1": 12.985174382216798, + "lower_2": -2.075307456548302, + "upper_2": 17.90694512289197, + "mean": 7.9158188331718335 + }, + "x003": { + "median": 11.342334086244502, + "sigma": 3.5105704991832627, + "lower_1": 7.83176358706124, + "upper_1": 14.852904585427765, + "lower_2": 4.423396784063424, + "upper_2": 18.26127138842558, + "mean": 11.342334086244502 + }, + "x004": { + "median": 8.502192597957883, + "sigma": 5.0427858776887575, + "lower_1": 3.4594067202691248, + "upper_1": 13.54497847564664, + "lower_2": -1.436567875352667, + "upper_2": 18.44095307126843, + "mean": 8.502192597957883 + }, + "x005": { + "median": 11.301561400165223, + "sigma": 4.35123709099183, + "lower_1": 6.950324309173393, + "upper_1": 15.652798491157053, + "lower_2": 2.725765350348981, + "upper_2": 19.877357449981467, + "mean": 11.301561400165223 + }, + "x006": { + "median": 0.3006355715075504, + "sigma": 3.9326385395753576, + "lower_1": -3.632002968067807, + "upper_1": 4.233274111082908, + "lower_2": -7.450150089624513, + "upper_2": 8.051421232639612, + "mean": 0.3006355715075504 + }, + "x007": { + "median": 13.883797944456791, + "sigma": 5.145765333565841, + "lower_1": 8.73803261089095, + "upper_1": 19.029563278022632, + "lower_2": 3.7420766137038335, + "upper_2": 24.025519275209746, + "mean": 13.883797944456791 + }, + "x008": { + "median": 0.22818274878070222, + "sigma": 3.983077429573676, + "lower_1": -3.7548946807929737, + "upper_1": 4.211260178354378, + "lower_2": -7.6220122583739425, + "upper_2": 8.078377755935346, + "mean": 0.22818274878070222 + }, + "x009": { + "median": -8.638102004391436, + "sigma": 3.335846368109627, + "lower_1": -11.973948372501063, + "upper_1": -5.302255636281809, + "lower_2": -15.212677810810558, + "upper_2": -2.0635261979723163, + "mean": -8.638102004391436 + }, + "x010": { + "median": 10.097694701055314, + "sigma": 3.909937533431631, + "lower_1": 6.187757167623682, + "upper_1": 14.007632234486945, + "lower_2": 2.391650154862093, + "upper_2": 17.803739247248533, + "mean": 10.097694701055314 + }, + "x011": { + "median": -1.758970751583992, + "sigma": 5.263959042432332, + "lower_1": -7.022929794016324, + "upper_1": 3.50498829084834, + "lower_2": -12.133638511229279, + "upper_2": 8.615697008061293, + "mean": -1.758970751583992 + }, + "x012": { + "median": 2.0412416423242097, + "sigma": 2.929732728984725, + "lower_1": -0.8884910866605154, + "upper_1": 4.970974371308935, + "lower_2": -3.7329301251162, + "upper_2": 7.815413409764618, + "mean": 2.0412416423242097 + }, + "x013": { + "median": -1.4902133047449801, + "sigma": 3.7676108008372537, + "lower_1": -5.257824105582234, + "upper_1": 2.277397496092274, + "lower_2": -8.915747962453155, + "upper_2": 5.935321352963194, + "mean": -1.4902133047449801 + }, + "x014": { + "median": 2.103780295334192, + "sigma": 3.992021490972233, + "lower_1": -1.8882411956380407, + "upper_1": 6.095801786306425, + "lower_2": -5.7640424449931285, + "upper_2": 9.971603035661513, + "mean": 2.103780295334192 + }, + "x015": { + "median": -4.5913717567438255, + "sigma": 3.1766606984227614, + "lower_1": -7.768032455166587, + "upper_1": -1.4147110583210636, + "lower_2": -10.85221061692433, + "upper_2": 1.6694671034366788, + "mean": -4.5913717567438255 + }, + "x016": { + "median": 5.609963631804981, + "sigma": 3.0002844063879257, + "lower_1": 2.6096792254170555, + "upper_1": 8.610248038192907, + "lower_2": -0.3032575102684172, + "upper_2": 11.523184773878379, + "mean": 5.609963631804981 + }, + "x017": { + "median": -3.6208032393415888, + "sigma": 2.7037981616373505, + "lower_1": -6.324601400978939, + "upper_1": -0.9170050777042382, + "lower_2": -8.949683534573827, + "upper_2": 1.7080770558906488, + "mean": -3.6208032393415888 + }, + "x018": { + "median": 0.43440236853950775, + "sigma": 4.16944281639811, + "lower_1": -3.7350404478586023, + "upper_1": 4.603845184937618, + "lower_2": -7.783097732483776, + "upper_2": 8.651902469562792, + "mean": 0.43440236853950775 + }, + "x019": { + "median": -8.155871073795296, + "sigma": 3.1281251893699817, + "lower_1": -11.283996263165278, + "upper_1": -5.027745884425315, + "lower_2": -14.321051936466919, + "upper_2": -1.9906902111236748, + "mean": -8.155871073795296 + }, + "x020": { + "median": -1.0027768200139802, + "sigma": 3.367310525082919, + "lower_1": -4.370087345096899, + "upper_1": 2.364533705068939, + "lower_2": -7.639364920279596, + "upper_2": 5.633811280251635, + "mean": -1.0027768200139802 + }, + "x021": { + "median": -3.2274517840363774, + "sigma": 3.9645960984662434, + "lower_1": -7.192047882502621, + "upper_1": 0.7371443144298655, + "lower_2": -11.04122217837583, + "upper_2": 4.586318610303075, + "mean": -3.2274517840363774 + }, + "x022": { + "median": 15.193883973969662, + "sigma": 3.996224777328141, + "lower_1": 11.19765919664152, + "upper_1": 19.190108751297803, + "lower_2": 7.317777031753672, + "upper_2": 23.069990916185652, + "mean": 15.193883973969662 + }, + "x023": { + "median": 4.244955431052363, + "sigma": 3.7437762609052427, + "lower_1": 0.5011791701471195, + "upper_1": 7.9887316919576055, + "lower_2": -3.1336040448572176, + "upper_2": 11.623514906961942, + "mean": 4.244955431052363 + }, + "x024": { + "median": -0.3264665705266704, + "sigma": 3.535665917345786, + "lower_1": -3.862132487872456, + "upper_1": 3.2091993468191156, + "lower_2": -7.294864102855216, + "upper_2": 6.641930961801875, + "mean": -0.3264665705266704 + }, + "x025": { + "median": 6.075345934794627, + "sigma": 3.2738732246403286, + "lower_1": 2.801472710154298, + "upper_1": 9.349219159434956, + "lower_2": -0.3770878168835603, + "upper_2": 12.527779686472813, + "mean": 6.075345934794627 + }, + "x026": { + "median": 3.942045655511824, + "sigma": 4.6156768989944705, + "lower_1": -0.6736312434826464, + "upper_1": 8.557722554506295, + "lower_2": -5.1549313397367165, + "upper_2": 13.039022650760366, + "mean": 3.942045655511824 + }, + "x027": { + "median": 6.754241364194623, + "sigma": 3.796830043844084, + "lower_1": 2.9574113203505394, + "upper_1": 10.551071408038707, + "lower_2": -0.7288811158998225, + "upper_2": 14.237363844289067, + "mean": 6.754241364194623 + }, + "x028": { + "median": 8.901548636324534, + "sigma": 5.076020072690405, + "lower_1": 3.8255285636341307, + "upper_1": 13.977568709014939, + "lower_2": -1.1027126755415573, + "upper_2": 18.905809948190623, + "mean": 8.901548636324534 + }, + "x029": { + "median": 7.127033861281852, + "sigma": 3.6813680573634127, + "lower_1": 3.44566580391844, + "upper_1": 10.808401918645265, + "lower_2": -0.12852610570228684, + "upper_2": 14.382593828265989, + "mean": 7.127033861281852 + }, + "x030": { + "median": -9.72104476508505, + "sigma": 4.021317950358885, + "lower_1": -13.742362715443935, + "upper_1": -5.699726814726167, + "lower_2": -17.64660751254776, + "upper_2": -1.7954820176223398, + "mean": -9.72104476508505 + }, + "x031": { + "median": 8.178208083928123, + "sigma": 4.286950262605082, + "lower_1": 3.89125782132304, + "upper_1": 12.465158346533205, + "lower_2": -0.2708858999226411, + "upper_2": 16.627302067778885, + "mean": 8.178208083928123 + }, + "x032": { + "median": 3.35257276473279, + "sigma": 4.440593569857279, + "lower_1": -1.0880208051244895, + "upper_1": 7.793166334590069, + "lower_2": -5.399334796006691, + "upper_2": 12.10448032547227, + "mean": 3.35257276473279 + }, + "x033": { + "median": -5.390682663551361, + "sigma": 3.3633107317149857, + "lower_1": -8.753993395266347, + "upper_1": -2.027371931836375, + "lower_2": -12.019387623586395, + "upper_2": 1.2380222964836713, + "mean": -5.390682663551361 + }, + "x034": { + "median": -0.8458197419643971, + "sigma": 4.372572593108422, + "lower_1": -5.218392335072819, + "upper_1": 3.5267528511440247, + "lower_2": -9.463665652761808, + "upper_2": 7.772026168833013, + "mean": -0.8458197419643971 + }, + "x035": { + "median": -4.580330203801338, + "sigma": 3.4432654014844144, + "lower_1": -8.023595605285752, + "upper_1": -1.1370648023169236, + "lower_2": -11.36661677266034, + "upper_2": 2.2059563650576646, + "mean": -4.580330203801338 + }, + "x036": { + "median": 12.030784111314508, + "sigma": 4.26006083581438, + "lower_1": 7.77072327550013, + "upper_1": 16.29084494712889, + "lower_2": 3.6346861456607176, + "upper_2": 20.426882076968297, + "mean": 12.030784111314508 + }, + "x037": { + "median": -0.5925717376520747, + "sigma": 3.24595325167971, + "lower_1": -3.838524989331785, + "upper_1": 2.653381514027635, + "lower_2": -6.9899783812183305, + "upper_2": 5.80483490591418, + "mean": -0.5925717376520747 + }, + "x038": { + "median": 9.965030030900763, + "sigma": 3.4732050219835937, + "lower_1": 6.49182500891717, + "upper_1": 13.438235052884357, + "lower_2": 3.1197358571145504, + "upper_2": 16.810324204686975, + "mean": 9.965030030900763 + }, + "x039": { + "median": 6.140680565932433, + "sigma": 4.598974998483781, + "lower_1": 1.5417055674486528, + "upper_1": 10.739655564416214, + "lower_2": -2.923378872899674, + "upper_2": 15.20474000476454, + "mean": 6.140680565932433 + }, + "x040": { + "median": -6.839339648676248, + "sigma": 2.569176759201204, + "lower_1": -9.408516407877451, + "upper_1": -4.270162889475044, + "lower_2": -11.902896389459407, + "upper_2": -1.77578290789309, + "mean": -6.839339648676248 + }, + "x041": { + "median": 2.111258437376411, + "sigma": 3.4603995139607964, + "lower_1": -1.3491410765843854, + "upper_1": 5.571657951337207, + "lower_2": -4.708797528787158, + "upper_2": 8.931314403539979, + "mean": 2.111258437376411 + }, + "x042": { + "median": 2.697726410126876, + "sigma": 3.143158894643758, + "lower_1": -0.445432484516882, + "upper_1": 5.840885304770634, + "lower_2": -3.4970841848725627, + "upper_2": 8.892537005126314, + "mean": 2.697726410126876 + }, + "x043": { + "median": -0.5478755670099744, + "sigma": 4.2861793566690185, + "lower_1": -4.834054923678993, + "upper_1": 3.738303789659044, + "lower_2": -8.995450182473535, + "upper_2": 7.899699048453584, + "mean": -0.5478755670099744 + }, + "x044": { + "median": -3.6629817642971148, + "sigma": 3.680118536734506, + "lower_1": -7.343100301031621, + "upper_1": 0.0171367724373912, + "lower_2": -10.916079067480258, + "upper_2": 3.5901155388860273, + "mean": -3.6629817642971148 + }, + "x045": { + "median": 16.087905535096944, + "sigma": 3.5266003482613826, + "lower_1": 12.561305186835561, + "upper_1": 19.614505883358326, + "lower_2": 9.137375213843683, + "upper_2": 23.038435856350205, + "mean": 16.087905535096944 + }, + "x046": { + "median": -5.835321678823923, + "sigma": 4.138544219867834, + "lower_1": -9.973865898691756, + "upper_1": -1.6967774589560891, + "lower_2": -13.991924141651904, + "upper_2": 2.3212807840040552, + "mean": -5.835321678823923 + }, + "x047": { + "median": -4.18699328562702, + "sigma": 3.181242465693858, + "lower_1": -7.368235751320878, + "upper_1": -1.0057508199331626, + "lower_2": -10.45686229076239, + "upper_2": 2.0828757195083485, + "mean": -4.18699328562702 + }, + "x048": { + "median": 0.7984156501190653, + "sigma": 3.6070229629474704, + "lower_1": -2.8086073128284053, + "upper_1": 4.4054386130665355, + "lower_2": -6.310618546450177, + "upper_2": 7.907449846688308, + "mean": 0.7984156501190653 + }, + "x049": { + "median": -8.759508997926497, + "sigma": 3.6617565527562537, + "lower_1": -12.421265550682751, + "upper_1": -5.097752445170244, + "lower_2": -15.976416907984294, + "upper_2": -1.542601087868701, + "mean": -8.759508997926497 + } + }, + "posterior_relabelled": { + "x000": { + "median": 1.3674676447267482, + "sigma": 3.7106172575825647, + "lower_1": -2.3431496128558162, + "upper_1": 5.078084902309313, + "lower_2": -5.945739186920083, + "upper_2": 8.680674476373579, + "mean": 1.3674676447267482 + }, + "x001": { + "median": -1.4739575587447442, + "sigma": 3.295478903913142, + "lower_1": -4.769436462657886, + "upper_1": 1.8215213451683971, + "lower_2": -7.968973660013804, + "upper_2": 5.021058542524314, + "mean": -1.4739575587447442 + }, + "x002": { + "median": 7.9158188331718335, + "sigma": 5.069355549044964, + "lower_1": 2.8464632841268704, + "upper_1": 12.985174382216798, + "lower_2": -2.075307456548302, + "upper_2": 17.90694512289197, + "mean": 7.9158188331718335 + }, + "x003": { + "median": 11.342334086244502, + "sigma": 3.5105704991832627, + "lower_1": 7.83176358706124, + "upper_1": 14.852904585427765, + "lower_2": 4.423396784063424, + "upper_2": 18.26127138842558, + "mean": 11.342334086244502 + }, + "x004": { + "median": 8.502192597957883, + "sigma": 5.0427858776887575, + "lower_1": 3.4594067202691248, + "upper_1": 13.54497847564664, + "lower_2": -1.436567875352667, + "upper_2": 18.44095307126843, + "mean": 8.502192597957883 + }, + "x005": { + "median": 11.301561400165223, + "sigma": 4.35123709099183, + "lower_1": 6.950324309173393, + "upper_1": 15.652798491157053, + "lower_2": 2.725765350348981, + "upper_2": 19.877357449981467, + "mean": 11.301561400165223 + }, + "x006": { + "median": 0.3006355715075504, + "sigma": 3.9326385395753576, + "lower_1": -3.632002968067807, + "upper_1": 4.233274111082908, + "lower_2": -7.450150089624513, + "upper_2": 8.051421232639612, + "mean": 0.3006355715075504 + }, + "x007": { + "median": 13.883797944456791, + "sigma": 5.145765333565841, + "lower_1": 8.73803261089095, + "upper_1": 19.029563278022632, + "lower_2": 3.7420766137038335, + "upper_2": 24.025519275209746, + "mean": 13.883797944456791 + }, + "x008": { + "median": 0.22818274878070222, + "sigma": 3.983077429573676, + "lower_1": -3.7548946807929737, + "upper_1": 4.211260178354378, + "lower_2": -7.6220122583739425, + "upper_2": 8.078377755935346, + "mean": 0.22818274878070222 + }, + "x009": { + "median": -8.638102004391436, + "sigma": 3.335846368109627, + "lower_1": -11.973948372501063, + "upper_1": -5.302255636281809, + "lower_2": -15.212677810810558, + "upper_2": -2.0635261979723163, + "mean": -8.638102004391436 + }, + "x010": { + "median": 10.097694701055314, + "sigma": 3.909937533431631, + "lower_1": 6.187757167623682, + "upper_1": 14.007632234486945, + "lower_2": 2.391650154862093, + "upper_2": 17.803739247248533, + "mean": 10.097694701055314 + }, + "x011": { + "median": -1.758970751583992, + "sigma": 5.263959042432332, + "lower_1": -7.022929794016324, + "upper_1": 3.50498829084834, + "lower_2": -12.133638511229279, + "upper_2": 8.615697008061293, + "mean": -1.758970751583992 + }, + "x012": { + "median": 2.0412416423242097, + "sigma": 2.929732728984725, + "lower_1": -0.8884910866605154, + "upper_1": 4.970974371308935, + "lower_2": -3.7329301251162, + "upper_2": 7.815413409764618, + "mean": 2.0412416423242097 + }, + "x013": { + "median": -1.4902133047449801, + "sigma": 3.7676108008372537, + "lower_1": -5.257824105582234, + "upper_1": 2.277397496092274, + "lower_2": -8.915747962453155, + "upper_2": 5.935321352963194, + "mean": -1.4902133047449801 + }, + "x014": { + "median": 2.103780295334192, + "sigma": 3.992021490972233, + "lower_1": -1.8882411956380407, + "upper_1": 6.095801786306425, + "lower_2": -5.7640424449931285, + "upper_2": 9.971603035661513, + "mean": 2.103780295334192 + }, + "x015": { + "median": -4.5913717567438255, + "sigma": 3.1766606984227614, + "lower_1": -7.768032455166587, + "upper_1": -1.4147110583210636, + "lower_2": -10.85221061692433, + "upper_2": 1.6694671034366788, + "mean": -4.5913717567438255 + }, + "x016": { + "median": 5.609963631804981, + "sigma": 3.0002844063879257, + "lower_1": 2.6096792254170555, + "upper_1": 8.610248038192907, + "lower_2": -0.3032575102684172, + "upper_2": 11.523184773878379, + "mean": 5.609963631804981 + }, + "x017": { + "median": -3.6208032393415888, + "sigma": 2.7037981616373505, + "lower_1": -6.324601400978939, + "upper_1": -0.9170050777042382, + "lower_2": -8.949683534573827, + "upper_2": 1.7080770558906488, + "mean": -3.6208032393415888 + }, + "x018": { + "median": 0.43440236853950775, + "sigma": 4.16944281639811, + "lower_1": -3.7350404478586023, + "upper_1": 4.603845184937618, + "lower_2": -7.783097732483776, + "upper_2": 8.651902469562792, + "mean": 0.43440236853950775 + }, + "x019": { + "median": -8.155871073795296, + "sigma": 3.1281251893699817, + "lower_1": -11.283996263165278, + "upper_1": -5.027745884425315, + "lower_2": -14.321051936466919, + "upper_2": -1.9906902111236748, + "mean": -8.155871073795296 + }, + "x020": { + "median": -1.0027768200139802, + "sigma": 3.367310525082919, + "lower_1": -4.370087345096899, + "upper_1": 2.364533705068939, + "lower_2": -7.639364920279596, + "upper_2": 5.633811280251635, + "mean": -1.0027768200139802 + }, + "x021": { + "median": -3.2274517840363774, + "sigma": 3.9645960984662434, + "lower_1": -7.192047882502621, + "upper_1": 0.7371443144298655, + "lower_2": -11.04122217837583, + "upper_2": 4.586318610303075, + "mean": -3.2274517840363774 + }, + "x022": { + "median": 15.193883973969662, + "sigma": 3.996224777328141, + "lower_1": 11.19765919664152, + "upper_1": 19.190108751297803, + "lower_2": 7.317777031753672, + "upper_2": 23.069990916185652, + "mean": 15.193883973969662 + }, + "x023": { + "median": 4.244955431052363, + "sigma": 3.7437762609052427, + "lower_1": 0.5011791701471195, + "upper_1": 7.9887316919576055, + "lower_2": -3.1336040448572176, + "upper_2": 11.623514906961942, + "mean": 4.244955431052363 + }, + "x024": { + "median": -0.3264665705266704, + "sigma": 3.535665917345786, + "lower_1": -3.862132487872456, + "upper_1": 3.2091993468191156, + "lower_2": -7.294864102855216, + "upper_2": 6.641930961801875, + "mean": -0.3264665705266704 + }, + "x025": { + "median": 6.075345934794627, + "sigma": 3.2738732246403286, + "lower_1": 2.801472710154298, + "upper_1": 9.349219159434956, + "lower_2": -0.3770878168835603, + "upper_2": 12.527779686472813, + "mean": 6.075345934794627 + }, + "x026": { + "median": 3.942045655511824, + "sigma": 4.6156768989944705, + "lower_1": -0.6736312434826464, + "upper_1": 8.557722554506295, + "lower_2": -5.1549313397367165, + "upper_2": 13.039022650760366, + "mean": 3.942045655511824 + }, + "x027": { + "median": 6.754241364194623, + "sigma": 3.796830043844084, + "lower_1": 2.9574113203505394, + "upper_1": 10.551071408038707, + "lower_2": -0.7288811158998225, + "upper_2": 14.237363844289067, + "mean": 6.754241364194623 + }, + "x028": { + "median": 8.901548636324534, + "sigma": 5.076020072690405, + "lower_1": 3.8255285636341307, + "upper_1": 13.977568709014939, + "lower_2": -1.1027126755415573, + "upper_2": 18.905809948190623, + "mean": 8.901548636324534 + }, + "x029": { + "median": 7.127033861281852, + "sigma": 3.6813680573634127, + "lower_1": 3.44566580391844, + "upper_1": 10.808401918645265, + "lower_2": -0.12852610570228684, + "upper_2": 14.382593828265989, + "mean": 7.127033861281852 + }, + "x030": { + "median": -9.72104476508505, + "sigma": 4.021317950358885, + "lower_1": -13.742362715443935, + "upper_1": -5.699726814726167, + "lower_2": -17.64660751254776, + "upper_2": -1.7954820176223398, + "mean": -9.72104476508505 + }, + "x031": { + "median": 8.178208083928123, + "sigma": 4.286950262605082, + "lower_1": 3.89125782132304, + "upper_1": 12.465158346533205, + "lower_2": -0.2708858999226411, + "upper_2": 16.627302067778885, + "mean": 8.178208083928123 + }, + "x032": { + "median": 3.35257276473279, + "sigma": 4.440593569857279, + "lower_1": -1.0880208051244895, + "upper_1": 7.793166334590069, + "lower_2": -5.399334796006691, + "upper_2": 12.10448032547227, + "mean": 3.35257276473279 + }, + "x033": { + "median": -5.390682663551361, + "sigma": 3.3633107317149857, + "lower_1": -8.753993395266347, + "upper_1": -2.027371931836375, + "lower_2": -12.019387623586395, + "upper_2": 1.2380222964836713, + "mean": -5.390682663551361 + }, + "x034": { + "median": -0.8458197419643971, + "sigma": 4.372572593108422, + "lower_1": -5.218392335072819, + "upper_1": 3.5267528511440247, + "lower_2": -9.463665652761808, + "upper_2": 7.772026168833013, + "mean": -0.8458197419643971 + }, + "x035": { + "median": -4.580330203801338, + "sigma": 3.4432654014844144, + "lower_1": -8.023595605285752, + "upper_1": -1.1370648023169236, + "lower_2": -11.36661677266034, + "upper_2": 2.2059563650576646, + "mean": -4.580330203801338 + }, + "x036": { + "median": 12.030784111314508, + "sigma": 4.26006083581438, + "lower_1": 7.77072327550013, + "upper_1": 16.29084494712889, + "lower_2": 3.6346861456607176, + "upper_2": 20.426882076968297, + "mean": 12.030784111314508 + }, + "x037": { + "median": -0.5925717376520747, + "sigma": 3.24595325167971, + "lower_1": -3.838524989331785, + "upper_1": 2.653381514027635, + "lower_2": -6.9899783812183305, + "upper_2": 5.80483490591418, + "mean": -0.5925717376520747 + }, + "x038": { + "median": 9.965030030900763, + "sigma": 3.4732050219835937, + "lower_1": 6.49182500891717, + "upper_1": 13.438235052884357, + "lower_2": 3.1197358571145504, + "upper_2": 16.810324204686975, + "mean": 9.965030030900763 + }, + "x039": { + "median": 6.140680565932433, + "sigma": 4.598974998483781, + "lower_1": 1.5417055674486528, + "upper_1": 10.739655564416214, + "lower_2": -2.923378872899674, + "upper_2": 15.20474000476454, + "mean": 6.140680565932433 + }, + "x040": { + "median": -6.839339648676248, + "sigma": 2.569176759201204, + "lower_1": -9.408516407877451, + "upper_1": -4.270162889475044, + "lower_2": -11.902896389459407, + "upper_2": -1.77578290789309, + "mean": -6.839339648676248 + }, + "x041": { + "median": 2.111258437376411, + "sigma": 3.4603995139607964, + "lower_1": -1.3491410765843854, + "upper_1": 5.571657951337207, + "lower_2": -4.708797528787158, + "upper_2": 8.931314403539979, + "mean": 2.111258437376411 + }, + "x042": { + "median": 2.697726410126876, + "sigma": 3.143158894643758, + "lower_1": -0.445432484516882, + "upper_1": 5.840885304770634, + "lower_2": -3.4970841848725627, + "upper_2": 8.892537005126314, + "mean": 2.697726410126876 + }, + "x043": { + "median": -0.5478755670099744, + "sigma": 4.2861793566690185, + "lower_1": -4.834054923678993, + "upper_1": 3.738303789659044, + "lower_2": -8.995450182473535, + "upper_2": 7.899699048453584, + "mean": -0.5478755670099744 + }, + "x044": { + "median": -3.6629817642971148, + "sigma": 3.680118536734506, + "lower_1": -7.343100301031621, + "upper_1": 0.0171367724373912, + "lower_2": -10.916079067480258, + "upper_2": 3.5901155388860273, + "mean": -3.6629817642971148 + }, + "x045": { + "median": 16.087905535096944, + "sigma": 3.5266003482613826, + "lower_1": 12.561305186835561, + "upper_1": 19.614505883358326, + "lower_2": 9.137375213843683, + "upper_2": 23.038435856350205, + "mean": 16.087905535096944 + }, + "x046": { + "median": -5.835321678823923, + "sigma": 4.138544219867834, + "lower_1": -9.973865898691756, + "upper_1": -1.6967774589560891, + "lower_2": -13.991924141651904, + "upper_2": 2.3212807840040552, + "mean": -5.835321678823923 + }, + "x047": { + "median": -4.18699328562702, + "sigma": 3.181242465693858, + "lower_1": -7.368235751320878, + "upper_1": -1.0057508199331626, + "lower_2": -10.45686229076239, + "upper_2": 2.0828757195083485, + "mean": -4.18699328562702 + }, + "x048": { + "median": 0.7984156501190653, + "sigma": 3.6070229629474704, + "lower_1": -2.8086073128284053, + "upper_1": 4.4054386130665355, + "lower_2": -6.310618546450177, + "upper_2": 7.907449846688308, + "mean": 0.7984156501190653 + }, + "x049": { + "median": -8.759508997926497, + "sigma": 3.6617565527562537, + "lower_1": -12.421265550682751, + "upper_1": -5.097752445170244, + "lower_2": -15.976416907984294, + "upper_2": -1.542601087868701, + "mean": -8.759508997926497 + } + }, + "relabelled_note": "no label symmetry: the relabelled posterior is the posterior", + "modes": null, + "ppc_chi2": null, + "whitened": { + "worst_median": 0.0, + "sigma_ratio_min": 1.0, + "sigma_ratio_max": 1.0 + }, + "limitations": [], + "agreement": { + "test": "protocol correlated_nd \u00a76 (exact reference self-test)", + "backend_identity": { + "points": 64, + "max_abs_delta_nat": 1.4210854715202004e-14, + "tolerance_nat": 1e-08, + "path": "autofit Fitness.call" + }, + "draws": { + "n": 200000, + "seed": 0, + "worst_median_offset_sigma": 0.0078746773220655, + "worst_sigma_ratio_offset": 0.004217016907160032, + "whitened": { + "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", + "n_coordinates": 50, + "worst_median": 0.006541814383453264, + "worst_median_key": "u026", + "sigma_ratio_min": 0.9958164047457363, + "sigma_ratio_min_key": "u046", + "sigma_ratio_max": 1.0047206633040369, + "sigma_ratio_max_key": "u013" + }, + "tolerance_median_sigma": 0.02, + "tolerance_sigma": 0.02 + }, + "truncation": { + "unconstrained_draws_inside": 1.0, + "box_mass": 1.0, + "ok": true + }, + "failures": [], + "control_verdicts": { + "posterior": "accepted", + "evidence": "accepted" + } + }, + "library_revisions": { + "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", + "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" + }, + "written_at": "2026-10-15T19:38:24Z" +} diff --git a/results/reference/rosenbrock_d20/jax_cpu/reference.json b/results/reference/rosenbrock_d20/jax_cpu/reference.json new file mode 100644 index 00000000..7425c05b --- /dev/null +++ b/results/reference/rosenbrock_d20/jax_cpu/reference.json @@ -0,0 +1,465 @@ +{ + "schema_version": 1, + "status": "complete", + "exact": true, + "model": "correlated_nd", + "protocol_id": "correlated_nd@1", + "dataset": "rosenbrock_d20", + "backend": "jax_cpu", + "data_seed": 1, + "assertion_mechanism": "none", + "kind": "rosenbrock", + "dimension": 20, + "log_evidence": -140.94599146808437, + "log_evidence_normalised": -140.94599146808437, + "log_evidence_offset": 0.0, + "log_evidence_how": { + "method": "ln Z = ln(box mass) - ln V; box mass by Gauss-Legendre over x1 (4000 panels x 8 nodes) with closed-form normal CDFs in x_j", + "box_mass": 0.9999999999999999, + "truncation_bound": 1.1102230246251565e-16 + }, + "log_volume": 140.94599146808437, + "information_nats": 133.29048664093733, + "max_log_likelihood": 2.344495172852956, + "map": { + "log_posterior": 2.344495172852956, + "vector": [ + 3.4924355434607888, + 12.1715473026488, + 12.234048690176396, + 12.351189945073218, + 12.095964461430244, + 12.538766466143882, + 12.688214785941705, + 12.752808551271965, + 12.11249151106008, + 12.632425544362185, + 11.773176319673537, + 12.279206144824077, + 11.833550534221512, + 12.167245258074516, + 12.185716302765476, + 12.42590576237682, + 12.186205935093913, + 12.442795174616437, + 12.623715520431633, + 12.053919926787012 + ], + "method": "exact mode (inside the box); PyAutoFit's uniform prior adds 0 there" + }, + "posterior": { + "x000": { + "median": 3.4920609245113736, + "sigma": 3.1448755792769756, + "lower_1": 0.34688744801193605, + "upper_1": 6.636638606565887, + "lower_2": -2.7060228400042896, + "upper_2": 9.68970650531463, + "mean": 3.4924355434607888 + }, + "x001": { + "median": 12.878079585524326, + "sigma": 21.401011043716125, + "lower_1": 1.3427798858504159, + "upper_1": 44.14480197328267, + "lower_2": -0.09340801343754362, + "upper_2": 93.89592998690779, + "mean": 22.1715473026488 + }, + "x002": { + "median": 12.940580973052054, + "sigma": 21.401011043711936, + "lower_1": 1.4052812733817517, + "upper_1": 44.207303360805625, + "lower_2": -0.030906625918112794, + "upper_2": 93.95843137443299, + "mean": 22.2340486901764 + }, + "x003": { + "median": 13.057722227949757, + "sigma": 21.40101104370937, + "lower_1": 1.5224225282846926, + "upper_1": 44.324444615703435, + "lower_2": 0.08623462897740475, + "upper_2": 94.07557262934259, + "mean": 22.35118994507322 + }, + "x004": { + "median": 12.802496744302626, + "sigma": 21.40101104371342, + "lower_1": 1.2671970446349632, + "upper_1": 44.069219132061804, + "lower_2": -0.16899085465605318, + "upper_2": 93.82034714570224, + "mean": 22.09596446143025 + }, + "x005": { + "median": 13.245298749022298, + "sigma": 21.401011043715453, + "lower_1": 1.7099990493465267, + "upper_1": 44.512021136777435, + "lower_2": 0.27381115006440193, + "upper_2": 94.26314915040916, + "mean": 22.53876646614388 + }, + "x006": { + "median": 13.394747068812787, + "sigma": 21.401011043718608, + "lower_1": 1.8594473691512068, + "upper_1": 44.66146945658842, + "lower_2": 0.4232594698591147, + "upper_2": 94.4125974702046, + "mean": 22.68821478594171 + }, + "x007": { + "median": 13.459340834150664, + "sigma": 21.4010110437189, + "lower_1": 1.9240411344771204, + "upper_1": 44.72606322191492, + "lower_2": 0.48785323518940615, + "upper_2": 94.47719123553694, + "mean": 22.752808551271965 + }, + "x008": { + "median": 12.819023793944957, + "sigma": 21.401011043718093, + "lower_1": 1.2837240942657684, + "upper_1": 44.08574618170196, + "lower_2": -0.15246380502602733, + "upper_2": 93.83687419532895, + "mean": 22.112491511060078 + }, + "x009": { + "median": 13.33895782724113, + "sigma": 21.40101104371299, + "lower_1": 1.8036581275731545, + "upper_1": 44.60568021499914, + "lower_2": 0.36747022827335507, + "upper_2": 94.3568082286226, + "mean": 22.63242554436219 + }, + "x010": { + "median": 12.479708602544807, + "sigma": 21.40101104371885, + "lower_1": 0.9444089028695206, + "upper_1": 43.74643099030722, + "lower_2": -0.4917789964182405, + "upper_2": 93.49755900393369, + "mean": 21.77317631967354 + }, + "x011": { + "median": 12.985738427712926, + "sigma": 21.40101104371776, + "lower_1": 1.4504387280265383, + "upper_1": 44.25246081546206, + "lower_2": 0.014250828741415637, + "upper_2": 94.00358882908418, + "mean": 22.279206144824077 + }, + "x012": { + "median": 12.540082817094625, + "sigma": 21.401011043716696, + "lower_1": 1.004783117431503, + "upper_1": 43.806805204864894, + "lower_2": -0.4314047818661892, + "upper_2": 93.55793321849106, + "mean": 21.833550534221512 + }, + "x013": { + "median": 12.873777540958553, + "sigma": 21.40101104372359, + "lower_1": 1.3384778412686043, + "upper_1": 44.14049992871578, + "lower_2": -0.0977100580093207, + "upper_2": 93.89162794234697, + "mean": 22.167245258074516 + }, + "x014": { + "median": 12.892248585645337, + "sigma": 21.401011043722793, + "lower_1": 1.3569488859609944, + "upper_1": 44.15897097340658, + "lower_2": -0.07923901332582964, + "upper_2": 93.91009898703471, + "mean": 22.185716302765478 + }, + "x015": { + "median": 13.132438045265221, + "sigma": 21.401011043711726, + "lower_1": 1.597138345584767, + "upper_1": 44.39916043300822, + "lower_2": 0.16095044629356256, + "upper_2": 94.15028844664783, + "mean": 22.425905762376818 + }, + "x016": { + "median": 12.892738217981474, + "sigma": 21.401011043714806, + "lower_1": 1.3574385183045803, + "upper_1": 44.159460605734196, + "lower_2": -0.07874938098552497, + "upper_2": 93.91058861936182, + "mean": 22.186205935093913 + }, + "x017": { + "median": 13.149327457503876, + "sigma": 21.40101104371863, + "lower_1": 1.614027757821499, + "upper_1": 44.416049845258755, + "lower_2": 0.17783985852923245, + "upper_2": 94.16717785887924, + "mean": 22.442795174616442 + }, + "x018": { + "median": 13.330247803319434, + "sigma": 21.401011043711748, + "lower_1": 1.7949481036376858, + "upper_1": 44.59697019106118, + "lower_2": 0.3587602043351721, + "upper_2": 94.34809820469033, + "mean": 22.62371552043163 + }, + "x019": { + "median": 12.760452209673245, + "sigma": 21.401011043715112, + "lower_1": 1.2251525099861114, + "upper_1": 44.027174597416334, + "lower_2": -0.21103538929431537, + "upper_2": 93.77830261104683, + "mean": 22.053919926787014 + } + }, + "posterior_relabelled": { + "x000": { + "median": 3.4920609245113736, + "sigma": 3.1448755792769756, + "lower_1": 0.34688744801193605, + "upper_1": 6.636638606565887, + "lower_2": -2.7060228400042896, + "upper_2": 9.68970650531463, + "mean": 3.4924355434607888 + }, + "x001": { + "median": 12.878079585524326, + "sigma": 21.401011043716125, + "lower_1": 1.3427798858504159, + "upper_1": 44.14480197328267, + "lower_2": -0.09340801343754362, + "upper_2": 93.89592998690779, + "mean": 22.1715473026488 + }, + "x002": { + "median": 12.940580973052054, + "sigma": 21.401011043711936, + "lower_1": 1.4052812733817517, + "upper_1": 44.207303360805625, + "lower_2": -0.030906625918112794, + "upper_2": 93.95843137443299, + "mean": 22.2340486901764 + }, + "x003": { + "median": 13.057722227949757, + "sigma": 21.40101104370937, + "lower_1": 1.5224225282846926, + "upper_1": 44.324444615703435, + "lower_2": 0.08623462897740475, + "upper_2": 94.07557262934259, + "mean": 22.35118994507322 + }, + "x004": { + "median": 12.802496744302626, + "sigma": 21.40101104371342, + "lower_1": 1.2671970446349632, + "upper_1": 44.069219132061804, + "lower_2": -0.16899085465605318, + "upper_2": 93.82034714570224, + "mean": 22.09596446143025 + }, + "x005": { + "median": 13.245298749022298, + "sigma": 21.401011043715453, + "lower_1": 1.7099990493465267, + "upper_1": 44.512021136777435, + "lower_2": 0.27381115006440193, + "upper_2": 94.26314915040916, + "mean": 22.53876646614388 + }, + "x006": { + "median": 13.394747068812787, + "sigma": 21.401011043718608, + "lower_1": 1.8594473691512068, + "upper_1": 44.66146945658842, + "lower_2": 0.4232594698591147, + "upper_2": 94.4125974702046, + "mean": 22.68821478594171 + }, + "x007": { + "median": 13.459340834150664, + "sigma": 21.4010110437189, + "lower_1": 1.9240411344771204, + "upper_1": 44.72606322191492, + "lower_2": 0.48785323518940615, + "upper_2": 94.47719123553694, + "mean": 22.752808551271965 + }, + "x008": { + "median": 12.819023793944957, + "sigma": 21.401011043718093, + "lower_1": 1.2837240942657684, + "upper_1": 44.08574618170196, + "lower_2": -0.15246380502602733, + "upper_2": 93.83687419532895, + "mean": 22.112491511060078 + }, + "x009": { + "median": 13.33895782724113, + "sigma": 21.40101104371299, + "lower_1": 1.8036581275731545, + "upper_1": 44.60568021499914, + "lower_2": 0.36747022827335507, + "upper_2": 94.3568082286226, + "mean": 22.63242554436219 + }, + "x010": { + "median": 12.479708602544807, + "sigma": 21.40101104371885, + "lower_1": 0.9444089028695206, + "upper_1": 43.74643099030722, + "lower_2": -0.4917789964182405, + "upper_2": 93.49755900393369, + "mean": 21.77317631967354 + }, + "x011": { + "median": 12.985738427712926, + "sigma": 21.40101104371776, + "lower_1": 1.4504387280265383, + "upper_1": 44.25246081546206, + "lower_2": 0.014250828741415637, + "upper_2": 94.00358882908418, + "mean": 22.279206144824077 + }, + "x012": { + "median": 12.540082817094625, + "sigma": 21.401011043716696, + "lower_1": 1.004783117431503, + "upper_1": 43.806805204864894, + "lower_2": -0.4314047818661892, + "upper_2": 93.55793321849106, + "mean": 21.833550534221512 + }, + "x013": { + "median": 12.873777540958553, + "sigma": 21.40101104372359, + "lower_1": 1.3384778412686043, + "upper_1": 44.14049992871578, + "lower_2": -0.0977100580093207, + "upper_2": 93.89162794234697, + "mean": 22.167245258074516 + }, + "x014": { + "median": 12.892248585645337, + "sigma": 21.401011043722793, + "lower_1": 1.3569488859609944, + "upper_1": 44.15897097340658, + "lower_2": -0.07923901332582964, + "upper_2": 93.91009898703471, + "mean": 22.185716302765478 + }, + "x015": { + "median": 13.132438045265221, + "sigma": 21.401011043711726, + "lower_1": 1.597138345584767, + "upper_1": 44.39916043300822, + "lower_2": 0.16095044629356256, + "upper_2": 94.15028844664783, + "mean": 22.425905762376818 + }, + "x016": { + "median": 12.892738217981474, + "sigma": 21.401011043714806, + "lower_1": 1.3574385183045803, + "upper_1": 44.159460605734196, + "lower_2": -0.07874938098552497, + "upper_2": 93.91058861936182, + "mean": 22.186205935093913 + }, + "x017": { + "median": 13.149327457503876, + "sigma": 21.40101104371863, + "lower_1": 1.614027757821499, + "upper_1": 44.416049845258755, + "lower_2": 0.17783985852923245, + "upper_2": 94.16717785887924, + "mean": 22.442795174616442 + }, + "x018": { + "median": 13.330247803319434, + "sigma": 21.401011043711748, + "lower_1": 1.7949481036376858, + "upper_1": 44.59697019106118, + "lower_2": 0.3587602043351721, + "upper_2": 94.34809820469033, + "mean": 22.62371552043163 + }, + "x019": { + "median": 12.760452209673245, + "sigma": 21.401011043715112, + "lower_1": 1.2251525099861114, + "upper_1": 44.027174597416334, + "lower_2": -0.21103538929431537, + "upper_2": 93.77830261104683, + "mean": 22.053919926787014 + } + }, + "relabelled_note": "no label symmetry: the relabelled posterior is the posterior", + "modes": null, + "ppc_chi2": null, + "whitened": { + "worst_median": 0.0, + "sigma_ratio_min": 1.0, + "sigma_ratio_max": 1.0 + }, + "limitations": [], + "agreement": { + "test": "protocol correlated_nd \u00a76 (exact reference self-test)", + "backend_identity": { + "points": 64, + "max_abs_delta_nat": 7.105427357601002e-15, + "tolerance_nat": 1e-08, + "path": "autofit Fitness.call under jax.jit" + }, + "draws": { + "n": 200000, + "seed": 0, + "worst_median_offset_sigma": 0.001722396845533362, + "worst_sigma_ratio_offset": 0.0026302205272787926, + "whitened": { + "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", + "n_coordinates": 20, + "worst_median": 0.005493583937705486, + "worst_median_key": "u001", + "sigma_ratio_min": 0.994654356660544, + "sigma_ratio_min_key": "u013", + "sigma_ratio_max": 1.0046687048709009, + "sigma_ratio_max_key": "u017" + }, + "tolerance_median_sigma": 0.02, + "tolerance_sigma": 0.02 + }, + "truncation": { + "unconstrained_draws_inside": 1.0, + "box_mass": 0.9999999999999999, + "ok": true + }, + "failures": [], + "control_verdicts": { + "posterior": "accepted", + "evidence": "accepted" + } + }, + "library_revisions": { + "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", + "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" + }, + "written_at": "2026-10-15T19:38:54Z" +} diff --git a/results/reference/rosenbrock_d20/numpy/reference.json b/results/reference/rosenbrock_d20/numpy/reference.json new file mode 100644 index 00000000..e0cf5ac2 --- /dev/null +++ b/results/reference/rosenbrock_d20/numpy/reference.json @@ -0,0 +1,465 @@ +{ + "schema_version": 1, + "status": "complete", + "exact": true, + "model": "correlated_nd", + "protocol_id": "correlated_nd@1", + "dataset": "rosenbrock_d20", + "backend": "numpy", + "data_seed": 1, + "assertion_mechanism": "none", + "kind": "rosenbrock", + "dimension": 20, + "log_evidence": -140.94599146808437, + "log_evidence_normalised": -140.94599146808437, + "log_evidence_offset": 0.0, + "log_evidence_how": { + "method": "ln Z = ln(box mass) - ln V; box mass by Gauss-Legendre over x1 (4000 panels x 8 nodes) with closed-form normal CDFs in x_j", + "box_mass": 0.9999999999999999, + "truncation_bound": 1.1102230246251565e-16 + }, + "log_volume": 140.94599146808437, + "information_nats": 133.29048664093733, + "max_log_likelihood": 2.344495172852956, + "map": { + "log_posterior": 2.344495172852956, + "vector": [ + 3.4924355434607888, + 12.1715473026488, + 12.234048690176396, + 12.351189945073218, + 12.095964461430244, + 12.538766466143882, + 12.688214785941705, + 12.752808551271965, + 12.11249151106008, + 12.632425544362185, + 11.773176319673537, + 12.279206144824077, + 11.833550534221512, + 12.167245258074516, + 12.185716302765476, + 12.42590576237682, + 12.186205935093913, + 12.442795174616437, + 12.623715520431633, + 12.053919926787012 + ], + "method": "exact mode (inside the box); PyAutoFit's uniform prior adds 0 there" + }, + "posterior": { + "x000": { + "median": 3.4920609245113736, + "sigma": 3.1448755792769756, + "lower_1": 0.34688744801193605, + "upper_1": 6.636638606565887, + "lower_2": -2.7060228400042896, + "upper_2": 9.68970650531463, + "mean": 3.4924355434607888 + }, + "x001": { + "median": 12.878079585524326, + "sigma": 21.401011043716125, + "lower_1": 1.3427798858504159, + "upper_1": 44.14480197328267, + "lower_2": -0.09340801343754362, + "upper_2": 93.89592998690779, + "mean": 22.1715473026488 + }, + "x002": { + "median": 12.940580973052054, + "sigma": 21.401011043711936, + "lower_1": 1.4052812733817517, + "upper_1": 44.207303360805625, + "lower_2": -0.030906625918112794, + "upper_2": 93.95843137443299, + "mean": 22.2340486901764 + }, + "x003": { + "median": 13.057722227949757, + "sigma": 21.40101104370937, + "lower_1": 1.5224225282846926, + "upper_1": 44.324444615703435, + "lower_2": 0.08623462897740475, + "upper_2": 94.07557262934259, + "mean": 22.35118994507322 + }, + "x004": { + "median": 12.802496744302626, + "sigma": 21.40101104371342, + "lower_1": 1.2671970446349632, + "upper_1": 44.069219132061804, + "lower_2": -0.16899085465605318, + "upper_2": 93.82034714570224, + "mean": 22.09596446143025 + }, + "x005": { + "median": 13.245298749022298, + "sigma": 21.401011043715453, + "lower_1": 1.7099990493465267, + "upper_1": 44.512021136777435, + "lower_2": 0.27381115006440193, + "upper_2": 94.26314915040916, + "mean": 22.53876646614388 + }, + "x006": { + "median": 13.394747068812787, + "sigma": 21.401011043718608, + "lower_1": 1.8594473691512068, + "upper_1": 44.66146945658842, + "lower_2": 0.4232594698591147, + "upper_2": 94.4125974702046, + "mean": 22.68821478594171 + }, + "x007": { + "median": 13.459340834150664, + "sigma": 21.4010110437189, + "lower_1": 1.9240411344771204, + "upper_1": 44.72606322191492, + "lower_2": 0.48785323518940615, + "upper_2": 94.47719123553694, + "mean": 22.752808551271965 + }, + "x008": { + "median": 12.819023793944957, + "sigma": 21.401011043718093, + "lower_1": 1.2837240942657684, + "upper_1": 44.08574618170196, + "lower_2": -0.15246380502602733, + "upper_2": 93.83687419532895, + "mean": 22.112491511060078 + }, + "x009": { + "median": 13.33895782724113, + "sigma": 21.40101104371299, + "lower_1": 1.8036581275731545, + "upper_1": 44.60568021499914, + "lower_2": 0.36747022827335507, + "upper_2": 94.3568082286226, + "mean": 22.63242554436219 + }, + "x010": { + "median": 12.479708602544807, + "sigma": 21.40101104371885, + "lower_1": 0.9444089028695206, + "upper_1": 43.74643099030722, + "lower_2": -0.4917789964182405, + "upper_2": 93.49755900393369, + "mean": 21.77317631967354 + }, + "x011": { + "median": 12.985738427712926, + "sigma": 21.40101104371776, + "lower_1": 1.4504387280265383, + "upper_1": 44.25246081546206, + "lower_2": 0.014250828741415637, + "upper_2": 94.00358882908418, + "mean": 22.279206144824077 + }, + "x012": { + "median": 12.540082817094625, + "sigma": 21.401011043716696, + "lower_1": 1.004783117431503, + "upper_1": 43.806805204864894, + "lower_2": -0.4314047818661892, + "upper_2": 93.55793321849106, + "mean": 21.833550534221512 + }, + "x013": { + "median": 12.873777540958553, + "sigma": 21.40101104372359, + "lower_1": 1.3384778412686043, + "upper_1": 44.14049992871578, + "lower_2": -0.0977100580093207, + "upper_2": 93.89162794234697, + "mean": 22.167245258074516 + }, + "x014": { + "median": 12.892248585645337, + "sigma": 21.401011043722793, + "lower_1": 1.3569488859609944, + "upper_1": 44.15897097340658, + "lower_2": -0.07923901332582964, + "upper_2": 93.91009898703471, + "mean": 22.185716302765478 + }, + "x015": { + "median": 13.132438045265221, + "sigma": 21.401011043711726, + "lower_1": 1.597138345584767, + "upper_1": 44.39916043300822, + "lower_2": 0.16095044629356256, + "upper_2": 94.15028844664783, + "mean": 22.425905762376818 + }, + "x016": { + "median": 12.892738217981474, + "sigma": 21.401011043714806, + "lower_1": 1.3574385183045803, + "upper_1": 44.159460605734196, + "lower_2": -0.07874938098552497, + "upper_2": 93.91058861936182, + "mean": 22.186205935093913 + }, + "x017": { + "median": 13.149327457503876, + "sigma": 21.40101104371863, + "lower_1": 1.614027757821499, + "upper_1": 44.416049845258755, + "lower_2": 0.17783985852923245, + "upper_2": 94.16717785887924, + "mean": 22.442795174616442 + }, + "x018": { + "median": 13.330247803319434, + "sigma": 21.401011043711748, + "lower_1": 1.7949481036376858, + "upper_1": 44.59697019106118, + "lower_2": 0.3587602043351721, + "upper_2": 94.34809820469033, + "mean": 22.62371552043163 + }, + "x019": { + "median": 12.760452209673245, + "sigma": 21.401011043715112, + "lower_1": 1.2251525099861114, + "upper_1": 44.027174597416334, + "lower_2": -0.21103538929431537, + "upper_2": 93.77830261104683, + "mean": 22.053919926787014 + } + }, + "posterior_relabelled": { + "x000": { + "median": 3.4920609245113736, + "sigma": 3.1448755792769756, + "lower_1": 0.34688744801193605, + "upper_1": 6.636638606565887, + "lower_2": -2.7060228400042896, + "upper_2": 9.68970650531463, + "mean": 3.4924355434607888 + }, + "x001": { + "median": 12.878079585524326, + "sigma": 21.401011043716125, + "lower_1": 1.3427798858504159, + "upper_1": 44.14480197328267, + "lower_2": -0.09340801343754362, + "upper_2": 93.89592998690779, + "mean": 22.1715473026488 + }, + "x002": { + "median": 12.940580973052054, + "sigma": 21.401011043711936, + "lower_1": 1.4052812733817517, + "upper_1": 44.207303360805625, + "lower_2": -0.030906625918112794, + "upper_2": 93.95843137443299, + "mean": 22.2340486901764 + }, + "x003": { + "median": 13.057722227949757, + "sigma": 21.40101104370937, + "lower_1": 1.5224225282846926, + "upper_1": 44.324444615703435, + "lower_2": 0.08623462897740475, + "upper_2": 94.07557262934259, + "mean": 22.35118994507322 + }, + "x004": { + "median": 12.802496744302626, + "sigma": 21.40101104371342, + "lower_1": 1.2671970446349632, + "upper_1": 44.069219132061804, + "lower_2": -0.16899085465605318, + "upper_2": 93.82034714570224, + "mean": 22.09596446143025 + }, + "x005": { + "median": 13.245298749022298, + "sigma": 21.401011043715453, + "lower_1": 1.7099990493465267, + "upper_1": 44.512021136777435, + "lower_2": 0.27381115006440193, + "upper_2": 94.26314915040916, + "mean": 22.53876646614388 + }, + "x006": { + "median": 13.394747068812787, + "sigma": 21.401011043718608, + "lower_1": 1.8594473691512068, + "upper_1": 44.66146945658842, + "lower_2": 0.4232594698591147, + "upper_2": 94.4125974702046, + "mean": 22.68821478594171 + }, + "x007": { + "median": 13.459340834150664, + "sigma": 21.4010110437189, + "lower_1": 1.9240411344771204, + "upper_1": 44.72606322191492, + "lower_2": 0.48785323518940615, + "upper_2": 94.47719123553694, + "mean": 22.752808551271965 + }, + "x008": { + "median": 12.819023793944957, + "sigma": 21.401011043718093, + "lower_1": 1.2837240942657684, + "upper_1": 44.08574618170196, + "lower_2": -0.15246380502602733, + "upper_2": 93.83687419532895, + "mean": 22.112491511060078 + }, + "x009": { + "median": 13.33895782724113, + "sigma": 21.40101104371299, + "lower_1": 1.8036581275731545, + "upper_1": 44.60568021499914, + "lower_2": 0.36747022827335507, + "upper_2": 94.3568082286226, + "mean": 22.63242554436219 + }, + "x010": { + "median": 12.479708602544807, + "sigma": 21.40101104371885, + "lower_1": 0.9444089028695206, + "upper_1": 43.74643099030722, + "lower_2": -0.4917789964182405, + "upper_2": 93.49755900393369, + "mean": 21.77317631967354 + }, + "x011": { + "median": 12.985738427712926, + "sigma": 21.40101104371776, + "lower_1": 1.4504387280265383, + "upper_1": 44.25246081546206, + "lower_2": 0.014250828741415637, + "upper_2": 94.00358882908418, + "mean": 22.279206144824077 + }, + "x012": { + "median": 12.540082817094625, + "sigma": 21.401011043716696, + "lower_1": 1.004783117431503, + "upper_1": 43.806805204864894, + "lower_2": -0.4314047818661892, + "upper_2": 93.55793321849106, + "mean": 21.833550534221512 + }, + "x013": { + "median": 12.873777540958553, + "sigma": 21.40101104372359, + "lower_1": 1.3384778412686043, + "upper_1": 44.14049992871578, + "lower_2": -0.0977100580093207, + "upper_2": 93.89162794234697, + "mean": 22.167245258074516 + }, + "x014": { + "median": 12.892248585645337, + "sigma": 21.401011043722793, + "lower_1": 1.3569488859609944, + "upper_1": 44.15897097340658, + "lower_2": -0.07923901332582964, + "upper_2": 93.91009898703471, + "mean": 22.185716302765478 + }, + "x015": { + "median": 13.132438045265221, + "sigma": 21.401011043711726, + "lower_1": 1.597138345584767, + "upper_1": 44.39916043300822, + "lower_2": 0.16095044629356256, + "upper_2": 94.15028844664783, + "mean": 22.425905762376818 + }, + "x016": { + "median": 12.892738217981474, + "sigma": 21.401011043714806, + "lower_1": 1.3574385183045803, + "upper_1": 44.159460605734196, + "lower_2": -0.07874938098552497, + "upper_2": 93.91058861936182, + "mean": 22.186205935093913 + }, + "x017": { + "median": 13.149327457503876, + "sigma": 21.40101104371863, + "lower_1": 1.614027757821499, + "upper_1": 44.416049845258755, + "lower_2": 0.17783985852923245, + "upper_2": 94.16717785887924, + "mean": 22.442795174616442 + }, + "x018": { + "median": 13.330247803319434, + "sigma": 21.401011043711748, + "lower_1": 1.7949481036376858, + "upper_1": 44.59697019106118, + "lower_2": 0.3587602043351721, + "upper_2": 94.34809820469033, + "mean": 22.62371552043163 + }, + "x019": { + "median": 12.760452209673245, + "sigma": 21.401011043715112, + "lower_1": 1.2251525099861114, + "upper_1": 44.027174597416334, + "lower_2": -0.21103538929431537, + "upper_2": 93.77830261104683, + "mean": 22.053919926787014 + } + }, + "relabelled_note": "no label symmetry: the relabelled posterior is the posterior", + "modes": null, + "ppc_chi2": null, + "whitened": { + "worst_median": 0.0, + "sigma_ratio_min": 1.0, + "sigma_ratio_max": 1.0 + }, + "limitations": [], + "agreement": { + "test": "protocol correlated_nd \u00a76 (exact reference self-test)", + "backend_identity": { + "points": 64, + "max_abs_delta_nat": 3.552713678800501e-15, + "tolerance_nat": 1e-08, + "path": "autofit Fitness.call" + }, + "draws": { + "n": 200000, + "seed": 0, + "worst_median_offset_sigma": 0.001722396845533362, + "worst_sigma_ratio_offset": 0.0026302205272787926, + "whitened": { + "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", + "n_coordinates": 20, + "worst_median": 0.005493583937705486, + "worst_median_key": "u001", + "sigma_ratio_min": 0.994654356660544, + "sigma_ratio_min_key": "u013", + "sigma_ratio_max": 1.0046687048709009, + "sigma_ratio_max_key": "u017" + }, + "tolerance_median_sigma": 0.02, + "tolerance_sigma": 0.02 + }, + "truncation": { + "unconstrained_draws_inside": 1.0, + "box_mass": 0.9999999999999999, + "ok": true + }, + "failures": [], + "control_verdicts": { + "posterior": "accepted", + "evidence": "accepted" + } + }, + "library_revisions": { + "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", + "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" + }, + "written_at": "2026-10-15T19:38:48Z" +} diff --git a/scripts/misc/models/correlated_nd_exact.py b/scripts/misc/models/correlated_nd_exact.py new file mode 100644 index 00000000..9acb486d --- /dev/null +++ b/scripts/misc/models/correlated_nd_exact.py @@ -0,0 +1,333 @@ +"""Exact posterior quantities of the ``correlated_nd`` family — numpy only, no autofit. + +Every number the ``correlated_nd@1`` verdicts rest on (protocol +``wiki/project/protocol_correlated_nd.md`` §2, §6) is computed here from a committed +dataset directory, by construction rather than by a reference search: + +- **ln Z.** The likelihood is a normalised density in ``theta`` and the prior is uniform + on the box of volume ``V``, so ``Z = mass / V`` with ``mass`` the posterior mass inside + the box. Gaussians: ``mass = 1 - eps`` with ``eps`` bounded by a union bound + (``truncation_bound``; below 1e-11 on every committed realisation) and + ``ln Z = -ln V``. Banana: ``mass`` is integrated exactly (1-D Gauss–Legendre over + ``x1``; every ``x_j`` factor is a closed-form normal CDF) and ``ln Z = ln mass - ln V``. +- **Marginals** in the convention of ``searches/_posterior.marginal`` (weighted quantiles + 0.025 / 0.16 / 0.5 / 0.84 / 0.975, ``sigma = (q84 - q16) / 2``, plus the mean). Gaussian: + ``y_i + sqrt(Sigma_ii) Phi^-1(q)`` (the box truncation moves them by less than its bound). + Banana: ``x1`` is a truncated normal (closed form); each ``x_j`` CDF is a 1-D integral, + inverted by bisection to 1e-10 of ``sigma2``. +- **MAP / max ln L.** The mode is ``y`` (Gaussian) or ``(y1, y1^2 + y_j)`` (banana), inside + the box by construction; there ``ln L`` is the normalisation alone. PyAutoFit's uniform + prior contributes 0 inside its box, so the MAP log posterior equals it. +- **Whitening** (protocol §4(b)3): the exact map to ``N(0, I)`` — + ``u = diag(lambda)^-1/2 Q^T (theta - y)`` (Gaussian) or + ``u1 = (x1 - y1) / sigma1``, ``u_j = (x_j - x1^2 - y_j) / sigma2`` (banana, unit + Jacobian). +- **Exact draws** for the §6 self-test and the control rows: direct sampling, with a draw + outside the box rejected. +""" + +from __future__ import annotations + +import json +import math +from dataclasses import dataclass +from pathlib import Path +from statistics import NormalDist + +import numpy as np + +#: The quantiles ``searches/_posterior.marginal`` reports, in its order. +QUANTILES = (0.025, 0.16, 0.5, 0.84, 0.975) +_STD = NormalDist() +#: ``(Phi^-1(0.84) - Phi^-1(0.16)) / 2``: the protocol's sigma of a unit normal (0.9945). +UNIT_SIGMA = (_STD.inv_cdf(0.84) - _STD.inv_cdf(0.16)) / 2.0 + +#: Composite Gauss–Legendre over x1 for the banana integrals: panels × nodes per panel, +#: over ``y1 -/+ X1_SPAN_SIGMA sigma1`` clipped to the box (outside it the x1 factor is +#: below 1e-40 of its peak). +X1_PANELS = 4000 +X1_NODES = 8 +X1_SPAN_SIGMA = 14.0 + + +@dataclass(frozen=True) +class Dataset: + """One committed realisation.""" + + name: str + kind: str + dimension: int + data_seed: int + keys: tuple[str, ...] + y: np.ndarray + lower: np.ndarray + upper: np.ndarray + truth: np.ndarray + eigenvalues: np.ndarray | None = None + eigenvectors: np.ndarray | None = None + sigma1: float | None = None + sigma2: float | None = None + + @property + def log_volume(self) -> float: + return float(np.sum(np.log(self.upper - self.lower))) + + +def load(dataset_path: Path) -> Dataset: + path = Path(dataset_path) + data = json.loads((path / "data.json").read_text()) + model = json.loads((path / "model.json").read_text()) + priors = json.loads((path / "priors.json").read_text()) + truth = json.loads((path / "truth.json").read_text()) + keys = tuple(truth["parameters"]) + common = { + "name": truth["dataset"], + "kind": model["kind"], + "dimension": int(model["dimension"]), + "data_seed": int(truth["data_seed"]), + "keys": keys, + "y": np.asarray(data, dtype=float), + "lower": np.asarray([priors["lower"][k] for k in keys], dtype=float), + "upper": np.asarray([priors["upper"][k] for k in keys], dtype=float), + "truth": np.asarray([truth["parameters"][k] for k in keys], dtype=float), + } + if model["kind"] == "gaussian": + return Dataset( + **common, + eigenvalues=np.asarray(model["eigenvalues"], dtype=float), + eigenvectors=np.asarray(model["eigenvectors"], dtype=float), + ) + return Dataset(**common, sigma1=float(model["sigma1"]), sigma2=float(model["sigma2"])) + + +# --------------------------------------------------------------------------- +# Likelihood (the analytic form every backend is checked against, §6) +# --------------------------------------------------------------------------- + + +def max_log_likelihood(ds: Dataset) -> float: + """``ln L`` at the mode: the normalisation of the density.""" + if ds.kind == "gaussian": + return float(-0.5 * np.sum(np.log(2.0 * math.pi * ds.eigenvalues))) + return float( + -0.5 * math.log(2.0 * math.pi * ds.sigma1**2) + - 0.5 * (ds.dimension - 1) * math.log(2.0 * math.pi * ds.sigma2**2) + ) + + +def whiten(ds: Dataset, matrix) -> np.ndarray: + """The exact map of samples (rows) to ``N(0, I)`` coordinates.""" + theta = np.atleast_2d(np.asarray(matrix, dtype=float)) + if ds.kind == "gaussian": + return ((theta - ds.y) @ ds.eigenvectors) / np.sqrt(ds.eigenvalues) + u = np.empty_like(theta) + x1 = theta[:, 0] + u[:, 0] = (x1 - ds.y[0]) / ds.sigma1 + u[:, 1:] = (theta[:, 1:] - (x1**2)[:, None] - ds.y[1:]) / ds.sigma2 + return u + + +def log_likelihood(ds: Dataset, matrix) -> np.ndarray: + """``ln L`` of every row (numpy, analytic).""" + u = whiten(ds, matrix) + return max_log_likelihood(ds) - 0.5 * np.sum(u * u, axis=1) + + +def mode(ds: Dataset) -> np.ndarray: + if ds.kind == "gaussian": + return ds.y.copy() + out = ds.y.copy() + out[1:] = ds.y[0] ** 2 + ds.y[1:] + return out + + +# --------------------------------------------------------------------------- +# Banana integrals (exact up to quadrature error ~1e-14) +# --------------------------------------------------------------------------- + + +def _ndtr(x): + from scipy.special import ndtr + + return ndtr(x) + + +def _x1_nodes(ds: Dataset) -> tuple[np.ndarray, np.ndarray]: + """Gauss–Legendre nodes and weights for the x1 integral over the box, with the + x1 normal density folded into the weights.""" + lo = max(ds.lower[0], ds.y[0] - X1_SPAN_SIGMA * ds.sigma1) + hi = min(ds.upper[0], ds.y[0] + X1_SPAN_SIGMA * ds.sigma1) + t, w = np.polynomial.legendre.leggauss(X1_NODES) + edges = np.linspace(lo, hi, X1_PANELS + 1) + half = 0.5 * np.diff(edges) + mid = 0.5 * (edges[1:] + edges[:-1]) + nodes = (mid[:, None] + half[:, None] * t[None, :]).ravel() + weights = (half[:, None] * w[None, :]).ravel() + density = np.exp(-0.5 * ((nodes - ds.y[0]) / ds.sigma1) ** 2) / ( + ds.sigma1 * math.sqrt(2.0 * math.pi) + ) + return nodes, weights * density + + +def _xj_box_mass(ds: Dataset, nodes: np.ndarray) -> np.ndarray: + """``P(x_j in box | x1)`` for every node (rows) and every j >= 2 (columns).""" + centre = nodes[:, None] ** 2 + ds.y[None, 1:] + hi = _ndtr((ds.upper[None, 1:] - centre) / ds.sigma2) + lo = _ndtr((ds.lower[None, 1:] - centre) / ds.sigma2) + return hi - lo + + +def banana_mass(ds: Dataset) -> float: + nodes, weights = _x1_nodes(ds) + return float(np.sum(weights * np.prod(_xj_box_mass(ds, nodes), axis=1))) + + +def _banana_x1_marginal(ds: Dataset) -> dict: + """x1 under the box: the x_j box factors (each 1 - O(1e-9)) are kept in the CDF.""" + nodes, weights = _x1_nodes(ds) + w = weights * np.prod(_xj_box_mass(ds, nodes), axis=1) + cdf = np.cumsum(w) / np.sum(w) + q = np.interp(QUANTILES, cdf, nodes) + mean = float(np.sum(w * nodes) / np.sum(w)) + return _marginal_dict(q, mean) + + +def _banana_xj_marginal(ds: Dataset, j: int, nodes, weights, box) -> dict: + """``F_j(t) = E_x1[ P(x_j <= t | x1) * prod_{k != j} P(x_k in box | x1) ] / mass``.""" + others = np.prod(np.delete(box, j - 1, axis=1), axis=1) + w = weights * others + centre = nodes**2 + ds.y[j] + lo_cdf = _ndtr((ds.lower[j] - centre) / ds.sigma2) + total = float(np.sum(w * (box[:, j - 1]))) + + def cdf(t: float) -> float: + return float(np.sum(w * (_ndtr((t - centre) / ds.sigma2) - lo_cdf))) / total + + out = [] + for q in QUANTILES: + a, b = ds.lower[j], ds.upper[j] + for _ in range(200): + m = 0.5 * (a + b) + if cdf(m) < q: + a = m + else: + b = m + if b - a < 1e-10 * ds.sigma2: + break + out.append(0.5 * (a + b)) + # E[x_j | x1] = x1^2 + y_j (the truncation moves it by < 1e-9 sigma2). + mean = float(np.sum(w * box[:, j - 1] * centre) / total) + return _marginal_dict(np.asarray(out), mean) + + +def _marginal_dict(q, mean: float) -> dict: + return { + "median": float(q[2]), + "sigma": float(q[3] - q[1]) / 2.0, + "lower_1": float(q[1]), + "upper_1": float(q[3]), + "lower_2": float(q[0]), + "upper_2": float(q[4]), + "mean": float(mean), + } + + +# --------------------------------------------------------------------------- +# The exact posterior summary +# --------------------------------------------------------------------------- + + +def gaussian_truncation_bound(ds: Dataset) -> float: + """Union bound on the posterior mass outside the box: ``sum_i P(|theta_i - y_i| > + distance to the nearer edge)`` with the exact marginal ``N(y_i, Sigma_ii)``.""" + sigma = np.sqrt((ds.eigenvectors**2) @ ds.eigenvalues) + below = (ds.y - ds.lower) / sigma + above = (ds.upper - ds.y) / sigma + return float(sum(_upper_tail(b) + _upper_tail(a) for b, a in zip(below, above))) + + +def _upper_tail(x: float) -> float: + """``P(Z > x)`` for a unit normal, via ``erfc`` (no cancellation in the far tail).""" + return 0.5 * math.erfc(float(x) / math.sqrt(2.0)) + + +def log_evidence(ds: Dataset) -> tuple[float, dict]: + """``(ln Z, how)``.""" + if ds.kind == "gaussian": + bound = gaussian_truncation_bound(ds) + return -ds.log_volume, { + "method": "closed form: ln Z = -ln V (normalised Gaussian likelihood, uniform box)", + "truncation_bound": bound, + "log_evidence_error_bound": -math.log1p(-bound) if bound < 1 else float("inf"), + } + mass = banana_mass(ds) + return math.log(mass) - ds.log_volume, { + "method": "ln Z = ln(box mass) - ln V; box mass by Gauss-Legendre over x1 " + f"({X1_PANELS} panels x {X1_NODES} nodes) with closed-form normal CDFs in x_j", + "box_mass": mass, + "truncation_bound": 1.0 - mass, + } + + +def marginals(ds: Dataset) -> dict: + """``{key: marginal}`` in the ``_posterior.marginal`` convention.""" + if ds.kind == "gaussian": + sigma = np.sqrt((ds.eigenvectors**2) @ ds.eigenvalues) + z = np.asarray([_STD.inv_cdf(q) for q in QUANTILES]) + return { + key: _marginal_dict(ds.y[i] + sigma[i] * z, ds.y[i]) for i, key in enumerate(ds.keys) + } + nodes, weights = _x1_nodes(ds) + box = _xj_box_mass(ds, nodes) + out = {ds.keys[0]: _banana_x1_marginal(ds)} + for j in range(1, ds.dimension): + out[ds.keys[j]] = _banana_xj_marginal(ds, j, nodes, weights, box) + return out + + +def information(ds: Dataset, log_z: float) -> float: + """Kullback–Leibler information ``H = E_post[ln L] - ln Z`` (nats): the prior-to- + posterior compression a nested sampler must traverse (§7 live-point rule).""" + return float(max_log_likelihood(ds) - 0.5 * ds.dimension - log_z) + + +def sample(ds: Dataset, n: int, seed: int = 0) -> np.ndarray: + """``n`` exact iid posterior draws (rejection of the rare out-of-box draw).""" + rng = np.random.default_rng([ds.dimension, ds.data_seed, int(seed)]) + out = [] + have = 0 + while have < n: + z = rng.standard_normal((n, ds.dimension)) + if ds.kind == "gaussian": + theta = ds.y + (z * np.sqrt(ds.eigenvalues)) @ ds.eigenvectors.T + else: + theta = np.empty_like(z) + theta[:, 0] = ds.y[0] + ds.sigma1 * z[:, 0] + theta[:, 1:] = theta[:, [0]] ** 2 + ds.y[1:] + ds.sigma2 * z[:, 1:] + keep = np.all((theta >= ds.lower) & (theta <= ds.upper), axis=1) + out.append(theta[keep]) + have += int(keep.sum()) + return np.concatenate(out)[:n] + + +def whitened_stats(ds: Dataset, matrix, weights) -> dict: + """Protocol §4(b)3 on one weighted sample set: every whitened coordinate's median (in + units of the unit-normal sigma) and sigma ratio. Imported lazily by the runner.""" + from searches import _posterior as post + + u = whiten(ds, matrix) + stats = post.posterior_stats(u, weights, [f"u{i:03d}" for i in range(ds.dimension)]) + medians = {k: abs(s["median"]) / UNIT_SIGMA for k, s in stats.items()} + ratios = {k: s["sigma"] / UNIT_SIGMA for k, s in stats.items()} + worst_median = max(medians, key=medians.get) + lo, hi = min(ratios, key=ratios.get), max(ratios, key=ratios.get) + return { + "basis": "exact whitening map (protocol correlated_nd §4(b)3)", + "n_coordinates": ds.dimension, + "worst_median": medians[worst_median], + "worst_median_key": worst_median, + "sigma_ratio_min": ratios[lo], + "sigma_ratio_min_key": lo, + "sigma_ratio_max": ratios[hi], + "sigma_ratio_max_key": hi, + } diff --git a/scripts/misc/reference/exact_correlated_nd.py b/scripts/misc/reference/exact_correlated_nd.py new file mode 100644 index 00000000..32ed066d --- /dev/null +++ b/scripts/misc/reference/exact_correlated_nd.py @@ -0,0 +1,279 @@ +"""Write the exact ``correlated_nd`` reference for one dataset realisation and backend. + +Protocol ``wiki/project/protocol_correlated_nd.md`` §6: the family's references are +**exact by construction** (``models/correlated_nd_exact.py``) — no reference search is run. +One ``reference.json`` is written per dataset × backend × realisation under +``results/reference///`` (``data_seed/`` for a non-default +realisation), carrying the identity :data:`searches._protocol.REFERENCE_IDENTITY` +(dataset, backend, data_seed, assertion mechanism ``none``) so a row is judged only +against the reference of its own backend and realisation. + +The numbers are backend-independent; what is per backend is the **§6 agreement test**, +run before the file is written ``status: complete``: + +1. *Backend identity.* The backend's own figure of merit — PyAutoFit ``Fitness`` over the + family's Analysis, the path every search calls (``jax.jit`` on JAX) — at the exact mode + and at :data:`IDENTITY_POINTS` exact posterior draws equals the analytic ``ln L`` to + :data:`IDENTITY_TOLERANCE_NAT`. +2. *Exact draws reproduce the reference.* :data:`DRAWS` iid exact posterior draws, summarised + by the same ``_posterior`` code the runner uses: every median within + :data:`DRAW_MEDIAN_TOLERANCE_SIGMA` reference sigma, every sigma ratio and every whitened + sigma ratio within ``1 ± DRAW_SIGMA_TOLERANCE``, every whitened median within + :data:`DRAW_MEDIAN_TOLERANCE_SIGMA`. +3. *Truncation.* The fraction of unconstrained exact draws inside the box agrees with the + box mass the ln Z uses (within 5 binomial sigma, or exactly 1 when no draw leaves it). +4. *Control verdict.* A synthetic row built from the draws (posterior and evidence tasks, + with the exact ln Z) is ``accepted`` by ``correlated_nd@1``. + +A failed check writes ``status: failed`` with the reasons, so nothing is judged against it. + + python scripts/misc/reference/exact_correlated_nd.py --dataset corr_gaussian_d20 --backend numpy + python scripts/misc/reference/exact_correlated_nd.py --all # every dataset x backend +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +import subprocess +import sys +from datetime import UTC, datetime +from pathlib import Path + +ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +for _path in (str(ROOT), str(ROOT / "scripts" / "misc")): + if _path not in sys.path: + sys.path.insert(0, _path) + +from _autofit_inference_cli import ( # noqa: E402 + CORRELATED_ND_DATASETS, + library_revisions, + set_backend_env, +) + +BACKENDS = ("numpy", "jax_cpu") +IDENTITY_POINTS = 64 +IDENTITY_TOLERANCE_NAT = 1.0e-8 +DRAWS = 200_000 +DRAW_SEED = 0 +DRAW_MEDIAN_TOLERANCE_SIGMA = 0.02 +DRAW_SIGMA_TOLERANCE = 0.02 +SCHEMA_VERSION = 1 + + +def reference_payload(dataset: str, backend: str, data_seed: int | None = None) -> dict: + """Build (and self-test) the exact reference; imports autofit under ``backend``.""" + set_backend_env(backend, "fp64", 1) + import numpy as np + from autofit.non_linear.fitness import Fitness + from models import correlated_nd as fam + from models import correlated_nd_exact as exact + from searches import _posterior as post + from searches import _protocol as protocol + from simulators import correlated_nd as sim + + use_jax = backend == "jax_cpu" + ds = exact.load(sim.dataset_dir(dataset, data_seed, ROOT)) + log_z, how = exact.log_evidence(ds) + marginals = exact.marginals(ds) + mode = exact.mode(ds) + max_log_l = exact.max_log_likelihood(ds) + failures: list[str] = [] + + # 1. Backend identity through the searches' own Fitness path. + model = fam.build_model(ds) + keys = fam.parameter_keys(model) + assert tuple(keys) == ds.keys, (keys[:3], ds.keys[:3]) + fitness = Fitness( + model=model, + analysis=fam.AnalysisCorrelatedND(dataset=ds, use_jax=use_jax), + paths=None, + fom_is_log_likelihood=True, + resample_figure_of_merit=-1.0e99, + ) + call = fitness.call + if use_jax: + import jax + + call = jax.jit(fitness.call) + points = np.vstack([mode, exact.sample(ds, IDENTITY_POINTS - 1, seed=DRAW_SEED + 1)]) + backend_log_l = np.asarray([float(call(np.asarray(p, dtype=float))) for p in points]) + analytic_log_l = exact.log_likelihood(ds, points) + identity_delta = float(np.max(np.abs(backend_log_l - analytic_log_l))) + if not identity_delta <= IDENTITY_TOLERANCE_NAT: + failures.append(f"backend identity: max |ln L - analytic| {identity_delta:.3g} nat") + + # 2. Exact draws through the runner's statistics. + draws = exact.sample(ds, DRAWS, seed=DRAW_SEED) + weights = np.ones(len(draws)) + stats = post.posterior_stats(draws, weights, keys) + worst_median, worst_sigma = 0.0, 0.0 + for key in keys: + ref = marginals[key] + worst_median = max(worst_median, abs(stats[key]["median"] - ref["median"]) / ref["sigma"]) + worst_sigma = max(worst_sigma, abs(stats[key]["sigma"] / ref["sigma"] - 1.0)) + whitened = exact.whitened_stats(ds, draws, weights) + whitened_sigma = max( + abs(whitened["sigma_ratio_min"] - 1.0), abs(whitened["sigma_ratio_max"] - 1.0) + ) + if worst_median > DRAW_MEDIAN_TOLERANCE_SIGMA: + failures.append(f"draws: worst median offset {worst_median:.4f} sigma") + if worst_sigma > DRAW_SIGMA_TOLERANCE: + failures.append(f"draws: worst sigma ratio offset {worst_sigma:.4f}") + if whitened["worst_median"] > DRAW_MEDIAN_TOLERANCE_SIGMA: + failures.append(f"draws: worst whitened median {whitened['worst_median']:.4f}") + if whitened_sigma > DRAW_SIGMA_TOLERANCE: + failures.append(f"draws: worst whitened sigma ratio offset {whitened_sigma:.4f}") + + # 3. Truncation: unconstrained exact draws inside the box vs the box mass. + unconstrained = _unconstrained_draws(ds, DRAWS, np) + inside = float( + np.mean(np.all((unconstrained >= ds.lower) & (unconstrained <= ds.upper), axis=1)) + ) + mass = how.get("box_mass", 1.0 - how["truncation_bound"]) + binomial = math.sqrt(max(mass * (1.0 - mass), 1.0 / DRAWS**2) / DRAWS) + truncation_ok = abs(inside - mass) <= 5.0 * binomial or inside == 1.0 + if not truncation_ok: + failures.append(f"truncation: inside fraction {inside} vs box mass {mass}") + + reference = { + "schema_version": SCHEMA_VERSION, + "status": "complete" if not failures else "failed", + "exact": True, + "model": fam.MODEL_ID, + "protocol_id": protocol.CND_PROTOCOL_ID, + "dataset": dataset, + "backend": backend, + "data_seed": ds.data_seed, + "assertion_mechanism": fam.ASSERTION_MECHANISM, + "kind": ds.kind, + "dimension": ds.dimension, + "log_evidence": log_z, + "log_evidence_normalised": log_z, + "log_evidence_offset": 0.0, + "log_evidence_how": how, + "log_volume": ds.log_volume, + "information_nats": exact.information(ds, log_z), + "max_log_likelihood": max_log_l, + "map": { + "log_posterior": max_log_l, + "vector": [float(v) for v in mode], + "method": "exact mode (inside the box); PyAutoFit's uniform prior adds 0 there", + }, + "posterior": marginals, + "posterior_relabelled": marginals, + "relabelled_note": "no label symmetry: the relabelled posterior is the posterior", + "modes": None, + "ppc_chi2": None, + "whitened": {"worst_median": 0.0, "sigma_ratio_min": 1.0, "sigma_ratio_max": 1.0}, + "limitations": [], + "agreement": { + "test": "protocol correlated_nd §6 (exact reference self-test)", + "backend_identity": { + "points": int(len(points)), + "max_abs_delta_nat": identity_delta, + "tolerance_nat": IDENTITY_TOLERANCE_NAT, + "path": "autofit Fitness.call" + (" under jax.jit" if use_jax else ""), + }, + "draws": { + "n": DRAWS, + "seed": DRAW_SEED, + "worst_median_offset_sigma": worst_median, + "worst_sigma_ratio_offset": worst_sigma, + "whitened": whitened, + "tolerance_median_sigma": DRAW_MEDIAN_TOLERANCE_SIGMA, + "tolerance_sigma": DRAW_SIGMA_TOLERANCE, + }, + "truncation": { + "unconstrained_draws_inside": inside, + "box_mass": mass, + "ok": bool(truncation_ok), + }, + "failures": failures, + }, + "library_revisions": library_revisions(), + "written_at": datetime.now(UTC).strftime("%Y-%m-%dT%H:%M:%SZ"), + } + # 4. Control verdict: the exact draws, as a row, must be accepted (posterior, evidence). + control = {} + for task in ("posterior", "evidence"): + row = _control_row(reference, task, stats, whitened, log_z) + verdict = protocol.acceptance(row, reference, None, protocol.THRESHOLDS_CND1) + control[task] = verdict["acceptance"] + if verdict["acceptance"] != "accepted": + failures.append(f"control {task} verdict {verdict['acceptance']}: {verdict['reason']}") + reference["agreement"]["control_verdicts"] = control + if failures: + reference["status"] = "failed" + return reference + + +def _unconstrained_draws(ds, n: int, np): + rng = np.random.default_rng([ds.dimension, ds.data_seed, 99]) + z = rng.standard_normal((n, ds.dimension)) + if ds.kind == "gaussian": + return ds.y + (z * np.sqrt(ds.eigenvalues)) @ ds.eigenvectors.T + theta = np.empty_like(z) + theta[:, 0] = ds.y[0] + ds.sigma1 * z[:, 0] + theta[:, 1:] = theta[:, [0]] ** 2 + ds.y[1:] + ds.sigma2 * z[:, 1:] + return theta + + +def _control_row(reference: dict, task: str, stats: dict, whitened: dict, log_z: float) -> dict: + return { + "model": reference["model"], + "task": task, + "status": "complete", + "completed": True, + "sampler": "exact_draws", + "dataset": reference["dataset"], + "backend": reference["backend"], + "data_seed": reference["data_seed"], + "assertion_mechanism": reference["assertion_mechanism"], + "posterior_relabelled": stats, + "whitened": whitened, + "log_evidence": log_z, + "max_log_posterior": reference["map"]["log_posterior"], + } + + +def write(dataset: str, backend: str, data_seed: int | None = None) -> Path: + from searches import _protocol as protocol + + payload = reference_payload(dataset, backend, data_seed) + path = protocol.reference_file(ROOT, dataset, backend, payload["data_seed"]) + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(payload, indent=1) + "\n") + print(f" {payload['status']}: {path.relative_to(ROOT)} ln Z {payload['log_evidence']:.6f}") + if payload["agreement"]["failures"]: + print(" " + "; ".join(payload["agreement"]["failures"])) + return path + + +def main(argv=None) -> int: + parser = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) + parser.add_argument("--dataset", choices=CORRELATED_ND_DATASETS) + parser.add_argument("--backend", choices=BACKENDS) + parser.add_argument("--data-seed", type=int, default=None) + parser.add_argument("--all", action="store_true", help="every dataset x backend") + args = parser.parse_args(argv) + if args.all: + # One process per backend: the backend environment must be set before autofit loads. + status = 0 + for dataset in CORRELATED_ND_DATASETS: + for backend in BACKENDS: + command = [sys.executable, __file__, "--dataset", dataset, "--backend", backend] + if args.data_seed is not None: + command += ["--data-seed", str(args.data_seed)] + status |= subprocess.run(command, env=dict(os.environ)).returncode + return status + if not (args.dataset and args.backend): + parser.error("--dataset and --backend (or --all)") + path = write(args.dataset, args.backend, args.data_seed) + return 0 if json.loads(path.read_text())["status"] == "complete" else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/misc/simulators/correlated_nd.py b/scripts/misc/simulators/correlated_nd.py new file mode 100644 index 00000000..308880e5 --- /dev/null +++ b/scripts/misc/simulators/correlated_nd.py @@ -0,0 +1,292 @@ +""" +Simulator: the ``correlated_nd`` datasets +========================================= + +The second toy-likelihood family of the search benchmark (protocol +``wiki/project/protocol_correlated_nd.md``, ``correlated_nd@1``): high-dimensional, +ill-conditioned targets whose posterior and log evidence are known **by construction**, +so no reference search is ever run. + +Four datasets, one structure each (fixed by its ``structure_seed``); a ``data_seed`` +draws one noise realisation of the observation vector ``y``: + +- ``corr_gaussian_d20``, ``corr_gaussian_d50``, ``corr_gaussian_d100`` — a correlated + Gaussian likelihood ``L(theta) = N(y; theta, Sigma)`` in ``D`` = 20, 50, 100 dimensions. + ``Sigma = Q diag(lambda) Q^T`` with ``Q`` a seeded Haar-random orthogonal matrix (QR of + a standard-normal matrix, signs fixed by ``diag(R) > 0``) and ``lambda`` log-spaced + from 0.1 to 100, so the condition number is exactly ``10^3``. The truth ``theta*`` is + seeded in ``U(-10, 10)`` per axis and ``y = theta* + Q (sqrt(lambda) * z)``, + ``z ~ N(0, I)``. Under the uniform prior box the posterior is ``N(y, Sigma)``. +- ``rosenbrock_d20`` — the hybrid Rosenbrock "banana" of Pagani, Wiegand & Nadarajah + (2022, Scand. J. Stat. 49, 657) with ``n1 = 2`` (one shared coordinate) and + ``n2 = 19`` blocks, ``a = 1/20``, ``b = 100/20``, ``mu = 1``: ``x1 | y ~ N(y1, 1/(2a))`` + and ``x_j | x1, y ~ N(x1^2 + y_j, 1/(2b))`` for ``j = 2..20``. The map + ``(x1, x_j) -> (x1, x_j - x1^2)`` has unit Jacobian, so the density is normalised + exactly and can be sampled directly. The truth is ``x1* = 1``, ``x_j* = 1``; the data + are ``y1 = 1 + sigma1 z0`` and ``y_j = sigma2 z_j``. + +The uniform prior box is fixed by the structure (never by the data): per axis it extends +12–16 marginal sigma (seeded) either side of the truth for the Gaussians; for the banana +``x1`` extends 10–12 ``sigma1`` either side of 1 and every ``x_j`` covers +``[-c sigma2, max(x1)^2 + c sigma2]`` with ``c`` seeded in 12–16. A realisation whose +data sit more than :data:`MAX_DEVIATION_SIGMA` sigma from the truth on any axis is +refused (probability below 1e-4 at D = 100), so the truncation of the posterior by the +box is bounded (Gaussians, by a union bound below 1e-11) or integrated exactly +(banana) — the exact reference (``scripts/misc/reference/exact_correlated_nd.py``) +records which. + +Files per dataset directory (``dataset//`` for the default realisation, +``dataset//data_seed/`` for any other): ``data.json`` (the observation vector +``y``), ``model.json`` (the structure: eigenvalues and eigenvectors, or the banana +constants), ``priors.json`` (the box), ``truth.json`` (truth, seeds, generator). + +Pure numpy and reproducible: ``np.random.default_rng([structure_seed])`` for the +structure, ``np.random.default_rng([structure_seed, data_seed])`` for the data. + +Usage +----- + + python scripts/misc/simulators/correlated_nd.py # all four, data_seed 1 + python scripts/misc/simulators/correlated_nd.py --name corr_gaussian_d50 --data-seed 2 +""" + +from __future__ import annotations + +import json +import math +from pathlib import Path as _Path + +import numpy as np + + +def _repo_root() -> _Path: + for _p in _Path(__file__).resolve().parents: + if (_p / "ruff.toml").exists(): + return _p + raise RuntimeError("autofit_inference root (ruff.toml) not found") + + +_REPO_ROOT = _repo_root() + +FAMILY = "correlated_nd" + +#: name -> (kind, dimension, structure_seed). Every dataset's default realisation is +#: data_seed 1 (:data:`DEFAULT_DATA_SEED`). +DATASETS = { + "corr_gaussian_d20": ("gaussian", 20, 2020), + "corr_gaussian_d50": ("gaussian", 50, 2050), + "corr_gaussian_d100": ("gaussian", 100, 2100), + "rosenbrock_d20": ("rosenbrock", 20, 3020), +} +DEFAULT_DATA_SEED = 1 + +#: Gaussian structure (protocol §2): eigenvalues log-spaced over this range, condition +#: number ``EIGEN_RANGE[1] / EIGEN_RANGE[0]`` = 10^3 exactly. +EIGEN_RANGE = (0.1, 100.0) +CONDITION_NUMBER = EIGEN_RANGE[1] / EIGEN_RANGE[0] +TRUTH_RANGE = (-10.0, 10.0) +#: Gaussian prior box: ``truth -/+ margin * marginal sigma``, margin seeded per side. +GAUSSIAN_MARGIN_SIGMA = (12.0, 16.0) + +#: Hybrid Rosenbrock constants (Pagani et al. 2022): ``a``, ``b``, ``mu``, n1, n2. +ROSENBROCK_A = 1.0 / 20.0 +ROSENBROCK_B = 100.0 / 20.0 +ROSENBROCK_MU = 1.0 +ROSENBROCK_N1 = 2 +SIGMA1 = math.sqrt(1.0 / (2.0 * ROSENBROCK_A)) +SIGMA2 = math.sqrt(1.0 / (2.0 * ROSENBROCK_B)) +#: Banana prior box: x1 margin (in sigma1) and x_j margin (in sigma2), seeded per side. +ROSENBROCK_X1_MARGIN_SIGMA = (10.0, 12.0) +ROSENBROCK_XJ_MARGIN_SIGMA = (12.0, 16.0) + +#: A realisation whose data lie further than this many sigma from the truth on any +#: (whitened) axis is refused, which bounds the box truncation (module docstring). +MAX_DEVIATION_SIGMA = 5.0 + +GENERATOR = ( + "structure: numpy.random.default_rng([structure_seed]); " + "data: numpy.random.default_rng([structure_seed, data_seed]).standard_normal(D)" +) + + +def parameter_keys(dimension: int) -> list[str]: + """``x000``, ``x001``, … — zero-padded so the key order is the vector order.""" + return [f"x{i:03d}" for i in range(dimension)] + + +def haar_orthogonal(rng: np.random.Generator, dimension: int) -> np.ndarray: + """A Haar-random orthogonal matrix: QR of a standard-normal matrix with the signs of + ``diag(R)`` folded into ``Q`` (Mezzadri 2007), so it is unique given the draw.""" + q, r = np.linalg.qr(rng.standard_normal((dimension, dimension))) + return q * np.sign(np.diag(r)) + + +def structure(name: str) -> dict: + """The data-independent part of a dataset: truth, prior box, eigen-structure or the + banana constants. Pure function of the dataset's ``structure_seed``.""" + kind, dimension, structure_seed = DATASETS[name] + rng = np.random.default_rng([structure_seed]) + keys = parameter_keys(dimension) + if kind == "gaussian": + eigenvectors = haar_orthogonal(rng, dimension) + eigenvalues = np.logspace(math.log10(EIGEN_RANGE[0]), math.log10(EIGEN_RANGE[1]), dimension) + marginal_sigma = np.sqrt((eigenvectors**2) @ eigenvalues) + truth = rng.uniform(*TRUTH_RANGE, dimension) + below = rng.uniform(*GAUSSIAN_MARGIN_SIGMA, dimension) + above = rng.uniform(*GAUSSIAN_MARGIN_SIGMA, dimension) + lower = truth - below * marginal_sigma + upper = truth + above * marginal_sigma + return { + "kind": kind, + "dimension": dimension, + "structure_seed": structure_seed, + "keys": keys, + "truth": truth, + "lower": lower, + "upper": upper, + "eigenvalues": eigenvalues, + "eigenvectors": eigenvectors, + "marginal_sigma": marginal_sigma, + } + if kind == "rosenbrock": + truth = np.full(dimension, ROSENBROCK_MU**2) + truth[0] = ROSENBROCK_MU + x1_below, x1_above = rng.uniform(*ROSENBROCK_X1_MARGIN_SIGMA, 2) + x1_lower = ROSENBROCK_MU - x1_below * SIGMA1 + x1_upper = ROSENBROCK_MU + x1_above * SIGMA1 + x1_sq_max = max(x1_lower**2, x1_upper**2) + xj_below = rng.uniform(*ROSENBROCK_XJ_MARGIN_SIGMA, dimension - 1) + xj_above = rng.uniform(*ROSENBROCK_XJ_MARGIN_SIGMA, dimension - 1) + lower = np.concatenate([[x1_lower], -xj_below * SIGMA2]) + upper = np.concatenate([[x1_upper], x1_sq_max + xj_above * SIGMA2]) + return { + "kind": kind, + "dimension": dimension, + "structure_seed": structure_seed, + "keys": keys, + "truth": truth, + "lower": lower, + "upper": upper, + "a": ROSENBROCK_A, + "b": ROSENBROCK_B, + "mu": ROSENBROCK_MU, + "n1": ROSENBROCK_N1, + "n2": dimension - 1, + "sigma1": SIGMA1, + "sigma2": SIGMA2, + } + raise ValueError(f"unknown kind {kind!r}") + + +class RefusedRealisation(ValueError): + """A data realisation outside :data:`MAX_DEVIATION_SIGMA` (module docstring).""" + + +def simulate_data(name: str, data_seed: int, struct: dict | None = None) -> np.ndarray: + """The observation vector ``y`` — pure and reproducible from the two seeds.""" + struct = structure(name) if struct is None else struct + dimension = struct["dimension"] + rng = np.random.default_rng([struct["structure_seed"], int(data_seed)]) + z = rng.standard_normal(dimension) + if np.max(np.abs(z)) > MAX_DEVIATION_SIGMA: + raise RefusedRealisation( + f"{name} data_seed {data_seed}: a whitened deviation {np.max(np.abs(z)):.2f} " + f"exceeds {MAX_DEVIATION_SIGMA} sigma (protocol §2); choose another data_seed" + ) + if struct["kind"] == "gaussian": + return struct["truth"] + struct["eigenvectors"] @ (np.sqrt(struct["eigenvalues"]) * z) + y = np.empty(dimension) + y[0] = struct["mu"] + struct["sigma1"] * z[0] + y[1:] = struct["sigma2"] * z[1:] + return y + + +def dataset_dir(name: str, data_seed: int | None = None, root: _Path | None = None) -> _Path: + root = root if root is not None else _REPO_ROOT + base = root / "dataset" / name + if data_seed is None or int(data_seed) == DEFAULT_DATA_SEED: + return base + return base / f"data_seed{int(data_seed)}" + + +def _floats(values) -> list[float]: + return [float(v) for v in np.asarray(values).ravel()] + + +def model_json(struct: dict) -> dict: + """The structure as committed (``model.json``).""" + out = { + "family": FAMILY, + "kind": struct["kind"], + "dimension": struct["dimension"], + "structure_seed": struct["structure_seed"], + } + if struct["kind"] == "gaussian": + out["eigenvalues"] = _floats(struct["eigenvalues"]) + out["eigenvectors"] = [_floats(row) for row in struct["eigenvectors"]] + out["condition_number"] = float( + np.max(struct["eigenvalues"]) / np.min(struct["eigenvalues"]) + ) + out["marginal_sigma"] = _floats(struct["marginal_sigma"]) + out["note"] = "Sigma = eigenvectors @ diag(eigenvalues) @ eigenvectors.T (columns)" + else: + for field in ("a", "b", "mu", "n1", "n2", "sigma1", "sigma2"): + out[field] = struct[field] + out["note"] = ( + "hybrid Rosenbrock (Pagani et al. 2022), n1 = 2: x1 ~ N(y1, sigma1^2), " + "x_j | x1 ~ N(x1^2 + y_j, sigma2^2), j = 2..D" + ) + return out + + +def simulate(name: str, data_seed: int | None = None, output_root: _Path | None = None) -> _Path: + """Write one dataset realisation; returns its directory.""" + seed = DEFAULT_DATA_SEED if data_seed is None else int(data_seed) + struct = structure(name) + y = simulate_data(name, seed, struct) + path = dataset_dir(name, seed, output_root) + path.mkdir(parents=True, exist_ok=True) + + def dump(filename, payload): + (path / filename).write_text(json.dumps(payload, indent=1) + "\n") + + keys = struct["keys"] + dump("data.json", _floats(y)) + dump("model.json", model_json(struct)) + dump( + "priors.json", + { + "kind": "uniform", + "lower": dict(zip(keys, _floats(struct["lower"]))), + "upper": dict(zip(keys, _floats(struct["upper"]))), + }, + ) + dump( + "truth.json", + { + "dataset": name, + "family": FAMILY, + "kind": struct["kind"], + "dimension": struct["dimension"], + "data_seed": seed, + "structure_seed": struct["structure_seed"], + "generator": GENERATOR, + "max_deviation_sigma": MAX_DEVIATION_SIGMA, + "parameters": dict(zip(keys, _floats(struct["truth"]))), + }, + ) + print(f" wrote {path}") + return path + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) + parser.add_argument("--name", choices=sorted(DATASETS), default=None) + parser.add_argument("--data-seed", type=int, default=None) + parser.add_argument("--output-root", type=_Path, default=None) + args = parser.parse_args() + names = [args.name] if args.name else list(DATASETS) + for dataset_name in names: + simulate(dataset_name, data_seed=args.data_seed, output_root=args.output_root) From 1bba46ac6c56a9d716bd9d8a466f8bae07e18ba6 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 20:46:46 +0100 Subject: [PATCH 03/15] correlated_nd: harness wiring, correlated_nd@1 verdicts and the pilot manifest (B5c) The runner gains model_type correlated_nd (60 literal leaves), the search-level seed on every family row and the whitened-coordinate statistic; _protocol gains correlated_nd@1 (its thresholds, section 4(b)3, offset-free evidence) while every gaussian_x3 verdict is unchanged; searches/_correlated_nd.py is the pilot's expected-run manifest, deferral rules, identity and attempt accounting. Family rows are kept out of the gaussian_x3 catalogue, calibration and summary records, and get their own catalogue section and README region. Tests cover exactness, seed determinism, deferrals, accounting and verdicts. Refs #14 Co-Authored-By: Claude Opus 5.5 --- AGENTS.md | 23 +- _autofit_inference_cli.py | 28 +- .../searches/bfgs/correlated_nd.py | 21 + .../searches/blackjax_nuts/correlated_nd.py | 23 + .../blackjax_nuts_warm/correlated_nd.py | 25 ++ .../searches/dynesty_dynamic/correlated_nd.py | 25 ++ .../searches/dynesty_static/correlated_nd.py | 23 + .../searches/emcee/correlated_nd.py | 21 + .../searches/lbfgs/correlated_nd.py | 21 + .../multi_start_adabelief/correlated_nd.py | 25 ++ .../multi_start_adam/correlated_nd.py | 25 ++ .../multi_start_lion/correlated_nd.py | 25 ++ .../multi_start_prodigy/correlated_nd.py | 25 ++ .../searches/nautilus/correlated_nd.py | 23 + .../searches/nss/correlated_nd.py | 21 + .../searches/smc/correlated_nd.py | 21 + .../searches/zeus/correlated_nd.py | 21 + .../searches/bfgs/correlated_nd.py | 21 + .../searches/blackjax_nuts/correlated_nd.py | 23 + .../blackjax_nuts_warm/correlated_nd.py | 25 ++ .../searches/dynesty_dynamic/correlated_nd.py | 23 + .../searches/dynesty_static/correlated_nd.py | 23 + .../searches/emcee/correlated_nd.py | 21 + .../searches/lbfgs/correlated_nd.py | 21 + .../multi_start_adabelief/correlated_nd.py | 25 ++ .../multi_start_adam/correlated_nd.py | 25 ++ .../multi_start_lion/correlated_nd.py | 25 ++ .../multi_start_prodigy/correlated_nd.py | 25 ++ .../searches/nautilus/correlated_nd.py | 23 + .../searches/nss/correlated_nd.py | 21 + .../searches/smc/correlated_nd.py | 21 + .../searches/zeus/correlated_nd.py | 21 + .../searches/bfgs/correlated_nd.py | 21 + .../searches/blackjax_nuts/correlated_nd.py | 23 + .../blackjax_nuts_warm/correlated_nd.py | 25 ++ .../searches/dynesty_dynamic/correlated_nd.py | 23 + .../searches/dynesty_static/correlated_nd.py | 23 + .../searches/emcee/correlated_nd.py | 21 + .../searches/lbfgs/correlated_nd.py | 21 + .../multi_start_adabelief/correlated_nd.py | 25 ++ .../multi_start_adam/correlated_nd.py | 25 ++ .../multi_start_lion/correlated_nd.py | 25 ++ .../multi_start_prodigy/correlated_nd.py | 25 ++ .../searches/nautilus/correlated_nd.py | 23 + .../searches/nss/correlated_nd.py | 21 + .../searches/smc/correlated_nd.py | 21 + .../searches/zeus/correlated_nd.py | 21 + scripts/misc/models/correlated_nd.py | 135 ++++++ scripts/misc/searches/_correlated_nd.py | 342 +++++++++++++++ scripts/misc/searches/_posterior.py | 37 +- scripts/misc/searches/_protocol.py | 150 ++++++- scripts/misc/searches/_runner.py | 129 ++++-- scripts/misc/test/test_correlated_nd.py | 402 ++++++++++++++++++ scripts/misc/tooling/build_catalogue.py | 62 ++- scripts/misc/tooling/build_readme.py | 55 +++ .../misc/tooling/export_inference_summary.py | 6 + .../searches/bfgs/correlated_nd.py | 21 + .../searches/blackjax_nuts/correlated_nd.py | 23 + .../blackjax_nuts_warm/correlated_nd.py | 23 + .../searches/dynesty_dynamic/correlated_nd.py | 23 + .../searches/dynesty_static/correlated_nd.py | 23 + .../searches/emcee/correlated_nd.py | 21 + .../searches/lbfgs/correlated_nd.py | 21 + .../multi_start_adabelief/correlated_nd.py | 25 ++ .../multi_start_adam/correlated_nd.py | 23 + .../multi_start_lion/correlated_nd.py | 23 + .../multi_start_prodigy/correlated_nd.py | 25 ++ .../searches/nautilus/correlated_nd.py | 21 + .../searches/nss/correlated_nd.py | 21 + .../searches/smc/correlated_nd.py | 21 + .../searches/zeus/correlated_nd.py | 21 + 71 files changed, 2663 insertions(+), 72 deletions(-) create mode 100644 scripts/corr_gaussian_d100/searches/bfgs/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/blackjax_nuts/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/blackjax_nuts_warm/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/dynesty_dynamic/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/dynesty_static/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/emcee/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/lbfgs/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/multi_start_adabelief/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/multi_start_adam/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/multi_start_lion/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/multi_start_prodigy/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/nautilus/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/nss/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/smc/correlated_nd.py create mode 100644 scripts/corr_gaussian_d100/searches/zeus/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/bfgs/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/blackjax_nuts/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/blackjax_nuts_warm/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/dynesty_dynamic/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/dynesty_static/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/emcee/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/lbfgs/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/multi_start_adabelief/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/multi_start_adam/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/multi_start_lion/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/multi_start_prodigy/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/nautilus/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/nss/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/smc/correlated_nd.py create mode 100644 scripts/corr_gaussian_d20/searches/zeus/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/bfgs/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/blackjax_nuts/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/blackjax_nuts_warm/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/dynesty_dynamic/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/dynesty_static/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/emcee/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/lbfgs/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/multi_start_adabelief/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/multi_start_adam/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/multi_start_lion/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/multi_start_prodigy/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/nautilus/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/nss/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/smc/correlated_nd.py create mode 100644 scripts/corr_gaussian_d50/searches/zeus/correlated_nd.py create mode 100644 scripts/misc/models/correlated_nd.py create mode 100644 scripts/misc/searches/_correlated_nd.py create mode 100644 scripts/misc/test/test_correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/bfgs/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/blackjax_nuts/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/blackjax_nuts_warm/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/dynesty_dynamic/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/dynesty_static/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/emcee/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/lbfgs/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/multi_start_adabelief/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/multi_start_adam/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/multi_start_lion/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/multi_start_prodigy/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/nautilus/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/nss/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/smc/correlated_nd.py create mode 100644 scripts/rosenbrock_d20/searches/zeus/correlated_nd.py diff --git a/AGENTS.md b/AGENTS.md index a5e38e2f..f6b849dc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -45,6 +45,14 @@ and it changes only through a new version committed before the first row it judg The thresholds live once, in `scripts/misc/searches/_protocol.py`; PLACEHOLDER values are calibrated in the wave-1 pilot and then frozen. Wave 1 ranks nothing. +The second family, `correlated_nd` (B5c: correlated Gaussians at D = 20/50/100 and a D = 20 +Rosenbrock banana, exact references), has its own pre-registered protocol +[`wiki/project/protocol_correlated_nd.md`](wiki/project/protocol_correlated_nd.md) +(`correlated_nd@1`, `_protocol.THRESHOLDS_CND1`), its own manifest +(`searches/_correlated_nd.py`) and its own catalogue section. Its rows are never mixed into +`gaussian_x3` catalogues, calibration or summary records, and nothing is ranked across +families. + ## Import model and leaves `ruff.toml` is the root sentinel: every script walks up to it and puts the root and @@ -79,16 +87,21 @@ _autofit_inference_cli.py flags, the {local,ral}_{numpy,jax_cpu}_{fp64,fp32} gr config/general.yaml PyAutoConf overrides (outputs kept) dataset// committed data/noise_map/model/truth JSON (seeded) scripts//searches//gaussian_x3.py the leaves -scripts/misc/models/ the gaussian_x3 model, priors and Analysis +scripts//searches//correlated_nd.py the second family's leaves (B5c) +scripts/misc/models/ the gaussian_x3 and correlated_nd models, priors and Analysis; + correlated_nd_exact.py (every exact posterior quantity) scripts/misc/searches/ _runner.py (run_search + registry), _posterior.py, _protocol.py, _metrics.py (MLTracker), _pilot.py (wave-1 manifest), _wave2.py (scored wave-2 manifest, identity, accounting, pin), - judge_wave2.py (@2 admit/accounting CLI -> results/accounting/) -scripts/misc/reference/ reference-posterior, MAP and constant-likelihood runs + combiner -scripts/misc/simulators/ the seeded dataset simulator + judge_wave2.py (@2 admit/accounting CLI -> results/accounting/), + _correlated_nd.py (the correlated_nd pilot manifest, deferrals) +scripts/misc/reference/ reference-posterior, MAP and constant-likelihood runs + combiner; + exact_correlated_nd.py (the exact references + §6 self-test) +scripts/misc/simulators/ the seeded dataset simulators (gaussian_x3, correlated_nd) scripts/misc/tooling/ build_readme.py, export_inference_summary.py, build_catalogue.py (wave-1 pilot + gaussian_x3@2 sections), plan_wave2.py, - write_probe_timeouts.py (probe-first @2 timeouts) + write_probe_timeouts.py (probe-first @2 timeouts), + plan_correlated_nd.py (the correlated_nd pilot submit) scripts/misc/wall/ the WALL-BASIS submit gate + rates from the pilot walls scripts/misc/test/ unit tests + the exporter fixture results/reference/ reference posteriors per dataset and backend diff --git a/_autofit_inference_cli.py b/_autofit_inference_cli.py index c931d75a..fef9c0ed 100644 --- a/_autofit_inference_cli.py +++ b/_autofit_inference_cli.py @@ -51,8 +51,16 @@ #: ``(where, backend, precision)`` — one group per field. CONFIG_NAME_RE = re.compile(r"^(local|ral)_(numpy|jax_cpu)_(fp64|fp32)$") -#: The datasets a leaf may name (``dataset//``). -DATASETS = ("gaussian_x3_blend", "gaussian_x3_separated") +#: The datasets a leaf may name (``dataset//``): the gaussian_x3 pair, then the +#: second family's (``correlated_nd``, B5c; ``scripts/misc/simulators/correlated_nd.py``). +GAUSSIAN_X3_DATASETS = ("gaussian_x3_blend", "gaussian_x3_separated") +CORRELATED_ND_DATASETS = ( + "corr_gaussian_d20", + "corr_gaussian_d50", + "corr_gaussian_d100", + "rosenbrock_d20", +) +DATASETS = GAUSSIAN_X3_DATASETS + CORRELATED_ND_DATASETS #: ``--compile-cache``: ``cold`` disables JAX's persistent compilation cache so #: ``compile_s`` is a full trace + lower + compile; ``warm`` leaves it on. The two are @@ -157,8 +165,8 @@ def build_parser(default_config_name: str = "local_numpy_fp64") -> argparse.Argu type=int, choices=(1, 2), default=1, - help="1 = the wave-1 pilot (gaussian_x3@1); 2 = scored wave 2 (gaussian_x3@2, " - "refused unless autofit is the pinned revision)", + help="1 = the wave-1 pilot (gaussian_x3@1; correlated_nd@1 for that family); " + "2 = scored wave 2 (gaussian_x3@2, refused unless autofit is the pinned revision)", ) return parser @@ -263,11 +271,19 @@ def library_revisions(libraries=("autonerves", "autofit")) -> dict: def dataset_path(dataset: str, data_seed: int | None = None, root: Path = ROOT) -> Path: """``dataset//`` (or ``…/data_seed/`` for a non-default realisation).""" sys.path.insert(0, str(root / "scripts" / "misc")) - from simulators.gaussian_x3 import dataset_dir + if dataset in CORRELATED_ND_DATASETS: + from simulators.correlated_nd import dataset_dir + else: + from simulators.gaussian_x3 import dataset_dir return dataset_dir(dataset, data_seed, root) +def simulator_for(dataset: str) -> str: + """The simulator script (below ``scripts/misc/simulators/``) that writes ``dataset``.""" + return "correlated_nd.py" if dataset in CORRELATED_ND_DATASETS else "gaussian_x3.py" + + def auto_simulate_if_missing(dataset: str, data_seed: int | None = None, root: Path = ROOT) -> Path: """Simulate the dataset when its ``data.json`` is absent; return its directory.""" path = dataset_path(dataset, data_seed, root) @@ -275,7 +291,7 @@ def auto_simulate_if_missing(dataset: str, data_seed: int | None = None, root: P return path command = [ sys.executable, - str(root / "scripts" / "misc" / "simulators" / "gaussian_x3.py"), + str(root / "scripts" / "misc" / "simulators" / simulator_for(dataset)), "--name", dataset, "--output-root", diff --git a/scripts/corr_gaussian_d100/searches/bfgs/correlated_nd.py b/scripts/corr_gaussian_d100/searches/bfgs/correlated_nd.py new file mode 100644 index 00000000..da21ecf1 --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/bfgs/correlated_nd.py @@ -0,0 +1,21 @@ +"""BFGS on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/bfgs/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="bfgs", dataset_class="corr_gaussian_d100", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d100/searches/blackjax_nuts/correlated_nd.py b/scripts/corr_gaussian_d100/searches/blackjax_nuts/correlated_nd.py new file mode 100644 index 00000000..971fa40e --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/blackjax_nuts/correlated_nd.py @@ -0,0 +1,23 @@ +"""BlackJAXNUTS on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/blackjax_nuts/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``warmup_200_samples_500`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="blackjax_nuts", dataset_class="corr_gaussian_d100", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d100/searches/blackjax_nuts_warm/correlated_nd.py b/scripts/corr_gaussian_d100/searches/blackjax_nuts_warm/correlated_nd.py new file mode 100644 index 00000000..29290417 --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/blackjax_nuts_warm/correlated_nd.py @@ -0,0 +1,25 @@ +"""BlackJAXNUTS on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/blackjax_nuts_warm/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``warmup_200_samples_500`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="blackjax_nuts_warm", + dataset_class="corr_gaussian_d100", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d100/searches/dynesty_dynamic/correlated_nd.py b/scripts/corr_gaussian_d100/searches/dynesty_dynamic/correlated_nd.py new file mode 100644 index 00000000..c9f4c9d0 --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/dynesty_dynamic/correlated_nd.py @@ -0,0 +1,25 @@ +"""DynestyDynamic on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/dynesty_dynamic/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="dynesty_dynamic", + dataset_class="corr_gaussian_d100", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d100/searches/dynesty_static/correlated_nd.py b/scripts/corr_gaussian_d100/searches/dynesty_static/correlated_nd.py new file mode 100644 index 00000000..a08e7d3a --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/dynesty_static/correlated_nd.py @@ -0,0 +1,23 @@ +"""DynestyStatic on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/dynesty_static/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``nlive_200`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="dynesty_static", dataset_class="corr_gaussian_d100", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d100/searches/emcee/correlated_nd.py b/scripts/corr_gaussian_d100/searches/emcee/correlated_nd.py new file mode 100644 index 00000000..9f511300 --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/emcee/correlated_nd.py @@ -0,0 +1,21 @@ +"""Emcee on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/emcee/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``walkers_50_steps_2000`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="emcee", dataset_class="corr_gaussian_d100", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d100/searches/lbfgs/correlated_nd.py b/scripts/corr_gaussian_d100/searches/lbfgs/correlated_nd.py new file mode 100644 index 00000000..5bfd0143 --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/lbfgs/correlated_nd.py @@ -0,0 +1,21 @@ +"""LBFGS on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/lbfgs/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="lbfgs", dataset_class="corr_gaussian_d100", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d100/searches/multi_start_adabelief/correlated_nd.py b/scripts/corr_gaussian_d100/searches/multi_start_adabelief/correlated_nd.py new file mode 100644 index 00000000..32230dfe --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/multi_start_adabelief/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartADABelief on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/multi_start_adabelief/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_adabelief", + dataset_class="corr_gaussian_d100", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d100/searches/multi_start_adam/correlated_nd.py b/scripts/corr_gaussian_d100/searches/multi_start_adam/correlated_nd.py new file mode 100644 index 00000000..6f8305cf --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/multi_start_adam/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartAdam on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/multi_start_adam/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_adam", + dataset_class="corr_gaussian_d100", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d100/searches/multi_start_lion/correlated_nd.py b/scripts/corr_gaussian_d100/searches/multi_start_lion/correlated_nd.py new file mode 100644 index 00000000..c2acdfec --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/multi_start_lion/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartLion on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/multi_start_lion/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_lion", + dataset_class="corr_gaussian_d100", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d100/searches/multi_start_prodigy/correlated_nd.py b/scripts/corr_gaussian_d100/searches/multi_start_prodigy/correlated_nd.py new file mode 100644 index 00000000..18d62f20 --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/multi_start_prodigy/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartProdigy on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/multi_start_prodigy/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_prodigy", + dataset_class="corr_gaussian_d100", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d100/searches/nautilus/correlated_nd.py b/scripts/corr_gaussian_d100/searches/nautilus/correlated_nd.py new file mode 100644 index 00000000..2b59d97e --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/nautilus/correlated_nd.py @@ -0,0 +1,23 @@ +"""Nautilus on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/nautilus/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``n_live_100`` (default), ``n_live_200``, ``n_live_400``. The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="nautilus", dataset_class="corr_gaussian_d100", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d100/searches/nss/correlated_nd.py b/scripts/corr_gaussian_d100/searches/nss/correlated_nd.py new file mode 100644 index 00000000..6f93a35d --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/nss/correlated_nd.py @@ -0,0 +1,21 @@ +"""NSS on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/nss/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``n_live_200`` (default), ``n_live_200_mcmc_steps_50``. The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="nss", dataset_class="corr_gaussian_d100", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d100/searches/smc/correlated_nd.py b/scripts/corr_gaussian_d100/searches/smc/correlated_nd.py new file mode 100644 index 00000000..96b0aa0a --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/smc/correlated_nd.py @@ -0,0 +1,21 @@ +"""SMC on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/smc/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="smc", dataset_class="corr_gaussian_d100", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d100/searches/zeus/correlated_nd.py b/scripts/corr_gaussian_d100/searches/zeus/correlated_nd.py new file mode 100644 index 00000000..66f17f97 --- /dev/null +++ b/scripts/corr_gaussian_d100/searches/zeus/correlated_nd.py @@ -0,0 +1,21 @@ +"""Zeus on ``corr_gaussian_d100`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d100/searches/zeus/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``walkers_50_steps_2000`` (default). The row lands under ``results/searches/corr_gaussian_d100/``; judged against the exact +reference ``results/reference/corr_gaussian_d100//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="zeus", dataset_class="corr_gaussian_d100", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d20/searches/bfgs/correlated_nd.py b/scripts/corr_gaussian_d20/searches/bfgs/correlated_nd.py new file mode 100644 index 00000000..e90c7eb3 --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/bfgs/correlated_nd.py @@ -0,0 +1,21 @@ +"""BFGS on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/bfgs/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="bfgs", dataset_class="corr_gaussian_d20", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d20/searches/blackjax_nuts/correlated_nd.py b/scripts/corr_gaussian_d20/searches/blackjax_nuts/correlated_nd.py new file mode 100644 index 00000000..d9e0d244 --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/blackjax_nuts/correlated_nd.py @@ -0,0 +1,23 @@ +"""BlackJAXNUTS on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/blackjax_nuts/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``warmup_200_samples_500`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="blackjax_nuts", dataset_class="corr_gaussian_d20", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d20/searches/blackjax_nuts_warm/correlated_nd.py b/scripts/corr_gaussian_d20/searches/blackjax_nuts_warm/correlated_nd.py new file mode 100644 index 00000000..0187f95b --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/blackjax_nuts_warm/correlated_nd.py @@ -0,0 +1,25 @@ +"""BlackJAXNUTS on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/blackjax_nuts_warm/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``warmup_200_samples_500`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="blackjax_nuts_warm", + dataset_class="corr_gaussian_d20", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d20/searches/dynesty_dynamic/correlated_nd.py b/scripts/corr_gaussian_d20/searches/dynesty_dynamic/correlated_nd.py new file mode 100644 index 00000000..82ab44c3 --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/dynesty_dynamic/correlated_nd.py @@ -0,0 +1,23 @@ +"""DynestyDynamic on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/dynesty_dynamic/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="dynesty_dynamic", dataset_class="corr_gaussian_d20", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d20/searches/dynesty_static/correlated_nd.py b/scripts/corr_gaussian_d20/searches/dynesty_static/correlated_nd.py new file mode 100644 index 00000000..d4a83f24 --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/dynesty_static/correlated_nd.py @@ -0,0 +1,23 @@ +"""DynestyStatic on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/dynesty_static/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``nlive_200`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="dynesty_static", dataset_class="corr_gaussian_d20", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d20/searches/emcee/correlated_nd.py b/scripts/corr_gaussian_d20/searches/emcee/correlated_nd.py new file mode 100644 index 00000000..1a321a75 --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/emcee/correlated_nd.py @@ -0,0 +1,21 @@ +"""Emcee on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/emcee/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``walkers_50_steps_2000`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="emcee", dataset_class="corr_gaussian_d20", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d20/searches/lbfgs/correlated_nd.py b/scripts/corr_gaussian_d20/searches/lbfgs/correlated_nd.py new file mode 100644 index 00000000..56dc9de8 --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/lbfgs/correlated_nd.py @@ -0,0 +1,21 @@ +"""LBFGS on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/lbfgs/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="lbfgs", dataset_class="corr_gaussian_d20", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d20/searches/multi_start_adabelief/correlated_nd.py b/scripts/corr_gaussian_d20/searches/multi_start_adabelief/correlated_nd.py new file mode 100644 index 00000000..83f5dd63 --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/multi_start_adabelief/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartADABelief on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/multi_start_adabelief/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_adabelief", + dataset_class="corr_gaussian_d20", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d20/searches/multi_start_adam/correlated_nd.py b/scripts/corr_gaussian_d20/searches/multi_start_adam/correlated_nd.py new file mode 100644 index 00000000..f35a7858 --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/multi_start_adam/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartAdam on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/multi_start_adam/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_adam", + dataset_class="corr_gaussian_d20", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d20/searches/multi_start_lion/correlated_nd.py b/scripts/corr_gaussian_d20/searches/multi_start_lion/correlated_nd.py new file mode 100644 index 00000000..0e94498a --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/multi_start_lion/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartLion on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/multi_start_lion/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_lion", + dataset_class="corr_gaussian_d20", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d20/searches/multi_start_prodigy/correlated_nd.py b/scripts/corr_gaussian_d20/searches/multi_start_prodigy/correlated_nd.py new file mode 100644 index 00000000..35985afb --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/multi_start_prodigy/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartProdigy on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/multi_start_prodigy/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_prodigy", + dataset_class="corr_gaussian_d20", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d20/searches/nautilus/correlated_nd.py b/scripts/corr_gaussian_d20/searches/nautilus/correlated_nd.py new file mode 100644 index 00000000..587f5507 --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/nautilus/correlated_nd.py @@ -0,0 +1,23 @@ +"""Nautilus on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/nautilus/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``n_live_100`` (default), ``n_live_200``, ``n_live_400``. The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="nautilus", dataset_class="corr_gaussian_d20", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d20/searches/nss/correlated_nd.py b/scripts/corr_gaussian_d20/searches/nss/correlated_nd.py new file mode 100644 index 00000000..60d6f12e --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/nss/correlated_nd.py @@ -0,0 +1,21 @@ +"""NSS on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/nss/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``n_live_200`` (default), ``n_live_200_mcmc_steps_50``. The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="nss", dataset_class="corr_gaussian_d20", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d20/searches/smc/correlated_nd.py b/scripts/corr_gaussian_d20/searches/smc/correlated_nd.py new file mode 100644 index 00000000..4e2ac56d --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/smc/correlated_nd.py @@ -0,0 +1,21 @@ +"""SMC on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/smc/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="smc", dataset_class="corr_gaussian_d20", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d20/searches/zeus/correlated_nd.py b/scripts/corr_gaussian_d20/searches/zeus/correlated_nd.py new file mode 100644 index 00000000..2c9e93e8 --- /dev/null +++ b/scripts/corr_gaussian_d20/searches/zeus/correlated_nd.py @@ -0,0 +1,21 @@ +"""Zeus on ``corr_gaussian_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d20/searches/zeus/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``walkers_50_steps_2000`` (default). The row lands under ``results/searches/corr_gaussian_d20/``; judged against the exact +reference ``results/reference/corr_gaussian_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="zeus", dataset_class="corr_gaussian_d20", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d50/searches/bfgs/correlated_nd.py b/scripts/corr_gaussian_d50/searches/bfgs/correlated_nd.py new file mode 100644 index 00000000..9a35d62e --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/bfgs/correlated_nd.py @@ -0,0 +1,21 @@ +"""BFGS on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/bfgs/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="bfgs", dataset_class="corr_gaussian_d50", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d50/searches/blackjax_nuts/correlated_nd.py b/scripts/corr_gaussian_d50/searches/blackjax_nuts/correlated_nd.py new file mode 100644 index 00000000..ebf42a22 --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/blackjax_nuts/correlated_nd.py @@ -0,0 +1,23 @@ +"""BlackJAXNUTS on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/blackjax_nuts/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``warmup_200_samples_500`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="blackjax_nuts", dataset_class="corr_gaussian_d50", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d50/searches/blackjax_nuts_warm/correlated_nd.py b/scripts/corr_gaussian_d50/searches/blackjax_nuts_warm/correlated_nd.py new file mode 100644 index 00000000..c2aff5ac --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/blackjax_nuts_warm/correlated_nd.py @@ -0,0 +1,25 @@ +"""BlackJAXNUTS on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/blackjax_nuts_warm/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``warmup_200_samples_500`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="blackjax_nuts_warm", + dataset_class="corr_gaussian_d50", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d50/searches/dynesty_dynamic/correlated_nd.py b/scripts/corr_gaussian_d50/searches/dynesty_dynamic/correlated_nd.py new file mode 100644 index 00000000..cd2895bb --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/dynesty_dynamic/correlated_nd.py @@ -0,0 +1,23 @@ +"""DynestyDynamic on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/dynesty_dynamic/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="dynesty_dynamic", dataset_class="corr_gaussian_d50", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d50/searches/dynesty_static/correlated_nd.py b/scripts/corr_gaussian_d50/searches/dynesty_static/correlated_nd.py new file mode 100644 index 00000000..b057ee77 --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/dynesty_static/correlated_nd.py @@ -0,0 +1,23 @@ +"""DynestyStatic on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/dynesty_static/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``nlive_200`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="dynesty_static", dataset_class="corr_gaussian_d50", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d50/searches/emcee/correlated_nd.py b/scripts/corr_gaussian_d50/searches/emcee/correlated_nd.py new file mode 100644 index 00000000..0b8578ed --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/emcee/correlated_nd.py @@ -0,0 +1,21 @@ +"""Emcee on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/emcee/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``walkers_50_steps_2000`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="emcee", dataset_class="corr_gaussian_d50", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d50/searches/lbfgs/correlated_nd.py b/scripts/corr_gaussian_d50/searches/lbfgs/correlated_nd.py new file mode 100644 index 00000000..867b16eb --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/lbfgs/correlated_nd.py @@ -0,0 +1,21 @@ +"""LBFGS on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/lbfgs/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="lbfgs", dataset_class="corr_gaussian_d50", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d50/searches/multi_start_adabelief/correlated_nd.py b/scripts/corr_gaussian_d50/searches/multi_start_adabelief/correlated_nd.py new file mode 100644 index 00000000..804b7b09 --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/multi_start_adabelief/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartADABelief on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/multi_start_adabelief/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_adabelief", + dataset_class="corr_gaussian_d50", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d50/searches/multi_start_adam/correlated_nd.py b/scripts/corr_gaussian_d50/searches/multi_start_adam/correlated_nd.py new file mode 100644 index 00000000..a4256ef7 --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/multi_start_adam/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartAdam on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/multi_start_adam/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_adam", + dataset_class="corr_gaussian_d50", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d50/searches/multi_start_lion/correlated_nd.py b/scripts/corr_gaussian_d50/searches/multi_start_lion/correlated_nd.py new file mode 100644 index 00000000..afac7947 --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/multi_start_lion/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartLion on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/multi_start_lion/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_lion", + dataset_class="corr_gaussian_d50", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d50/searches/multi_start_prodigy/correlated_nd.py b/scripts/corr_gaussian_d50/searches/multi_start_prodigy/correlated_nd.py new file mode 100644 index 00000000..57e814be --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/multi_start_prodigy/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartProdigy on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/multi_start_prodigy/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_prodigy", + dataset_class="corr_gaussian_d50", + model_type="correlated_nd", + ) + ) diff --git a/scripts/corr_gaussian_d50/searches/nautilus/correlated_nd.py b/scripts/corr_gaussian_d50/searches/nautilus/correlated_nd.py new file mode 100644 index 00000000..3bed2170 --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/nautilus/correlated_nd.py @@ -0,0 +1,23 @@ +"""Nautilus on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/nautilus/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``n_live_100`` (default), ``n_live_200``, ``n_live_400``. The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="nautilus", dataset_class="corr_gaussian_d50", model_type="correlated_nd" + ) + ) diff --git a/scripts/corr_gaussian_d50/searches/nss/correlated_nd.py b/scripts/corr_gaussian_d50/searches/nss/correlated_nd.py new file mode 100644 index 00000000..ec701417 --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/nss/correlated_nd.py @@ -0,0 +1,21 @@ +"""NSS on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/nss/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``n_live_200`` (default), ``n_live_200_mcmc_steps_50``. The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="nss", dataset_class="corr_gaussian_d50", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d50/searches/smc/correlated_nd.py b/scripts/corr_gaussian_d50/searches/smc/correlated_nd.py new file mode 100644 index 00000000..151703eb --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/smc/correlated_nd.py @@ -0,0 +1,21 @@ +"""SMC on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/smc/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="smc", dataset_class="corr_gaussian_d50", model_type="correlated_nd") + ) diff --git a/scripts/corr_gaussian_d50/searches/zeus/correlated_nd.py b/scripts/corr_gaussian_d50/searches/zeus/correlated_nd.py new file mode 100644 index 00000000..fb14627a --- /dev/null +++ b/scripts/corr_gaussian_d50/searches/zeus/correlated_nd.py @@ -0,0 +1,21 @@ +"""Zeus on ``corr_gaussian_d50`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/corr_gaussian_d50/searches/zeus/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``walkers_50_steps_2000`` (default). The row lands under ``results/searches/corr_gaussian_d50/``; judged against the exact +reference ``results/reference/corr_gaussian_d50//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="zeus", dataset_class="corr_gaussian_d50", model_type="correlated_nd") + ) diff --git a/scripts/misc/models/correlated_nd.py b/scripts/misc/models/correlated_nd.py new file mode 100644 index 00000000..f1956a5c --- /dev/null +++ b/scripts/misc/models/correlated_nd.py @@ -0,0 +1,135 @@ +"""The ``correlated_nd`` benchmark family: the model, priors and likelihood every leaf fits. + +The single definition of the second toy-likelihood family (protocol +``wiki/project/protocol_correlated_nd.md``, ``correlated_nd@1``); the numbers are +pre-registered there and generated by ``scripts/misc/simulators/correlated_nd.py``. + +- **Model.** ``D`` free parameters ``x000 … x{D-1}``, each a ``UniformPrior`` on the + dataset's box (``priors.json``), collected in an ``af.Collection`` in key order (the + zero-padded keys make ``model.paths`` the vector order). No assertions, no label + symmetry: ``assertion_mechanism`` is ``none`` and the evidence offset is 0. +- **Likelihood** — a normalised density in ``theta`` (so ``ln Z = ln(box mass) - ln V`` + exactly, ``models/correlated_nd_exact.py``): + + - Gaussian: ``ln L = -0.5 |diag(lambda)^-1/2 Q^T (theta - y)|^2 - 0.5 sum ln(2 pi lambda)``; + - banana: ``ln L = -0.5 [((x1 - y1)/sigma1)^2 + sum_j ((x_j - x1^2 - y_j)/sigma2)^2] + - 0.5 ln(2 pi sigma1^2) - 0.5 (D-1) ln(2 pi sigma2^2)``. + + Written once with ``xp`` so the numpy callback path and the JAX path evaluate the same + expression; the exact reference checks both against the analytic form (§6). + +Import this module only after the backend environment is set +(``_autofit_inference_cli.set_backend_env``). +""" + +from __future__ import annotations + +from pathlib import Path + +import autofit as af +import numpy as np +from models import correlated_nd_exact as exact + +MODEL_ID = "correlated_nd" +FAMILY = "correlated_nd" +ASSERTION_MECHANISM = "none" + + +def load_dataset(dataset_path: Path) -> exact.Dataset: + return exact.load(dataset_path) + + +def truth_dict(ds: exact.Dataset) -> dict[str, float]: + return {key: float(value) for key, value in zip(ds.keys, ds.truth)} + + +def model_description(ds: exact.Dataset) -> str: + if ds.kind == "gaussian": + return ( + f"correlated Gaussian, {ds.dimension} free, condition number 10^3, " + "uniform box priors, no assertions" + ) + return ( + f"hybrid Rosenbrock banana (n1 = 2, n2 = {ds.dimension - 1}), {ds.dimension} free, " + "uniform box priors, no assertions" + ) + + +def priors_record(ds: exact.Dataset) -> dict: + """The priors a row was fitted with (compact: the box itself is ``priors.json``).""" + return { + "parameters": f"{ds.keys[0]} … {ds.keys[-1]}: UniformPrior on the dataset box", + "box": f"dataset/{ds.name}/priors.json", + "log_volume": ds.log_volume, + "assertions": "none", + } + + +def assertion_mechanism(ds: exact.Dataset | None = None, use_jax: bool = False) -> str: + return ASSERTION_MECHANISM + + +def build_model(ds: exact.Dataset): + """The ``D``-parameter ``af.Collection`` of uniform priors on the dataset box.""" + return af.Collection( + **{ + key: af.UniformPrior(lower_limit=float(lo), upper_limit=float(hi)) + for key, lo, hi in zip(ds.keys, ds.lower, ds.upper) + } + ) + + +def parameter_keys(model) -> list[str]: + return [".".join(path) for path in model.paths] + + +class AnalysisCorrelatedND(af.Analysis): + """The family's normalised log likelihood (module docstring). Module-level so + DynestyStatic's checkpoint can pickle it.""" + + def __init__(self, dataset: exact.Dataset, use_jax: bool = False): + super().__init__(use_jax=use_jax) + self.kind = dataset.kind + self.keys = tuple(dataset.keys) + self.y = np.asarray(dataset.y, dtype=float) + self.normalisation = exact.max_log_likelihood(dataset) + if dataset.kind == "gaussian": + self.projection = np.asarray( + dataset.eigenvectors / np.sqrt(dataset.eigenvalues)[None, :], dtype=float + ) + else: + self.sigma1 = float(dataset.sigma1) + self.sigma2 = float(dataset.sigma2) + + def vector_from(self, instance): + xp = self._xp + return xp.stack([xp.asarray(getattr(instance, key), dtype=float) for key in self.keys]) + + def log_likelihood_function(self, instance): + xp = self._xp + theta = self.vector_from(instance) + y = xp.asarray(self.y) + if self.kind == "gaussian": + u = (theta - y) @ xp.asarray(self.projection) + chi_squared = xp.sum(u * u) + else: + x1 = theta[0] + u1 = (x1 - y[0]) / self.sigma1 + uj = (theta[1:] - x1 * x1 - y[1:]) / self.sigma2 + chi_squared = u1 * u1 + xp.sum(uj * uj) + return self.normalisation - 0.5 * chi_squared + + +class TrackedAnalysisCorrelatedND(AnalysisCorrelatedND): + """``AnalysisCorrelatedND`` that hands every evaluated log likelihood to an MLTracker + (numpy callback path only; ``tracker`` is ``None`` under JAX, protocol §8).""" + + def __init__(self, dataset: exact.Dataset, use_jax: bool = False, tracker=None): + super().__init__(dataset=dataset, use_jax=use_jax) + self.tracker = tracker + + def log_likelihood_function(self, instance): + value = super().log_likelihood_function(instance) + if self.tracker is not None: + self.tracker.record(float(value)) + return value diff --git a/scripts/misc/searches/_correlated_nd.py b/scripts/misc/searches/_correlated_nd.py new file mode 100644 index 00000000..d763e8df --- /dev/null +++ b/scripts/misc/searches/_correlated_nd.py @@ -0,0 +1,342 @@ +"""The ``correlated_nd`` pilot's expected-run manifest, identity and attempt accounting. + +Protocol ``wiki/project/protocol_correlated_nd.md`` (``correlated_nd@1``), §7 and §9: the +pilot runs **10 search seeds** (0–9) × **data realisation 1** × every cell of the +gaussian_x3 wave-2 search menu (the same searches, settings and backends, never retuned +for this family) × the four datasets, on RAL ``--partition=ral`` against the same private +PyAutoFit pin as gaussian_x3 wave 2 (:data:`PYAUTOFIT_PIN`). A cell is **deferred**, with +its reason, when it cannot answer its task by construction at that dimension +(:func:`deferral`, protocol §7): + +1. *Live-point floor (nested searches).* Nested sampling's ln Z scatter is + ``sqrt(H / n_live)`` (Skilling 2006), with ``H`` the exact prior-to-posterior + information of the dataset (:data:`INFORMATION_NATS`, computed by + ``models/correlated_nd_exact.information`` and pinned by a test). A leg with + ``n_live < H`` has an expected ln Z scatter above the 1-nat tolerance of §4(c). +2. *Walker floor (ensemble chains).* Emcee and Zeus refuse fewer than ``2 D`` walkers; + the menu's 50 walkers are an invalid configuration for ``D >= 26``. +3. *Warm-start provider.* A warm start whose provider leg is deferred is deferred with it. + +The pilot ranks nothing (protocol §9). Standard library only (the planner and any future +exporter import it). + +Identity: a pilot row belongs to the pilot only when its manifest key — +``(dataset, sampler, settings_name, config_id, data_seed, protocol_id, pyautofit_sha)``, +``_wave2.manifest_key`` — names a cell, realisation 1, ``correlated_nd@1`` and the pin, and +its ``model`` is ``correlated_nd``. Every expected run is ``row``, ``failed``, ``missing`` +or ``deferred`` (the wave-2 accounting rules); a run stopped at the pilot's per-run cap +(:data:`PILOT_CAP_S`) is a failed attempt censored at the cap. +""" + +from __future__ import annotations + +import json +import math +from dataclasses import dataclass + +from searches import _protocol as protocol +from searches import _wave2 as wave2 +from searches._runner import SAMPLERS, config_segment + +MODEL_TYPE = "correlated_nd" +WAVE = 1 +WAVE_ID = "correlated_nd_pilot" +PROTOCOL_ID = protocol.CND_PROTOCOL_ID + +#: name -> dimension (``simulators/correlated_nd.py`` ``DATASETS``; a test pins them). +DIMENSION = { + "corr_gaussian_d20": 20, + "corr_gaussian_d50": 50, + "corr_gaussian_d100": 100, + "rosenbrock_d20": 20, +} +DATASETS = tuple(DIMENSION) + +#: The exact information ``H = E_post[ln L] - ln Z`` (nats) of each dataset's default +#: realisation (``models/correlated_nd_exact.information``; a test recomputes them). +INFORMATION_NATS = { + "corr_gaussian_d20": 53.13, + "corr_gaussian_d50": 133.29, + "corr_gaussian_d100": 267.63, + "rosenbrock_d20": 133.29, +} + +SEEDS = tuple(range(10)) +DATA_SEEDS = (1,) + +PYAUTOFIT_PIN = wave2.PYAUTOFIT_PIN +PYAUTONERVES_PIN = wave2.PYAUTONERVES_PIN +CONFIG_BY_BACKEND = wave2.CONFIG_BY_BACKEND +COMPILE_CACHE = wave2.COMPILE_CACHE +#: The gaussian_x3 wave-2 menu, unchanged: NSS runs its 50-step entry only. +SETTINGS = wave2.SETTINGS + +#: PyAutoFit's ``DynestyDynamic(nlive_init=500)`` default at the pin (its ``default`` +#: settings pass no kwargs). +DYNESTY_DYNAMIC_NLIVE_INIT = 500 + +#: Ensemble chains need at least this many walkers per dimension (emcee's red-blue move +#: and zeus both raise below ``2 * ndim``). +WALKERS_PER_DIMENSION = 2 + +#: The pilot's per-run operational cap on ``search.fit`` (protocol §7): a run stopped there +#: is a failed attempt, its wall a censored lower bound. Not a protocol timeout. +PILOT_CAP_S = 14400.0 +RUN_OVERHEAD_S = wave2.RUN_OVERHEAD_S +KILL_GRACE_S = wave2.KILL_GRACE_S + + +def live_points(sampler: str, settings: str) -> int | None: + """The live-point count of a nested leg, ``None`` for any other search.""" + spec = SAMPLERS[sampler] + if spec.family != "nested": + return None + kwargs = spec.settings[settings] + for name in ("n_live", "nlive", "nlive_init"): + if name in kwargs: + return int(kwargs[name]) + if spec.cls == "DynestyDynamic": + return DYNESTY_DYNAMIC_NLIVE_INIT + raise ValueError(f"no live-point count for {sampler}/{settings}") + + +def deferral(dataset: str, sampler: str, settings: str) -> str | None: + """Why ``sampler``/``settings`` is not run on ``dataset`` (protocol §7), or ``None``.""" + spec = SAMPLERS[sampler] + dimension = DIMENSION[dataset] + information = INFORMATION_NATS[dataset] + n_live = live_points(sampler, settings) + if n_live is not None and n_live < information: + return ( + f"deferred (live-point floor, protocol §7): n_live {n_live} < H {information:.1f} " + f"nat at D = {dimension}, so the expected ln Z scatter sqrt(H/n_live) = " + f"{math.sqrt(information / n_live):.2f} nat exceeds the 1-nat §4(c) tolerance" + ) + walkers = spec.settings[settings].get("nwalkers") + if spec.cls in ("Emcee", "Zeus") and walkers is not None: + if walkers < WALKERS_PER_DIMENSION * dimension: + return ( + f"deferred (walker floor, protocol §7): {spec.cls} refuses {walkers} walkers " + f"at D = {dimension} (needs >= {WALKERS_PER_DIMENSION * dimension})" + ) + warm_from = spec.extra.get("warm_from") + if warm_from is not None: + provider = deferral(dataset, *warm_from) + if provider: + return ( + f"deferred (warm-start provider, protocol §7): its provider " + f"{warm_from[0]}/{warm_from[1]} is deferred at D = {dimension}" + ) + return None + + +@dataclass(frozen=True) +class Cell: + dataset: str + sampler: str + settings: str + backend: str + config_name: str + config_id: str + task: str + status: str # planned | deferred + reason: str | None = None + + @property + def key(self) -> tuple[str, str, str, str]: + return (self.dataset, self.sampler, self.settings, self.config_id) + + @property + def leaf(self) -> str: + return f"scripts/{self.dataset}/searches/{self.sampler}/{MODEL_TYPE}.py" + + +def cells() -> list[Cell]: + """Every (dataset × search × menu settings × backend) cell, in registry order.""" + out = [] + for dataset in DATASETS: + for name, spec in SAMPLERS.items(): + for settings in SETTINGS.get(name, tuple(spec.settings)): + for backend in wave2.backends(spec): + config_name = CONFIG_BY_BACKEND[backend] + config_id = config_segment( + config_name, COMPILE_CACHE if backend == "jax_cpu" else None + ) + reason = deferral(dataset, name, settings) + out.append( + Cell( + dataset=dataset, + sampler=name, + settings=settings, + backend=backend, + config_name=config_name, + config_id=config_id, + task=spec.task, + status="deferred" if reason else "planned", + reason=reason, + ) + ) + return out + + +def refusal(dataset: str, sampler: str, settings: str, wave: int) -> str | None: + """Why the runner must not run this ``correlated_nd`` leg, or ``None``.""" + if wave != WAVE: + return ( + f"correlated_nd declares only its pilot (wave {WAVE}, {PROTOCOL_ID}); a scored " + "wave waits for correlated_nd@2, frozen from the pilot (protocol §7)" + ) + if dataset not in DIMENSION: + return f"{dataset} is not a correlated_nd dataset ({', '.join(DATASETS)})" + allowed = SETTINGS.get(sampler, tuple(SAMPLERS[sampler].settings)) + if settings not in allowed: + return f"the correlated_nd pilot runs {sampler} only with {allowed}, not {settings!r}" + return deferral(dataset, sampler, settings) + + +def expected_runs() -> list[tuple[Cell, int, int]]: + return [(cell, d, seed) for cell in cells() for d in DATA_SEEDS for seed in SEEDS] + + +def cell_keys() -> set[tuple]: + return { + (*cell.key, data_seed, PROTOCOL_ID, PYAUTOFIT_PIN) + for cell in cells() + for data_seed in DATA_SEEDS + } + + +def admit(row: dict) -> str | None: + """``None`` when ``row`` is a pilot run of this family, else why it is refused.""" + if row.get("model") != MODEL_TYPE: + return f"model {row.get('model')!r} is not {MODEL_TYPE}" + if row.get("pilot") is not True or protocol.wave_of(row) != WAVE: + return f"not a pilot row (wave {protocol.wave_of(row)}, pilot {row.get('pilot')})" + if row.get("protocol_id") != PROTOCOL_ID: + return f"protocol {row.get('protocol_id')!r} is not the pilot's {PROTOCOL_ID}" + if row.get("pyautofit_commit") != PYAUTOFIT_PIN: + return f"PyAutoFit commit {row.get('pyautofit_commit')!r} is not the pin {PYAUTOFIT_PIN}" + if row.get("data_seed") not in DATA_SEEDS: + return f"data_seed {row.get('data_seed')!r} is not one of {DATA_SEEDS}" + if row.get("seed") not in SEEDS: + return f"search seed {row.get('seed')!r} is outside 0–{len(SEEDS) - 1}" + if row.get("resumed") is True: + return "resumed from an earlier fit: the attempt's own wall was not observed" + if wave2.manifest_key(row) not in cell_keys(): + return f"{wave2.manifest_key(row)[:4]} is not a cell of the correlated_nd pilot" + return None + + +def operational_kill(row: dict) -> bool: + """A ``Terminated`` row stopped before the pilot cap: not a censored attempt, so it is + ``missing`` (to rerun).""" + if "Terminated" not in str(row.get("status")): + return False + wall = row.get("total_wall_s") + return wall is None or float(wall) < PILOT_CAP_S + + +def accounting(rows: list[dict]) -> dict: + """Per leg: ``expected`` and ``row`` / ``failed`` / ``missing`` / ``deferred`` (summing + to it), plus every refused row with why.""" + admitted: dict[tuple, dict] = {} + refused = [] + for row in rows: + why = admit(row) + if why: + refused.append({"run_id": row.get("run_id"), "reason": why}) + continue + admitted[(*wave2.manifest_key(row)[:5], row.get("seed"))] = row + legs = [] + totals = {"expected": 0, "row": 0, "failed": 0, "missing": 0, "deferred": 0} + for cell in cells(): + for data_seed in DATA_SEEDS: + leg = { + "id": "/".join((*cell.key, f"data_seed{data_seed}")), + "dataset": cell.dataset, + "sampler": cell.sampler, + "settings": cell.settings, + "config_id": cell.config_id, + "data_seed": data_seed, + "task": cell.task, + "cell_status": cell.status, + "expected": len(SEEDS), + "row": 0, + "failed": [], + "missing": [], + "deferred": [], + "reason": cell.reason, + } + for seed in SEEDS: + row = admitted.get((*cell.key, data_seed, seed)) + if cell.status == "deferred": + leg["deferred"].append(seed) + elif row is None or operational_kill(row): + leg["missing"].append(seed) + elif row.get("status") == "complete" and row.get("completed") is True: + leg["row"] += 1 + else: + leg["failed"].append(seed) + for state in ("failed", "missing", "deferred"): + totals[state] += len(leg[state]) + totals["row"] += leg["row"] + totals["expected"] += leg["expected"] + legs.append(leg) + return {"wave": WAVE_ID, "totals": totals, "legs": legs, "refused": refused} + + +@dataclass(frozen=True) +class Task: + """One array task: one run (a pilot cell has no measured wall to block seeds by).""" + + cell: Cell + data_seed: int + seed: int + + @property + def limit_s(self) -> float: + return PILOT_CAP_S + RUN_OVERHEAD_S + + def line(self) -> str: + return "\t".join( + ( + self.cell.dataset, + self.cell.sampler, + self.cell.settings, + self.cell.config_name, + str(self.data_seed), + str(int(math.ceil(self.limit_s))), + str(self.seed), + ) + ) + + @property + def budget_s(self) -> float: + return self.limit_s + KILL_GRACE_S + + +def pilot_tasks() -> list[Task]: + return [ + Task(cell, data_seed, seed) + for cell in cells() + if cell.status == "planned" + for data_seed in DATA_SEEDS + for seed in SEEDS + ] + + +def summary() -> dict: + all_cells = cells() + planned = [c for c in all_cells if c.status == "planned"] + return { + "cells": len(all_cells), + "planned": len(planned), + "deferred": len(all_cells) - len(planned), + "expected_runs": len(all_cells) * len(SEEDS) * len(DATA_SEEDS), + "planned_runs": len(planned) * len(SEEDS) * len(DATA_SEEDS), + "by_dataset": {d: sum(1 for c in planned if c.dataset == d) * len(SEEDS) for d in DATASETS}, + } + + +if __name__ == "__main__": # pragma: no cover — a quick look at the plan + print(json.dumps(summary(), indent=2)) diff --git a/scripts/misc/searches/_posterior.py b/scripts/misc/searches/_posterior.py index 16b5c428..528ab66f 100644 --- a/scripts/misc/searches/_posterior.py +++ b/scripts/misc/searches/_posterior.py @@ -163,19 +163,36 @@ def summarise_samples( keys, log_likelihood=None, log_posterior=None, + relabel: bool = True, ) -> dict: - """Every protocol statistic for one set of weighted samples.""" + """Every protocol statistic for one set of weighted samples. + + ``relabel=False`` is for a model with no label symmetry (``correlated_nd``): the + relabelled posterior is the posterior itself, and there are no orderings or modes to + count (``None``).""" matrix = np.asarray(matrix, dtype=float) keys = list(keys) - out = { - "n_samples": int(matrix.shape[0]), - "ess_kish": kish_ess(weights), - "posterior": posterior_stats(matrix, weights, keys), - "posterior_relabelled": posterior_stats(relabel_matrix(matrix, keys), weights, keys), - "label_permutations_found": label_permutations(matrix, weights, keys), - "modes": mode_clusters(matrix, weights, keys), - } - out["modes_found"] = len(out["modes"]) + posterior = posterior_stats(matrix, weights, keys) + if relabel: + out = { + "n_samples": int(matrix.shape[0]), + "ess_kish": kish_ess(weights), + "posterior": posterior, + "posterior_relabelled": posterior_stats(relabel_matrix(matrix, keys), weights, keys), + "label_permutations_found": label_permutations(matrix, weights, keys), + "modes": mode_clusters(matrix, weights, keys), + } + out["modes_found"] = len(out["modes"]) + else: + out = { + "n_samples": int(matrix.shape[0]), + "ess_kish": kish_ess(weights), + "posterior": posterior, + "posterior_relabelled": posterior, + "label_permutations_found": None, + "modes": None, + "modes_found": None, + } if log_likelihood is not None: log_likelihood = np.asarray(log_likelihood, dtype=float) best = int(np.nanargmax(log_likelihood)) diff --git a/scripts/misc/searches/_protocol.py b/scripts/misc/searches/_protocol.py index aa43e28b..2dd01fe7 100644 --- a/scripts/misc/searches/_protocol.py +++ b/scripts/misc/searches/_protocol.py @@ -15,6 +15,15 @@ rule). A row is judged by the protocol of the wave it belongs to (:func:`protocol_for`): the 223 pilot rows stay ``@1`` with their verdicts byte-identical; scored wave-2 rows are ``@2``, and every ``@2`` verdict string starts with the id. + +**The second family (B5c).** Rows of the ``correlated_nd`` model (``row["model"]``) are +judged by their own protocol, ``correlated_nd@1`` (``wiki/project/protocol_correlated_nd.md``; +:data:`FAMILY_PROTOCOL_IDS`, :data:`THRESHOLDS_CND1`) against an **exact** reference (no +reference search): §4(a) and §4(c) as above with no evidence offset (no assertions), and +§4(b) replaces the posterior-predictive and mode criteria with a whitened-coordinate +check (§4(b)3 of that protocol, read from the row's ``whitened`` block). Every +``correlated_nd@1`` verdict string starts with the id. Nothing here ranks or compares +across families. """ from __future__ import annotations @@ -98,10 +107,64 @@ THRESHOLDS_V2 = {**THRESHOLDS, **FROZEN_V2} -THRESHOLDS_BY_PROTOCOL = {PROTOCOL_IDS[1]: THRESHOLDS, PROTOCOL_IDS[2]: THRESHOLDS_V2} +#: The second family's protocol per wave (B5c): only its pilot (wave 1) is declared; the +#: scored wave waits for ``correlated_nd@2``, frozen from the pilot (protocol §7). +FAMILY_PROTOCOL_IDS = {"correlated_nd": {1: "correlated_nd@1"}} +CND_PROTOCOL_ID = FAMILY_PROTOCOL_IDS["correlated_nd"][1] + +#: ``correlated_nd@1`` (protocol ``wiki/project/protocol_correlated_nd.md`` §4, §5). The +#: values are gaussian_x3@2's frozen ones where the criterion is the same; the +#: PLACEHOLDERs (:data:`PLACEHOLDERS_CND1`) are calibrated on the pilot and frozen as +#: ``correlated_nd@2`` before any scored row. +THRESHOLDS_CND1 = { + # §4(a) + "map_tolerance_nat": 1.0, + # §4(b)1, §4(b)2 — every parameter's marginal + "median_tolerance_sigma": 1.0, + "sigma_ratio_band": (0.5, 2.0), # PLACEHOLDER + # §4(b)3 — every exact-whitened coordinate (unit-normal units) + "whitened_median_tolerance": 1.0, + "whitened_sigma_ratio_band": (0.5, 2.0), # PLACEHOLDER + # §4(c) + "evidence_tolerance_nat": 1.0, + # §5 — PLACEHOLDERS + "nested_min_ess": 500.0, + "chain_max_rhat": 1.01, + "chain_min_ess": 400.0, +} + +PLACEHOLDERS_CND1 = ( + "sigma_ratio_band", + "whitened_sigma_ratio_band", + "nested_min_ess", + "chain_max_rhat", + "chain_min_ess", +) + +THRESHOLDS_BY_PROTOCOL = { + PROTOCOL_IDS[1]: THRESHOLDS, + PROTOCOL_IDS[2]: THRESHOLDS_V2, + CND_PROTOCOL_ID: THRESHOLDS_CND1, +} #: What is still a PLACEHOLDER under each protocol: nothing, once frozen. -PLACEHOLDERS_BY_PROTOCOL = {PROTOCOL_IDS[1]: PLACEHOLDERS, PROTOCOL_IDS[2]: ()} +PLACEHOLDERS_BY_PROTOCOL = { + PROTOCOL_IDS[1]: PLACEHOLDERS, + PROTOCOL_IDS[2]: (), + CND_PROTOCOL_ID: PLACEHOLDERS_CND1, +} + + +def is_family_row(row: dict) -> bool: + """A row (or reference) of a family other than gaussian_x3 (judged by its own protocol).""" + return row.get("model") in FAMILY_PROTOCOL_IDS + + +def protocol_id_for(model_type: str, wave: int) -> str | None: + """The protocol a new row of ``model_type`` in ``wave`` is stamped with.""" + if model_type in FAMILY_PROTOCOL_IDS: + return FAMILY_PROTOCOL_IDS[model_type].get(wave) + return PROTOCOL_IDS[wave] def wave_of(row: dict) -> int: @@ -117,7 +180,10 @@ def protocol_for(row: dict) -> str | None: """The protocol id that judges ``row`` — the one of its wave, never a later one (the change rule: a verdict stays under the protocol in force when its wave was declared). ``None`` for a wave with no protocol, or a row stamped with another wave's id.""" - pid = PROTOCOL_IDS.get(wave_of(row)) + if is_family_row(row): + pid = FAMILY_PROTOCOL_IDS[row["model"]].get(wave_of(row)) + else: + pid = PROTOCOL_IDS.get(wave_of(row)) stamped = row.get("protocol_id") if pid is None or (stamped is not None and stamped != pid): return None @@ -170,13 +236,23 @@ def load_json(path: Path): #: every other realisation's lives under ``data_seed/`` beside it. DEFAULT_DATA_SEED = {"gaussian_x3_blend": 1, "gaussian_x3_separated": 2} +#: The ``correlated_nd`` datasets' committed default realisation +#: (``simulators/correlated_nd.py`` ``DEFAULT_DATA_SEED``; a test pins them together). +FAMILY_DEFAULT_DATA_SEED = { + "corr_gaussian_d20": 1, + "corr_gaussian_d50": 1, + "corr_gaussian_d100": 1, + "rosenbrock_d20": 1, +} + def reference_dir(root: Path, dataset: str, backend: str, data_seed: int | None = None) -> Path: """``results/reference///`` for the dataset's default realisation, ``…//data_seed/`` for any other (scored wave 2, protocol §9: five realisations, each judged only against its own reference — :data:`REFERENCE_IDENTITY`).""" base = Path(root) / "results" / "reference" / dataset / backend - if data_seed is None or data_seed == DEFAULT_DATA_SEED.get(dataset): + default = DEFAULT_DATA_SEED.get(dataset, FAMILY_DEFAULT_DATA_SEED.get(dataset)) + if data_seed is None or data_seed == default: return base return base / f"data_seed{int(data_seed)}" @@ -224,6 +300,29 @@ def criterion_map(row: dict, reference: dict, t: dict = THRESHOLDS) -> tuple[boo def criteria_posterior( row: dict, reference: dict, t: dict = THRESHOLDS ) -> list[tuple[bool | None, str]]: + out = criteria_marginals(row, reference, t) + if len(out) == 1: + return out + g_chi2, r_chi2 = _num(row.get("ppc_chi2")), _num(reference.get("ppc_chi2")) + if g_chi2 is None or r_chi2 is None: + out.append((None, "(b)3 ppc_chi2 missing")) + else: + out.append( + ( + g_chi2 - r_chi2 <= t["ppc_chi2_tolerance"], + f"(b)3 ppc_chi2 {g_chi2:.1f} vs ref {r_chi2:.1f}", + ) + ) + out.append(criterion_modes(row, reference, t)) + return out + + +def criteria_marginals( + row: dict, reference: dict, t: dict = THRESHOLDS +) -> list[tuple[bool | None, str]]: + """§4(b)1 and §4(b)2 (shared by both families): every parameter's relabelled median + within ``median_tolerance_sigma`` reference sigma, and its sigma ratio in the band. A + single ``None`` entry when the statistics are missing.""" out: list[tuple[bool | None, str]] = [] run = row.get("posterior_relabelled") or {} ref = reference.get("posterior_relabelled") or {} @@ -256,20 +355,28 @@ def criteria_posterior( "(b)2 sigma ratio in band" if not ratio_fail else f"(b)2 sigma ratio {ratio_fail}", ) ) - g_chi2, r_chi2 = _num(row.get("ppc_chi2")), _num(reference.get("ppc_chi2")) - if g_chi2 is None or r_chi2 is None: - out.append((None, "(b)3 ppc_chi2 missing")) - else: - out.append( - ( - g_chi2 - r_chi2 <= t["ppc_chi2_tolerance"], - f"(b)3 ppc_chi2 {g_chi2:.1f} vs ref {r_chi2:.1f}", - ) - ) - out.append(criterion_modes(row, reference, t)) return out +def criterion_whitened(row: dict, t: dict = THRESHOLDS_CND1) -> tuple[bool | None, str]: + """``correlated_nd`` §4(b)3: in the exact whitening map's coordinates (each ``N(0, 1)`` + under the true posterior) every coordinate's ``|median|`` is within + ``whitened_median_tolerance`` unit sigma and its sigma ratio lies in the band. Read from + the row's ``whitened`` block (the runner computes it from the samples).""" + stats = row.get("whitened") or {} + worst = _num(stats.get("worst_median")) + lo_ratio, hi_ratio = _num(stats.get("sigma_ratio_min")), _num(stats.get("sigma_ratio_max")) + if None in (worst, lo_ratio, hi_ratio): + return None, "(b)3 whitened statistics missing" + lo, hi = t["whitened_sigma_ratio_band"] + ok = worst <= t["whitened_median_tolerance"] and lo <= lo_ratio and hi_ratio <= hi + return ok, ( + f"(b)3 whitened worst |median| {worst:.2f} ({stats.get('worst_median_key')}), " + f"sigma ratio [{lo_ratio:.2f} ({stats.get('sigma_ratio_min_key')}), " + f"{hi_ratio:.2f} ({stats.get('sigma_ratio_max_key')})]" + ) + + def criterion_modes(row: dict, reference: dict, t: dict = THRESHOLDS) -> tuple[bool | None, str]: ref_modes = [ m @@ -293,8 +400,9 @@ def criterion_modes(row: dict, reference: dict, t: dict = THRESHOLDS) -> tuple[b #: The separated control's mechanism (D15 option (b), amendment A1): disjoint centre -#: priors and no assertions exclude no prior volume, so the offset is 0 by construction. -NO_EXCLUDED_VOLUME = ("disjoint_priors",) +#: priors and no assertions exclude no prior volume, so the offset is 0 by construction; +#: likewise ``none``, the ``correlated_nd`` family (no assertions, no label symmetry). +NO_EXCLUDED_VOLUME = ("disjoint_priors", "none") def run_evidence_offset(run: dict, offsets: dict | None) -> float | None: @@ -355,6 +463,12 @@ def acceptance( map_diagnostic = {"ok": map_ok, "detail": map_text, "criterion": task == "point_map"} if task == "point_map": criteria = [criterion_map(row, reference, t)] + elif is_family_row(row): + criteria = criteria_marginals(row, reference, t) + if len(criteria) > 1: + criteria.append(criterion_whitened(row, t)) + if task == "evidence": + criteria.append(criterion_evidence(row, reference, offsets, t)) else: criteria = criteria_posterior(row, reference, t) if task == "evidence": @@ -478,7 +592,7 @@ def verdict(row: dict, reference: dict | None, offsets: dict | None = None) -> d ) acc = _judged("not_assessed", held, []) if held else acceptance(row, reference, offsets, t) conv = convergence(row, t) - prefix = "" if pid == PROTOCOL_IDS[1] else f"{pid}: " + prefix = "" if pid == PROTOCOL_IDS[1] else f"{pid}: " # every family id is prefixed return { "protocol_id": pid, "acceptance": acc["acceptance"], diff --git a/scripts/misc/searches/_runner.py b/scripts/misc/searches/_runner.py index e4ea3b07..3100e325 100644 --- a/scripts/misc/searches/_runner.py +++ b/scripts/misc/searches/_runner.py @@ -86,7 +86,11 @@ #: Equal-weight draws for the posterior-predictive check (protocol §4(b)3). PPC_DRAWS = 500 -MODEL_TYPES = ("gaussian_x3",) +#: The benchmark families a leaf may name (``scripts//searches//.py``): +#: ``gaussian_x3`` (protocol ``gaussian_x3@1/@2``) and the second family ``correlated_nd`` +#: (B5c, protocol ``correlated_nd@1``: high-D correlated Gaussians and a Rosenbrock banana +#: with exact references, ``models/correlated_nd.py``). +MODEL_TYPES = ("gaussian_x3", "correlated_nd") EVALS_TO_TARGET_JAX_NOTE = ( "estimated: the index of the first sample reaching the target in the search's " @@ -526,6 +530,19 @@ def wave_refusal(wave: int, revisions: dict, pin: str) -> str | None: return None +def family_refusal( + model_type: str, dataset: str, sampler: str, settings: str, wave: int +) -> str | None: + """Why a leg of a family other than gaussian_x3 may not run, or ``None``: its own + manifest's waves, datasets, menu settings and deferrals (``searches/_correlated_nd.py``, + protocol ``correlated_nd@1`` §7).""" + from searches import _correlated_nd as cnd + + if model_type != cnd.MODEL_TYPE: + return f"no manifest for model_type {model_type!r}" + return cnd.refusal(dataset, sampler, settings, wave) + + def run_warm_provider( af, spec, settings, warm_from, model, analysis, path_prefix, name, seed, record=None, wave=1 ): @@ -758,7 +775,13 @@ def run_search( return 2 settings = spec.settings[settings_name] wave = cli.wave - if wave >= 2: + family = model_type != "gaussian_x3" + if family: + refusal = family_refusal(model_type, dataset_class, sampler, settings_name, wave) + if refusal: + print(f"ERROR: {refusal}", file=sys.stderr) + return 2 + elif wave >= 2: from searches import _wave2 as wave2 if (dataset_class, sampler) in wave2.DEFERRED: @@ -772,7 +795,7 @@ def run_search( ) return 2 env = set_backend_env(cli.backend, cli.precision, cli.cores, cli.compile_cache) - if wave >= 2: + if wave >= 2 and not family: # After the backend env: library_revisions imports autofit. refusal = wave_refusal(wave, library_revisions(), wave2.PYAUTOFIT_PIN) if refusal: @@ -789,7 +812,11 @@ def run_search( import numpy as np from autofit.non_linear.fitness import Fitness - from models import gaussian_x3 as gx3 + + if family: + from models import correlated_nd as fam + else: + from models import gaussian_x3 as gx3 from searches import _posterior as post from searches import _protocol as protocol @@ -797,13 +824,21 @@ def run_search( use_jax = cli.backend == "jax_cpu" seed = cli.seed + # The A4 search-level seed is passed from gaussian_x3 wave 2 on, and on every + # correlated_nd row (protocol correlated_nd §7): its pilot runs at the same pin. + seed_wave = max(wave, 2) if family else wave root = _ROOT np.random.seed(seed) dataset_dir = auto_simulate_if_missing(dataset_class, cli.data_seed, root) - data, noise_map, truth_record = gx3.load_dataset(dataset_dir) - data_seed = int(truth_record["data_seed"]) - truths = gx3.truth_dict(truth_record) + if family: + ds = fam.load_dataset(dataset_dir) + data_seed = ds.data_seed + truths = fam.truth_dict(ds) + else: + data, noise_map, truth_record = gx3.load_dataset(dataset_dir) + data_seed = int(truth_record["data_seed"]) + truths = gx3.truth_dict(truth_record) output_root = cli.output_dir or Path(os.environ.get("PYAUTO_OUTPUT_DIR") or (root / "output")) output_root = Path(output_root).resolve() @@ -819,12 +854,19 @@ def run_search( if reference and reference.get("max_log_likelihood") is not None: target_log_l = float(reference["max_log_likelihood"]) - model = gx3.build_model(dataset=dataset_class) - keys = gx3.parameter_keys(model) tracker = MLTracker() - analysis = gx3.TrackedAnalysisGaussianX3( - data=data, noise_map=noise_map, use_jax=use_jax, tracker=None if use_jax else tracker - ) + if family: + model = fam.build_model(ds) + keys = fam.parameter_keys(model) + analysis = fam.TrackedAnalysisCorrelatedND( + dataset=ds, use_jax=use_jax, tracker=None if use_jax else tracker + ) + else: + model = gx3.build_model(dataset=dataset_class) + keys = gx3.parameter_keys(model) + analysis = gx3.TrackedAnalysisGaussianX3( + data=data, noise_map=noise_map, use_jax=use_jax, tracker=None if use_jax else tracker + ) compile_cache = cli.compile_cache if use_jax else None config_id = config_segment(cli.config_name, compile_cache) @@ -834,7 +876,13 @@ def run_search( ) search_name = sampler search = build_search( - af, spec, settings, path_prefix=str(path_prefix), name=search_name, seed=seed, wave=wave + af, + spec, + settings, + path_prefix=str(path_prefix), + name=search_name, + seed=seed, + wave=seed_wave, ) search_root = with_test_mode_segment(output_root) / path_prefix @@ -851,7 +899,9 @@ def admission_bar() -> None: n_batch = int(settings.get("n_batch", getattr(search, "n_batch", 1) or 1)) fitness = Fitness( model=model, - analysis=gx3.AnalysisGaussianX3(data=data, noise_map=noise_map, use_jax=use_jax), + analysis=fam.AnalysisCorrelatedND(dataset=ds, use_jax=use_jax) + if family + else gx3.AnalysisGaussianX3(data=data, noise_map=noise_map, use_jax=use_jax), paths=None, fom_is_log_likelihood=True, resample_figure_of_merit=RESAMPLE_SENTINEL, @@ -892,6 +942,7 @@ def admission_bar() -> None: summary: dict = {} log_l_history: list[float] = [] ppc_chi2 = None + whitened = None log_evidence = None termination = None chain_diag: dict = {} @@ -916,7 +967,7 @@ def admission_bar() -> None: search_name, seed, record=timing["provider"], - wave=wave, + wave=seed_wave, ) tracker.t0 = time.time() fit_start = time.perf_counter() @@ -935,6 +986,8 @@ def admission_bar() -> None: keys, np.asarray(samples.log_likelihood_list, dtype=float), np.asarray(samples.log_posterior_list, dtype=float), + # correlated_nd has no label symmetry: no relabelling, modes or orderings. + relabel=not family, ) try: log_evidence = float(samples.log_evidence) @@ -948,18 +1001,24 @@ def admission_bar() -> None: termination = nested_termination(sampler, search, internal) if spec.family == "chain": chain_diag = chain_diagnostics_for(spec, result, search, keys, post) - draws = post.relabel_matrix(post.equal_weight_draws(matrix, weights, PPC_DRAWS, seed), keys) - xvalues = np.arange(data.shape[0], dtype=float) - curves = np.array( - [ - gx3.model_data_from( - model.instance_from_vector(vector=list(row), ignore_assertions=True), - xvalues, - ) - for row in draws - ] - ) - ppc_chi2 = float(np.sum(((data - np.median(curves, axis=0)) / noise_map) ** 2)) + if family: + # §4(b)3 of correlated_nd@1: the exact whitening map applied to the samples. + whitened = fam.exact.whitened_stats(ds, matrix, weights) + else: + draws = post.relabel_matrix( + post.equal_weight_draws(matrix, weights, PPC_DRAWS, seed), keys + ) + xvalues = np.arange(data.shape[0], dtype=float) + curves = np.array( + [ + gx3.model_data_from( + model.instance_from_vector(vector=list(row), ignore_assertions=True), + xvalues, + ) + for row in draws + ] + ) + ppc_chi2 = float(np.sum(((data - np.median(curves, axis=0)) / noise_map) ** 2)) except BaseException as exc: status = f"failed: {type(exc).__name__}: {exc}" if total_wall_s is None and fit_start is not None: @@ -1013,7 +1072,7 @@ def admission_bar() -> None: ess = summary.get("ess_kish") row = { "schema_version": SCHEMA_VERSION, - "protocol_id": protocol.PROTOCOL_IDS[wave], + "protocol_id": protocol.protocol_id_for(model_type, wave), "wave": wave, "run_id": rid, "target": f"{dataset_class}/data_seed{data_seed}/seed{seed}", @@ -1025,9 +1084,13 @@ def admission_bar() -> None: "settings_name": settings_name, "settings": settings, "model": model_type, - "model_description": gx3.model_description(dataset_class), - "priors": gx3.priors_record(dataset_class), - "assertion_mechanism": gx3.assertion_mechanism(dataset_class, use_jax), + "model_description": fam.model_description(ds) + if family + else gx3.model_description(dataset_class), + "priors": fam.priors_record(ds) if family else gx3.priors_record(dataset_class), + "assertion_mechanism": fam.assertion_mechanism(ds, use_jax) + if family + else gx3.assertion_mechanism(dataset_class, use_jax), "config_name": cli.config_name, "where": cli.where, "backend": cli.backend, @@ -1036,7 +1099,7 @@ def admission_bar() -> None: "dataset_class": dataset_class, "data_seed": data_seed, "seed": seed, - "seed_effective": seed_kwarg_for(spec, wave) is not None, + "seed_effective": seed_kwarg_for(spec, seed_wave) is not None, "version": af.__version__, "library_revisions": (revisions := library_revisions()), "pyautofit_commit": revisions.get("autofit"), @@ -1082,6 +1145,8 @@ def admission_bar() -> None: "ess_bulk_min": chain_diag.get("ess_bulk_min"), "chain_diagnostics": chain_diag or None, "ppc_chi2": ppc_chi2, + # correlated_nd only (gaussian_x3 rows keep their schema): §4(b)3's statistic. + **({"whitened": whitened} if family else {}), "truths": truths, "truth_delta_sigma": truth_delta_sigma_from( summary.get("posterior_relabelled", {}), truths diff --git a/scripts/misc/test/test_correlated_nd.py b/scripts/misc/test/test_correlated_nd.py new file mode 100644 index 00000000..ea7681d9 --- /dev/null +++ b/scripts/misc/test/test_correlated_nd.py @@ -0,0 +1,402 @@ +"""The ``correlated_nd`` family (B5c): generator, exact references, manifest and verdicts. + +Exactness is tested against independent routes — brute-force grid integration on small +synthetic datasets of the same two kinds, exact iid draws, and quadrature refinement — +never against the module's own formula alone. Seed determinism is tested by regenerating +every committed dataset from its seeds. +""" + +import json +import math + +import numpy as np +import pytest +from conftest import ROOT +from models import correlated_nd_exact as exact +from searches import _correlated_nd as cnd +from searches import _posterior as post +from searches import _protocol as protocol +from simulators import correlated_nd as sim + +DATASETS = sorted(sim.DATASETS) + + +def _committed(name): + return exact.load(ROOT / "dataset" / name) + + +# --- generator: seeds, determinism, structure ---------------------------------------- + + +@pytest.mark.parametrize("name", DATASETS) +def test_committed_dataset_regenerates_byte_for_byte(name, tmp_path): + sim.simulate(name, output_root=tmp_path) + for filename in ("data.json", "model.json", "priors.json", "truth.json"): + committed = (ROOT / "dataset" / name / filename).read_text() + assert (tmp_path / "dataset" / name / filename).read_text() == committed, filename + + +def test_data_seed_changes_only_the_data(): + struct = sim.structure("corr_gaussian_d20") + y1 = sim.simulate_data("corr_gaussian_d20", 1, struct) + y2 = sim.simulate_data("corr_gaussian_d20", 2, struct) + assert not np.allclose(y1, y2) + assert np.array_equal(sim.simulate_data("corr_gaussian_d20", 1), y1) + again = sim.structure("corr_gaussian_d20") + assert np.array_equal(again["eigenvectors"], struct["eigenvectors"]) + assert np.array_equal(again["lower"], struct["lower"]) + + +def test_datasets_are_independent_draws(): + a = sim.simulate_data("corr_gaussian_d20", 1) + b = sim.simulate_data("rosenbrock_d20", 1) + assert not np.allclose(a[1:] - np.mean(a[1:]), b[1:] - np.mean(b[1:])) + + +@pytest.mark.parametrize("name", [n for n in DATASETS if sim.DATASETS[n][0] == "gaussian"]) +def test_gaussian_structure_is_orthogonal_with_condition_number_1e3(name): + ds = _committed(name) + q = ds.eigenvectors + assert np.allclose(q.T @ q, np.eye(ds.dimension), atol=1e-12) + assert ds.eigenvalues.max() / ds.eigenvalues.min() == pytest.approx(1e3, rel=1e-12) + model = json.loads((ROOT / "dataset" / name / "model.json").read_text()) + sigma = q @ np.diag(ds.eigenvalues) @ q.T + assert np.allclose(np.sqrt(np.diag(sigma)), model["marginal_sigma"], rtol=1e-12) + + +def test_refused_realisation(monkeypatch): + monkeypatch.setattr(sim, "MAX_DEVIATION_SIGMA", 0.1) + with pytest.raises(sim.RefusedRealisation): + sim.simulate_data("corr_gaussian_d20", 1) + + +@pytest.mark.parametrize("name", DATASETS) +def test_data_inside_the_bounded_deviation(name): + ds = _committed(name) + u = exact.whiten(ds, ds.truth[None, :])[0] # the truth in the data's whitened frame + assert np.max(np.abs(u)) <= sim.MAX_DEVIATION_SIGMA + + +# --- exactness against independent routes -------------------------------------------- + + +def _toy_gaussian(): + rng = np.random.default_rng(5) + q = sim.haar_orthogonal(rng, 2) + lam = np.array([0.3, 3.0]) + y = np.array([0.4, -0.7]) + sigma = np.sqrt((q**2) @ lam) + return exact.Dataset( + name="toy", + kind="gaussian", + dimension=2, + data_seed=1, + keys=("x000", "x001"), + y=y, + lower=y - 4.0 * sigma, # deliberately tight: truncation is visible but bounded + upper=y + 5.0 * sigma, + truth=y, + eigenvalues=lam, + eigenvectors=q, + ) + + +def _toy_banana(): + return exact.Dataset( + name="toy", + kind="rosenbrock", + dimension=2, + data_seed=1, + keys=("x000", "x001"), + y=np.array([0.8, 0.1]), + lower=np.array([-8.0, -2.0]), + upper=np.array([10.0, 110.0]), + truth=np.array([1.0, 1.0]), + sigma1=math.sqrt(10.0), + sigma2=math.sqrt(0.1), + ) + + +def _grid_log_evidence(ds, n=3000): + """Brute-force: Z = (1/V) * integral of L over the box on a fine 2-D grid.""" + xs = [np.linspace(lo, hi, n) for lo, hi in zip(ds.lower, ds.upper)] + g0, g1 = np.meshgrid(*xs, indexing="ij") + log_l = exact.log_likelihood(ds, np.column_stack([g0.ravel(), g1.ravel()])).reshape(g0.shape) + integral = np.trapezoid(np.trapezoid(np.exp(log_l), xs[1], axis=1), xs[0]) + return math.log(integral) - ds.log_volume, xs, np.exp(log_l) + + +def test_gaussian_ln_z_matches_brute_force_within_its_truncation_bound(): + ds = _toy_gaussian() + log_z, how = exact.log_evidence(ds) + grid, _, _ = _grid_log_evidence(ds) + # The toy box truncates measurably; the exact ln Z is -ln V and the bound covers the gap. + assert how["truncation_bound"] > 1e-6 + assert abs(log_z - grid) <= how["log_evidence_error_bound"] + 1e-6 + + +def test_banana_ln_z_and_marginals_match_brute_force(): + pytest.importorskip("scipy") + ds = _toy_banana() + log_z, how = exact.log_evidence(ds) + grid, xs, density = _grid_log_evidence(ds, n=4000) + assert log_z == pytest.approx(grid, abs=2e-6) + assert how["box_mass"] < 1.0 # truncated on purpose: the integral, not a bound, is used + marginal = exact.marginals(ds) + for axis, key in enumerate(ds.keys): + pdf = np.trapezoid(density, xs[1 - axis], axis=1 - axis) + cdf = np.concatenate([[0.0], np.cumsum(0.5 * (pdf[1:] + pdf[:-1]) * np.diff(xs[axis]))]) + cdf /= cdf[-1] + median = np.interp(0.5, cdf, xs[axis]) + q16, q84 = np.interp([0.16, 0.84], cdf, xs[axis]) + assert marginal[key]["median"] == pytest.approx(median, abs=0.02) + assert marginal[key]["sigma"] == pytest.approx((q84 - q16) / 2.0, rel=5e-3) + + +def test_banana_quadrature_is_converged(): + pytest.importorskip("scipy") + ds = _committed("rosenbrock_d20") + base = exact.banana_mass(ds) + fine = exact.X1_PANELS + try: + exact.X1_PANELS = 2 * fine + assert exact.banana_mass(ds) == pytest.approx(base, abs=1e-13) + finally: + exact.X1_PANELS = fine + + +@pytest.mark.parametrize("name", DATASETS) +def test_exact_draws_reproduce_the_exact_marginals_and_whiten_to_unit_normal(name): + pytest.importorskip("scipy") + ds = _committed(name) + draws = exact.sample(ds, 40_000, seed=3) + assert np.all((draws >= ds.lower) & (draws <= ds.upper)) + stats = post.posterior_stats(draws, np.ones(len(draws)), list(ds.keys)) + ref = exact.marginals(ds) + for key in ds.keys: + assert abs(stats[key]["median"] - ref[key]["median"]) / ref[key]["sigma"] < 0.05 + assert stats[key]["sigma"] / ref[key]["sigma"] == pytest.approx(1.0, abs=0.05) + white = exact.whitened_stats(ds, draws, np.ones(len(draws))) + assert white["worst_median"] < 0.05 + assert 0.95 < white["sigma_ratio_min"] <= white["sigma_ratio_max"] < 1.05 + + +@pytest.mark.parametrize("name", DATASETS) +def test_information_floor_values_are_the_exact_ones(name): + pytest.importorskip("scipy") + ds = _committed(name) + log_z, _ = exact.log_evidence(ds) + assert cnd.INFORMATION_NATS[name] == round(exact.information(ds, log_z), 2) + + +def test_max_log_likelihood_is_attained_at_the_mode(): + for name in DATASETS: + ds = _committed(name) + at_mode = exact.log_likelihood(ds, exact.mode(ds)[None, :])[0] + assert at_mode == pytest.approx(exact.max_log_likelihood(ds), abs=1e-12) + assert np.all((exact.mode(ds) >= ds.lower) & (exact.mode(ds) <= ds.upper)) + + +# --- the committed exact references -------------------------------------------------- + + +@pytest.mark.parametrize("name", DATASETS) +@pytest.mark.parametrize("backend", ("numpy", "jax_cpu")) +def test_committed_reference_is_complete_exact_and_agrees(name, backend): + path = protocol.reference_file(ROOT, name, backend, 1) + assert path == ROOT / "results/reference" / name / backend / "reference.json" + ref = json.loads(path.read_text()) + assert ref["status"] == "complete" and ref["exact"] is True + assert protocol.reference_key(ref) == (name, backend, 1, "none") + assert ref["protocol_id"] == "correlated_nd@1" and ref["model"] == "correlated_nd" + agreement = ref["agreement"] + assert agreement["failures"] == [] + assert agreement["backend_identity"]["max_abs_delta_nat"] <= 1e-8 + assert agreement["control_verdicts"] == {"posterior": "accepted", "evidence": "accepted"} + assert ref["library_revisions"]["autofit"] == cnd.PYAUTOFIT_PIN + ds = _committed(name) + if ds.kind == "gaussian" or pytest.importorskip("scipy"): + log_z, _ = exact.log_evidence(ds) + assert ref["log_evidence"] == pytest.approx(log_z, abs=1e-12) + assert ref["max_log_likelihood"] == pytest.approx(exact.max_log_likelihood(ds), abs=1e-12) + + +# --- the manifest: cells, deferrals, accounting -------------------------------------- + + +def test_manifest_matches_the_simulator_and_the_cli(): + from _autofit_inference_cli import CORRELATED_ND_DATASETS + + assert cnd.DIMENSION == {name: dim for name, (_, dim, _) in sim.DATASETS.items()} + assert set(CORRELATED_ND_DATASETS) == set(cnd.DATASETS) + assert protocol.FAMILY_DEFAULT_DATA_SEED == {n: sim.DEFAULT_DATA_SEED for n in sim.DATASETS} + assert cnd.DATA_SEEDS == (sim.DEFAULT_DATA_SEED,) + + +def test_pilot_size_and_deferrals_are_the_pre_registered_ones(): + summary = cnd.summary() + assert summary["expected_runs"] == 1040 and summary["planned_runs"] == 820 + assert summary["by_dataset"] == { + "corr_gaussian_d20": 260, + "corr_gaussian_d50": 190, + "corr_gaussian_d100": 140, + "rosenbrock_d20": 230, + } + deferred = {(c.dataset, c.sampler, c.settings) for c in cnd.cells() if c.status == "deferred"} + assert ("corr_gaussian_d100", "nautilus", "n_live_400") not in deferred + assert ("corr_gaussian_d100", "dynesty_dynamic", "default") not in deferred + assert ("corr_gaussian_d50", "nautilus", "n_live_200") not in deferred + assert ("corr_gaussian_d100", "nautilus", "n_live_200") in deferred + assert ("corr_gaussian_d20", "emcee", "walkers_50_steps_2000") not in deferred + assert ("corr_gaussian_d50", "zeus", "walkers_50_steps_2000") in deferred + assert ("rosenbrock_d20", "blackjax_nuts_warm", "warmup_200_samples_500") in deferred + for cell in cnd.cells(): + assert (cell.status == "deferred") == bool(cell.reason) + + +def test_the_live_point_rule_is_the_expected_ln_z_scatter(): + reason = cnd.deferral("corr_gaussian_d100", "nss", "n_live_200_mcmc_steps_50") + assert "n_live 200 < H 267.6" in reason and "1.16 nat" in reason + assert cnd.live_points("dynesty_dynamic", "default") == 500 + assert cnd.live_points("lbfgs", "default") is None + + +def test_runner_refuses_deferred_cells_other_waves_and_other_settings(): + from searches import _runner as runner + + assert ( + runner.family_refusal("correlated_nd", "corr_gaussian_d20", "lbfgs", "default", 1) is None + ) + assert "walker floor" in runner.family_refusal( + "correlated_nd", "corr_gaussian_d50", "emcee", "walkers_50_steps_2000", 1 + ) + assert "pilot" in runner.family_refusal( + "correlated_nd", "corr_gaussian_d20", "lbfgs", "default", 2 + ) + assert "only with" in runner.family_refusal( + "correlated_nd", "corr_gaussian_d20", "nss", "n_live_200", 1 + ) + assert "correlated_nd" in runner.MODEL_TYPES + + +def _pilot_row(cell, seed=0, **overrides): + row = { + "model": "correlated_nd", + "pilot": True, + "wave": 1, + "protocol_id": "correlated_nd@1", + "pyautofit_commit": cnd.PYAUTOFIT_PIN, + "dataset": cell.dataset, + "sampler": cell.sampler, + "settings_name": cell.settings, + "config_id": cell.config_id, + "data_seed": 1, + "seed": seed, + "status": "complete", + "completed": True, + "run_id": f"{cell.dataset}/{cell.sampler}/{seed}", + } + row.update(overrides) + return row + + +def test_accounting_sums_and_refuses(): + planned = [c for c in cnd.cells() if c.status == "planned"] + rows = [ + _pilot_row(planned[0], 0), + _pilot_row(planned[0], 1, status="failed: RuntimeError: x", completed=False), + _pilot_row(planned[0], 2, status="failed: Terminated: signal", total_wall_s=10.0), + _pilot_row(planned[0], 3, status="failed: Terminated", total_wall_s=cnd.PILOT_CAP_S), + _pilot_row(planned[0], 4, pyautofit_commit="deadbeef"), + _pilot_row(planned[0], 5, model="gaussian_x3"), + ] + out = cnd.accounting(rows) + totals = out["totals"] + assert totals["expected"] == 1040 and totals["deferred"] == 220 + assert totals["row"] + totals["failed"] + totals["missing"] + totals["deferred"] == 1040 + leg = out["legs"][0] + assert leg["row"] == 1 and leg["failed"] == [1, 3] + assert leg["missing"] == [2, 4, 5, 6, 7, 8, 9] # the operational kill is missing + assert len(out["refused"]) == 2 + + +# --- correlated_nd@1 verdicts -------------------------------------------------------- + + +def _reference(name="corr_gaussian_d20", backend="numpy"): + return json.loads(protocol.reference_file(ROOT, name, backend, 1).read_text()) + + +def _judged_row(task, reference, **overrides): + row = { + "model": "correlated_nd", + "wave": 1, + "protocol_id": "correlated_nd@1", + "task": task, + "family": {"evidence": "nested", "posterior": "chain"}.get(task, "optimizer"), + "status": "complete", + "completed": True, + "sampler": "nautilus", + "dataset": reference["dataset"], + "backend": reference["backend"], + "data_seed": 1, + "assertion_mechanism": "none", + "posterior_relabelled": reference["posterior_relabelled"], + "whitened": {"worst_median": 0.1, "sigma_ratio_min": 0.9, "sigma_ratio_max": 1.1}, + "log_evidence": reference["log_evidence"] + 0.5, + "max_log_posterior": reference["map"]["log_posterior"] - 0.5, + "ess_kish": 800.0, + "termination": {"met": True}, + } + row.update(overrides) + return row + + +def test_family_rows_are_judged_by_their_own_protocol(): + ref = _reference() + verdict = protocol.verdict(_judged_row("evidence", ref), ref) + assert verdict["protocol_id"] == "correlated_nd@1" + assert verdict["acceptance"] == "accepted", verdict["acceptance_reason"] + assert verdict["acceptance_reason"].startswith("correlated_nd@1: ") + assert "(b)3 whitened" in verdict["acceptance_reason"] + assert "ppc" not in verdict["acceptance_reason"] and "(b)4" not in verdict["acceptance_reason"] + assert set(verdict["placeholders"]) == set(protocol.PLACEHOLDERS_CND1) + assert verdict["convergence"] == "converged" + + +def test_family_criteria_reject_what_they_should(): + ref = _reference() + bad_z = protocol.verdict( + _judged_row("evidence", ref, log_evidence=ref["log_evidence"] + 2), ref + ) + assert bad_z["acceptance"] == "rejected" and "(c)" in bad_z["acceptance_reason"] + squashed = {"worst_median": 0.1, "sigma_ratio_min": 0.3, "sigma_ratio_max": 1.0} + bad_w = protocol.verdict(_judged_row("posterior", ref, whitened=squashed), ref) + assert bad_w["acceptance"] == "rejected" and "(b)3" in bad_w["acceptance_reason"] + no_w = protocol.verdict(_judged_row("posterior", ref, whitened=None), ref) + assert no_w["acceptance"] == "not_assessed" + bad_map = protocol.verdict( + _judged_row("point_map", ref, max_log_posterior=ref["map"]["log_posterior"] - 1.5), ref + ) + assert bad_map["acceptance"] == "rejected" + good_map = protocol.verdict(_judged_row("point_map", ref), ref) + assert good_map["acceptance"] == "accepted" + + +def test_family_rows_never_judged_against_another_backend_or_family(): + ref = _reference(backend="jax_cpu") + wrong = protocol.verdict(_judged_row("posterior", _reference()), ref) + assert wrong["acceptance"] == "not_assessed" and "backend" in wrong["acceptance_reason"] + stamped = _judged_row("posterior", _reference(), protocol_id="gaussian_x3@1") + assert protocol.verdict(stamped, _reference())["acceptance"] == "not_assessed" + assert protocol.protocol_for({"model": "correlated_nd", "wave": 2}) is None + assert protocol.protocol_id_for("correlated_nd", 1) == "correlated_nd@1" + assert protocol.protocol_id_for("gaussian_x3", 2) == "gaussian_x3@2" + + +def test_summarise_without_relabelling_has_no_modes(): + draws = np.random.default_rng(0).normal(size=(500, 3)) + out = post.summarise_samples(draws, np.ones(500), ["x000", "x001", "x002"], relabel=False) + assert out["posterior_relabelled"] is out["posterior"] + assert out["modes"] is None and out["modes_found"] is None + assert out["label_permutations_found"] is None diff --git a/scripts/misc/tooling/build_catalogue.py b/scripts/misc/tooling/build_catalogue.py index a3740d47..97121bb1 100644 --- a/scripts/misc/tooling/build_catalogue.py +++ b/scripts/misc/tooling/build_catalogue.py @@ -61,6 +61,7 @@ sys.path.insert(0, _path) import export_inference_summary as exporter # noqa: E402 +from searches import _correlated_nd as cnd # noqa: E402 from searches import _pilot as pilot # noqa: E402 from searches import _protocol as protocol # noqa: E402 from searches import _wave2 as wave2 # noqa: E402 @@ -124,11 +125,13 @@ def scan_rows(root: Path) -> list[tuple[str, dict]]: except (OSError, ValueError): continue # The pilot catalogue (and the calibration built on it) reads wave-1 rows only; - # scored wave-2 rows are catalogued under gaussian_x3@2 by their own stage (B5b). + # scored wave-2 rows are catalogued under gaussian_x3@2 by their own stage (B5b), + # and correlated_nd rows only in that family's own section, never here. if ( isinstance(payload, dict) and payload.get("schema_version") == 1 and protocol.wave_of(payload) == 1 + and not protocol.is_family_row(payload) ): rows.append((path.relative_to(root).as_posix(), payload)) return rows @@ -683,6 +686,63 @@ def build(root: Path = ROOT, manifest: dict | None = None) -> dict: }, "tasks": tasks, wave2.PROTOCOL_ID: wave2_section(root, refs, offsets), + cnd.PROTOCOL_ID: correlated_nd_section(root), + } + + +#: What judges each task under ``correlated_nd@1`` (its protocol §4). +CND_TASK_CRITERIA = { + "point_map": "correlated_nd §4(a): max_log_posterior >= exact MAP - 1 nat", + "posterior": "correlated_nd §4(b): medians, sigma-ratio band, whitened coordinates", + "evidence": "correlated_nd §4(b) and §4(c): posterior accuracy and ln Z within 1 nat " + "of the exact ln Z", +} + + +def correlated_nd_section(root: Path) -> dict: + """The second family's own section (B5c): by task, then dataset, separately from every + gaussian_x3 section. Its pilot ranks nothing, and nothing is ever compared across + families. Until the pilot is pulled (B5c-2) every planned leg is ``missing``.""" + rows = [] + for path in sorted((root / "results" / "searches").rglob("*.json")): + try: + payload = json.loads(path.read_text()) + except (OSError, ValueError): + continue + if isinstance(payload, dict) and protocol.is_family_row(payload): + rows.append(payload) + accounting = cnd.accounting(rows) + tasks = { + task: {"label": TASK_LABELS[task], "judged_by": CND_TASK_CRITERIA[task], "datasets": {}} + for task in TASK_LABELS + } + for leg in accounting["legs"]: + entry = { + "sampler": leg["sampler"], + "settings": leg["settings"], + "config_id": leg["config_id"], + "cell_status": leg["cell_status"], + "expected": leg["expected"], + "rows": leg["row"], + "failed": len(leg["failed"]), + "missing": len(leg["missing"]), + "deferred": len(leg["deferred"]), + "reason": leg["reason"], + } + tasks[leg["task"]]["datasets"].setdefault(leg["dataset"], []).append(entry) + return { + "protocol_id": cnd.PROTOCOL_ID, + "family": cnd.MODEL_TYPE, + "campaign_task": cnd.WAVE_ID, + "wave": "wave 1 (pilot): ranks nothing (protocol correlated_nd §9)", + "ranking": "none", + "grouping": "by task, then dataset; tasks and datasets are never compared", + "cross_family": "none: this family is catalogued apart from gaussian_x3 and no leg " + "is ever ranked or compared across families (protocol correlated_nd §9)", + "pyautofit_pin": cnd.PYAUTOFIT_PIN, + "datasets": {name: {"dimension": d} for name, d in cnd.DIMENSION.items()}, + "coverage": {**accounting["totals"], "refused": len(accounting["refused"])}, + "tasks": tasks, } diff --git a/scripts/misc/tooling/build_readme.py b/scripts/misc/tooling/build_readme.py index ef6bbf1a..7dbfa6c1 100644 --- a/scripts/misc/tooling/build_readme.py +++ b/scripts/misc/tooling/build_readme.py @@ -28,6 +28,11 @@ The reference posteriors under ``results/reference///``: status, the runs included, the normalised log evidence, the agreement statistics and the MAP log posterior. +``correlated_nd`` + The second family (B5c, protocol ``correlated_nd@1``): per dataset its dimension, the + exact ln Z and information of the committed realisation, each backend's exact + reference status, and the pilot's planned / deferred / pulled cells, from the + catalogue's ``correlated_nd@1`` section. Never compared with ``gaussian_x3``. ``searches`` The pilot's per-cell summaries (from the catalogue), one table per task: attempts, verdicts, convergence, the Wilson interval and walls. Never per best seed. @@ -173,6 +178,8 @@ def render_references() -> str: "|---|---|---|---|---|---|---|---|---|", ] for (dataset, backend, data_seed), ref in sorted(refs.items()): + if protocol.is_family_row(ref): + continue # exact references: the correlated_nd region renders them agreement = ref.get("agreement_included") or {} included = ref.get("included_runs") or [] lines.append( @@ -198,6 +205,53 @@ def render_references() -> str: return "\n".join(lines) + "\n" +def render_correlated_nd() -> str: + """The second family's datasets, exact references and pilot coverage (never ranked, + never compared with gaussian_x3).""" + doc = _catalogue() or {} + section = doc.get(protocol.CND_PROTOCOL_ID) + if not section: + return "\n_No correlated_nd section in the catalogue yet._\n" + refs, _ = _references() + counts: dict[str, dict] = {} + for group in section["tasks"].values(): + for dataset, legs in group["datasets"].items(): + c = counts.setdefault(dataset, {"planned": 0, "deferred": 0, "rows": 0, "failed": 0}) + for leg in legs: + c["planned" if leg["cell_status"] == "planned" else "deferred"] += 1 + c["rows"] += leg["rows"] + c["failed"] += leg["failed"] + lines = [ + "", + "| Dataset | D | Exact ln Z | H (nat) | Exact references | Planned cells | " + "Deferred cells | Pilot rows (failed) |", + "|---|---|---|---|---|---|---|---|", + ] + for dataset, info in section["datasets"].items(): + backends = [] + ln_z = h = None + for (name, backend, data_seed), ref in sorted(refs.items()): + if name == dataset and data_seed == 1: + backends.append(f"`{backend}` {ref.get('status')}") + ln_z, h = ref.get("log_evidence"), ref.get("information_nats") + c = counts.get(dataset, {}) + lines.append( + f"| `{dataset}` | {info['dimension']} | {_fmt(ln_z, '.3f')} | {_fmt(h, '.1f')} | " + f"{', '.join(backends) or DASH} | {c.get('planned', 0)} | {c.get('deferred', 0)} | " + f"{c.get('rows', 0)} ({c.get('failed', 0)}) |" + ) + cov = section["coverage"] + lines += [ + "", + f"Pilot: {cov['expected']} expected runs — {cov['row']} rows, {cov['failed']} failed, " + f"{cov['missing']} not yet pulled, {cov['deferred']} deferred with reasons " + f"(`catalogue/search_catalogue.json`, section `{section['protocol_id']}`). " + f"{section['wave'][0].upper()}{section['wave'][1:]}. Cross-family ranking: " + f"{section['cross_family']}.", + ] + return "\n".join(lines) + "\n" + + def render_searches() -> str: """Per-cell pilot summaries, one table per task (never per best seed, never ranked): the counts and walls of every (dataset × search × settings × leg) cell that has rows.""" @@ -339,6 +393,7 @@ def render_wave2() -> str: "wave2": render_wave2, "catalogue": render_catalogue, "references": render_references, + "correlated_nd": render_correlated_nd, "searches": render_searches, } diff --git a/scripts/misc/tooling/export_inference_summary.py b/scripts/misc/tooling/export_inference_summary.py index 3fe09a18..39ad2b5d 100644 --- a/scripts/misc/tooling/export_inference_summary.py +++ b/scripts/misc/tooling/export_inference_summary.py @@ -397,6 +397,12 @@ def build( finite(payload) if payload.get("schema_version") != 1: raise ValueError("unsupported result schema_version") + if protocol.is_family_row(payload): + # correlated_nd (B5c) is exported by its own stage under its own protocol, + # never among the gaussian_x3 records. + why = f"{payload.get('protocol_id')} row: not a gaussian_x3 record" + excluded.append({"path": rel, "reason": why, "status": "refused"}) + continue wave = protocol.wave_of(payload) if wave == wave2.WAVE: why = wave2.admit(payload, timeouts) diff --git a/scripts/rosenbrock_d20/searches/bfgs/correlated_nd.py b/scripts/rosenbrock_d20/searches/bfgs/correlated_nd.py new file mode 100644 index 00000000..d410d3f0 --- /dev/null +++ b/scripts/rosenbrock_d20/searches/bfgs/correlated_nd.py @@ -0,0 +1,21 @@ +"""BFGS on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/bfgs/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="bfgs", dataset_class="rosenbrock_d20", model_type="correlated_nd") + ) diff --git a/scripts/rosenbrock_d20/searches/blackjax_nuts/correlated_nd.py b/scripts/rosenbrock_d20/searches/blackjax_nuts/correlated_nd.py new file mode 100644 index 00000000..fb45de9f --- /dev/null +++ b/scripts/rosenbrock_d20/searches/blackjax_nuts/correlated_nd.py @@ -0,0 +1,23 @@ +"""BlackJAXNUTS on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/blackjax_nuts/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``warmup_200_samples_500`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="blackjax_nuts", dataset_class="rosenbrock_d20", model_type="correlated_nd" + ) + ) diff --git a/scripts/rosenbrock_d20/searches/blackjax_nuts_warm/correlated_nd.py b/scripts/rosenbrock_d20/searches/blackjax_nuts_warm/correlated_nd.py new file mode 100644 index 00000000..486c89f4 --- /dev/null +++ b/scripts/rosenbrock_d20/searches/blackjax_nuts_warm/correlated_nd.py @@ -0,0 +1,23 @@ +"""BlackJAXNUTS on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/blackjax_nuts_warm/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``warmup_200_samples_500`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="blackjax_nuts_warm", dataset_class="rosenbrock_d20", model_type="correlated_nd" + ) + ) diff --git a/scripts/rosenbrock_d20/searches/dynesty_dynamic/correlated_nd.py b/scripts/rosenbrock_d20/searches/dynesty_dynamic/correlated_nd.py new file mode 100644 index 00000000..67475161 --- /dev/null +++ b/scripts/rosenbrock_d20/searches/dynesty_dynamic/correlated_nd.py @@ -0,0 +1,23 @@ +"""DynestyDynamic on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/dynesty_dynamic/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="dynesty_dynamic", dataset_class="rosenbrock_d20", model_type="correlated_nd" + ) + ) diff --git a/scripts/rosenbrock_d20/searches/dynesty_static/correlated_nd.py b/scripts/rosenbrock_d20/searches/dynesty_static/correlated_nd.py new file mode 100644 index 00000000..42cd3a3d --- /dev/null +++ b/scripts/rosenbrock_d20/searches/dynesty_static/correlated_nd.py @@ -0,0 +1,23 @@ +"""DynestyStatic on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/dynesty_static/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``nlive_200`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="dynesty_static", dataset_class="rosenbrock_d20", model_type="correlated_nd" + ) + ) diff --git a/scripts/rosenbrock_d20/searches/emcee/correlated_nd.py b/scripts/rosenbrock_d20/searches/emcee/correlated_nd.py new file mode 100644 index 00000000..0e0468cc --- /dev/null +++ b/scripts/rosenbrock_d20/searches/emcee/correlated_nd.py @@ -0,0 +1,21 @@ +"""Emcee on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/emcee/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``walkers_50_steps_2000`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="emcee", dataset_class="rosenbrock_d20", model_type="correlated_nd") + ) diff --git a/scripts/rosenbrock_d20/searches/lbfgs/correlated_nd.py b/scripts/rosenbrock_d20/searches/lbfgs/correlated_nd.py new file mode 100644 index 00000000..f103e057 --- /dev/null +++ b/scripts/rosenbrock_d20/searches/lbfgs/correlated_nd.py @@ -0,0 +1,21 @@ +"""LBFGS on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/lbfgs/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="lbfgs", dataset_class="rosenbrock_d20", model_type="correlated_nd") + ) diff --git a/scripts/rosenbrock_d20/searches/multi_start_adabelief/correlated_nd.py b/scripts/rosenbrock_d20/searches/multi_start_adabelief/correlated_nd.py new file mode 100644 index 00000000..beda6ab6 --- /dev/null +++ b/scripts/rosenbrock_d20/searches/multi_start_adabelief/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartADABelief on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/multi_start_adabelief/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_adabelief", + dataset_class="rosenbrock_d20", + model_type="correlated_nd", + ) + ) diff --git a/scripts/rosenbrock_d20/searches/multi_start_adam/correlated_nd.py b/scripts/rosenbrock_d20/searches/multi_start_adam/correlated_nd.py new file mode 100644 index 00000000..934bba86 --- /dev/null +++ b/scripts/rosenbrock_d20/searches/multi_start_adam/correlated_nd.py @@ -0,0 +1,23 @@ +"""MultiStartAdam on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/multi_start_adam/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_adam", dataset_class="rosenbrock_d20", model_type="correlated_nd" + ) + ) diff --git a/scripts/rosenbrock_d20/searches/multi_start_lion/correlated_nd.py b/scripts/rosenbrock_d20/searches/multi_start_lion/correlated_nd.py new file mode 100644 index 00000000..6d5a75af --- /dev/null +++ b/scripts/rosenbrock_d20/searches/multi_start_lion/correlated_nd.py @@ -0,0 +1,23 @@ +"""MultiStartLion on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/multi_start_lion/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_lion", dataset_class="rosenbrock_d20", model_type="correlated_nd" + ) + ) diff --git a/scripts/rosenbrock_d20/searches/multi_start_prodigy/correlated_nd.py b/scripts/rosenbrock_d20/searches/multi_start_prodigy/correlated_nd.py new file mode 100644 index 00000000..a602f57b --- /dev/null +++ b/scripts/rosenbrock_d20/searches/multi_start_prodigy/correlated_nd.py @@ -0,0 +1,25 @@ +"""MultiStartProdigy on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/multi_start_prodigy/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``starts_48_steps_300`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search( + sampler="multi_start_prodigy", + dataset_class="rosenbrock_d20", + model_type="correlated_nd", + ) + ) diff --git a/scripts/rosenbrock_d20/searches/nautilus/correlated_nd.py b/scripts/rosenbrock_d20/searches/nautilus/correlated_nd.py new file mode 100644 index 00000000..580a1fef --- /dev/null +++ b/scripts/rosenbrock_d20/searches/nautilus/correlated_nd.py @@ -0,0 +1,21 @@ +"""Nautilus on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/nautilus/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``n_live_100`` (default), ``n_live_200``, ``n_live_400``. The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="nautilus", dataset_class="rosenbrock_d20", model_type="correlated_nd") + ) diff --git a/scripts/rosenbrock_d20/searches/nss/correlated_nd.py b/scripts/rosenbrock_d20/searches/nss/correlated_nd.py new file mode 100644 index 00000000..e4aa9801 --- /dev/null +++ b/scripts/rosenbrock_d20/searches/nss/correlated_nd.py @@ -0,0 +1,21 @@ +"""NSS on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/nss/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``n_live_200`` (default), ``n_live_200_mcmc_steps_50``. The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="nss", dataset_class="rosenbrock_d20", model_type="correlated_nd") + ) diff --git a/scripts/rosenbrock_d20/searches/smc/correlated_nd.py b/scripts/rosenbrock_d20/searches/smc/correlated_nd.py new file mode 100644 index 00000000..5660b060 --- /dev/null +++ b/scripts/rosenbrock_d20/searches/smc/correlated_nd.py @@ -0,0 +1,21 @@ +"""SMC on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/smc/correlated_nd.py --config-name local_jax_cpu_fp64 --seed 0 + +Settings: ``default`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="smc", dataset_class="rosenbrock_d20", model_type="correlated_nd") + ) diff --git a/scripts/rosenbrock_d20/searches/zeus/correlated_nd.py b/scripts/rosenbrock_d20/searches/zeus/correlated_nd.py new file mode 100644 index 00000000..2ce95644 --- /dev/null +++ b/scripts/rosenbrock_d20/searches/zeus/correlated_nd.py @@ -0,0 +1,21 @@ +"""Zeus on ``rosenbrock_d20`` (family ``correlated_nd``) — one config, one seed, one row. + + python scripts/rosenbrock_d20/searches/zeus/correlated_nd.py --config-name local_numpy_fp64 --seed 0 + +Settings: ``walkers_50_steps_2000`` (default). The row lands under ``results/searches/rosenbrock_d20/``; judged against the exact +reference ``results/reference/rosenbrock_d20//`` by protocol ``correlated_nd@1`` +(``wiki/project/protocol_correlated_nd.md``). Deferred cells (protocol §7) are refused. +""" + +import sys +from pathlib import Path + +_ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +sys.path.insert(0, str(_ROOT / "scripts" / "misc")) + +from searches._runner import run_search # noqa: E402 + +if __name__ == "__main__": + raise SystemExit( + run_search(sampler="zeus", dataset_class="rosenbrock_d20", model_type="correlated_nd") + ) From c24fd76b31dd4d8a17367302fcf716eb1e2eaaa6 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 20:46:46 +0100 Subject: [PATCH 04/15] correlated_nd: generated pilot submit, lint gate and CI witness (B5c) plan_correlated_nd.py generates submit_correlated_nd_pilot (820 one-run tasks, --partition=ral only, excluding euclid-ral-compute-[1-4], no GPU resources, pin guards, 4 h operational cap per run) and its task table; lint runs --check and installs scipy for the exact-reference tests; the witness adds one LBFGS on corr_gaussian_d20 that must be accepted under correlated_nd@1. Refs #14 Co-Authored-By: Claude Opus 5.5 --- .github/workflows/lint.yml | 6 +- .github/workflows/witness.yml | 21 + hpc/README.md | 9 + hpc/batch_cpu/correlated_nd/pilot.tsv | 821 +++++++++++++++++++++ hpc/batch_cpu/submit_correlated_nd_pilot | 326 ++++++++ scripts/misc/tooling/plan_correlated_nd.py | 208 ++++++ 6 files changed, 1390 insertions(+), 1 deletion(-) create mode 100644 hpc/batch_cpu/correlated_nd/pilot.tsv create mode 100755 hpc/batch_cpu/submit_correlated_nd_pilot create mode 100644 scripts/misc/tooling/plan_correlated_nd.py diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 670cb019..ab4e3737 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -33,7 +33,8 @@ jobs: - name: Install lint tools run: | - pip install ruff numpy pytest pyyaml + # scipy: the correlated_nd exact-reference tests (normal CDFs of the banana). + pip install ruff numpy scipy pytest pyyaml # lychee is a Rust binary; fetch the prebuilt release. The tarball # nests everything under lychee-x86_64-unknown-linux-gnu/, so strip # that leading directory and extract just the binary. @@ -76,6 +77,9 @@ jobs: - name: wave-2 accounting --check run: python scripts/misc/searches/judge_wave2.py --check + - name: correlated_nd pilot plan --check + run: python scripts/misc/tooling/plan_correlated_nd.py --check + - name: WALL-BASIS gate run: python scripts/misc/wall/check_submits.py --check diff --git a/.github/workflows/witness.yml b/.github/workflows/witness.yml index b8321739..62f506fb 100644 --- a/.github/workflows/witness.yml +++ b/.github/workflows/witness.yml @@ -80,3 +80,24 @@ jobs: python scripts/misc/tooling/export_inference_summary.py \ --rows-root "$RUNNER_TEMP/witness" --output "$RUNNER_TEMP/witness/summary.json" \ --require-accepted + + # The second family (B5c): one LBFGS on the D = 20 correlated Gaussian, judged by + # correlated_nd@1 against the committed exact reference; must be `accepted`. + - name: LBFGS, numpy, seed 0, corr_gaussian_d20 (correlated_nd@1) + working-directory: autofit_inference + env: + PYTHONPATH: ${{ github.workspace }}/PyAutoNerves:${{ github.workspace }}/PyAutoFit + NUMBA_CACHE_DIR: /tmp/numba_cache + MPLCONFIGDIR: /tmp/matplotlib + OMP_NUM_THREADS: "1" + run: | + python scripts/corr_gaussian_d20/searches/lbfgs/correlated_nd.py \ + --config-name local_numpy_fp64 --seed 0 \ + --output-dir "$RUNNER_TEMP/output_cnd" --results-root "$RUNNER_TEMP/witness_cnd" + python - "$RUNNER_TEMP/witness_cnd" <<'PY' + import json, pathlib, sys + (path,) = pathlib.Path(sys.argv[1]).rglob("search_seed0.json") + verdict = json.loads(path.read_text())["scientific"] + print(verdict["protocol_id"], verdict["acceptance"], verdict["acceptance_reason"]) + assert verdict["protocol_id"] == "correlated_nd@1" and verdict["acceptance"] == "accepted" + PY diff --git a/hpc/README.md b/hpc/README.md index 60840e5b..63177ae4 100644 --- a/hpc/README.md +++ b/hpc/README.md @@ -89,6 +89,15 @@ probe keep the menu as B5a submitted it, so their committed files never move. Pulling ~12 000 small rows by rsync over the RAL NFS ran at ~0.16 files/s, and B5b pulled `results/` as a parallel per-directory `tar` on the login node instead. +### The `correlated_nd` pilot (B5c) + +`submit_correlated_nd_pilot` and `batch_cpu/correlated_nd/pilot.tsv` are generated by +`python scripts/misc/tooling/plan_correlated_nd.py --write` (lint runs `--check`): one array +task per run (820: every non-deferred cell × seeds 0–9 × realisation 1), each run under the +pilot's 4 h operational cap, `--partition=ral` only, the same exclusions and private pin as +wave 2, 2 CPUs and 8 GB per task, throttled to `%100`. Protocol +`wiki/project/protocol_correlated_nd.md` §7. + ### There is no `push` The RAL copy is a **git clone** at `/mnt/ral/jnightin/inference/autofit_inference`. Code goes to RAL diff --git a/hpc/batch_cpu/correlated_nd/pilot.tsv b/hpc/batch_cpu/correlated_nd/pilot.tsv new file mode 100644 index 00000000..086dcded --- /dev/null +++ b/hpc/batch_cpu/correlated_nd/pilot.tsv @@ -0,0 +1,821 @@ +dataset sampler settings config data_seed limit_s seed +corr_gaussian_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 0 +corr_gaussian_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 1 +corr_gaussian_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 2 +corr_gaussian_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 3 +corr_gaussian_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 4 +corr_gaussian_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 5 +corr_gaussian_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 6 +corr_gaussian_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 7 +corr_gaussian_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 8 +corr_gaussian_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 9 +corr_gaussian_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 0 +corr_gaussian_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 1 +corr_gaussian_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 2 +corr_gaussian_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 3 +corr_gaussian_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 4 +corr_gaussian_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 5 +corr_gaussian_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 6 +corr_gaussian_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 7 +corr_gaussian_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 8 +corr_gaussian_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 9 +corr_gaussian_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 0 +corr_gaussian_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 1 +corr_gaussian_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 2 +corr_gaussian_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 3 +corr_gaussian_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 4 +corr_gaussian_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 5 +corr_gaussian_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 6 +corr_gaussian_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 7 +corr_gaussian_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 8 +corr_gaussian_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 9 +corr_gaussian_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 0 +corr_gaussian_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 1 +corr_gaussian_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 2 +corr_gaussian_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 3 +corr_gaussian_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 4 +corr_gaussian_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 5 +corr_gaussian_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 6 +corr_gaussian_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 7 +corr_gaussian_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 8 +corr_gaussian_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 9 +corr_gaussian_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 0 +corr_gaussian_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 1 +corr_gaussian_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 2 +corr_gaussian_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 3 +corr_gaussian_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 4 +corr_gaussian_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 5 +corr_gaussian_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 6 +corr_gaussian_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 7 +corr_gaussian_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 8 +corr_gaussian_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 9 +corr_gaussian_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 0 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 1 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 2 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 3 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 4 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 5 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 6 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 7 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 8 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 9 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 0 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 1 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 2 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 3 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 4 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 5 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 6 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 7 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 8 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 9 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 smc default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 smc default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 smc default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 smc default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 smc default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 smc default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 smc default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 smc default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 smc default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 smc default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 lbfgs default ral_numpy_fp64 1 14520 0 +corr_gaussian_d20 lbfgs default ral_numpy_fp64 1 14520 1 +corr_gaussian_d20 lbfgs default ral_numpy_fp64 1 14520 2 +corr_gaussian_d20 lbfgs default ral_numpy_fp64 1 14520 3 +corr_gaussian_d20 lbfgs default ral_numpy_fp64 1 14520 4 +corr_gaussian_d20 lbfgs default ral_numpy_fp64 1 14520 5 +corr_gaussian_d20 lbfgs default ral_numpy_fp64 1 14520 6 +corr_gaussian_d20 lbfgs default ral_numpy_fp64 1 14520 7 +corr_gaussian_d20 lbfgs default ral_numpy_fp64 1 14520 8 +corr_gaussian_d20 lbfgs default ral_numpy_fp64 1 14520 9 +corr_gaussian_d20 lbfgs default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 lbfgs default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 lbfgs default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 lbfgs default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 lbfgs default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 lbfgs default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 lbfgs default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 lbfgs default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 lbfgs default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 lbfgs default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 bfgs default ral_numpy_fp64 1 14520 0 +corr_gaussian_d20 bfgs default ral_numpy_fp64 1 14520 1 +corr_gaussian_d20 bfgs default ral_numpy_fp64 1 14520 2 +corr_gaussian_d20 bfgs default ral_numpy_fp64 1 14520 3 +corr_gaussian_d20 bfgs default ral_numpy_fp64 1 14520 4 +corr_gaussian_d20 bfgs default ral_numpy_fp64 1 14520 5 +corr_gaussian_d20 bfgs default ral_numpy_fp64 1 14520 6 +corr_gaussian_d20 bfgs default ral_numpy_fp64 1 14520 7 +corr_gaussian_d20 bfgs default ral_numpy_fp64 1 14520 8 +corr_gaussian_d20 bfgs default ral_numpy_fp64 1 14520 9 +corr_gaussian_d20 bfgs default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 bfgs default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 bfgs default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 bfgs default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 bfgs default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 bfgs default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 bfgs default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 bfgs default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 bfgs default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 bfgs default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 0 +corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 1 +corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 2 +corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 3 +corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 4 +corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 5 +corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 6 +corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 7 +corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 8 +corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 9 +corr_gaussian_d50 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 nautilus n_live_400 ral_numpy_fp64 1 14520 0 +corr_gaussian_d50 nautilus n_live_400 ral_numpy_fp64 1 14520 1 +corr_gaussian_d50 nautilus n_live_400 ral_numpy_fp64 1 14520 2 +corr_gaussian_d50 nautilus n_live_400 ral_numpy_fp64 1 14520 3 +corr_gaussian_d50 nautilus n_live_400 ral_numpy_fp64 1 14520 4 +corr_gaussian_d50 nautilus n_live_400 ral_numpy_fp64 1 14520 5 +corr_gaussian_d50 nautilus n_live_400 ral_numpy_fp64 1 14520 6 +corr_gaussian_d50 nautilus n_live_400 ral_numpy_fp64 1 14520 7 +corr_gaussian_d50 nautilus n_live_400 ral_numpy_fp64 1 14520 8 +corr_gaussian_d50 nautilus n_live_400 ral_numpy_fp64 1 14520 9 +corr_gaussian_d50 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 dynesty_static nlive_200 ral_numpy_fp64 1 14520 0 +corr_gaussian_d50 dynesty_static nlive_200 ral_numpy_fp64 1 14520 1 +corr_gaussian_d50 dynesty_static nlive_200 ral_numpy_fp64 1 14520 2 +corr_gaussian_d50 dynesty_static nlive_200 ral_numpy_fp64 1 14520 3 +corr_gaussian_d50 dynesty_static nlive_200 ral_numpy_fp64 1 14520 4 +corr_gaussian_d50 dynesty_static nlive_200 ral_numpy_fp64 1 14520 5 +corr_gaussian_d50 dynesty_static nlive_200 ral_numpy_fp64 1 14520 6 +corr_gaussian_d50 dynesty_static nlive_200 ral_numpy_fp64 1 14520 7 +corr_gaussian_d50 dynesty_static nlive_200 ral_numpy_fp64 1 14520 8 +corr_gaussian_d50 dynesty_static nlive_200 ral_numpy_fp64 1 14520 9 +corr_gaussian_d50 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 dynesty_dynamic default ral_numpy_fp64 1 14520 0 +corr_gaussian_d50 dynesty_dynamic default ral_numpy_fp64 1 14520 1 +corr_gaussian_d50 dynesty_dynamic default ral_numpy_fp64 1 14520 2 +corr_gaussian_d50 dynesty_dynamic default ral_numpy_fp64 1 14520 3 +corr_gaussian_d50 dynesty_dynamic default ral_numpy_fp64 1 14520 4 +corr_gaussian_d50 dynesty_dynamic default ral_numpy_fp64 1 14520 5 +corr_gaussian_d50 dynesty_dynamic default ral_numpy_fp64 1 14520 6 +corr_gaussian_d50 dynesty_dynamic default ral_numpy_fp64 1 14520 7 +corr_gaussian_d50 dynesty_dynamic default ral_numpy_fp64 1 14520 8 +corr_gaussian_d50 dynesty_dynamic default ral_numpy_fp64 1 14520 9 +corr_gaussian_d50 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 lbfgs default ral_numpy_fp64 1 14520 0 +corr_gaussian_d50 lbfgs default ral_numpy_fp64 1 14520 1 +corr_gaussian_d50 lbfgs default ral_numpy_fp64 1 14520 2 +corr_gaussian_d50 lbfgs default ral_numpy_fp64 1 14520 3 +corr_gaussian_d50 lbfgs default ral_numpy_fp64 1 14520 4 +corr_gaussian_d50 lbfgs default ral_numpy_fp64 1 14520 5 +corr_gaussian_d50 lbfgs default ral_numpy_fp64 1 14520 6 +corr_gaussian_d50 lbfgs default ral_numpy_fp64 1 14520 7 +corr_gaussian_d50 lbfgs default ral_numpy_fp64 1 14520 8 +corr_gaussian_d50 lbfgs default ral_numpy_fp64 1 14520 9 +corr_gaussian_d50 lbfgs default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 lbfgs default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 lbfgs default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 lbfgs default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 lbfgs default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 lbfgs default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 lbfgs default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 lbfgs default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 lbfgs default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 lbfgs default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 bfgs default ral_numpy_fp64 1 14520 0 +corr_gaussian_d50 bfgs default ral_numpy_fp64 1 14520 1 +corr_gaussian_d50 bfgs default ral_numpy_fp64 1 14520 2 +corr_gaussian_d50 bfgs default ral_numpy_fp64 1 14520 3 +corr_gaussian_d50 bfgs default ral_numpy_fp64 1 14520 4 +corr_gaussian_d50 bfgs default ral_numpy_fp64 1 14520 5 +corr_gaussian_d50 bfgs default ral_numpy_fp64 1 14520 6 +corr_gaussian_d50 bfgs default ral_numpy_fp64 1 14520 7 +corr_gaussian_d50 bfgs default ral_numpy_fp64 1 14520 8 +corr_gaussian_d50 bfgs default ral_numpy_fp64 1 14520 9 +corr_gaussian_d50 bfgs default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 bfgs default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 bfgs default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 bfgs default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 bfgs default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 bfgs default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 bfgs default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 bfgs default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 bfgs default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 bfgs default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 0 +corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 1 +corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 2 +corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 3 +corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 4 +corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 5 +corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 6 +corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 7 +corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 8 +corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 9 +corr_gaussian_d100 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 dynesty_dynamic default ral_numpy_fp64 1 14520 0 +corr_gaussian_d100 dynesty_dynamic default ral_numpy_fp64 1 14520 1 +corr_gaussian_d100 dynesty_dynamic default ral_numpy_fp64 1 14520 2 +corr_gaussian_d100 dynesty_dynamic default ral_numpy_fp64 1 14520 3 +corr_gaussian_d100 dynesty_dynamic default ral_numpy_fp64 1 14520 4 +corr_gaussian_d100 dynesty_dynamic default ral_numpy_fp64 1 14520 5 +corr_gaussian_d100 dynesty_dynamic default ral_numpy_fp64 1 14520 6 +corr_gaussian_d100 dynesty_dynamic default ral_numpy_fp64 1 14520 7 +corr_gaussian_d100 dynesty_dynamic default ral_numpy_fp64 1 14520 8 +corr_gaussian_d100 dynesty_dynamic default ral_numpy_fp64 1 14520 9 +corr_gaussian_d100 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 lbfgs default ral_numpy_fp64 1 14520 0 +corr_gaussian_d100 lbfgs default ral_numpy_fp64 1 14520 1 +corr_gaussian_d100 lbfgs default ral_numpy_fp64 1 14520 2 +corr_gaussian_d100 lbfgs default ral_numpy_fp64 1 14520 3 +corr_gaussian_d100 lbfgs default ral_numpy_fp64 1 14520 4 +corr_gaussian_d100 lbfgs default ral_numpy_fp64 1 14520 5 +corr_gaussian_d100 lbfgs default ral_numpy_fp64 1 14520 6 +corr_gaussian_d100 lbfgs default ral_numpy_fp64 1 14520 7 +corr_gaussian_d100 lbfgs default ral_numpy_fp64 1 14520 8 +corr_gaussian_d100 lbfgs default ral_numpy_fp64 1 14520 9 +corr_gaussian_d100 lbfgs default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 lbfgs default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 lbfgs default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 lbfgs default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 lbfgs default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 lbfgs default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 lbfgs default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 lbfgs default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 lbfgs default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 lbfgs default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 bfgs default ral_numpy_fp64 1 14520 0 +corr_gaussian_d100 bfgs default ral_numpy_fp64 1 14520 1 +corr_gaussian_d100 bfgs default ral_numpy_fp64 1 14520 2 +corr_gaussian_d100 bfgs default ral_numpy_fp64 1 14520 3 +corr_gaussian_d100 bfgs default ral_numpy_fp64 1 14520 4 +corr_gaussian_d100 bfgs default ral_numpy_fp64 1 14520 5 +corr_gaussian_d100 bfgs default ral_numpy_fp64 1 14520 6 +corr_gaussian_d100 bfgs default ral_numpy_fp64 1 14520 7 +corr_gaussian_d100 bfgs default ral_numpy_fp64 1 14520 8 +corr_gaussian_d100 bfgs default ral_numpy_fp64 1 14520 9 +corr_gaussian_d100 bfgs default ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 bfgs default ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 bfgs default ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 bfgs default ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 bfgs default ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 bfgs default ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 bfgs default ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 bfgs default ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 bfgs default ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 bfgs default ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 0 +rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 1 +rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 2 +rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 3 +rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 4 +rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 5 +rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 6 +rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 7 +rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 8 +rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 9 +rosenbrock_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 0 +rosenbrock_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 1 +rosenbrock_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 2 +rosenbrock_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 3 +rosenbrock_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 4 +rosenbrock_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 5 +rosenbrock_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 6 +rosenbrock_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 7 +rosenbrock_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 8 +rosenbrock_d20 nautilus n_live_400 ral_numpy_fp64 1 14520 9 +rosenbrock_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 nautilus n_live_400 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 0 +rosenbrock_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 1 +rosenbrock_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 2 +rosenbrock_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 3 +rosenbrock_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 4 +rosenbrock_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 5 +rosenbrock_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 6 +rosenbrock_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 7 +rosenbrock_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 8 +rosenbrock_d20 dynesty_static nlive_200 ral_numpy_fp64 1 14520 9 +rosenbrock_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 dynesty_static nlive_200 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 0 +rosenbrock_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 1 +rosenbrock_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 2 +rosenbrock_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 3 +rosenbrock_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 4 +rosenbrock_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 5 +rosenbrock_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 6 +rosenbrock_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 7 +rosenbrock_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 8 +rosenbrock_d20 dynesty_dynamic default ral_numpy_fp64 1 14520 9 +rosenbrock_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 dynesty_dynamic default ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 nss n_live_200_mcmc_steps_50 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 0 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 1 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 2 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 3 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 4 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 5 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 6 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 7 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 8 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_numpy_fp64 1 14520 9 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 emcee walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 0 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 1 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 2 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 3 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 4 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 5 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 6 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 7 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 8 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_numpy_fp64 1 14520 9 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 zeus walkers_50_steps_2000 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 lbfgs default ral_numpy_fp64 1 14520 0 +rosenbrock_d20 lbfgs default ral_numpy_fp64 1 14520 1 +rosenbrock_d20 lbfgs default ral_numpy_fp64 1 14520 2 +rosenbrock_d20 lbfgs default ral_numpy_fp64 1 14520 3 +rosenbrock_d20 lbfgs default ral_numpy_fp64 1 14520 4 +rosenbrock_d20 lbfgs default ral_numpy_fp64 1 14520 5 +rosenbrock_d20 lbfgs default ral_numpy_fp64 1 14520 6 +rosenbrock_d20 lbfgs default ral_numpy_fp64 1 14520 7 +rosenbrock_d20 lbfgs default ral_numpy_fp64 1 14520 8 +rosenbrock_d20 lbfgs default ral_numpy_fp64 1 14520 9 +rosenbrock_d20 lbfgs default ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 lbfgs default ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 lbfgs default ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 lbfgs default ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 lbfgs default ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 lbfgs default ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 lbfgs default ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 lbfgs default ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 lbfgs default ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 lbfgs default ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 bfgs default ral_numpy_fp64 1 14520 0 +rosenbrock_d20 bfgs default ral_numpy_fp64 1 14520 1 +rosenbrock_d20 bfgs default ral_numpy_fp64 1 14520 2 +rosenbrock_d20 bfgs default ral_numpy_fp64 1 14520 3 +rosenbrock_d20 bfgs default ral_numpy_fp64 1 14520 4 +rosenbrock_d20 bfgs default ral_numpy_fp64 1 14520 5 +rosenbrock_d20 bfgs default ral_numpy_fp64 1 14520 6 +rosenbrock_d20 bfgs default ral_numpy_fp64 1 14520 7 +rosenbrock_d20 bfgs default ral_numpy_fp64 1 14520 8 +rosenbrock_d20 bfgs default ral_numpy_fp64 1 14520 9 +rosenbrock_d20 bfgs default ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 bfgs default ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 bfgs default ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 bfgs default ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 bfgs default ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 bfgs default ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 bfgs default ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 bfgs default ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 bfgs default ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 bfgs default ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 multi_start_adam starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 multi_start_prodigy starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 multi_start_adabelief starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 diff --git a/hpc/batch_cpu/submit_correlated_nd_pilot b/hpc/batch_cpu/submit_correlated_nd_pilot new file mode 100755 index 00000000..89ce74c1 --- /dev/null +++ b/hpc/batch_cpu/submit_correlated_nd_pilot @@ -0,0 +1,326 @@ +#!/bin/bash -l +# +# GENERATED by scripts/misc/tooling/plan_correlated_nd.py -- do not edit by hand. +# Change the planner, run it with --write and commit; lint runs it with --check. +# +# The correlated_nd pilot (protocol correlated_nd@1, section 7): 820 array +# tasks, one run each: 82 planned cells x 10 seeds x realisation 1 +# (1040 expected, 220 deferred with reasons in searches/_correlated_nd.py). +# Each run is limited to the pilot's 4 h operational cap plus the run overhead; a run +# that hits it writes a Terminated failure row (a censored attempt, not a timeout). +# The pilot ranks nothing; it calibrates correlated_nd@2. +# +# CPU jobs run on --partition=ral ONLY: never gpu, ral,gpu or gpu,ral (the human's hard +# rule of 2026-09-30; PyAutoMind/policy/hpc_ral.md). No GPU resources are requested. +# The --exclude keeps these small tasks off the four 252-CPU nodes, the only ones a +# whole-node job of another campaign fits on. The PyAuto libraries come from the +# PRIVATE pin under /mnt/ral/jnightin/inference/autofit_inference/.pyauto_pin/, PYTHONPATH-prefixed +# below; the shared /mnt/ral/jnightin/PyAuto mirror provides only the venv and is never +# pulled. +# +# WALL-BASIS: -- one row per cell this submit runs; no correlated_nd cell has a +# measured wall yet (the pilot is the probe; every run is capped as above) +# cell: corr_gaussian_d20/searches/nautilus/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/dynesty_static/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/dynesty_dynamic/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/nss/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/emcee/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/zeus/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/blackjax_nuts/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/blackjax_nuts_warm/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/smc/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/lbfgs/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/bfgs/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/multi_start_adam/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/multi_start_prodigy/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/multi_start_adabelief/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d20/searches/multi_start_lion/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/nautilus/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/dynesty_static/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/dynesty_dynamic/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/nss/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/blackjax_nuts/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/smc/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/lbfgs/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/bfgs/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/multi_start_adam/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/multi_start_prodigy/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/multi_start_adabelief/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/multi_start_lion/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/nautilus/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/dynesty_dynamic/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/blackjax_nuts/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/smc/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/lbfgs/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/bfgs/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/multi_start_adam/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/multi_start_prodigy/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/multi_start_adabelief/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/multi_start_lion/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/nautilus/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/dynesty_static/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/dynesty_dynamic/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/nss/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/emcee/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/zeus/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/blackjax_nuts/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/smc/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/lbfgs/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/bfgs/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/multi_start_adam/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/multi_start_prodigy/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/multi_start_adabelief/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/multi_start_lion/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes +#SBATCH -J cnd_pilot +#SBATCH --partition=ral +#SBATCH --exclude=euclid-ral-compute-[1-4] +#SBATCH --ntasks=1 +#SBATCH --cpus-per-task=2 +#SBATCH --mem=8gb +#SBATCH --time=04:17:00 +#SBATCH --array=0-819%100 +#SBATCH -o output/output.%A_%a.out +#SBATCH -e error/error.%A_%a.err +#SBATCH --mail-type=END,FAIL +#SBATCH --mail-user=james.w.nightingale@durham.ac.uk + +export AP_ROOT=/mnt/ral/jnightin/inference/autofit_inference +source $AP_ROOT/activate.sh + +# The private pin: PyAutoFit df6d218f10cd75a7f0d79bb03dca5c131fd29d33, PyAutoNerves +# 7f3055b7f3d1967f372bdb41ee732135bca0e68d (the gaussian_x3 wave-2 pin). Prefixed, so it wins over the +# shared checkouts that activate.sh puts on PYTHONPATH; a pilot row at any other PyAutoFit +# commit is refused by searches/_correlated_nd.admit. $AF_PIN/site holds the third-party +# packages the pin needs that the shared venv lacks (zeus-mcmc==2.5.4). +export AF_PIN=$AP_ROOT/.pyauto_pin +export PYTHONPATH="$AF_PIN/PyAutoNerves:$AF_PIN/PyAutoFit:$AF_PIN/site${PYTHONPATH:+:$PYTHONPATH}" + +export JAX_PLATFORMS=cpu +# Every submit exports this explicitly: without it an fp64 config silently runs fp32. +export JAX_ENABLE_X64=True +# One search per process at --cores 1, as in gaussian_x3. +export NPROC=1 + +echo "==========================================" +date +cd $AP_ROOT +# Refuse to run anything unless both pins are at their commits and are what imports. +test "$(git -C $AF_PIN/PyAutoFit rev-parse HEAD)" = "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" +test "$(git -C $AF_PIN/PyAutoNerves rev-parse HEAD)" = "7f3055b7f3d1967f372bdb41ee732135bca0e68d" +python3 -c "import autofit, autonerves, os; pin = os.environ['AF_PIN']; assert autofit.__file__.startswith(pin) and autonerves.__file__.startswith(pin), (autofit.__file__, autonerves.__file__); print('autofit', autofit.__version__, autofit.__file__); print('autonerves', autonerves.__file__)" + +TASKS=hpc/batch_cpu/correlated_nd/pilot.tsv +LINE=$(sed -n "$((SLURM_ARRAY_TASK_ID + 2))p" "$TASKS") +if [ -z "$LINE" ]; then echo "no task line $SLURM_ARRAY_TASK_ID in $TASKS" >&2; exit 1; fi +read -r DATASET SAMPLER SETTINGS CONFIG DATA_SEED LIMIT SEED <<< "$LINE" +echo "task $SLURM_ARRAY_TASK_ID: $LINE" +case "$DATASET/$SAMPLER" in + corr_gaussian_d20/nautilus) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/nautilus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/dynesty_static) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/dynesty_static/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/dynesty_static/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/dynesty_dynamic) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/dynesty_dynamic/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/nss) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/nss/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/nss/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/emcee) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/emcee/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/emcee/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/zeus) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/zeus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/zeus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/blackjax_nuts) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/blackjax_nuts_warm) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/blackjax_nuts_warm/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/smc) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/lbfgs) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/lbfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/bfgs) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/bfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/multi_start_adam) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/multi_start_adam/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/multi_start_prodigy) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/multi_start_prodigy/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/multi_start_adabelief) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/multi_start_adabelief/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d20/multi_start_lion) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/multi_start_lion/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/nautilus) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/nautilus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/dynesty_static) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/dynesty_static/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/dynesty_static/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/dynesty_dynamic) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/dynesty_dynamic/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/nss) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/nss/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/nss/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/blackjax_nuts) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/smc) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/lbfgs) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/lbfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/bfgs) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/bfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/multi_start_adam) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/multi_start_adam/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/multi_start_prodigy) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/multi_start_prodigy/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/multi_start_adabelief) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/multi_start_adabelief/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d50/multi_start_lion) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/multi_start_lion/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d100/nautilus) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/nautilus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d100/dynesty_dynamic) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/dynesty_dynamic/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d100/blackjax_nuts) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d100/smc) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d100/lbfgs) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/lbfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d100/bfgs) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/bfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d100/multi_start_adam) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/multi_start_adam/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d100/multi_start_prodigy) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/multi_start_prodigy/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d100/multi_start_adabelief) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/multi_start_adabelief/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + corr_gaussian_d100/multi_start_lion) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/multi_start_lion/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/nautilus) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/nautilus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/dynesty_static) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/dynesty_static/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/dynesty_static/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/dynesty_dynamic) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/dynesty_dynamic/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/nss) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/nss/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/nss/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/emcee) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/emcee/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/emcee/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/zeus) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/zeus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/zeus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/blackjax_nuts) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/smc) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/lbfgs) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/lbfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/bfgs) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/bfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/multi_start_adam) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/multi_start_adam/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/multi_start_prodigy) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/multi_start_prodigy/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/multi_start_adabelief) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/multi_start_adabelief/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + rosenbrock_d20/multi_start_lion) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/multi_start_lion/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; + *) echo "unknown cell $DATASET/$SAMPLER" >&2; exit 1 ;; +esac + +echo "Finished." +date diff --git a/scripts/misc/tooling/plan_correlated_nd.py b/scripts/misc/tooling/plan_correlated_nd.py new file mode 100644 index 00000000..057d3f2c --- /dev/null +++ b/scripts/misc/tooling/plan_correlated_nd.py @@ -0,0 +1,208 @@ +"""Plan the ``correlated_nd`` pilot on RAL: the task table and the submit script. + +Generated from :mod:`searches._correlated_nd` (the pilot's expected-run manifest and its +deferrals, protocol ``wiki/project/protocol_correlated_nd.md`` §7). Nothing here is +hand-edited: change the planner, run ``--write``, commit; ``--check`` (lint) fails when a +committed file differs from what it generates. + +What it writes +-------------- + +- ``hpc/batch_cpu/correlated_nd/pilot.tsv`` — one line per array task (header first; the + submit reads line ``SLURM_ARRAY_TASK_ID + 2``): one run each, every planned cell × the + 10 pilot seeds on realisation 1. +- ``hpc/batch_cpu/submit_correlated_nd_pilot`` — the array, ``--partition=ral`` only, + excluding the four 252-CPU nodes, no GPU resources, the private PyAutoFit/PyAutoNerves pin + guarded before anything runs. Every run is limited to the pilot's 4 h operational cap + plus the run overhead (``timeout -s TERM``: the runner writes a ``Terminated`` failure + row). The cells have no measured wall: every WALL-BASIS row is ``source: unmeasured`` + with ``probe-first: yes`` — the pilot is the probe. + + python scripts/misc/tooling/plan_correlated_nd.py # print the plan + python scripts/misc/tooling/plan_correlated_nd.py --write # write table + submit + python scripts/misc/tooling/plan_correlated_nd.py --check # lint gate +""" + +from __future__ import annotations + +import argparse +import math +import sys +from pathlib import Path + +ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +if str(ROOT / "scripts" / "misc") not in sys.path: + sys.path.insert(0, str(ROOT / "scripts" / "misc")) + +from searches import _correlated_nd as cnd # noqa: E402 +from searches import _wave2 as wave2 # noqa: E402 + +BATCH = ROOT / "hpc" / "batch_cpu" +TABLE = BATCH / "correlated_nd" / "pilot.tsv" +SUBMIT = BATCH / "submit_correlated_nd_pilot" +RAL_ROOT = "/mnt/ral/jnightin/inference/autofit_inference" + +#: Seconds added to a task's ``--time`` beyond its run's limit and kill grace. +TASK_MARGIN_S = 600.0 +CPUS_PER_TASK = 2 +#: 8 GB (gaussian_x3 wave 2 used 6): Nautilus keeps every point at D = 100. +MEM = "8gb" +#: 100 concurrent 2-CPU tasks = 200 CPUs, under a fifth of the five 236-CPU ``ral`` nodes. +THROTTLE = 100 +EXCLUDE = "euclid-ral-compute-[1-4]" +MAIL = "james.w.nightingale@durham.ac.uk" +HEADER = ("dataset", "sampler", "settings", "config", "data_seed", "limit_s", "seed") + + +def slurm_time(seconds: float) -> str: + total = int(math.ceil(seconds / 60.0)) * 60 + days, rest = divmod(total, 86400) + hours, rest = divmod(rest, 3600) + minutes = rest // 60 + return f"{days}-{hours:02d}:{minutes:02d}:00" if days else f"{hours:02d}:{minutes:02d}:00" + + +def search_call(dataset: str, sampler: str) -> str: + return ( + f'timeout -s TERM -k {int(cnd.KILL_GRACE_S)} "$LIMIT" python3 ' + f"scripts/{dataset}/searches/{sampler}/{cnd.MODEL_TYPE}.py --wave 1 " + '--config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" ' + '--seed "$SEED" --cores 1 || echo "run ' + f"{dataset}/{sampler}/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if " + 'any, records the failure)"' + ) + + +def submit(tasks: list[cnd.Task]) -> str: + pairs = list(dict.fromkeys((t.cell.dataset, t.cell.sampler) for t in tasks)) + time_s = max(t.budget_s for t in tasks) + TASK_MARGIN_S + summary = cnd.summary() + lines = [ + "#!/bin/bash -l", + "#", + "# GENERATED by scripts/misc/tooling/plan_correlated_nd.py -- do not edit by hand.", + "# Change the planner, run it with --write and commit; lint runs it with --check.", + "#", + f"# The correlated_nd pilot (protocol correlated_nd@1, section 7): {len(tasks)} array", + f"# tasks, one run each: {summary['planned']} planned cells x {len(cnd.SEEDS)} seeds x " + "realisation 1", + f"# ({summary['expected_runs']} expected, {summary['expected_runs'] - len(tasks)} deferred " + "with reasons in searches/_correlated_nd.py).", + f"# Each run is limited to the pilot's {cnd.PILOT_CAP_S / 3600:g} h operational cap plus " + "the run overhead; a run", + "# that hits it writes a Terminated failure row (a censored attempt, not a timeout).", + "# The pilot ranks nothing; it calibrates correlated_nd@2.", + "#", + "# CPU jobs run on --partition=ral ONLY: never gpu, ral,gpu or gpu,ral (the human's hard", + "# rule of 2026-09-30; PyAutoMind/policy/hpc_ral.md). No GPU resources are requested.", + "# The --exclude keeps these small tasks off the four 252-CPU nodes, the only ones a", + "# whole-node job of another campaign fits on. The PyAuto libraries come from the", + f"# PRIVATE pin under {RAL_ROOT}/{wave2.PIN_DIR}/, PYTHONPATH-prefixed", + "# below; the shared /mnt/ral/jnightin/PyAuto mirror provides only the venv and is never", + "# pulled.", + "#", + "# WALL-BASIS: -- one row per cell this submit runs; no correlated_nd cell has a", + "# measured wall yet (the pilot is the probe; every run is capped as above)", + ] + for dataset, sampler in pairs: + lines += [ + f"# cell: {dataset}/searches/{sampler}/{cnd.MODEL_TYPE} device: ral_cpu " + "precision: fp64", + "# lanes: 1 steps: 1 source: unmeasured probe-first: yes", + ] + sbatch = { + "-J": "cnd_pilot", + "--partition": "ral", + "--exclude": EXCLUDE, + "--ntasks": 1, + "--cpus-per-task": CPUS_PER_TASK, + "--mem": MEM, + "--time": slurm_time(time_s), + "--array": f"0-{len(tasks) - 1}%{min(THROTTLE, len(tasks))}", + "-o": "output/output.%A_%a.out", + "-e": "error/error.%A_%a.err", + "--mail-type": "END,FAIL", + "--mail-user": MAIL, + } + for key, value in sbatch.items(): + lines.append(f"#SBATCH {key}={value}" if key.startswith("--") else f"#SBATCH {key} {value}") + text = "\n".join(lines) + "\n" + text += f""" +export AP_ROOT={RAL_ROOT} +source $AP_ROOT/activate.sh + +# The private pin: PyAutoFit {cnd.PYAUTOFIT_PIN}, PyAutoNerves +# {cnd.PYAUTONERVES_PIN} (the gaussian_x3 wave-2 pin). Prefixed, so it wins over the +# shared checkouts that activate.sh puts on PYTHONPATH; a pilot row at any other PyAutoFit +# commit is refused by searches/_correlated_nd.admit. $AF_PIN/site holds the third-party +# packages the pin needs that the shared venv lacks ({", ".join(wave2.PIN_SITE_PACKAGES)}). +export AF_PIN=$AP_ROOT/{wave2.PIN_DIR} +export PYTHONPATH="$AF_PIN/PyAutoNerves:$AF_PIN/PyAutoFit:$AF_PIN/site${{PYTHONPATH:+:$PYTHONPATH}}" + +export JAX_PLATFORMS=cpu +# Every submit exports this explicitly: without it an fp64 config silently runs fp32. +export JAX_ENABLE_X64=True +# One search per process at --cores 1, as in gaussian_x3. +export NPROC=1 + +echo "==========================================" +date +cd $AP_ROOT +# Refuse to run anything unless both pins are at their commits and are what imports. +test "$(git -C $AF_PIN/PyAutoFit rev-parse HEAD)" = "{cnd.PYAUTOFIT_PIN}" +test "$(git -C $AF_PIN/PyAutoNerves rev-parse HEAD)" = "{cnd.PYAUTONERVES_PIN}" +python3 -c "import autofit, autonerves, os; pin = os.environ['AF_PIN']; assert autofit.__file__.startswith(pin) and autonerves.__file__.startswith(pin), (autofit.__file__, autonerves.__file__); print('autofit', autofit.__version__, autofit.__file__); print('autonerves', autonerves.__file__)" + +TASKS=hpc/batch_cpu/correlated_nd/pilot.tsv +LINE=$(sed -n "$((SLURM_ARRAY_TASK_ID + 2))p" "$TASKS") +if [ -z "$LINE" ]; then echo "no task line $SLURM_ARRAY_TASK_ID in $TASKS" >&2; exit 1; fi +read -r DATASET SAMPLER SETTINGS CONFIG DATA_SEED LIMIT SEED <<< "$LINE" +echo "task $SLURM_ARRAY_TASK_ID: $LINE" +case "$DATASET/$SAMPLER" in +""" + for dataset, sampler in pairs: + text += f" {dataset}/{sampler})\n {search_call(dataset, sampler)}\n ;;\n" + text += ' *) echo "unknown cell $DATASET/$SAMPLER" >&2; exit 1 ;;\nesac\n' + text += '\necho "Finished."\ndate\n' + return text + + +def plan() -> dict[Path, str]: + tasks = cnd.pilot_tasks() + table = "\t".join(HEADER) + "\n" + "".join(t.line() + "\n" for t in tasks) + return {TABLE: table, SUBMIT: submit(tasks)} + + +def main(argv=None) -> int: + parser = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) + parser.add_argument("--write", action="store_true") + parser.add_argument("--check", action="store_true") + args = parser.parse_args(argv) + files = plan() + if args.check: + stale = [p for p, c in files.items() if not p.exists() or p.read_text() != c] + known = {*BATCH.glob("submit_correlated_nd_*"), *TABLE.parent.glob("*.tsv")} + extra = sorted(known - set(files)) + for path in stale + extra: + print(f"stale: {path.relative_to(ROOT)}", file=sys.stderr) + if stale or extra: + print("run plan_correlated_nd.py --write", file=sys.stderr) + return 1 + print(f"correlated_nd pilot plan is current ({len(files)} files)") + return 0 + if args.write: + TABLE.parent.mkdir(parents=True, exist_ok=True) + for path, content in files.items(): + path.write_text(content) + if path.name.startswith("submit_"): + path.chmod(0o755) + print(f"wrote {len(files)} files") + tasks = cnd.pilot_tasks() + print(f" {len(tasks)} tasks / runs; --time per task {slurm_time(tasks[0].budget_s + 600)}") + for dataset, n in cnd.summary()["by_dataset"].items(): + print(f" {dataset:22s} {n:4d} runs") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) From c583b3ac5c8f08875086494587bda2f679834fd2 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 20:50:11 +0100 Subject: [PATCH 05/15] generated: catalogue correlated_nd@1 section, README region, summary refresh (B5c) Regenerated after the producer commits: the catalogue's own correlated_nd@1 section (by task and dataset, 820 planned + 220 deferred, ranks nothing, apart from gaussian_x3), the README correlated_nd region, and dashboard/summary.json (producer revision; the eight exact references in reference_status; no record or shard changed). Refs #14 Co-Authored-By: Claude Opus 5.5 --- README.md | 29 + catalogue/search_catalogue.json | 1324 +++++++++++++++++++++++++++++++ dashboard/summary.json | 44 +- 3 files changed, 1395 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5bd36e61..1aec48b1 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,10 @@ of the closed (250 blend warm-NUTS runs deferred). They are judged under the frozen `@2` thresholds and ranked within one task and one dataset among the legs that clear a reliability floor (see "Scored wave 2" below). +- **A second family, `correlated_nd` (B5c).** High-D correlated Gaussians and a + Rosenbrock banana with exact references, under its own pre-registered protocol + `correlated_nd@1`; its 820-run pilot runs on RAL and ranks nothing (see "The second + family" below). - **The wave-1 pilot** (223 rows, below) ranks nothing. It calibrated the protocol and ran on PyAutoFit main before phase A2. - **Summary.** The repo reports to @@ -47,6 +51,31 @@ coverage, evidence searches on `ln Z` within one backend under the `ln 3!` conve Wave 1 is a pilot that ranks nothing; its PLACEHOLDER thresholds are calibrated and then frozen before the scored wave 2. +## The second family: `correlated_nd` (B5c) + +High-dimensional, ill-conditioned targets with **exact** posteriors and evidences, so no +reference search is run: correlated Gaussians at D = 20, 50 and 100 with condition number +10³ (a seeded Haar-random rotation of log-spaced eigenvalues), and a D = 20 hybrid +Rosenbrock banana (Pagani et al. 2022). Datasets come from +`scripts/misc/simulators/correlated_nd.py`; the exact references +(`scripts/misc/reference/exact_correlated_nd.py`) pass a per-backend agreement test before +any row is judged. Rows are judged by their own pre-registered protocol, +[`wiki/project/protocol_correlated_nd.md`](wiki/project/protocol_correlated_nd.md) +(`correlated_nd@1`), and catalogued by task and dataset **apart from `gaussian_x3`; +nothing is ranked across families.** The pilot (820 runs: 10 seeds × every non-deferred +cell of the gaussian_x3 wave-2 menu × the four datasets) runs on RAL `--partition=ral`. + + +| Dataset | D | Exact ln Z | H (nat) | Exact references | Planned cells | Deferred cells | Pilot rows (failed) | +|---|---|---|---|---|---|---|---| +| `corr_gaussian_d20` | 20 | -93.020 | 53.1 | `jax_cpu` complete, `numpy` complete | 26 | 0 | 0 (0) | +| `corr_gaussian_d50` | 50 | -233.019 | 133.3 | `jax_cpu` complete, `numpy` complete | 19 | 7 | 0 (0) | +| `corr_gaussian_d100` | 100 | -467.088 | 267.6 | `jax_cpu` complete, `numpy` complete | 14 | 12 | 0 (0) | +| `rosenbrock_d20` | 20 | -140.946 | 133.3 | `jax_cpu` complete, `numpy` complete | 23 | 3 | 0 (0) | + +Pilot: 1040 expected runs — 0 rows, 0 failed, 820 not yet pulled, 220 deferred with reasons (`catalogue/search_catalogue.json`, section `correlated_nd@1`). Wave 1 (pilot): ranks nothing (protocol correlated_nd §9). Cross-family ranking: none: this family is catalogued apart from gaussian_x3 and no leg is ever ranked or compared across families (protocol correlated_nd §9). + + ## Running ```bash diff --git a/catalogue/search_catalogue.json b/catalogue/search_catalogue.json index 8687f88a..f1cb6f80 100644 --- a/catalogue/search_catalogue.json +++ b/catalogue/search_catalogue.json @@ -6414,5 +6414,1329 @@ } } } + }, + "correlated_nd@1": { + "protocol_id": "correlated_nd@1", + "family": "correlated_nd", + "campaign_task": "correlated_nd_pilot", + "wave": "wave 1 (pilot): ranks nothing (protocol correlated_nd \u00a79)", + "ranking": "none", + "grouping": "by task, then dataset; tasks and datasets are never compared", + "cross_family": "none: this family is catalogued apart from gaussian_x3 and no leg is ever ranked or compared across families (protocol correlated_nd \u00a79)", + "pyautofit_pin": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33", + "datasets": { + "corr_gaussian_d20": { + "dimension": 20 + }, + "corr_gaussian_d50": { + "dimension": 50 + }, + "corr_gaussian_d100": { + "dimension": 100 + }, + "rosenbrock_d20": { + "dimension": 20 + } + }, + "coverage": { + "expected": 1040, + "row": 0, + "failed": 0, + "missing": 820, + "deferred": 220, + "refused": 0 + }, + "tasks": { + "point_map": { + "label": "point/MAP", + "judged_by": "correlated_nd \u00a74(a): max_log_posterior >= exact MAP - 1 nat", + "datasets": { + "corr_gaussian_d20": [ + { + "sampler": "lbfgs", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "lbfgs", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "bfgs", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "bfgs", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_adam", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_prodigy", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_adabelief", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_lion", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ], + "corr_gaussian_d50": [ + { + "sampler": "lbfgs", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "lbfgs", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "bfgs", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "bfgs", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_adam", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_prodigy", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_adabelief", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_lion", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ], + "corr_gaussian_d100": [ + { + "sampler": "lbfgs", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "lbfgs", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "bfgs", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "bfgs", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_adam", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_prodigy", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_adabelief", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_lion", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ], + "rosenbrock_d20": [ + { + "sampler": "lbfgs", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "lbfgs", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "bfgs", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "bfgs", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_adam", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_prodigy", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_adabelief", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "multi_start_lion", + "settings": "starts_48_steps_300", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ] + } + }, + "posterior": { + "label": "posterior", + "judged_by": "correlated_nd \u00a74(b): medians, sigma-ratio band, whitened coordinates", + "datasets": { + "corr_gaussian_d20": [ + { + "sampler": "emcee", + "settings": "walkers_50_steps_2000", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "emcee", + "settings": "walkers_50_steps_2000", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "zeus", + "settings": "walkers_50_steps_2000", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "zeus", + "settings": "walkers_50_steps_2000", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "blackjax_nuts", + "settings": "warmup_200_samples_500", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "blackjax_nuts_warm", + "settings": "warmup_200_samples_500", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "smc", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ], + "corr_gaussian_d50": [ + { + "sampler": "emcee", + "settings": "walkers_50_steps_2000", + "config_id": "ral_numpy_fp64", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (walker floor, protocol \u00a77): Emcee refuses 50 walkers at D = 50 (needs >= 100)" + }, + { + "sampler": "emcee", + "settings": "walkers_50_steps_2000", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (walker floor, protocol \u00a77): Emcee refuses 50 walkers at D = 50 (needs >= 100)" + }, + { + "sampler": "zeus", + "settings": "walkers_50_steps_2000", + "config_id": "ral_numpy_fp64", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (walker floor, protocol \u00a77): Zeus refuses 50 walkers at D = 50 (needs >= 100)" + }, + { + "sampler": "zeus", + "settings": "walkers_50_steps_2000", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (walker floor, protocol \u00a77): Zeus refuses 50 walkers at D = 50 (needs >= 100)" + }, + { + "sampler": "blackjax_nuts", + "settings": "warmup_200_samples_500", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "blackjax_nuts_warm", + "settings": "warmup_200_samples_500", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (warm-start provider, protocol \u00a77): its provider nautilus/n_live_100 is deferred at D = 50" + }, + { + "sampler": "smc", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ], + "corr_gaussian_d100": [ + { + "sampler": "emcee", + "settings": "walkers_50_steps_2000", + "config_id": "ral_numpy_fp64", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (walker floor, protocol \u00a77): Emcee refuses 50 walkers at D = 100 (needs >= 200)" + }, + { + "sampler": "emcee", + "settings": "walkers_50_steps_2000", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (walker floor, protocol \u00a77): Emcee refuses 50 walkers at D = 100 (needs >= 200)" + }, + { + "sampler": "zeus", + "settings": "walkers_50_steps_2000", + "config_id": "ral_numpy_fp64", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (walker floor, protocol \u00a77): Zeus refuses 50 walkers at D = 100 (needs >= 200)" + }, + { + "sampler": "zeus", + "settings": "walkers_50_steps_2000", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (walker floor, protocol \u00a77): Zeus refuses 50 walkers at D = 100 (needs >= 200)" + }, + { + "sampler": "blackjax_nuts", + "settings": "warmup_200_samples_500", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "blackjax_nuts_warm", + "settings": "warmup_200_samples_500", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (warm-start provider, protocol \u00a77): its provider nautilus/n_live_100 is deferred at D = 100" + }, + { + "sampler": "smc", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ], + "rosenbrock_d20": [ + { + "sampler": "emcee", + "settings": "walkers_50_steps_2000", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "emcee", + "settings": "walkers_50_steps_2000", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "zeus", + "settings": "walkers_50_steps_2000", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "zeus", + "settings": "walkers_50_steps_2000", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "blackjax_nuts", + "settings": "warmup_200_samples_500", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "blackjax_nuts_warm", + "settings": "warmup_200_samples_500", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (warm-start provider, protocol \u00a77): its provider nautilus/n_live_100 is deferred at D = 20" + }, + { + "sampler": "smc", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ] + } + }, + "evidence": { + "label": "evidence", + "judged_by": "correlated_nd \u00a74(b) and \u00a74(c): posterior accuracy and ln Z within 1 nat of the exact ln Z", + "datasets": { + "corr_gaussian_d20": [ + { + "sampler": "nautilus", + "settings": "n_live_100", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_100", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_200", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_200", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_400", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_400", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_static", + "settings": "nlive_200", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_static", + "settings": "nlive_200", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_dynamic", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_dynamic", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nss", + "settings": "n_live_200_mcmc_steps_50", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ], + "corr_gaussian_d50": [ + { + "sampler": "nautilus", + "settings": "n_live_100", + "config_id": "ral_numpy_fp64", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 133.3 nat at D = 50, so the expected ln Z scatter sqrt(H/n_live) = 1.15 nat exceeds the 1-nat \u00a74(c) tolerance" + }, + { + "sampler": "nautilus", + "settings": "n_live_100", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 133.3 nat at D = 50, so the expected ln Z scatter sqrt(H/n_live) = 1.15 nat exceeds the 1-nat \u00a74(c) tolerance" + }, + { + "sampler": "nautilus", + "settings": "n_live_200", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_200", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_400", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_400", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_static", + "settings": "nlive_200", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_static", + "settings": "nlive_200", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_dynamic", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_dynamic", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nss", + "settings": "n_live_200_mcmc_steps_50", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ], + "corr_gaussian_d100": [ + { + "sampler": "nautilus", + "settings": "n_live_100", + "config_id": "ral_numpy_fp64", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.64 nat exceeds the 1-nat \u00a74(c) tolerance" + }, + { + "sampler": "nautilus", + "settings": "n_live_100", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.64 nat exceeds the 1-nat \u00a74(c) tolerance" + }, + { + "sampler": "nautilus", + "settings": "n_live_200", + "config_id": "ral_numpy_fp64", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 200 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.16 nat exceeds the 1-nat \u00a74(c) tolerance" + }, + { + "sampler": "nautilus", + "settings": "n_live_200", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 200 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.16 nat exceeds the 1-nat \u00a74(c) tolerance" + }, + { + "sampler": "nautilus", + "settings": "n_live_400", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_400", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_static", + "settings": "nlive_200", + "config_id": "ral_numpy_fp64", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 200 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.16 nat exceeds the 1-nat \u00a74(c) tolerance" + }, + { + "sampler": "dynesty_static", + "settings": "nlive_200", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 200 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.16 nat exceeds the 1-nat \u00a74(c) tolerance" + }, + { + "sampler": "dynesty_dynamic", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_dynamic", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nss", + "settings": "n_live_200_mcmc_steps_50", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 200 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.16 nat exceeds the 1-nat \u00a74(c) tolerance" + } + ], + "rosenbrock_d20": [ + { + "sampler": "nautilus", + "settings": "n_live_100", + "config_id": "ral_numpy_fp64", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 133.3 nat at D = 20, so the expected ln Z scatter sqrt(H/n_live) = 1.15 nat exceeds the 1-nat \u00a74(c) tolerance" + }, + { + "sampler": "nautilus", + "settings": "n_live_100", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "deferred", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 0, + "deferred": 10, + "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 133.3 nat at D = 20, so the expected ln Z scatter sqrt(H/n_live) = 1.15 nat exceeds the 1-nat \u00a74(c) tolerance" + }, + { + "sampler": "nautilus", + "settings": "n_live_200", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_200", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_400", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nautilus", + "settings": "n_live_400", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_static", + "settings": "nlive_200", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_static", + "settings": "nlive_200", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_dynamic", + "settings": "default", + "config_id": "ral_numpy_fp64", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "dynesty_dynamic", + "settings": "default", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + }, + { + "sampler": "nss", + "settings": "n_live_200_mcmc_steps_50", + "config_id": "ral_jax_cpu_fp64_cache_warm", + "cell_status": "planned", + "expected": 10, + "rows": 0, + "failed": 0, + "missing": 10, + "deferred": 0, + "reason": null + } + ] + } + } + } } } diff --git a/dashboard/summary.json b/dashboard/summary.json index f551bdd0..88588984 100644 --- a/dashboard/summary.json +++ b/dashboard/summary.json @@ -832,7 +832,7 @@ } }, "evidence_updated_at": "2026-10-15T16:38:44Z", - "generated_at": "2026-10-15T18:05:09Z", + "generated_at": "2026-10-15T19:46:46Z", "generation_basis": "Source commit timestamp; not a measurement or check-in time", "limitations": [ "Verdicts are producer-asserted under protocol gaussian_x3@1, whose PLACEHOLDER thresholds are calibrated in the wave-1 pilot and then frozen", @@ -844,7 +844,7 @@ "gaussian_x3@2 (scored wave 2) rows are judged under the frozen @2 thresholds against their own data realisation's reference, at the pinned PyAutoFit revision; as records their posterior blocks stay in the committed row (evidence_paths)", "gaussian_x3@2 timeouts are 10 x the laptop pilot medians while RAL ran 4-7 x faster, so censoring of those cells is lenient on RAL; the probe-first cells (Zeus on JAX, NSS 50-step) take 10 x their RAL probe medians, or the 600 s floor" ], - "producer_revision": "31ce10fedafa8dba0b849fec177395e22d319c89", + "producer_revision": "1bba46ac6c56a9d716bd9d8a466f8bae07e18ba6", "project": "autofit_inference", "protocol_id": "gaussian_x3@1", "protocol_id_note": "The wave-1 pilot's protocol; every record names its own (scientific.protocol_id; a gaussian_x3@2 record also at the record's protocol_id), and protocols lists every protocol this summary covers, in records or coverage", @@ -1562,6 +1562,36 @@ } ], "references": { + "corr_gaussian_d100/jax_cpu": { + "assertion_mechanism": "none", + "data_seed": 1, + "status": "complete" + }, + "corr_gaussian_d100/numpy": { + "assertion_mechanism": "none", + "data_seed": 1, + "status": "complete" + }, + "corr_gaussian_d20/jax_cpu": { + "assertion_mechanism": "none", + "data_seed": 1, + "status": "complete" + }, + "corr_gaussian_d20/numpy": { + "assertion_mechanism": "none", + "data_seed": 1, + "status": "complete" + }, + "corr_gaussian_d50/jax_cpu": { + "assertion_mechanism": "none", + "data_seed": 1, + "status": "complete" + }, + "corr_gaussian_d50/numpy": { + "assertion_mechanism": "none", + "data_seed": 1, + "status": "complete" + }, "gaussian_x3_blend/jax_cpu": { "assertion_mechanism": "xp_where_penalty", "data_seed": 5, @@ -1581,6 +1611,16 @@ "assertion_mechanism": "disjoint_priors", "data_seed": 5, "status": "complete" + }, + "rosenbrock_d20/jax_cpu": { + "assertion_mechanism": "none", + "data_seed": 1, + "status": "complete" + }, + "rosenbrock_d20/numpy": { + "assertion_mechanism": "none", + "data_seed": 1, + "status": "complete" } }, "schema": "inference-summary", From d35b4a8959385e9ee25abfd0d148be338e93dc0b Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 20:50:11 +0100 Subject: [PATCH 06/15] protocol correlated_nd: record the freeze commit 9ec37795f404 and the reference status (B5c) Bookkeeping only (section 7 freeze line, section 10 table): no criterion changes. Refs #14 Co-Authored-By: Claude Opus 5.5 --- wiki/project/protocol_correlated_nd.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/wiki/project/protocol_correlated_nd.md b/wiki/project/protocol_correlated_nd.md index ed83119c..74237827 100644 --- a/wiki/project/protocol_correlated_nd.md +++ b/wiki/project/protocol_correlated_nd.md @@ -213,7 +213,11 @@ backend × dataset); a band may move only on ≥ 20 completed pilot rows of its it. A cell whose every pilot attempt hit the cap is deferred from the scored wave with that reason. Pilot verdicts stay `@1`. -**Freeze commit:** recorded here by the commit that follows it (B5c, 2026-10-15). +**Freeze commit:** `correlated_nd@1` (§1–§9 as first committed) is +**`9ec37795f404`** (`9ec37795f404200e72f4ffdacce3d89ff694b3d5`, autofit_inference branch +`feature/search-ext-b5c-family`, 2026-10-15), committed before the generator, the +references, the harness and any `correlated_nd` row; this line and §10 are bookkeeping +added by a later commit. ## 8. Headline numbers @@ -249,10 +253,14 @@ closed leg is listed below as unreliable with its numbers. | Dataset | Backend | Realisation 1 | |---|---|---| -| `corr_gaussian_d20` | numpy, jax_cpu | pending (written with the generator, B5c) | -| `corr_gaussian_d50` | numpy, jax_cpu | pending | -| `corr_gaussian_d100` | numpy, jax_cpu | pending | -| `rosenbrock_d20` | numpy, jax_cpu | pending | +| `corr_gaussian_d20` | numpy, jax_cpu | complete (B5c): ln Z −93.0195, backend identity ≤ 1.4e-14 nat, draws worst median 0.004 σ, control verdicts accepted | +| `corr_gaussian_d50` | numpy, jax_cpu | complete (B5c): ln Z −233.0188, identity ≤ 2.8e-14 nat, draws worst median 0.008 σ, accepted | +| `corr_gaussian_d100` | numpy, jax_cpu | complete (B5c): ln Z −467.0880, identity ≤ 5.7e-14 nat, draws worst median 0.008 σ, accepted | +| `rosenbrock_d20` | numpy, jax_cpu | complete (B5c): ln Z −140.9460 (box mass 1 − 1e-16), identity ≤ 7.1e-15 nat, draws worst median 0.002 σ, accepted | + +Written at PyAutoFit `df6d218f10cd` (the pilot pin) by +`scripts/misc/reference/exact_correlated_nd.py --all`; the self-test numbers are each +file's `agreement` block. ## 11. Amendments From 2d81df8780c34f9e75f133e8ba99940b01769a29 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 21:07:20 +0100 Subject: [PATCH 07/15] correlated_nd: review round 1 fixes and protocol amendment A1, before any row (B5c) - A1 (protocol section 11): Nautilus exempt from the live-point floor (its importance-sampled ln Z is not bounded by sqrt(H/n_live)); 930 planned runs, 110 deferred. The pilot cap is on the process: rows carry process_elapsed_s and operational_kill compares it with the cap (a warm start's provider and the admission bar no longer turn a capped run into 'missing'). - The runner refuses a RAL correlated_nd run at any PyAutoFit but the pin; the submit's pin guards exit explicitly. - Family rows are skipped silently by the exporter and kept out of every wave-2 scanner; exact draws are seeded by structure_seed (references rewritten, all complete); the banana x1 quantiles use mid-node cumulative weights. - Tests: warm-start-shaped capped row, runner-shaped rows admitted, family chain convergence. Refs #14 Co-Authored-By: Claude Opus 5.5 --- README.md | 4 +- hpc/README.md | 2 +- hpc/batch_cpu/correlated_nd/pilot.tsv | 110 ++++++++++++++++++ hpc/batch_cpu/submit_correlated_nd_pilot | 33 ++++-- .../corr_gaussian_d100/jax_cpu/reference.json | 18 +-- .../corr_gaussian_d100/numpy/reference.json | 20 ++-- .../corr_gaussian_d20/jax_cpu/reference.json | 20 ++-- .../corr_gaussian_d20/numpy/reference.json | 18 +-- .../corr_gaussian_d50/jax_cpu/reference.json | 18 +-- .../corr_gaussian_d50/numpy/reference.json | 18 +-- .../rosenbrock_d20/jax_cpu/reference.json | 42 +++---- .../rosenbrock_d20/numpy/reference.json | 42 +++---- scripts/misc/models/correlated_nd_exact.py | 10 +- scripts/misc/reference/exact_correlated_nd.py | 2 +- scripts/misc/searches/_correlated_nd.py | 20 +++- scripts/misc/searches/_runner.py | 21 +++- scripts/misc/searches/judge_wave2.py | 6 +- scripts/misc/simulators/correlated_nd.py | 2 +- scripts/misc/test/test_correlated_nd.py | 50 ++++++-- scripts/misc/tooling/build_catalogue.py | 1 + .../misc/tooling/export_inference_summary.py | 6 +- scripts/misc/tooling/plan_correlated_nd.py | 12 +- scripts/misc/tooling/write_probe_timeouts.py | 6 +- wiki/project/protocol_correlated_nd.md | 57 ++++++--- 24 files changed, 380 insertions(+), 158 deletions(-) diff --git a/README.md b/README.md index 1aec48b1..e98aff39 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ of the reliability floor (see "Scored wave 2" below). - **A second family, `correlated_nd` (B5c).** High-D correlated Gaussians and a Rosenbrock banana with exact references, under its own pre-registered protocol - `correlated_nd@1`; its 820-run pilot runs on RAL and ranks nothing (see "The second + `correlated_nd@1`; its 930-run pilot runs on RAL and ranks nothing (see "The second family" below). - **The wave-1 pilot** (223 rows, below) ranks nothing. It calibrated the protocol and ran on PyAutoFit main before phase A2. @@ -62,7 +62,7 @@ Rosenbrock banana (Pagani et al. 2022). Datasets come from any row is judged. Rows are judged by their own pre-registered protocol, [`wiki/project/protocol_correlated_nd.md`](wiki/project/protocol_correlated_nd.md) (`correlated_nd@1`), and catalogued by task and dataset **apart from `gaussian_x3`; -nothing is ranked across families.** The pilot (820 runs: 10 seeds × every non-deferred +nothing is ranked across families.** The pilot (930 runs: 10 seeds × every non-deferred cell of the gaussian_x3 wave-2 menu × the four datasets) runs on RAL `--partition=ral`. diff --git a/hpc/README.md b/hpc/README.md index 63177ae4..9f76bad0 100644 --- a/hpc/README.md +++ b/hpc/README.md @@ -93,7 +93,7 @@ pulled `results/` as a parallel per-directory `tar` on the login node instead. `submit_correlated_nd_pilot` and `batch_cpu/correlated_nd/pilot.tsv` are generated by `python scripts/misc/tooling/plan_correlated_nd.py --write` (lint runs `--check`): one array -task per run (820: every non-deferred cell × seeds 0–9 × realisation 1), each run under the +task per run (930: every non-deferred cell × seeds 0–9 × realisation 1), each run under the pilot's 4 h operational cap, `--partition=ral` only, the same exclusions and private pin as wave 2, 2 CPUs and 8 GB per task, throttled to `%100`. Protocol `wiki/project/protocol_correlated_nd.md` §7. diff --git a/hpc/batch_cpu/correlated_nd/pilot.tsv b/hpc/batch_cpu/correlated_nd/pilot.tsv index 086dcded..cfb12a27 100644 --- a/hpc/batch_cpu/correlated_nd/pilot.tsv +++ b/hpc/batch_cpu/correlated_nd/pilot.tsv @@ -259,6 +259,26 @@ corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 corr_gaussian_d20 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 nautilus n_live_100 ral_numpy_fp64 1 14520 0 +corr_gaussian_d50 nautilus n_live_100 ral_numpy_fp64 1 14520 1 +corr_gaussian_d50 nautilus n_live_100 ral_numpy_fp64 1 14520 2 +corr_gaussian_d50 nautilus n_live_100 ral_numpy_fp64 1 14520 3 +corr_gaussian_d50 nautilus n_live_100 ral_numpy_fp64 1 14520 4 +corr_gaussian_d50 nautilus n_live_100 ral_numpy_fp64 1 14520 5 +corr_gaussian_d50 nautilus n_live_100 ral_numpy_fp64 1 14520 6 +corr_gaussian_d50 nautilus n_live_100 ral_numpy_fp64 1 14520 7 +corr_gaussian_d50 nautilus n_live_100 ral_numpy_fp64 1 14520 8 +corr_gaussian_d50 nautilus n_live_100 ral_numpy_fp64 1 14520 9 +corr_gaussian_d50 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 9 corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 0 corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 1 corr_gaussian_d50 nautilus n_live_200 ral_numpy_fp64 1 14520 2 @@ -359,6 +379,16 @@ corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 corr_gaussian_d50 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d50 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d50 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d50 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d50 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d50 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d50 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d50 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d50 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d50 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d50 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 0 corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 1 corr_gaussian_d50 smc default ral_jax_cpu_fp64 1 14520 2 @@ -449,6 +479,46 @@ corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 corr_gaussian_d50 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 nautilus n_live_100 ral_numpy_fp64 1 14520 0 +corr_gaussian_d100 nautilus n_live_100 ral_numpy_fp64 1 14520 1 +corr_gaussian_d100 nautilus n_live_100 ral_numpy_fp64 1 14520 2 +corr_gaussian_d100 nautilus n_live_100 ral_numpy_fp64 1 14520 3 +corr_gaussian_d100 nautilus n_live_100 ral_numpy_fp64 1 14520 4 +corr_gaussian_d100 nautilus n_live_100 ral_numpy_fp64 1 14520 5 +corr_gaussian_d100 nautilus n_live_100 ral_numpy_fp64 1 14520 6 +corr_gaussian_d100 nautilus n_live_100 ral_numpy_fp64 1 14520 7 +corr_gaussian_d100 nautilus n_live_100 ral_numpy_fp64 1 14520 8 +corr_gaussian_d100 nautilus n_live_100 ral_numpy_fp64 1 14520 9 +corr_gaussian_d100 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 nautilus n_live_200 ral_numpy_fp64 1 14520 0 +corr_gaussian_d100 nautilus n_live_200 ral_numpy_fp64 1 14520 1 +corr_gaussian_d100 nautilus n_live_200 ral_numpy_fp64 1 14520 2 +corr_gaussian_d100 nautilus n_live_200 ral_numpy_fp64 1 14520 3 +corr_gaussian_d100 nautilus n_live_200 ral_numpy_fp64 1 14520 4 +corr_gaussian_d100 nautilus n_live_200 ral_numpy_fp64 1 14520 5 +corr_gaussian_d100 nautilus n_live_200 ral_numpy_fp64 1 14520 6 +corr_gaussian_d100 nautilus n_live_200 ral_numpy_fp64 1 14520 7 +corr_gaussian_d100 nautilus n_live_200 ral_numpy_fp64 1 14520 8 +corr_gaussian_d100 nautilus n_live_200 ral_numpy_fp64 1 14520 9 +corr_gaussian_d100 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 nautilus n_live_200 ral_jax_cpu_fp64 1 14520 9 corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 0 corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 1 corr_gaussian_d100 nautilus n_live_400 ral_numpy_fp64 1 14520 2 @@ -499,6 +569,16 @@ corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 corr_gaussian_d100 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 +corr_gaussian_d100 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 0 +corr_gaussian_d100 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 1 +corr_gaussian_d100 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 2 +corr_gaussian_d100 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 3 +corr_gaussian_d100 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 4 +corr_gaussian_d100 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 5 +corr_gaussian_d100 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 6 +corr_gaussian_d100 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 +corr_gaussian_d100 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 +corr_gaussian_d100 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 0 corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 1 corr_gaussian_d100 smc default ral_jax_cpu_fp64 1 14520 2 @@ -589,6 +669,26 @@ corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 7 corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 8 corr_gaussian_d100 multi_start_lion starts_48_steps_300 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 0 +rosenbrock_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 1 +rosenbrock_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 2 +rosenbrock_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 3 +rosenbrock_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 4 +rosenbrock_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 5 +rosenbrock_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 6 +rosenbrock_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 7 +rosenbrock_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 8 +rosenbrock_d20 nautilus n_live_100 ral_numpy_fp64 1 14520 9 +rosenbrock_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 nautilus n_live_100 ral_jax_cpu_fp64 1 14520 9 rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 0 rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 1 rosenbrock_d20 nautilus n_live_200 ral_numpy_fp64 1 14520 2 @@ -729,6 +829,16 @@ rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 6 rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 rosenbrock_d20 blackjax_nuts warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 +rosenbrock_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 0 +rosenbrock_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 1 +rosenbrock_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 2 +rosenbrock_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 3 +rosenbrock_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 4 +rosenbrock_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 5 +rosenbrock_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 6 +rosenbrock_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 7 +rosenbrock_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 8 +rosenbrock_d20 blackjax_nuts_warm warmup_200_samples_500 ral_jax_cpu_fp64 1 14520 9 rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 0 rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 1 rosenbrock_d20 smc default ral_jax_cpu_fp64 1 14520 2 diff --git a/hpc/batch_cpu/submit_correlated_nd_pilot b/hpc/batch_cpu/submit_correlated_nd_pilot index 89ce74c1..8ed6c67f 100755 --- a/hpc/batch_cpu/submit_correlated_nd_pilot +++ b/hpc/batch_cpu/submit_correlated_nd_pilot @@ -3,9 +3,9 @@ # GENERATED by scripts/misc/tooling/plan_correlated_nd.py -- do not edit by hand. # Change the planner, run it with --write and commit; lint runs it with --check. # -# The correlated_nd pilot (protocol correlated_nd@1, section 7): 820 array -# tasks, one run each: 82 planned cells x 10 seeds x realisation 1 -# (1040 expected, 220 deferred with reasons in searches/_correlated_nd.py). +# The correlated_nd pilot (protocol correlated_nd@1, section 7): 930 array +# tasks, one run each: 93 planned cells x 10 seeds x realisation 1 +# (1040 expected, 110 deferred with reasons in searches/_correlated_nd.py). # Each run is limited to the pilot's 4 h operational cap plus the run overhead; a run # that hits it writes a Terminated failure row (a censored attempt, not a timeout). # The pilot ranks nothing; it calibrates correlated_nd@2. @@ -60,6 +60,8 @@ # lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: corr_gaussian_d50/searches/blackjax_nuts/correlated_nd device: ral_cpu precision: fp64 # lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d50/searches/blackjax_nuts_warm/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: corr_gaussian_d50/searches/smc/correlated_nd device: ral_cpu precision: fp64 # lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: corr_gaussian_d50/searches/lbfgs/correlated_nd device: ral_cpu precision: fp64 @@ -80,6 +82,8 @@ # lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: corr_gaussian_d100/searches/blackjax_nuts/correlated_nd device: ral_cpu precision: fp64 # lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: corr_gaussian_d100/searches/blackjax_nuts_warm/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: corr_gaussian_d100/searches/smc/correlated_nd device: ral_cpu precision: fp64 # lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: corr_gaussian_d100/searches/lbfgs/correlated_nd device: ral_cpu precision: fp64 @@ -108,6 +112,8 @@ # lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: rosenbrock_d20/searches/blackjax_nuts/correlated_nd device: ral_cpu precision: fp64 # lanes: 1 steps: 1 source: unmeasured probe-first: yes +# cell: rosenbrock_d20/searches/blackjax_nuts_warm/correlated_nd device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: rosenbrock_d20/searches/smc/correlated_nd device: ral_cpu precision: fp64 # lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: rosenbrock_d20/searches/lbfgs/correlated_nd device: ral_cpu precision: fp64 @@ -129,7 +135,7 @@ #SBATCH --cpus-per-task=2 #SBATCH --mem=8gb #SBATCH --time=04:17:00 -#SBATCH --array=0-819%100 +#SBATCH --array=0-929%100 #SBATCH -o output/output.%A_%a.out #SBATCH -e error/error.%A_%a.err #SBATCH --mail-type=END,FAIL @@ -155,10 +161,12 @@ export NPROC=1 echo "==========================================" date cd $AP_ROOT -# Refuse to run anything unless both pins are at their commits and are what imports. -test "$(git -C $AF_PIN/PyAutoFit rev-parse HEAD)" = "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" -test "$(git -C $AF_PIN/PyAutoNerves rev-parse HEAD)" = "7f3055b7f3d1967f372bdb41ee732135bca0e68d" -python3 -c "import autofit, autonerves, os; pin = os.environ['AF_PIN']; assert autofit.__file__.startswith(pin) and autonerves.__file__.startswith(pin), (autofit.__file__, autonerves.__file__); print('autofit', autofit.__version__, autofit.__file__); print('autonerves', autonerves.__file__)" +# Refuse to run anything unless both pins are at their commits and are what imports +# (explicit exits: these hold even without activate.sh's SLURM errexit guard; the runner +# also refuses a RAL correlated_nd run at any other PyAutoFit). +test "$(git -C $AF_PIN/PyAutoFit rev-parse HEAD)" = "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" || { echo "PyAutoFit pin mismatch" >&2; exit 1; } +test "$(git -C $AF_PIN/PyAutoNerves rev-parse HEAD)" = "7f3055b7f3d1967f372bdb41ee732135bca0e68d" || { echo "PyAutoNerves pin mismatch" >&2; exit 1; } +python3 -c "import autofit, autonerves, os; pin = os.environ['AF_PIN']; assert autofit.__file__.startswith(pin) and autonerves.__file__.startswith(pin), (autofit.__file__, autonerves.__file__); print('autofit', autofit.__version__, autofit.__file__); print('autonerves', autonerves.__file__)" || { echo "pin import check failed" >&2; exit 1; } TASKS=hpc/batch_cpu/correlated_nd/pilot.tsv LINE=$(sed -n "$((SLURM_ARRAY_TASK_ID + 2))p" "$TASKS") @@ -226,6 +234,9 @@ case "$DATASET/$SAMPLER" in corr_gaussian_d50/blackjax_nuts) timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" ;; + corr_gaussian_d50/blackjax_nuts_warm) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/blackjax_nuts_warm/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; corr_gaussian_d50/smc) timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" ;; @@ -256,6 +267,9 @@ case "$DATASET/$SAMPLER" in corr_gaussian_d100/blackjax_nuts) timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" ;; + corr_gaussian_d100/blackjax_nuts_warm) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/blackjax_nuts_warm/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; corr_gaussian_d100/smc) timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" ;; @@ -298,6 +312,9 @@ case "$DATASET/$SAMPLER" in rosenbrock_d20/blackjax_nuts) timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" ;; + rosenbrock_d20/blackjax_nuts_warm) + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/blackjax_nuts_warm/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + ;; rosenbrock_d20/smc) timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" ;; diff --git a/results/reference/corr_gaussian_d100/jax_cpu/reference.json b/results/reference/corr_gaussian_d100/jax_cpu/reference.json index 1a866f4d..ec512512 100644 --- a/results/reference/corr_gaussian_d100/jax_cpu/reference.json +++ b/results/reference/corr_gaussian_d100/jax_cpu/reference.json @@ -1951,17 +1951,17 @@ "draws": { "n": 200000, "seed": 0, - "worst_median_offset_sigma": 0.00814918023907866, - "worst_sigma_ratio_offset": 0.00839648793700598, + "worst_median_offset_sigma": 0.005844009098796676, + "worst_sigma_ratio_offset": 0.006742258265153067, "whitened": { "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", "n_coordinates": 100, - "worst_median": 0.007293766744453657, - "worst_median_key": "u009", - "sigma_ratio_min": 0.995754412386327, - "sigma_ratio_min_key": "u065", - "sigma_ratio_max": 1.0050897571741753, - "sigma_ratio_max_key": "u090" + "worst_median": 0.0071811081806773015, + "worst_median_key": "u060", + "sigma_ratio_min": 0.9945413870168528, + "sigma_ratio_min_key": "u037", + "sigma_ratio_max": 1.0051839958173656, + "sigma_ratio_max_key": "u048" }, "tolerance_median_sigma": 0.02, "tolerance_sigma": 0.02 @@ -1981,5 +1981,5 @@ "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" }, - "written_at": "2026-10-15T19:38:43Z" + "written_at": "2026-10-15T20:06:52Z" } diff --git a/results/reference/corr_gaussian_d100/numpy/reference.json b/results/reference/corr_gaussian_d100/numpy/reference.json index 50dde4a1..5aaa04b7 100644 --- a/results/reference/corr_gaussian_d100/numpy/reference.json +++ b/results/reference/corr_gaussian_d100/numpy/reference.json @@ -1944,24 +1944,24 @@ "test": "protocol correlated_nd \u00a76 (exact reference self-test)", "backend_identity": { "points": 64, - "max_abs_delta_nat": 5.684341886080802e-14, + "max_abs_delta_nat": 2.842170943040401e-14, "tolerance_nat": 1e-08, "path": "autofit Fitness.call" }, "draws": { "n": 200000, "seed": 0, - "worst_median_offset_sigma": 0.00814918023907866, - "worst_sigma_ratio_offset": 0.00839648793700598, + "worst_median_offset_sigma": 0.005844009098796676, + "worst_sigma_ratio_offset": 0.006742258265153067, "whitened": { "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", "n_coordinates": 100, - "worst_median": 0.007293766744453657, - "worst_median_key": "u009", - "sigma_ratio_min": 0.995754412386327, - "sigma_ratio_min_key": "u065", - "sigma_ratio_max": 1.0050897571741753, - "sigma_ratio_max_key": "u090" + "worst_median": 0.0071811081806773015, + "worst_median_key": "u060", + "sigma_ratio_min": 0.9945413870168528, + "sigma_ratio_min_key": "u037", + "sigma_ratio_max": 1.0051839958173656, + "sigma_ratio_max_key": "u048" }, "tolerance_median_sigma": 0.02, "tolerance_sigma": 0.02 @@ -1981,5 +1981,5 @@ "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" }, - "written_at": "2026-10-15T19:38:35Z" + "written_at": "2026-10-15T20:06:44Z" } diff --git a/results/reference/corr_gaussian_d20/jax_cpu/reference.json b/results/reference/corr_gaussian_d20/jax_cpu/reference.json index 41280a44..d3a7508e 100644 --- a/results/reference/corr_gaussian_d20/jax_cpu/reference.json +++ b/results/reference/corr_gaussian_d20/jax_cpu/reference.json @@ -424,24 +424,24 @@ "test": "protocol correlated_nd \u00a76 (exact reference self-test)", "backend_identity": { "points": 64, - "max_abs_delta_nat": 7.105427357601002e-15, + "max_abs_delta_nat": 1.4210854715202004e-14, "tolerance_nat": 1e-08, "path": "autofit Fitness.call under jax.jit" }, "draws": { "n": 200000, "seed": 0, - "worst_median_offset_sigma": 0.004272028895988029, - "worst_sigma_ratio_offset": 0.0035675251347991876, + "worst_median_offset_sigma": 0.0046643210979422705, + "worst_sigma_ratio_offset": 0.0029394112527306726, "whitened": { "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", "n_coordinates": 20, - "worst_median": 0.005493583937710987, - "worst_median_key": "u001", - "sigma_ratio_min": 0.9946543566605447, - "sigma_ratio_min_key": "u013", - "sigma_ratio_max": 1.004668704870897, - "sigma_ratio_max_key": "u017" + "worst_median": 0.005990683527967661, + "worst_median_key": "u005", + "sigma_ratio_min": 0.9952468233652993, + "sigma_ratio_min_key": "u015", + "sigma_ratio_max": 1.0061268957335874, + "sigma_ratio_max_key": "u008" }, "tolerance_median_sigma": 0.02, "tolerance_sigma": 0.02 @@ -461,5 +461,5 @@ "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" }, - "written_at": "2026-10-15T19:38:20Z" + "written_at": "2026-10-15T20:06:28Z" } diff --git a/results/reference/corr_gaussian_d20/numpy/reference.json b/results/reference/corr_gaussian_d20/numpy/reference.json index 8cd4aa1a..1eef923e 100644 --- a/results/reference/corr_gaussian_d20/numpy/reference.json +++ b/results/reference/corr_gaussian_d20/numpy/reference.json @@ -431,17 +431,17 @@ "draws": { "n": 200000, "seed": 0, - "worst_median_offset_sigma": 0.004272028895988029, - "worst_sigma_ratio_offset": 0.0035675251347991876, + "worst_median_offset_sigma": 0.0046643210979422705, + "worst_sigma_ratio_offset": 0.0029394112527306726, "whitened": { "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", "n_coordinates": 20, - "worst_median": 0.005493583937710987, - "worst_median_key": "u001", - "sigma_ratio_min": 0.9946543566605447, - "sigma_ratio_min_key": "u013", - "sigma_ratio_max": 1.004668704870897, - "sigma_ratio_max_key": "u017" + "worst_median": 0.005990683527967661, + "worst_median_key": "u005", + "sigma_ratio_min": 0.9952468233652993, + "sigma_ratio_min_key": "u015", + "sigma_ratio_max": 1.0061268957335874, + "sigma_ratio_max_key": "u008" }, "tolerance_median_sigma": 0.02, "tolerance_sigma": 0.02 @@ -461,5 +461,5 @@ "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" }, - "written_at": "2026-10-15T19:38:18Z" + "written_at": "2026-10-15T20:06:26Z" } diff --git a/results/reference/corr_gaussian_d50/jax_cpu/reference.json b/results/reference/corr_gaussian_d50/jax_cpu/reference.json index 0896e79b..8ccddb40 100644 --- a/results/reference/corr_gaussian_d50/jax_cpu/reference.json +++ b/results/reference/corr_gaussian_d50/jax_cpu/reference.json @@ -1001,17 +1001,17 @@ "draws": { "n": 200000, "seed": 0, - "worst_median_offset_sigma": 0.0078746773220655, - "worst_sigma_ratio_offset": 0.004217016907160032, + "worst_median_offset_sigma": 0.004204829392851418, + "worst_sigma_ratio_offset": 0.006516918247386094, "whitened": { "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", "n_coordinates": 50, - "worst_median": 0.006541814383453264, - "worst_median_key": "u026", - "sigma_ratio_min": 0.9958164047457363, - "sigma_ratio_min_key": "u046", - "sigma_ratio_max": 1.0047206633040369, - "sigma_ratio_max_key": "u013" + "worst_median": 0.00737697042917233, + "worst_median_key": "u037", + "sigma_ratio_min": 0.9955576492940938, + "sigma_ratio_min_key": "u035", + "sigma_ratio_max": 1.004011810594844, + "sigma_ratio_max_key": "u036" }, "tolerance_median_sigma": 0.02, "tolerance_sigma": 0.02 @@ -1031,5 +1031,5 @@ "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" }, - "written_at": "2026-10-15T19:38:28Z" + "written_at": "2026-10-15T20:06:36Z" } diff --git a/results/reference/corr_gaussian_d50/numpy/reference.json b/results/reference/corr_gaussian_d50/numpy/reference.json index b5492347..0b9f6f42 100644 --- a/results/reference/corr_gaussian_d50/numpy/reference.json +++ b/results/reference/corr_gaussian_d50/numpy/reference.json @@ -1001,17 +1001,17 @@ "draws": { "n": 200000, "seed": 0, - "worst_median_offset_sigma": 0.0078746773220655, - "worst_sigma_ratio_offset": 0.004217016907160032, + "worst_median_offset_sigma": 0.004204829392851418, + "worst_sigma_ratio_offset": 0.006516918247386094, "whitened": { "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", "n_coordinates": 50, - "worst_median": 0.006541814383453264, - "worst_median_key": "u026", - "sigma_ratio_min": 0.9958164047457363, - "sigma_ratio_min_key": "u046", - "sigma_ratio_max": 1.0047206633040369, - "sigma_ratio_max_key": "u013" + "worst_median": 0.00737697042917233, + "worst_median_key": "u037", + "sigma_ratio_min": 0.9955576492940938, + "sigma_ratio_min_key": "u035", + "sigma_ratio_max": 1.004011810594844, + "sigma_ratio_max_key": "u036" }, "tolerance_median_sigma": 0.02, "tolerance_sigma": 0.02 @@ -1031,5 +1031,5 @@ "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" }, - "written_at": "2026-10-15T19:38:24Z" + "written_at": "2026-10-15T20:06:31Z" } diff --git a/results/reference/rosenbrock_d20/jax_cpu/reference.json b/results/reference/rosenbrock_d20/jax_cpu/reference.json index 7425c05b..5cd6a9f4 100644 --- a/results/reference/rosenbrock_d20/jax_cpu/reference.json +++ b/results/reference/rosenbrock_d20/jax_cpu/reference.json @@ -49,12 +49,12 @@ }, "posterior": { "x000": { - "median": 3.4920609245113736, - "sigma": 3.1448755792769756, - "lower_1": 0.34688744801193605, - "upper_1": 6.636638606565887, - "lower_2": -2.7060228400042896, - "upper_2": 9.68970650531463, + "median": 3.4924156018784536, + "sigma": 3.144658665409994, + "lower_1": 0.3477779346109879, + "upper_1": 6.637095265430975, + "lower_2": -2.705609413328991, + "upper_2": 9.690482495180621, "mean": 3.4924355434607888 }, "x001": { @@ -231,12 +231,12 @@ }, "posterior_relabelled": { "x000": { - "median": 3.4920609245113736, - "sigma": 3.1448755792769756, - "lower_1": 0.34688744801193605, - "upper_1": 6.636638606565887, - "lower_2": -2.7060228400042896, - "upper_2": 9.68970650531463, + "median": 3.4924156018784536, + "sigma": 3.144658665409994, + "lower_1": 0.3477779346109879, + "upper_1": 6.637095265430975, + "lower_2": -2.705609413328991, + "upper_2": 9.690482495180621, "mean": 3.4924355434607888 }, "x001": { @@ -431,17 +431,17 @@ "draws": { "n": 200000, "seed": 0, - "worst_median_offset_sigma": 0.001722396845533362, - "worst_sigma_ratio_offset": 0.0026302205272787926, + "worst_median_offset_sigma": 0.0007900017601132544, + "worst_sigma_ratio_offset": 0.002849893501538414, "whitened": { "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", "n_coordinates": 20, - "worst_median": 0.005493583937705486, - "worst_median_key": "u001", - "sigma_ratio_min": 0.994654356660544, - "sigma_ratio_min_key": "u013", - "sigma_ratio_max": 1.0046687048709009, - "sigma_ratio_max_key": "u017" + "worst_median": 0.005134448400812188, + "worst_median_key": "u013", + "sigma_ratio_min": 0.9971308772998791, + "sigma_ratio_min_key": "u018", + "sigma_ratio_max": 1.0042093385780206, + "sigma_ratio_max_key": "u005" }, "tolerance_median_sigma": 0.02, "tolerance_sigma": 0.02 @@ -461,5 +461,5 @@ "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" }, - "written_at": "2026-10-15T19:38:54Z" + "written_at": "2026-10-15T20:07:02Z" } diff --git a/results/reference/rosenbrock_d20/numpy/reference.json b/results/reference/rosenbrock_d20/numpy/reference.json index e0cf5ac2..0d68a2f8 100644 --- a/results/reference/rosenbrock_d20/numpy/reference.json +++ b/results/reference/rosenbrock_d20/numpy/reference.json @@ -49,12 +49,12 @@ }, "posterior": { "x000": { - "median": 3.4920609245113736, - "sigma": 3.1448755792769756, - "lower_1": 0.34688744801193605, - "upper_1": 6.636638606565887, - "lower_2": -2.7060228400042896, - "upper_2": 9.68970650531463, + "median": 3.4924156018784536, + "sigma": 3.144658665409994, + "lower_1": 0.3477779346109879, + "upper_1": 6.637095265430975, + "lower_2": -2.705609413328991, + "upper_2": 9.690482495180621, "mean": 3.4924355434607888 }, "x001": { @@ -231,12 +231,12 @@ }, "posterior_relabelled": { "x000": { - "median": 3.4920609245113736, - "sigma": 3.1448755792769756, - "lower_1": 0.34688744801193605, - "upper_1": 6.636638606565887, - "lower_2": -2.7060228400042896, - "upper_2": 9.68970650531463, + "median": 3.4924156018784536, + "sigma": 3.144658665409994, + "lower_1": 0.3477779346109879, + "upper_1": 6.637095265430975, + "lower_2": -2.705609413328991, + "upper_2": 9.690482495180621, "mean": 3.4924355434607888 }, "x001": { @@ -431,17 +431,17 @@ "draws": { "n": 200000, "seed": 0, - "worst_median_offset_sigma": 0.001722396845533362, - "worst_sigma_ratio_offset": 0.0026302205272787926, + "worst_median_offset_sigma": 0.0007900017601132544, + "worst_sigma_ratio_offset": 0.002849893501538414, "whitened": { "basis": "exact whitening map (protocol correlated_nd \u00a74(b)3)", "n_coordinates": 20, - "worst_median": 0.005493583937705486, - "worst_median_key": "u001", - "sigma_ratio_min": 0.994654356660544, - "sigma_ratio_min_key": "u013", - "sigma_ratio_max": 1.0046687048709009, - "sigma_ratio_max_key": "u017" + "worst_median": 0.005134448400812188, + "worst_median_key": "u013", + "sigma_ratio_min": 0.9971308772998791, + "sigma_ratio_min_key": "u018", + "sigma_ratio_max": 1.0042093385780206, + "sigma_ratio_max_key": "u005" }, "tolerance_median_sigma": 0.02, "tolerance_sigma": 0.02 @@ -461,5 +461,5 @@ "autonerves": "7f3055b7f3d1967f372bdb41ee732135bca0e68d", "autofit": "df6d218f10cd75a7f0d79bb03dca5c131fd29d33" }, - "written_at": "2026-10-15T19:38:48Z" + "written_at": "2026-10-15T20:06:57Z" } diff --git a/scripts/misc/models/correlated_nd_exact.py b/scripts/misc/models/correlated_nd_exact.py index 9acb486d..3d5ed7fa 100644 --- a/scripts/misc/models/correlated_nd_exact.py +++ b/scripts/misc/models/correlated_nd_exact.py @@ -7,7 +7,7 @@ - **ln Z.** The likelihood is a normalised density in ``theta`` and the prior is uniform on the box of volume ``V``, so ``Z = mass / V`` with ``mass`` the posterior mass inside the box. Gaussians: ``mass = 1 - eps`` with ``eps`` bounded by a union bound - (``truncation_bound``; below 1e-11 on every committed realisation) and + (``truncation_bound``; below 1e-25 on every committed realisation) and ``ln Z = -ln V``. Banana: ``mass`` is integrated exactly (1-D Gauss–Legendre over ``x1``; every ``x_j`` factor is a closed-form normal CDF) and ``ln Z = ln mass - ln V``. - **Marginals** in the convention of ``searches/_posterior.marginal`` (weighted quantiles @@ -63,6 +63,7 @@ class Dataset: lower: np.ndarray upper: np.ndarray truth: np.ndarray + structure_seed: int = 0 eigenvalues: np.ndarray | None = None eigenvectors: np.ndarray | None = None sigma1: float | None = None @@ -90,6 +91,7 @@ def load(dataset_path: Path) -> Dataset: "lower": np.asarray([priors["lower"][k] for k in keys], dtype=float), "upper": np.asarray([priors["upper"][k] for k in keys], dtype=float), "truth": np.asarray([truth["parameters"][k] for k in keys], dtype=float), + "structure_seed": int(truth["structure_seed"]), } if model["kind"] == "gaussian": return Dataset( @@ -186,7 +188,9 @@ def _banana_x1_marginal(ds: Dataset) -> dict: """x1 under the box: the x_j box factors (each 1 - O(1e-9)) are kept in the CDF.""" nodes, weights = _x1_nodes(ds) w = weights * np.prod(_xj_box_mass(ds, nodes), axis=1) - cdf = np.cumsum(w) / np.sum(w) + # Mid-node cumulative weight (each node holds half its own weight), so the quantile + # carries no half-node bias. + cdf = (np.cumsum(w) - 0.5 * w) / np.sum(w) q = np.interp(QUANTILES, cdf, nodes) mean = float(np.sum(w * nodes) / np.sum(w)) return _marginal_dict(q, mean) @@ -293,7 +297,7 @@ def information(ds: Dataset, log_z: float) -> float: def sample(ds: Dataset, n: int, seed: int = 0) -> np.ndarray: """``n`` exact iid posterior draws (rejection of the rare out-of-box draw).""" - rng = np.random.default_rng([ds.dimension, ds.data_seed, int(seed)]) + rng = np.random.default_rng([ds.structure_seed, ds.data_seed, int(seed)]) out = [] have = 0 while have < n: diff --git a/scripts/misc/reference/exact_correlated_nd.py b/scripts/misc/reference/exact_correlated_nd.py index 32ed066d..1824e47f 100644 --- a/scripts/misc/reference/exact_correlated_nd.py +++ b/scripts/misc/reference/exact_correlated_nd.py @@ -211,7 +211,7 @@ def reference_payload(dataset: str, backend: str, data_seed: int | None = None) def _unconstrained_draws(ds, n: int, np): - rng = np.random.default_rng([ds.dimension, ds.data_seed, 99]) + rng = np.random.default_rng([ds.structure_seed, ds.data_seed, 99]) z = rng.standard_normal((n, ds.dimension)) if ds.kind == "gaussian": return ds.y + (z * np.sqrt(ds.eigenvalues)) @ ds.eigenvectors.T diff --git a/scripts/misc/searches/_correlated_nd.py b/scripts/misc/searches/_correlated_nd.py index d763e8df..63ac7b76 100644 --- a/scripts/misc/searches/_correlated_nd.py +++ b/scripts/misc/searches/_correlated_nd.py @@ -8,8 +8,9 @@ its reason, when it cannot answer its task by construction at that dimension (:func:`deferral`, protocol §7): -1. *Live-point floor (nested searches).* Nested sampling's ln Z scatter is - ``sqrt(H / n_live)`` (Skilling 2006), with ``H`` the exact prior-to-posterior +1. *Live-point floor (classic nested searches: Dynesty, NSS; not Nautilus, §11 A1).* + Nested sampling's ln Z scatter is ``sqrt(H / n_live)`` (Skilling 2006), with ``H`` the + exact prior-to-posterior information of the dataset (:data:`INFORMATION_NATS`, computed by ``models/correlated_nd_exact.information`` and pinned by a test). A leg with ``n_live < H`` has an expected ln Z scatter above the 1-nat tolerance of §4(c). @@ -75,6 +76,12 @@ #: settings pass no kwargs). DYNESTY_DYNAMIC_NLIVE_INIT = 500 +#: The searches the live-point floor applies to: classic nested samplers, whose ln Z +#: scatter is ``sqrt(H / n_live)``. Nautilus is exempt — it estimates ln Z by importance +#: sampling over its neural-network bounds, so the formula does not bound its error and +#: §4(c) judges it directly (protocol §11 A1). +LIVE_POINT_FLOOR_CLASSES = ("DynestyStatic", "DynestyDynamic", "NSS") + #: Ensemble chains need at least this many walkers per dimension (emcee's red-blue move #: and zeus both raise below ``2 * ndim``). WALKERS_PER_DIMENSION = 2 @@ -106,7 +113,7 @@ def deferral(dataset: str, sampler: str, settings: str) -> str | None: dimension = DIMENSION[dataset] information = INFORMATION_NATS[dataset] n_live = live_points(sampler, settings) - if n_live is not None and n_live < information: + if n_live is not None and spec.cls in LIVE_POINT_FLOOR_CLASSES and n_live < information: return ( f"deferred (live-point floor, protocol §7): n_live {n_live} < H {information:.1f} " f"nat at D = {dimension}, so the expected ln Z scatter sqrt(H/n_live) = " @@ -229,10 +236,13 @@ def admit(row: dict) -> str | None: def operational_kill(row: dict) -> bool: """A ``Terminated`` row stopped before the pilot cap: not a censored attempt, so it is - ``missing`` (to rerun).""" + ``missing`` (to rerun). The cap limits the whole process (``timeout`` at + ``PILOT_CAP_S + RUN_OVERHEAD_S``), so the row's ``process_elapsed_s`` is compared with + ``PILOT_CAP_S``; ``search.fit``'s ``total_wall_s`` excludes the imports, the admission + bar and a warm start's provider, and would mark a capped run as an operational kill.""" if "Terminated" not in str(row.get("status")): return False - wall = row.get("total_wall_s") + wall = row.get("process_elapsed_s") return wall is None or float(wall) < PILOT_CAP_S diff --git a/scripts/misc/searches/_runner.py b/scripts/misc/searches/_runner.py index 3100e325..17253121 100644 --- a/scripts/misc/searches/_runner.py +++ b/scripts/misc/searches/_runner.py @@ -743,6 +743,9 @@ def run_search( refused combination (unknown sampler, a deferred search, a JAX leg of a search that is not JAX-native, a ``--dataset`` that disagrees with the leaf). """ + # The process clock a correlated_nd row records (``process_elapsed_s``): its pilot cap + # limits the whole process, so censoring compares this, not ``search.fit`` alone. + process_start = time.perf_counter() cli = parse_inference_cli(argv, default_dataset=dataset_class) if sampler not in SAMPLERS: print( @@ -801,6 +804,15 @@ def run_search( if refusal: print(f"ERROR: {refusal}", file=sys.stderr) return 2 + if family and cli.where == "ral": + # A correlated_nd run on RAL is a pilot row only at the pin (protocol correlated_nd + # §7): refuse any other PyAutoFit before spending the run (local runs are free). + from searches import _correlated_nd as cnd + + refusal = wave_refusal(2, library_revisions(), cnd.PYAUTOFIT_PIN) + if refusal: + print(f"ERROR: correlated_nd pilot: {refusal}", file=sys.stderr) + return 2 # --- imports: everything below here sees the backend environment above --- import autofit as af @@ -1146,7 +1158,14 @@ def admission_bar() -> None: "chain_diagnostics": chain_diag or None, "ppc_chi2": ppc_chi2, # correlated_nd only (gaussian_x3 rows keep their schema): §4(b)3's statistic. - **({"whitened": whitened} if family else {}), + **( + { + "whitened": whitened, + "process_elapsed_s": time.perf_counter() - process_start, + } + if family + else {} + ), "truths": truths, "truth_delta_sigma": truth_delta_sigma_from( summary.get("posterior_relabelled", {}), truths diff --git a/scripts/misc/searches/judge_wave2.py b/scripts/misc/searches/judge_wave2.py index d76dbb1d..158d9e7b 100644 --- a/scripts/misc/searches/judge_wave2.py +++ b/scripts/misc/searches/judge_wave2.py @@ -47,7 +47,11 @@ def wave2_rows(root: Path = ROOT) -> list[tuple[str, dict]]: out = [] for path in sorted((root / "results" / "searches").rglob("*.json")): payload = protocol.load_json(path) - if isinstance(payload, dict) and protocol.wave_of(payload) == wave2.WAVE: + if ( + isinstance(payload, dict) + and protocol.wave_of(payload) == wave2.WAVE + and not protocol.is_family_row(payload) + ): out.append((path.relative_to(root).as_posix(), payload)) return out diff --git a/scripts/misc/simulators/correlated_nd.py b/scripts/misc/simulators/correlated_nd.py index 308880e5..d51aeca9 100644 --- a/scripts/misc/simulators/correlated_nd.py +++ b/scripts/misc/simulators/correlated_nd.py @@ -31,7 +31,7 @@ ``[-c sigma2, max(x1)^2 + c sigma2]`` with ``c`` seeded in 12–16. A realisation whose data sit more than :data:`MAX_DEVIATION_SIGMA` sigma from the truth on any axis is refused (probability below 1e-4 at D = 100), so the truncation of the posterior by the -box is bounded (Gaussians, by a union bound below 1e-11) or integrated exactly +box is bounded (Gaussians, by a union bound, below 1e-25 on the committed realisations) or integrated exactly (banana) — the exact reference (``scripts/misc/reference/exact_correlated_nd.py``) records which. diff --git a/scripts/misc/test/test_correlated_nd.py b/scripts/misc/test/test_correlated_nd.py index ea7681d9..c51489fc 100644 --- a/scripts/misc/test/test_correlated_nd.py +++ b/scripts/misc/test/test_correlated_nd.py @@ -235,21 +235,23 @@ def test_manifest_matches_the_simulator_and_the_cli(): def test_pilot_size_and_deferrals_are_the_pre_registered_ones(): summary = cnd.summary() - assert summary["expected_runs"] == 1040 and summary["planned_runs"] == 820 + assert summary["expected_runs"] == 1040 and summary["planned_runs"] == 930 assert summary["by_dataset"] == { "corr_gaussian_d20": 260, - "corr_gaussian_d50": 190, - "corr_gaussian_d100": 140, - "rosenbrock_d20": 230, + "corr_gaussian_d50": 220, + "corr_gaussian_d100": 190, + "rosenbrock_d20": 260, } deferred = {(c.dataset, c.sampler, c.settings) for c in cnd.cells() if c.status == "deferred"} assert ("corr_gaussian_d100", "nautilus", "n_live_400") not in deferred assert ("corr_gaussian_d100", "dynesty_dynamic", "default") not in deferred assert ("corr_gaussian_d50", "nautilus", "n_live_200") not in deferred - assert ("corr_gaussian_d100", "nautilus", "n_live_200") in deferred + # Nautilus is exempt from the live-point floor (protocol §11 A1). + assert ("corr_gaussian_d100", "nautilus", "n_live_100") not in deferred + assert ("corr_gaussian_d100", "dynesty_static", "nlive_200") in deferred assert ("corr_gaussian_d20", "emcee", "walkers_50_steps_2000") not in deferred assert ("corr_gaussian_d50", "zeus", "walkers_50_steps_2000") in deferred - assert ("rosenbrock_d20", "blackjax_nuts_warm", "warmup_200_samples_500") in deferred + assert ("rosenbrock_d20", "blackjax_nuts_warm", "warmup_200_samples_500") not in deferred for cell in cnd.cells(): assert (cell.status == "deferred") == bool(cell.reason) @@ -305,14 +307,23 @@ def test_accounting_sums_and_refuses(): rows = [ _pilot_row(planned[0], 0), _pilot_row(planned[0], 1, status="failed: RuntimeError: x", completed=False), - _pilot_row(planned[0], 2, status="failed: Terminated: signal", total_wall_s=10.0), - _pilot_row(planned[0], 3, status="failed: Terminated", total_wall_s=cnd.PILOT_CAP_S), + _pilot_row(planned[0], 2, status="failed: Terminated: signal", process_elapsed_s=10.0), + # A warm-start-shaped capped run: search.fit's own wall is short (the provider took + # the time), but the process reached the cap, so it is a censored failure. + _pilot_row( + planned[0], + 3, + status="failed: Terminated", + total_wall_s=30.0, + provider_wall_s=cnd.PILOT_CAP_S - 100.0, + process_elapsed_s=cnd.PILOT_CAP_S + 60.0, + ), _pilot_row(planned[0], 4, pyautofit_commit="deadbeef"), _pilot_row(planned[0], 5, model="gaussian_x3"), ] out = cnd.accounting(rows) totals = out["totals"] - assert totals["expected"] == 1040 and totals["deferred"] == 220 + assert totals["expected"] == 1040 and totals["deferred"] == 110 assert totals["row"] + totals["failed"] + totals["missing"] + totals["deferred"] == 1040 leg = out["legs"][0] assert leg["row"] == 1 and leg["failed"] == [1, 3] @@ -400,3 +411,24 @@ def test_summarise_without_relabelling_has_no_modes(): assert out["posterior_relabelled"] is out["posterior"] assert out["modes"] is None and out["modes_found"] is None assert out["label_permutations_found"] is None + + +def test_family_chain_convergence_uses_the_cnd1_bars(): + ref = _reference() + row = _judged_row("posterior", ref, rhat_max=1.005, ess_bulk_min=450.0) + assert protocol.verdict(row, ref)["convergence"] == "converged" + row = _judged_row("posterior", ref, rhat_max=1.02, ess_bulk_min=450.0) + assert protocol.verdict(row, ref)["convergence"] == "not_converged" + + +def test_runner_shaped_rows_are_admitted(): + """The manifest key the runner writes (config_segment, warm cache on JAX) is a cell key.""" + from searches._runner import config_segment + + for cell in cnd.cells(): + if cell.status != "planned": + continue + cache = cnd.COMPILE_CACHE if cell.backend == "jax_cpu" else None + config_id = config_segment(cell.config_name, cache) + row = _pilot_row(cell, 9, config_id=config_id, config_name=cell.config_name) + assert cnd.admit(row) is None, (cell, cnd.admit(row)) diff --git a/scripts/misc/tooling/build_catalogue.py b/scripts/misc/tooling/build_catalogue.py index 97121bb1..e68fb281 100644 --- a/scripts/misc/tooling/build_catalogue.py +++ b/scripts/misc/tooling/build_catalogue.py @@ -254,6 +254,7 @@ def scan_wave2_rows(root: Path) -> list[tuple[str, dict]]: isinstance(payload, dict) and payload.get("schema_version") == 1 and protocol.wave_of(payload) == wave2.WAVE + and not protocol.is_family_row(payload) ): rows.append((path.relative_to(root).as_posix(), payload)) return rows diff --git a/scripts/misc/tooling/export_inference_summary.py b/scripts/misc/tooling/export_inference_summary.py index 39ad2b5d..e62fbd10 100644 --- a/scripts/misc/tooling/export_inference_summary.py +++ b/scripts/misc/tooling/export_inference_summary.py @@ -398,10 +398,8 @@ def build( if payload.get("schema_version") != 1: raise ValueError("unsupported result schema_version") if protocol.is_family_row(payload): - # correlated_nd (B5c) is exported by its own stage under its own protocol, - # never among the gaussian_x3 records. - why = f"{payload.get('protocol_id')} row: not a gaussian_x3 record" - excluded.append({"path": rel, "reason": why, "status": "refused"}) + # correlated_nd (B5c) is exported by its own stage under its own protocol: + # never a gaussian_x3 record, and not listed among its exclusions either. continue wave = protocol.wave_of(payload) if wave == wave2.WAVE: diff --git a/scripts/misc/tooling/plan_correlated_nd.py b/scripts/misc/tooling/plan_correlated_nd.py index 057d3f2c..5dce68c1 100644 --- a/scripts/misc/tooling/plan_correlated_nd.py +++ b/scripts/misc/tooling/plan_correlated_nd.py @@ -10,7 +10,7 @@ - ``hpc/batch_cpu/correlated_nd/pilot.tsv`` — one line per array task (header first; the submit reads line ``SLURM_ARRAY_TASK_ID + 2``): one run each, every planned cell × the - 10 pilot seeds on realisation 1. + 10 pilot seeds on realisation 1 (930 runs). - ``hpc/batch_cpu/submit_correlated_nd_pilot`` — the array, ``--partition=ral`` only, excluding the four 252-CPU nodes, no GPU resources, the private PyAutoFit/PyAutoNerves pin guarded before anything runs. Every run is limited to the pilot's 4 h operational cap @@ -148,10 +148,12 @@ def submit(tasks: list[cnd.Task]) -> str: echo "==========================================" date cd $AP_ROOT -# Refuse to run anything unless both pins are at their commits and are what imports. -test "$(git -C $AF_PIN/PyAutoFit rev-parse HEAD)" = "{cnd.PYAUTOFIT_PIN}" -test "$(git -C $AF_PIN/PyAutoNerves rev-parse HEAD)" = "{cnd.PYAUTONERVES_PIN}" -python3 -c "import autofit, autonerves, os; pin = os.environ['AF_PIN']; assert autofit.__file__.startswith(pin) and autonerves.__file__.startswith(pin), (autofit.__file__, autonerves.__file__); print('autofit', autofit.__version__, autofit.__file__); print('autonerves', autonerves.__file__)" +# Refuse to run anything unless both pins are at their commits and are what imports +# (explicit exits: these hold even without activate.sh's SLURM errexit guard; the runner +# also refuses a RAL correlated_nd run at any other PyAutoFit). +test "$(git -C $AF_PIN/PyAutoFit rev-parse HEAD)" = "{cnd.PYAUTOFIT_PIN}" || {{ echo "PyAutoFit pin mismatch" >&2; exit 1; }} +test "$(git -C $AF_PIN/PyAutoNerves rev-parse HEAD)" = "{cnd.PYAUTONERVES_PIN}" || {{ echo "PyAutoNerves pin mismatch" >&2; exit 1; }} +python3 -c "import autofit, autonerves, os; pin = os.environ['AF_PIN']; assert autofit.__file__.startswith(pin) and autonerves.__file__.startswith(pin), (autofit.__file__, autonerves.__file__); print('autofit', autofit.__version__, autofit.__file__); print('autonerves', autonerves.__file__)" || {{ echo "pin import check failed" >&2; exit 1; }} TASKS=hpc/batch_cpu/correlated_nd/pilot.tsv LINE=$(sed -n "$((SLURM_ARRAY_TASK_ID + 2))p" "$TASKS") diff --git a/scripts/misc/tooling/write_probe_timeouts.py b/scripts/misc/tooling/write_probe_timeouts.py index 60ce738c..aadfa911 100644 --- a/scripts/misc/tooling/write_probe_timeouts.py +++ b/scripts/misc/tooling/write_probe_timeouts.py @@ -43,7 +43,11 @@ def wave2_rows(root: Path = ROOT) -> list[tuple[str, dict]]: out = [] for path in sorted((root / "results" / "searches").rglob("*.json")): payload = protocol.load_json(path) - if isinstance(payload, dict) and protocol.wave_of(payload) == wave2.WAVE: + if ( + isinstance(payload, dict) + and protocol.wave_of(payload) == wave2.WAVE + and not protocol.is_family_row(payload) + ): out.append((path.relative_to(root).as_posix(), payload)) return out diff --git a/wiki/project/protocol_correlated_nd.md b/wiki/project/protocol_correlated_nd.md index 74237827..b5bb4d05 100644 --- a/wiki/project/protocol_correlated_nd.md +++ b/wiki/project/protocol_correlated_nd.md @@ -177,9 +177,12 @@ between reference runs); a reference is `complete` only when every item passes, expected run (`searches/_correlated_nd.deferral`), when it cannot answer its task by construction: -1. *Live-point floor (nested).* Nested sampling's ln Z scatter is ≈ `√(H / n_live)` - (Skilling 2006). A leg with `n_live < H` has an expected scatter above the 1-nat - tolerance of §4(c). `DynestyDynamic`'s default `nlive_init` is 500. +1. *Live-point floor (classic nested: DynestyStatic, DynestyDynamic, NSS; amendment A1).* + Classic nested sampling's ln Z scatter is ≈ `√(H / n_live)` (Skilling 2006). A leg with + `n_live < H` has an expected scatter above the 1-nat tolerance of §4(c). + `DynestyDynamic`'s default `nlive_init` is 500. Nautilus is exempt (A1): it estimates + ln Z by importance sampling over its neural-network bounds, the formula does not bound + its error, and §4(c) judges it directly. 2. *Walker floor (ensemble chains).* Emcee and Zeus refuse fewer than `2D` walkers, so the menu's 50 walkers are an invalid configuration at `D ≥ 26`. 3. *Warm-start provider.* Warm BlackJAXNUTS starts from Nautilus `n_live_100`; where that @@ -190,19 +193,24 @@ Applied to the menu (26 cells per dataset): | Dataset | Deferred cells (both backends where the search has them) | Planned cells | |---|---|---| | `corr_gaussian_d20` | none | 26 | -| `corr_gaussian_d50` | Nautilus `n_live_100` (rule 1: 100 < 133.3); Emcee, Zeus (rule 2); warm NUTS (rule 3) | 19 | -| `corr_gaussian_d100` | Nautilus `n_live_100` and `n_live_200`, DynestyStatic `nlive_200`, NSS (rule 1: < 267.6); Emcee, Zeus (rule 2); warm NUTS (rule 3) | 14 | -| `rosenbrock_d20` | Nautilus `n_live_100` (rule 1: 100 < 133.3); warm NUTS (rule 3) | 23 | +| `corr_gaussian_d50` | Emcee, Zeus (rule 2) | 22 | +| `corr_gaussian_d100` | DynestyStatic `nlive_200`, NSS (rule 1: 200 < 267.6); Emcee, Zeus (rule 2) | 19 | +| `rosenbrock_d20` | none | 26 | + +(Rule 3 defers nothing once Nautilus is exempt from rule 1, A1.) **The pilot** (wave 1, exploratory, ranks nothing; flagged `pilot: true`): **10 search -seeds (0–9) × realisation 1 × every planned cell × the four datasets = 820 runs** -(1040 expected, 220 deferred), on RAL `--partition=ral` against the private PyAutoFit pin +seeds (0–9) × realisation 1 × every planned cell × the four datasets = 930 runs** +(1040 expected, 110 deferred; A1), on RAL `--partition=ral` against the private PyAutoFit pin `df6d218f10cd` (PyAutoNerves `7f3055b7f3d1`) — the pin of `gaussian_x3` wave 2 — under `.pyauto_pin/` in the RAL clone, never the shared mirror. Every search receives the A4 -search-level `seed`. One run per array task, each under a **4 h operational cap** on -`search.fit` (`timeout -s TERM`; the runner writes a `Terminated` failure row): a run -stopped at the cap is a failed attempt whose wall is a censored lower bound. The cap is not -a protocol timeout. +search-level `seed`. One run per array task, each under a **4 h operational cap** on the +run's process (`timeout -s TERM` at 4 h + 120 s of start-up overhead; the runner writes a +`Terminated` failure row carrying `process_elapsed_s`; A1): a `Terminated` run whose +`process_elapsed_s` reached 4 h is a failed attempt whose wall is a censored lower bound, +and one stopped earlier is an operational kill (`missing`, rerun). A RAL run at any +PyAutoFit other than the pin is refused before it starts. The cap is not a protocol +timeout. **Calibration, then freeze.** Every PLACEHOLDER (the two σ-ratio bands, the ESS and R-hat bars), the per-cell timeout and the censoring rule are calibrated on the pilot and frozen as @@ -253,15 +261,28 @@ closed leg is listed below as unreliable with its numbers. | Dataset | Backend | Realisation 1 | |---|---|---| -| `corr_gaussian_d20` | numpy, jax_cpu | complete (B5c): ln Z −93.0195, backend identity ≤ 1.4e-14 nat, draws worst median 0.004 σ, control verdicts accepted | -| `corr_gaussian_d50` | numpy, jax_cpu | complete (B5c): ln Z −233.0188, identity ≤ 2.8e-14 nat, draws worst median 0.008 σ, accepted | -| `corr_gaussian_d100` | numpy, jax_cpu | complete (B5c): ln Z −467.0880, identity ≤ 5.7e-14 nat, draws worst median 0.008 σ, accepted | -| `rosenbrock_d20` | numpy, jax_cpu | complete (B5c): ln Z −140.9460 (box mass 1 − 1e-16), identity ≤ 7.1e-15 nat, draws worst median 0.002 σ, accepted | +| `corr_gaussian_d20` | numpy, jax_cpu | complete (B5c): ln Z −93.0195, backend identity ≤ 1.4e-14 nat, draws worst median 0.005 σ, control verdicts accepted | +| `corr_gaussian_d50` | numpy, jax_cpu | complete (B5c): ln Z −233.0188, identity ≤ 2.8e-14 nat, draws worst median 0.004 σ, accepted | +| `corr_gaussian_d100` | numpy, jax_cpu | complete (B5c): ln Z −467.0880, identity ≤ 5.7e-14 nat, draws worst median 0.006 σ, accepted | +| `rosenbrock_d20` | numpy, jax_cpu | complete (B5c): ln Z −140.9460 (box mass 1 − 1e-16), identity ≤ 7.1e-15 nat, draws worst median 0.001 σ, accepted | -Written at PyAutoFit `df6d218f10cd` (the pilot pin) by +Written (and rewritten after review round 1 seeded the exact draws by `structure_seed`) at PyAutoFit `df6d218f10cd` (the pilot pin) by `scripts/misc/reference/exact_correlated_nd.py --all`; the self-test numbers are each file's `agreement` block. ## 11. Amendments -None. +Amendments made before any row they could affect exists. + +- **A1 — 2026-10-15, before any `correlated_nd` row (B5c review round 1).** Changes §7 + only. *(i) Nautilus is exempt from the live-point floor*: the `√(H/n_live)` scatter is + the classic nested-sampling error; Nautilus's importance-sampled ln Z is not bounded by + it, so deferring it was not "cannot answer by construction". Nautilus `n_live_100` (d50, + d100, banana) and `n_live_200` (d100) and, with their provider back, warm NUTS (d50, + d100, banana) now run: 930 planned runs, 110 deferred (was 820 / 220). *(ii) The pilot + cap is on the process*, judged by the row's `process_elapsed_s`: `search.fit`'s + `total_wall_s` excludes imports, the admission bar and a warm start's provider, so a + capped run would otherwise have been miscounted as an operational kill. *(iii)* A RAL run + at another PyAutoFit is refused by the runner. *Timing:* committed after the first + commit of this file (`9ec37795f404`) and before any `correlated_nd` row or submission; + `correlated_nd@1` is this file with A1 applied. From 4e2a053c0b0c360038de233aba0e7e6ff4596892 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 21:08:12 +0100 Subject: [PATCH 08/15] generated: catalogue, README and summary after review round 1 (B5c) Refs #14 Co-Authored-By: Claude Opus 5.5 --- README.md | 8 +-- catalogue/search_catalogue.json | 92 ++++++++++++++++----------------- dashboard/summary.json | 4 +- 3 files changed, 52 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index e98aff39..539c9f4c 100644 --- a/README.md +++ b/README.md @@ -69,11 +69,11 @@ cell of the gaussian_x3 wave-2 menu × the four datasets) runs on RAL `--partiti | Dataset | D | Exact ln Z | H (nat) | Exact references | Planned cells | Deferred cells | Pilot rows (failed) | |---|---|---|---|---|---|---|---| | `corr_gaussian_d20` | 20 | -93.020 | 53.1 | `jax_cpu` complete, `numpy` complete | 26 | 0 | 0 (0) | -| `corr_gaussian_d50` | 50 | -233.019 | 133.3 | `jax_cpu` complete, `numpy` complete | 19 | 7 | 0 (0) | -| `corr_gaussian_d100` | 100 | -467.088 | 267.6 | `jax_cpu` complete, `numpy` complete | 14 | 12 | 0 (0) | -| `rosenbrock_d20` | 20 | -140.946 | 133.3 | `jax_cpu` complete, `numpy` complete | 23 | 3 | 0 (0) | +| `corr_gaussian_d50` | 50 | -233.019 | 133.3 | `jax_cpu` complete, `numpy` complete | 22 | 4 | 0 (0) | +| `corr_gaussian_d100` | 100 | -467.088 | 267.6 | `jax_cpu` complete, `numpy` complete | 19 | 7 | 0 (0) | +| `rosenbrock_d20` | 20 | -140.946 | 133.3 | `jax_cpu` complete, `numpy` complete | 26 | 0 | 0 (0) | -Pilot: 1040 expected runs — 0 rows, 0 failed, 820 not yet pulled, 220 deferred with reasons (`catalogue/search_catalogue.json`, section `correlated_nd@1`). Wave 1 (pilot): ranks nothing (protocol correlated_nd §9). Cross-family ranking: none: this family is catalogued apart from gaussian_x3 and no leg is ever ranked or compared across families (protocol correlated_nd §9). +Pilot: 1040 expected runs — 0 rows, 0 failed, 930 not yet pulled, 110 deferred with reasons (`catalogue/search_catalogue.json`, section `correlated_nd@1`). Wave 1 (pilot): ranks nothing (protocol correlated_nd §9). Cross-family ranking: none: this family is catalogued apart from gaussian_x3 and no leg is ever ranked or compared across families (protocol correlated_nd §9). ## Running diff --git a/catalogue/search_catalogue.json b/catalogue/search_catalogue.json index f1cb6f80..6371542d 100644 --- a/catalogue/search_catalogue.json +++ b/catalogue/search_catalogue.json @@ -6442,8 +6442,8 @@ "expected": 1040, "row": 0, "failed": 0, - "missing": 820, - "deferred": 220, + "missing": 930, + "deferred": 110, "refused": 0 }, "tasks": { @@ -7000,13 +7000,13 @@ "sampler": "blackjax_nuts_warm", "settings": "warmup_200_samples_500", "config_id": "ral_jax_cpu_fp64_cache_warm", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (warm-start provider, protocol \u00a77): its provider nautilus/n_live_100 is deferred at D = 50" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "smc", @@ -7086,13 +7086,13 @@ "sampler": "blackjax_nuts_warm", "settings": "warmup_200_samples_500", "config_id": "ral_jax_cpu_fp64_cache_warm", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (warm-start provider, protocol \u00a77): its provider nautilus/n_live_100 is deferred at D = 100" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "smc", @@ -7172,13 +7172,13 @@ "sampler": "blackjax_nuts_warm", "settings": "warmup_200_samples_500", "config_id": "ral_jax_cpu_fp64_cache_warm", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (warm-start provider, protocol \u00a77): its provider nautilus/n_live_100 is deferred at D = 20" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "smc", @@ -7338,25 +7338,25 @@ "sampler": "nautilus", "settings": "n_live_100", "config_id": "ral_numpy_fp64", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 133.3 nat at D = 50, so the expected ln Z scatter sqrt(H/n_live) = 1.15 nat exceeds the 1-nat \u00a74(c) tolerance" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "nautilus", "settings": "n_live_100", "config_id": "ral_jax_cpu_fp64_cache_warm", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 133.3 nat at D = 50, so the expected ln Z scatter sqrt(H/n_live) = 1.15 nat exceeds the 1-nat \u00a74(c) tolerance" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "nautilus", @@ -7472,49 +7472,49 @@ "sampler": "nautilus", "settings": "n_live_100", "config_id": "ral_numpy_fp64", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.64 nat exceeds the 1-nat \u00a74(c) tolerance" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "nautilus", "settings": "n_live_100", "config_id": "ral_jax_cpu_fp64_cache_warm", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.64 nat exceeds the 1-nat \u00a74(c) tolerance" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "nautilus", "settings": "n_live_200", "config_id": "ral_numpy_fp64", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (live-point floor, protocol \u00a77): n_live 200 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.16 nat exceeds the 1-nat \u00a74(c) tolerance" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "nautilus", "settings": "n_live_200", "config_id": "ral_jax_cpu_fp64_cache_warm", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (live-point floor, protocol \u00a77): n_live 200 < H 267.6 nat at D = 100, so the expected ln Z scatter sqrt(H/n_live) = 1.16 nat exceeds the 1-nat \u00a74(c) tolerance" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "nautilus", @@ -7606,25 +7606,25 @@ "sampler": "nautilus", "settings": "n_live_100", "config_id": "ral_numpy_fp64", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 133.3 nat at D = 20, so the expected ln Z scatter sqrt(H/n_live) = 1.15 nat exceeds the 1-nat \u00a74(c) tolerance" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "nautilus", "settings": "n_live_100", "config_id": "ral_jax_cpu_fp64_cache_warm", - "cell_status": "deferred", + "cell_status": "planned", "expected": 10, "rows": 0, "failed": 0, - "missing": 0, - "deferred": 10, - "reason": "deferred (live-point floor, protocol \u00a77): n_live 100 < H 133.3 nat at D = 20, so the expected ln Z scatter sqrt(H/n_live) = 1.15 nat exceeds the 1-nat \u00a74(c) tolerance" + "missing": 10, + "deferred": 0, + "reason": null }, { "sampler": "nautilus", diff --git a/dashboard/summary.json b/dashboard/summary.json index 88588984..6e960227 100644 --- a/dashboard/summary.json +++ b/dashboard/summary.json @@ -832,7 +832,7 @@ } }, "evidence_updated_at": "2026-10-15T16:38:44Z", - "generated_at": "2026-10-15T19:46:46Z", + "generated_at": "2026-10-15T20:07:20Z", "generation_basis": "Source commit timestamp; not a measurement or check-in time", "limitations": [ "Verdicts are producer-asserted under protocol gaussian_x3@1, whose PLACEHOLDER thresholds are calibrated in the wave-1 pilot and then frozen", @@ -844,7 +844,7 @@ "gaussian_x3@2 (scored wave 2) rows are judged under the frozen @2 thresholds against their own data realisation's reference, at the pinned PyAutoFit revision; as records their posterior blocks stay in the committed row (evidence_paths)", "gaussian_x3@2 timeouts are 10 x the laptop pilot medians while RAL ran 4-7 x faster, so censoring of those cells is lenient on RAL; the probe-first cells (Zeus on JAX, NSS 50-step) take 10 x their RAL probe medians, or the 600 s floor" ], - "producer_revision": "1bba46ac6c56a9d716bd9d8a466f8bae07e18ba6", + "producer_revision": "2d81df8780c34f9e75f133e8ba99940b01769a29", "project": "autofit_inference", "protocol_id": "gaussian_x3@1", "protocol_id_note": "The wave-1 pilot's protocol; every record names its own (scientific.protocol_id; a gaussian_x3@2 record also at the record's protocol_id), and protocols lists every protocol this summary covers, in records or coverage", From 60ab92c14623663890dc7207fe31745547fd6e5a Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 21:24:38 +0100 Subject: [PATCH 09/15] correlated_nd: review round 2 fixes, before any row (B5c) - A run that timeout stops without writing its row (a long native call outlives the SIGTERM grace) gets a censored stub row from tooling/cnd_cap_stub.py, called by the generated submit on exit 124/137; admitted and counted failed, never 'missing' for ever (protocol A1 completed; test added). - The gaussian_x3 summary no longer lists the correlated_nd exact references, and family rows are skipped before any validity check. - Protocol section 7: the freeze line states @1 = first commit 9ec37795f404 with A1 applied in place before any row; process_elapsed_s is from the runner's entry. Refs #14 Co-Authored-By: Claude Opus 5.5 --- hpc/batch_cpu/submit_correlated_nd_pilot | 116 +++++++++-------- scripts/misc/searches/_correlated_nd.py | 5 +- scripts/misc/test/test_correlated_nd.py | 26 ++++ scripts/misc/tooling/cnd_cap_stub.py | 120 ++++++++++++++++++ .../misc/tooling/export_inference_summary.py | 12 +- scripts/misc/tooling/plan_correlated_nd.py | 13 +- wiki/project/protocol_correlated_nd.md | 24 ++-- 7 files changed, 243 insertions(+), 73 deletions(-) create mode 100644 scripts/misc/tooling/cnd_cap_stub.py diff --git a/hpc/batch_cpu/submit_correlated_nd_pilot b/hpc/batch_cpu/submit_correlated_nd_pilot index 8ed6c67f..393db036 100755 --- a/hpc/batch_cpu/submit_correlated_nd_pilot +++ b/hpc/batch_cpu/submit_correlated_nd_pilot @@ -20,6 +20,8 @@ # # WALL-BASIS: -- one row per cell this submit runs; no correlated_nd cell has a # measured wall yet (the pilot is the probe; every run is capped as above) +# cell: misc/tooling/cnd_cap_stub device: ral_cpu precision: fp64 +# lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: corr_gaussian_d20/searches/nautilus/correlated_nd device: ral_cpu precision: fp64 # lanes: 1 steps: 1 source: unmeasured probe-first: yes # cell: corr_gaussian_d20/searches/dynesty_static/correlated_nd device: ral_cpu precision: fp64 @@ -173,171 +175,177 @@ LINE=$(sed -n "$((SLURM_ARRAY_TASK_ID + 2))p" "$TASKS") if [ -z "$LINE" ]; then echo "no task line $SLURM_ARRAY_TASK_ID in $TASKS" >&2; exit 1; fi read -r DATASET SAMPLER SETTINGS CONFIG DATA_SEED LIMIT SEED <<< "$LINE" echo "task $SLURM_ARRAY_TASK_ID: $LINE" +RC=0 case "$DATASET/$SAMPLER" in corr_gaussian_d20/nautilus) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/nautilus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/dynesty_static) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/dynesty_static/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/dynesty_static/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/dynesty_static/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/dynesty_dynamic) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/dynesty_dynamic/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/nss) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/nss/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/nss/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/nss/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/emcee) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/emcee/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/emcee/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/emcee/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/zeus) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/zeus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/zeus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/zeus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/blackjax_nuts) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/blackjax_nuts_warm) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/blackjax_nuts_warm/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/smc) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/lbfgs) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/lbfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/bfgs) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/bfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/multi_start_adam) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/multi_start_adam/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/multi_start_prodigy) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/multi_start_prodigy/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/multi_start_adabelief) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/multi_start_adabelief/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d20/multi_start_lion) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d20/multi_start_lion/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d20/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/nautilus) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/nautilus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/dynesty_static) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/dynesty_static/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/dynesty_static/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/dynesty_static/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/dynesty_dynamic) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/dynesty_dynamic/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/nss) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/nss/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/nss/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/nss/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/blackjax_nuts) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/blackjax_nuts_warm) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/blackjax_nuts_warm/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/smc) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/lbfgs) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/lbfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/bfgs) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/bfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/multi_start_adam) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/multi_start_adam/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/multi_start_prodigy) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/multi_start_prodigy/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/multi_start_adabelief) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/multi_start_adabelief/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d50/multi_start_lion) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d50/multi_start_lion/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d50/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/nautilus) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/nautilus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/dynesty_dynamic) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/dynesty_dynamic/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/blackjax_nuts) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/blackjax_nuts_warm) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/blackjax_nuts_warm/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/smc) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/lbfgs) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/lbfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/bfgs) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/bfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/multi_start_adam) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/multi_start_adam/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/multi_start_prodigy) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/multi_start_prodigy/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/multi_start_adabelief) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/multi_start_adabelief/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; corr_gaussian_d100/multi_start_lion) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run corr_gaussian_d100/multi_start_lion/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/corr_gaussian_d100/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/nautilus) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/nautilus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/nautilus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/dynesty_static) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/dynesty_static/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/dynesty_static/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/dynesty_static/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/dynesty_dynamic) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/dynesty_dynamic/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/dynesty_dynamic/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/nss) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/nss/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/nss/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/nss/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/emcee) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/emcee/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/emcee/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/emcee/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/zeus) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/zeus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/zeus/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/zeus/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/blackjax_nuts) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/blackjax_nuts/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/blackjax_nuts/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/blackjax_nuts_warm) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/blackjax_nuts_warm/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/blackjax_nuts_warm/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/smc) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/smc/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/smc/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/lbfgs) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/lbfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/lbfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/bfgs) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/bfgs/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/bfgs/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/multi_start_adam) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/multi_start_adam/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_adam/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/multi_start_prodigy) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/multi_start_prodigy/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_prodigy/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/multi_start_adabelief) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/multi_start_adabelief/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_adabelief/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; rosenbrock_d20/multi_start_lion) - timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || echo "run rosenbrock_d20/multi_start_lion/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if any, records the failure)" + timeout -s TERM -k 300 "$LIMIT" python3 scripts/rosenbrock_d20/searches/multi_start_lion/correlated_nd.py --wave 1 --config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" --seed "$SEED" --cores 1 || RC=$? ;; *) echo "unknown cell $DATASET/$SAMPLER" >&2; exit 1 ;; esac +if [ "$RC" -ne 0 ]; then + echo "run $DATASET/$SAMPLER/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $RC (its row, if any, records the failure)" + # A run killed by the cap without writing its row gets a censored stub (protocol 7). + python3 scripts/misc/tooling/cnd_cap_stub.py --dataset "$DATASET" --sampler "$SAMPLER" --settings "$SETTINGS" --config "$CONFIG" --data-seed "$DATA_SEED" --seed "$SEED" --limit "$LIMIT" --exit-code "$RC" || echo "cap stub failed" +fi echo "Finished." date diff --git a/scripts/misc/searches/_correlated_nd.py b/scripts/misc/searches/_correlated_nd.py index 63ac7b76..f1e273a3 100644 --- a/scripts/misc/searches/_correlated_nd.py +++ b/scripts/misc/searches/_correlated_nd.py @@ -18,8 +18,9 @@ the menu's 50 walkers are an invalid configuration for ``D >= 26``. 3. *Warm-start provider.* A warm start whose provider leg is deferred is deferred with it. -The pilot ranks nothing (protocol §9). Standard library only (the planner and any future -exporter import it). +The pilot ranks nothing (protocol §9). No numpy or autofit at import: it needs only the +standard library and the stdlib-only ``_runner``/``_wave2`` registries (the planner, the +catalogue and the cap-stub writer import it). Identity: a pilot row belongs to the pilot only when its manifest key — ``(dataset, sampler, settings_name, config_id, data_seed, protocol_id, pyautofit_sha)``, diff --git a/scripts/misc/test/test_correlated_nd.py b/scripts/misc/test/test_correlated_nd.py index c51489fc..ca749c71 100644 --- a/scripts/misc/test/test_correlated_nd.py +++ b/scripts/misc/test/test_correlated_nd.py @@ -432,3 +432,29 @@ def test_runner_shaped_rows_are_admitted(): config_id = config_segment(cell.config_name, cache) row = _pilot_row(cell, 9, config_id=config_id, config_name=cell.config_name) assert cnd.admit(row) is None, (cell, cnd.admit(row)) + + +def test_cap_stub_row_is_a_censored_admitted_failure(tmp_path): + import cnd_cap_stub as stub + + argv = [ + "--dataset", "corr_gaussian_d100", "--sampler", "blackjax_nuts", "--settings", + "warmup_200_samples_500", "--config", "ral_jax_cpu_fp64", "--data-seed", "1", + "--seed", "4", "--limit", "14520", "--root", str(tmp_path), + ] # fmt: skip + assert stub.main([*argv, "--exit-code", "1"]) == 0 # not a timeout: nothing written + assert not list(tmp_path.rglob("*.json")) + assert stub.main([*argv, "--exit-code", "137"]) == 0 + (path,) = tmp_path.rglob("search_seed4.json") + row = json.loads(path.read_text()) + assert cnd.admit(row) is None + assert not cnd.operational_kill(row) + leg = next( + leg + for leg in cnd.accounting([row])["legs"] + if leg["id"].startswith("corr_gaussian_d100/blackjax_nuts/") + ) + assert leg["failed"] == [4] + first = path.read_text() + assert stub.main([*argv, "--exit-code", "124"]) == 0 # an existing row is never replaced + assert path.read_text() == first diff --git a/scripts/misc/tooling/cnd_cap_stub.py b/scripts/misc/tooling/cnd_cap_stub.py new file mode 100644 index 00000000..ac0adcde --- /dev/null +++ b/scripts/misc/tooling/cnd_cap_stub.py @@ -0,0 +1,120 @@ +"""Write the censored row of a ``correlated_nd`` pilot run that the cap killed without one. + +Protocol ``wiki/project/protocol_correlated_nd.md`` §7: a run stopped at the pilot's +operational cap is a failed attempt censored at the cap. The runner writes that row itself +on SIGTERM, but Python handles a signal only between bytecodes, so a run inside one long +native call (a jitted XLA loop, a large numpy step) can reach ``timeout``'s SIGKILL with no +row — and would then be ``missing`` for ever. The pilot submit calls this after every run +that exited non-zero: when the process was stopped by ``timeout`` (exit 124, or 137 after +the kill grace) **and** no row exists, it writes a minimal row that +``searches/_correlated_nd.admit`` accepts, with ``status`` ``failed: Terminated (no row …)`` +and ``process_elapsed_s`` equal to the process limit, so accounting counts a censored +failure. Any other exit, or an existing row, writes nothing. Standard library only. + + python scripts/misc/tooling/cnd_cap_stub.py --dataset D --sampler S --settings X \ + --config C --data-seed 1 --seed 0 --limit 14520 --exit-code 124 +""" + +from __future__ import annotations + +import argparse +import json +import os +import sys +from datetime import UTC, datetime +from pathlib import Path + +ROOT = next(p for p in Path(__file__).resolve().parents if (p / "ruff.toml").exists()) +for _path in (str(ROOT), str(ROOT / "scripts" / "misc")): + if _path not in sys.path: + sys.path.insert(0, _path) + +from searches import _correlated_nd as cnd # noqa: E402 +from searches._runner import SAMPLERS, config_segment, results_path, run_id # noqa: E402 + +#: ``timeout``'s exit statuses: 124 after its SIGTERM, 137 when it had to SIGKILL. +TIMEOUT_EXITS = (124, 137) + + +def stub_row(args) -> dict: + spec = SAMPLERS[args.sampler] + backend = "jax_cpu" if "_jax_cpu_" in args.config else "numpy" + config_id = config_segment(args.config, cnd.COMPILE_CACHE if backend == "jax_cpu" else None) + rid = run_id( + cnd.MODEL_TYPE, + args.dataset, + args.data_seed, + args.sampler, + args.settings, + config_id, + args.seed, + ) + return { + "schema_version": 1, + "protocol_id": cnd.PROTOCOL_ID, + "wave": cnd.WAVE, + "pilot": True, + "run_id": rid, + "model": cnd.MODEL_TYPE, + "sampler": args.sampler, + "sampler_class": spec.cls, + "task": spec.task, + "family": spec.family, + "settings_name": args.settings, + "settings": spec.settings[args.settings], + "config_name": args.config, + "config_id": config_id, + "backend": backend, + "dataset": args.dataset, + "dataset_class": args.dataset, + "data_seed": args.data_seed, + "seed": args.seed, + "assertion_mechanism": "none", + # The submit's pin guards passed before this run started (they exit otherwise). + "pyautofit_commit": cnd.PYAUTOFIT_PIN, + "status": f"failed: Terminated (no row: killed by timeout, exit {args.exit_code})", + "completed": False, + "resumed": False, + "total_wall_s": None, + "process_elapsed_s": float(args.limit), + "stub": "written by scripts/misc/tooling/cnd_cap_stub.py (protocol correlated_nd §7)", + "host": os.uname().nodename, + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + "slurm_array_job_id": os.environ.get("SLURM_ARRAY_JOB_ID"), + "slurm_array_task_id": os.environ.get("SLURM_ARRAY_TASK_ID"), + "measured_at": datetime.now(UTC).strftime("%Y-%m-%dT%H:%M:%SZ"), + } + + +def main(argv=None) -> int: + parser = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) + for name in ("--dataset", "--sampler", "--settings", "--config"): + parser.add_argument(name, required=True) + parser.add_argument("--data-seed", type=int, required=True) + parser.add_argument("--seed", type=int, required=True) + parser.add_argument("--limit", type=float, required=True) + parser.add_argument("--exit-code", type=int, required=True) + parser.add_argument("--root", type=Path, default=ROOT) + args = parser.parse_args(argv) + if args.exit_code not in TIMEOUT_EXITS: + return 0 + row = stub_row(args) + path = results_path( + args.root, + args.dataset, + args.data_seed, + args.sampler, + args.settings, + row["config_id"], + args.seed, + ) + if path.exists(): + return 0 + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(row, indent=2) + "\n") + print(f" censored stub row: {path.relative_to(args.root)}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/misc/tooling/export_inference_summary.py b/scripts/misc/tooling/export_inference_summary.py index e62fbd10..31a7fa0c 100644 --- a/scripts/misc/tooling/export_inference_summary.py +++ b/scripts/misc/tooling/export_inference_summary.py @@ -172,7 +172,9 @@ def references(root: Path) -> tuple[dict, dict | None]: ] for path in sorted(paths): ref = protocol.load_json(path) - if isinstance(ref, dict): + # The correlated_nd exact references belong to that family's own outputs, never to + # the gaussian_x3 summary (B5c). + if isinstance(ref, dict) and not protocol.is_family_row(ref): refs[protocol.reference_key(ref)] = ref return refs, protocol.load_json(protocol.offsets_file(root)) @@ -394,13 +396,13 @@ def build( payload = json.loads(path.read_text()) if not isinstance(payload, dict): raise ValueError("result must be an object") - finite(payload) - if payload.get("schema_version") != 1: - raise ValueError("unsupported result schema_version") if protocol.is_family_row(payload): - # correlated_nd (B5c) is exported by its own stage under its own protocol: + # correlated_nd (B5c) is not exported until B5c-2, under its own protocol: # never a gaussian_x3 record, and not listed among its exclusions either. continue + finite(payload) + if payload.get("schema_version") != 1: + raise ValueError("unsupported result schema_version") wave = protocol.wave_of(payload) if wave == wave2.WAVE: why = wave2.admit(payload, timeouts) diff --git a/scripts/misc/tooling/plan_correlated_nd.py b/scripts/misc/tooling/plan_correlated_nd.py index 5dce68c1..58e5a53e 100644 --- a/scripts/misc/tooling/plan_correlated_nd.py +++ b/scripts/misc/tooling/plan_correlated_nd.py @@ -67,9 +67,7 @@ def search_call(dataset: str, sampler: str) -> str: f'timeout -s TERM -k {int(cnd.KILL_GRACE_S)} "$LIMIT" python3 ' f"scripts/{dataset}/searches/{sampler}/{cnd.MODEL_TYPE}.py --wave 1 " '--config-name "$CONFIG" --settings "$SETTINGS" --data-seed "$DATA_SEED" ' - '--seed "$SEED" --cores 1 || echo "run ' - f"{dataset}/{sampler}/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $? (its row, if " - 'any, records the failure)"' + '--seed "$SEED" --cores 1 || RC=$?' ) @@ -103,6 +101,8 @@ def submit(tasks: list[cnd.Task]) -> str: "#", "# WALL-BASIS: -- one row per cell this submit runs; no correlated_nd cell has a", "# measured wall yet (the pilot is the probe; every run is capped as above)", + "# cell: misc/tooling/cnd_cap_stub device: ral_cpu precision: fp64", + "# lanes: 1 steps: 1 source: unmeasured probe-first: yes", ] for dataset, sampler in pairs: lines += [ @@ -160,11 +160,18 @@ def submit(tasks: list[cnd.Task]) -> str: if [ -z "$LINE" ]; then echo "no task line $SLURM_ARRAY_TASK_ID in $TASKS" >&2; exit 1; fi read -r DATASET SAMPLER SETTINGS CONFIG DATA_SEED LIMIT SEED <<< "$LINE" echo "task $SLURM_ARRAY_TASK_ID: $LINE" +RC=0 case "$DATASET/$SAMPLER" in """ for dataset, sampler in pairs: text += f" {dataset}/{sampler})\n {search_call(dataset, sampler)}\n ;;\n" text += ' *) echo "unknown cell $DATASET/$SAMPLER" >&2; exit 1 ;;\nesac\n' + text += """if [ "$RC" -ne 0 ]; then + echo "run $DATASET/$SAMPLER/$SETTINGS/data_seed$DATA_SEED/seed$SEED exited $RC (its row, if any, records the failure)" + # A run killed by the cap without writing its row gets a censored stub (protocol 7). + python3 scripts/misc/tooling/cnd_cap_stub.py --dataset "$DATASET" --sampler "$SAMPLER" --settings "$SETTINGS" --config "$CONFIG" --data-seed "$DATA_SEED" --seed "$SEED" --limit "$LIMIT" --exit-code "$RC" || echo "cap stub failed" +fi +""" text += '\necho "Finished."\ndate\n' return text diff --git a/wiki/project/protocol_correlated_nd.md b/wiki/project/protocol_correlated_nd.md index b5bb4d05..ae8af7c8 100644 --- a/wiki/project/protocol_correlated_nd.md +++ b/wiki/project/protocol_correlated_nd.md @@ -206,9 +206,12 @@ seeds (0–9) × realisation 1 × every planned cell × the four datasets = 930 `.pyauto_pin/` in the RAL clone, never the shared mirror. Every search receives the A4 search-level `seed`. One run per array task, each under a **4 h operational cap** on the run's process (`timeout -s TERM` at 4 h + 120 s of start-up overhead; the runner writes a -`Terminated` failure row carrying `process_elapsed_s`; A1): a `Terminated` run whose -`process_elapsed_s` reached 4 h is a failed attempt whose wall is a censored lower bound, -and one stopped earlier is an operational kill (`missing`, rerun). A RAL run at any +`Terminated` failure row carrying `process_elapsed_s`, the wall from the runner's entry; +A1): a `Terminated` run whose `process_elapsed_s` reached 4 h is a failed attempt whose +wall is a censored lower bound, and one stopped earlier is an operational kill (`missing`, +rerun). A run that `timeout` stopped (exit 124/137) without writing its row — a signal is +handled only between Python bytecodes, so a long native call can reach the SIGKILL — gets +a censored stub row from `scripts/misc/tooling/cnd_cap_stub.py` (A1). A RAL run at any PyAutoFit other than the pin is refused before it starts. The cap is not a protocol timeout. @@ -221,11 +224,13 @@ backend × dataset); a band may move only on ≥ 20 completed pilot rows of its it. A cell whose every pilot attempt hit the cap is deferred from the scored wave with that reason. Pilot verdicts stay `@1`. -**Freeze commit:** `correlated_nd@1` (§1–§9 as first committed) is -**`9ec37795f404`** (`9ec37795f404200e72f4ffdacce3d89ff694b3d5`, autofit_inference branch -`feature/search-ext-b5c-family`, 2026-10-15), committed before the generator, the -references, the harness and any `correlated_nd` row; this line and §10 are bookkeeping -added by a later commit. +**Freeze commit:** `correlated_nd@1` was first committed as **`9ec37795f404`** +(`9ec37795f404200e72f4ffdacce3d89ff694b3d5`, autofit_inference branch +`feature/search-ext-b5c-family`, 2026-10-15), before the generator, the references, the +harness and any `correlated_nd` row, and amended in place by **A1** (§11; commit +`2d81df8`, its cap-censoring clause completed by the review-round-2 commit that adds +`cnd_cap_stub.py`), still before any row or submission. `correlated_nd@1` is §1–§9 with A1 +applied. This line and §10 are bookkeeping added by later commits. ## 8. Headline numbers @@ -282,7 +287,8 @@ Amendments made before any row they could affect exists. d100, banana) now run: 930 planned runs, 110 deferred (was 820 / 220). *(ii) The pilot cap is on the process*, judged by the row's `process_elapsed_s`: `search.fit`'s `total_wall_s` excludes imports, the admission bar and a warm start's provider, so a - capped run would otherwise have been miscounted as an operational kill. *(iii)* A RAL run + capped run would otherwise have been miscounted as an operational kill; a run killed + without a row gets a censored stub row (`cnd_cap_stub.py`). *(iii)* A RAL run at another PyAutoFit is refused by the runner. *Timing:* committed after the first commit of this file (`9ec37795f404`) and before any `correlated_nd` row or submission; `correlated_nd@1` is this file with A1 applied. From d44d5c742d5b377f036c670c6c65a9385299a397 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 21:25:38 +0100 Subject: [PATCH 10/15] generated: summary after review round 2 (B5c) Refs #14 Co-Authored-By: Claude Opus 5.5 --- dashboard/summary.json | 44 ++---------------------------------------- 1 file changed, 2 insertions(+), 42 deletions(-) diff --git a/dashboard/summary.json b/dashboard/summary.json index 6e960227..94d71588 100644 --- a/dashboard/summary.json +++ b/dashboard/summary.json @@ -832,7 +832,7 @@ } }, "evidence_updated_at": "2026-10-15T16:38:44Z", - "generated_at": "2026-10-15T20:07:20Z", + "generated_at": "2026-10-15T20:24:38Z", "generation_basis": "Source commit timestamp; not a measurement or check-in time", "limitations": [ "Verdicts are producer-asserted under protocol gaussian_x3@1, whose PLACEHOLDER thresholds are calibrated in the wave-1 pilot and then frozen", @@ -844,7 +844,7 @@ "gaussian_x3@2 (scored wave 2) rows are judged under the frozen @2 thresholds against their own data realisation's reference, at the pinned PyAutoFit revision; as records their posterior blocks stay in the committed row (evidence_paths)", "gaussian_x3@2 timeouts are 10 x the laptop pilot medians while RAL ran 4-7 x faster, so censoring of those cells is lenient on RAL; the probe-first cells (Zeus on JAX, NSS 50-step) take 10 x their RAL probe medians, or the 600 s floor" ], - "producer_revision": "2d81df8780c34f9e75f133e8ba99940b01769a29", + "producer_revision": "60ab92c14623663890dc7207fe31745547fd6e5a", "project": "autofit_inference", "protocol_id": "gaussian_x3@1", "protocol_id_note": "The wave-1 pilot's protocol; every record names its own (scientific.protocol_id; a gaussian_x3@2 record also at the record's protocol_id), and protocols lists every protocol this summary covers, in records or coverage", @@ -1562,36 +1562,6 @@ } ], "references": { - "corr_gaussian_d100/jax_cpu": { - "assertion_mechanism": "none", - "data_seed": 1, - "status": "complete" - }, - "corr_gaussian_d100/numpy": { - "assertion_mechanism": "none", - "data_seed": 1, - "status": "complete" - }, - "corr_gaussian_d20/jax_cpu": { - "assertion_mechanism": "none", - "data_seed": 1, - "status": "complete" - }, - "corr_gaussian_d20/numpy": { - "assertion_mechanism": "none", - "data_seed": 1, - "status": "complete" - }, - "corr_gaussian_d50/jax_cpu": { - "assertion_mechanism": "none", - "data_seed": 1, - "status": "complete" - }, - "corr_gaussian_d50/numpy": { - "assertion_mechanism": "none", - "data_seed": 1, - "status": "complete" - }, "gaussian_x3_blend/jax_cpu": { "assertion_mechanism": "xp_where_penalty", "data_seed": 5, @@ -1611,16 +1581,6 @@ "assertion_mechanism": "disjoint_priors", "data_seed": 5, "status": "complete" - }, - "rosenbrock_d20/jax_cpu": { - "assertion_mechanism": "none", - "data_seed": 1, - "status": "complete" - }, - "rosenbrock_d20/numpy": { - "assertion_mechanism": "none", - "data_seed": 1, - "status": "complete" } }, "schema": "inference-summary", From a1ece1020f587dd97978e95262ea2cf52eef3a3a Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 23:25:31 +0100 Subject: [PATCH 11/15] =?UTF-8?q?state:=20B5c=20=E2=80=94=20correlated=5Fn?= =?UTF-8?q?d@1=20pre-registered=20(9ec37795f404,=20A1=20before=20any=20row?= =?UTF-8?q?);=20pilot=20RAL=20409957?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs #14 Co-Authored-By: Claude Opus 5.5 --- wiki/project/state.md | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/wiki/project/state.md b/wiki/project/state.md index d127f572..39d87219 100644 --- a/wiki/project/state.md +++ b/wiki/project/state.md @@ -11,7 +11,29 @@ answer fastest, and how reliably, from a cold start and across seeds, on toy lik where the truth is known. The first benchmark is `gaussian_x3_blend` + `gaussian_x3_separated`. -## Now: scored wave 2 complete and judged under `gaussian_x3@2` (B5b, B5b-2) +## Now: a second family, `correlated_nd`, pre-registered; its pilot on RAL (B5c) + +**Protocol first (B5c, 2026-10-15, autofit_inference#14).** `correlated_nd@1` +(`wiki/project/protocol_correlated_nd.md`) was first committed in **`9ec37795f404`** +(`9ec37795f404200e72f4ffdacce3d89ff694b3d5`) before the generator, the references, the +harness and any `correlated_nd` row, and amended in place by A1 (review round 1, commit +`2d81df8`; completed by the round-2 cap-stub commit) **before any row or submission**. The +family: correlated Gaussians at D = 20, 50, 100 (condition number 10³) and a D = 20 hybrid +Rosenbrock banana, with exact posteriors and ln Z. Eight exact references (4 datasets × 2 +backends) are complete and passed the §6 agreement test (backend `Fitness` identity +≤ 6e-14 nat, 200 000 exact draws, truncation, control verdicts accepted). + +**Pilot on RAL.** Job **409957** (`submit_correlated_nd_pilot`, array `0-929%100`, +`--partition=ral`, excluding `euclid-ral-compute-[1-4]`, no GPU resources, 2 CPUs / 8 GB, +4 h process cap per run), submitted 2026-10-15 ~22:40 UTC against the private pin PyAutoFit +`df6d218f10cd` / PyAutoNerves `7f3055b7f3d1`: 930 runs (10 seeds × realisation 1 × 93 +planned cells), 110 deferred with reasons. Delivered to the RAL clone by tar/scp of +168 files from `d44d5c7`, sha256-verified (the clone's git HEAD stays `f0b3eef`). The +catalogue's `correlated_nd@1` section groups the family by task and dataset, apart from +`gaussian_x3`; nothing is ranked across families. **Next (B5c-2):** pull `results/` only, +judge under `@1`, calibrate and freeze `correlated_nd@2`, then the scored wave. + +## Before: scored wave 2 complete and judged under `gaussian_x3@2` (B5b, B5b-2) **Judged (B5b and B5b-2, 2026-10-15).** All 12,750 pulled wave-2 rows are admitted by `_wave2.admit`: 11,750 from the scored arrays, the 20-run probe and the 980-run @@ -129,6 +151,17 @@ on RAL. B2 brought the harness and datasets; B3's pilot flips the Cortex row to ## Runs +**`correlated_nd` pilot (B5c), submitted 2026-10-15 ~22:40 UTC** on RAL `--partition=ral`: + +| job | array (throttle) | what | +|---|---|---| +| 409957 | 0-929 (%100) | `correlated_nd@1` pilot: 930 runs, one per task, 4 h process cap; protocol §7 | + +Login-node dry run first: pins at their commits and imported, TSV lines and leaves resolve, +a numpy LBFGS row on `corr_gaussian_d20` was written at the pin under `correlated_nd@1` +(stopped by the dry run's 900 s `timeout` on the slow login node, so its `Terminated` row +also exercised the SIGTERM path), and `sbatch --test-only` accepted the script. + **Scored wave 2, submitted 2026-10-14 17:19 BST** on RAL `--partition=ral` (excluding the four 252-CPU nodes), 2 CPUs and 6 GB per task, from branch `feature/search-ext-b5a-wave2` at `f0b3eef`, against the private pin PyAutoFit `df6d218f10cd` / PyAutoNerves From 245a3efd0904311769a77c4c213623eed6a3ca3c Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 23:33:58 +0100 Subject: [PATCH 12/15] correlated_nd: run the pilot from a private RAL copy (B5c) The first submission, RAL 409957, failed at import in every task and was cancelled: the shared clone had been switched to an old main by another session (stash 'pre-main-switch', 19:24 UTC) and lost _autofit_inference_cli.py and config/ as the array started. The generated submit now runs from /mnt/ral/jnightin/inference/autofit_inference_b5c, a private copy holding the delivered files and its own copy of the pin; the shared clone is left as found. Refs #14 Co-Authored-By: Claude Opus 5.5 --- hpc/README.md | 5 ++++- hpc/batch_cpu/submit_correlated_nd_pilot | 4 ++-- scripts/misc/tooling/plan_correlated_nd.py | 7 ++++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/hpc/README.md b/hpc/README.md index 9f76bad0..cba757c3 100644 --- a/hpc/README.md +++ b/hpc/README.md @@ -95,7 +95,10 @@ pulled `results/` as a parallel per-directory `tar` on the login node instead. `python scripts/misc/tooling/plan_correlated_nd.py --write` (lint runs `--check`): one array task per run (930: every non-deferred cell × seeds 0–9 × realisation 1), each run under the pilot's 4 h operational cap, `--partition=ral` only, the same exclusions and private pin as -wave 2, 2 CPUs and 8 GB per task, throttled to `%100`. Protocol +wave 2, 2 CPUs and 8 GB per task, throttled to `%100`. It runs from the private copy +`/mnt/ral/jnightin/inference/autofit_inference_b5c` (the delivered files plus its own copy +of `.pyauto_pin/`), never the shared clone, which another session switched branches on +mid-submission (B5c: RAL 409957 failed at import and was cancelled). Protocol `wiki/project/protocol_correlated_nd.md` §7. ### There is no `push` diff --git a/hpc/batch_cpu/submit_correlated_nd_pilot b/hpc/batch_cpu/submit_correlated_nd_pilot index 393db036..7b2a7c19 100755 --- a/hpc/batch_cpu/submit_correlated_nd_pilot +++ b/hpc/batch_cpu/submit_correlated_nd_pilot @@ -14,7 +14,7 @@ # rule of 2026-09-30; PyAutoMind/policy/hpc_ral.md). No GPU resources are requested. # The --exclude keeps these small tasks off the four 252-CPU nodes, the only ones a # whole-node job of another campaign fits on. The PyAuto libraries come from the -# PRIVATE pin under /mnt/ral/jnightin/inference/autofit_inference/.pyauto_pin/, PYTHONPATH-prefixed +# PRIVATE pin under /mnt/ral/jnightin/inference/autofit_inference_b5c/.pyauto_pin/, PYTHONPATH-prefixed # below; the shared /mnt/ral/jnightin/PyAuto mirror provides only the venv and is never # pulled. # @@ -143,7 +143,7 @@ #SBATCH --mail-type=END,FAIL #SBATCH --mail-user=james.w.nightingale@durham.ac.uk -export AP_ROOT=/mnt/ral/jnightin/inference/autofit_inference +export AP_ROOT=/mnt/ral/jnightin/inference/autofit_inference_b5c source $AP_ROOT/activate.sh # The private pin: PyAutoFit df6d218f10cd75a7f0d79bb03dca5c131fd29d33, PyAutoNerves diff --git a/scripts/misc/tooling/plan_correlated_nd.py b/scripts/misc/tooling/plan_correlated_nd.py index 58e5a53e..06e66194 100644 --- a/scripts/misc/tooling/plan_correlated_nd.py +++ b/scripts/misc/tooling/plan_correlated_nd.py @@ -40,7 +40,12 @@ BATCH = ROOT / "hpc" / "batch_cpu" TABLE = BATCH / "correlated_nd" / "pilot.tsv" SUBMIT = BATCH / "submit_correlated_nd_pilot" -RAL_ROOT = "/mnt/ral/jnightin/inference/autofit_inference" +#: The pilot runs from a PRIVATE copy beside the shared RAL clone, never the clone itself: +#: on 2026-10-15 the clone was switched to an old ``main`` (stash "pre-main-switch", +#: 19:24 UTC) and later lost ``_autofit_inference_cli.py`` and ``config/`` while the first +#: submission (409957) started, so every task failed at import (B5c). The copy holds the +#: delivered files (sha256-verified) and its own copy of the pin. +RAL_ROOT = "/mnt/ral/jnightin/inference/autofit_inference_b5c" #: Seconds added to a task's ``--time`` beyond its run's limit and kill grace. TASK_MARGIN_S = 600.0 From 202a24674b0984f48e7441e3de56d41eee14c774 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 15 Oct 2026 23:51:13 +0100 Subject: [PATCH 13/15] state: pilot is RAL 410866 from a private copy; 409957 failed at import on the disturbed shared clone (B5c) Refs #14 Co-Authored-By: Claude Opus 5.5 --- wiki/project/state.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/wiki/project/state.md b/wiki/project/state.md index 39d87219..eb0947b0 100644 --- a/wiki/project/state.md +++ b/wiki/project/state.md @@ -23,12 +23,18 @@ Rosenbrock banana, with exact posteriors and ln Z. Eight exact references (4 dat backends) are complete and passed the §6 agreement test (backend `Fitness` identity ≤ 6e-14 nat, 200 000 exact draws, truncation, control verdicts accepted). -**Pilot on RAL.** Job **409957** (`submit_correlated_nd_pilot`, array `0-929%100`, +**Pilot on RAL.** Job **410866** (`submit_correlated_nd_pilot`, array `0-929%100`, `--partition=ral`, excluding `euclid-ral-compute-[1-4]`, no GPU resources, 2 CPUs / 8 GB, -4 h process cap per run), submitted 2026-10-15 ~22:40 UTC against the private pin PyAutoFit -`df6d218f10cd` / PyAutoNerves `7f3055b7f3d1`: 930 runs (10 seeds × realisation 1 × 93 -planned cells), 110 deferred with reasons. Delivered to the RAL clone by tar/scp of -168 files from `d44d5c7`, sha256-verified (the clone's git HEAD stays `f0b3eef`). The +4 h process cap per run), submitted 2026-10-15 ~23:10 UTC (pending at hand-back) against +the private pin PyAutoFit `df6d218f10cd` / PyAutoNerves `7f3055b7f3d1`: 930 runs (10 +seeds × realisation 1 × 93 planned cells), 110 deferred with reasons. It runs from the +**private copy `/mnt/ral/jnightin/inference/autofit_inference_b5c`** (191 delivered files +from `245a3ef`, sha256-verified, plus its own copy of `.pyauto_pin/`), so B5c-2 pulls +`results/` from there. The first submission, **409957**, failed at import in every task +and was cancelled: the shared clone `inference/autofit_inference` had been switched by +another session to an old local `main` (`6114082`; stash "pre-main-switch", 19:24 UTC) and +lost `_autofit_inference_cli.py` and `config/` as the array started. No row was written; +the shared clone is left as found (with this task's delivered, untracked files in it). The catalogue's `correlated_nd@1` section groups the family by task and dataset, apart from `gaussian_x3`; nothing is ranked across families. **Next (B5c-2):** pull `results/` only, judge under `@1`, calibrate and freeze `correlated_nd@2`, then the scored wave. @@ -155,7 +161,8 @@ on RAL. B2 brought the harness and datasets; B3's pilot flips the Cortex row to | job | array (throttle) | what | |---|---|---| -| 409957 | 0-929 (%100) | `correlated_nd@1` pilot: 930 runs, one per task, 4 h process cap; protocol §7 | +| 409957 | 0-929 (%100) | first submission from the shared clone: failed at import (clone disturbed), cancelled, no rows | +| 410866 | 0-929 (%100) | `correlated_nd@1` pilot from the private copy `inference/autofit_inference_b5c`: 930 runs, one per task, 4 h process cap; protocol §7 | Login-node dry run first: pins at their commits and imported, TSV lines and leaves resolve, a numpy LBFGS row on `corr_gaussian_d20` was written at the pin under `correlated_nd@1` From 63d2b5de56b95d4ed7bc7f5755473f3e641b6f86 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Fri, 16 Oct 2026 10:44:08 +0100 Subject: [PATCH 14/15] Compare regenerated correlated_nd floats to rtol 1e-12; record pilot 410866 finished The regeneration test now compares JSON structure, keys, strings and ints exactly and floats with np.allclose(rtol=1e-12, atol=0): CI's LAPACK differs from the laptop's in the last one or two digits. Committed datasets unchanged. State: 410866 finished 2026-10-16, 926/930 completed, 4 OUT_OF_MEMORY at 8 G (tasks 263, 273, 304, 383, all corr_gaussian_d50); not rerun in stage 1, results unpulled in the private copy, pulled in B5c-2. Co-Authored-By: Claude Opus 5.5 --- scripts/misc/test/test_correlated_nd.py | 27 ++++++++++++++++++++++++- wiki/project/state.md | 20 ++++++++++++++---- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/scripts/misc/test/test_correlated_nd.py b/scripts/misc/test/test_correlated_nd.py index ca749c71..c5c74cb7 100644 --- a/scripts/misc/test/test_correlated_nd.py +++ b/scripts/misc/test/test_correlated_nd.py @@ -28,12 +28,37 @@ def _committed(name): # --- generator: seeds, determinism, structure ---------------------------------------- +def _assert_same_json(regenerated, committed, where): + """Floats agree to rtol 1e-12; every other value (keys, strings, ints, seeds) is exact. + + QR/LAPACK builds differ in the last bit or two across machines, so float arrays are + compared numerically; the structure and metadata must still be identical. + """ + if isinstance(committed, float) or isinstance(regenerated, float): + assert isinstance(committed, (int, float)) and isinstance(regenerated, (int, float)) + assert not isinstance(committed, bool) and not isinstance(regenerated, bool), where + assert np.allclose(regenerated, committed, rtol=1e-12, atol=0), where + elif isinstance(committed, dict): + assert isinstance(regenerated, dict) and list(regenerated) == list(committed), where + for key in committed: + _assert_same_json(regenerated[key], committed[key], f"{where}.{key}") + elif isinstance(committed, list): + assert isinstance(regenerated, list) and len(regenerated) == len(committed), where + for i, (r, c) in enumerate(zip(regenerated, committed)): + _assert_same_json(r, c, f"{where}[{i}]") + else: + assert type(regenerated) is type(committed) and regenerated == committed, where + + @pytest.mark.parametrize("name", DATASETS) def test_committed_dataset_regenerates_byte_for_byte(name, tmp_path): + """Byte-identical where the platform allows; floats to rtol 1e-12 where it does not.""" sim.simulate(name, output_root=tmp_path) for filename in ("data.json", "model.json", "priors.json", "truth.json"): committed = (ROOT / "dataset" / name / filename).read_text() - assert (tmp_path / "dataset" / name / filename).read_text() == committed, filename + regenerated = (tmp_path / "dataset" / name / filename).read_text() + if regenerated != committed: + _assert_same_json(json.loads(regenerated), json.loads(committed), filename) def test_data_seed_changes_only_the_data(): diff --git a/wiki/project/state.md b/wiki/project/state.md index eb0947b0..fa4d704b 100644 --- a/wiki/project/state.md +++ b/wiki/project/state.md @@ -25,7 +25,7 @@ backends) are complete and passed the §6 agreement test (backend `Fitness` iden **Pilot on RAL.** Job **410866** (`submit_correlated_nd_pilot`, array `0-929%100`, `--partition=ral`, excluding `euclid-ral-compute-[1-4]`, no GPU resources, 2 CPUs / 8 GB, -4 h process cap per run), submitted 2026-10-15 ~23:10 UTC (pending at hand-back) against +4 h process cap per run), submitted 2026-10-15 ~23:10 UTC against the private pin PyAutoFit `df6d218f10cd` / PyAutoNerves `7f3055b7f3d1`: 930 runs (10 seeds × realisation 1 × 93 planned cells), 110 deferred with reasons. It runs from the **private copy `/mnt/ral/jnightin/inference/autofit_inference_b5c`** (191 delivered files @@ -36,8 +36,20 @@ another session to an old local `main` (`6114082`; stash "pre-main-switch", 19:2 lost `_autofit_inference_cli.py` and `config/` as the array started. No row was written; the shared clone is left as found (with this task's delivered, untracked files in it). The catalogue's `correlated_nd@1` section groups the family by task and dataset, apart from -`gaussian_x3`; nothing is ranked across families. **Next (B5c-2):** pull `results/` only, -judge under `@1`, calibrate and freeze `correlated_nd@2`, then the scored wave. +`gaussian_x3`; nothing is ranked across families. + +**Pilot complete (2026-10-16).** `sacct` on 410866: **926 of 930 tasks COMPLETED, 4 +OUT_OF_MEMORY** at the 8 G request, all on `corr_gaussian_d50`: task 263 (`nautilus` +`n_live_100`, numpy, seed 3; MaxRSS 7.6 G at 2:42:50), 273 (`nautilus` `n_live_100`, +jax_cpu, seed 3; 7.7 G at 2:42:12), 304 (`nautilus` `n_live_400`, numpy, seed 4; 3.1 G +sampled at 0:52:03) and 383 (`blackjax_nuts_warm` `warmup_200_samples_500`, jax_cpu, seed +3; 8.4 G at 3:51:52). By the human's decision the four are **not rerun in stage 1**; B5c-2 +either raises the memory request for those cells or excludes them, with the reason +recorded. The results are **unpulled**: they stay in the private copy +`/mnt/ral/jnightin/inference/autofit_inference_b5c/results/` and are pulled in B5c-2. +**Next (B5c-2):** pull `results/` only, judge under `@1` (check what the 4 OOM tasks left +in `results/`; an OOM kill normally writes no row, so they would count as `missing`), calibrate and freeze +`correlated_nd@2`, then the scored wave. ## Before: scored wave 2 complete and judged under `gaussian_x3@2` (B5b, B5b-2) @@ -162,7 +174,7 @@ on RAL. B2 brought the harness and datasets; B3's pilot flips the Cortex row to | job | array (throttle) | what | |---|---|---| | 409957 | 0-929 (%100) | first submission from the shared clone: failed at import (clone disturbed), cancelled, no rows | -| 410866 | 0-929 (%100) | `correlated_nd@1` pilot from the private copy `inference/autofit_inference_b5c`: 930 runs, one per task, 4 h process cap; protocol §7 | +| 410866 | 0-929 (%100) | `correlated_nd@1` pilot from the private copy `inference/autofit_inference_b5c`: 930 runs, one per task, 4 h process cap; protocol §7. Finished 2026-10-16: 926 COMPLETED, 4 OUT_OF_MEMORY at 8 G (tasks 263, 273, 304, 383); results unpulled | Login-node dry run first: pins at their commits and imported, TSV lines and leaves resolve, a numpy LBFGS row on `corr_gaussian_d20` was written at the pin under `correlated_nd@1` From ca9a8d8982907d38fa86a5e60be40867d64364bd Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Fri, 16 Oct 2026 10:47:57 +0100 Subject: [PATCH 15/15] Compare regenerated float arrays normwise (atol scaled by the array's max) CI failed on near-zero eigenvector entries (~6e-5) whose absolute error is the orthogonal matrix's, not their own; elementwise rtol was too strict there. Co-Authored-By: Claude Opus 5.5 --- scripts/misc/test/test_correlated_nd.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/scripts/misc/test/test_correlated_nd.py b/scripts/misc/test/test_correlated_nd.py index c5c74cb7..dad48b5f 100644 --- a/scripts/misc/test/test_correlated_nd.py +++ b/scripts/misc/test/test_correlated_nd.py @@ -28,13 +28,32 @@ def _committed(name): # --- generator: seeds, determinism, structure ---------------------------------------- +def _float_array(value): + """``value`` as a float ndarray if it is a (nested) list holding a float, else None.""" + if not isinstance(value, list): + return None + try: + array = np.asarray(value) + except ValueError: # ragged + return None + return array if array.dtype == np.float64 else None + + def _assert_same_json(regenerated, committed, where): """Floats agree to rtol 1e-12; every other value (keys, strings, ints, seeds) is exact. QR/LAPACK builds differ in the last bit or two across machines, so float arrays are - compared numerically; the structure and metadata must still be identical. + compared numerically and normwise (atol = 1e-12 x the array's largest magnitude: an + orthogonal matrix's near-zero entries carry the matrix's absolute error, not their + own); the structure and metadata must still be identical. """ - if isinstance(committed, float) or isinstance(regenerated, float): + array = _float_array(committed) + if array is not None: + other = _float_array(regenerated) + assert other is not None and other.shape == array.shape, where + scale = float(np.max(np.abs(array))) if array.size else 0.0 + assert np.allclose(other, array, rtol=1e-12, atol=1e-12 * scale), where + elif isinstance(committed, float) or isinstance(regenerated, float): assert isinstance(committed, (int, float)) and isinstance(regenerated, (int, float)) assert not isinstance(committed, bool) and not isinstance(regenerated, bool), where assert np.allclose(regenerated, committed, rtol=1e-12, atol=0), where