From b3bd2440246ebabb2b470284c4dbd3785967a7c9 Mon Sep 17 00:00:00 2001 From: Emily Boudreaux Date: Thu, 17 Sep 2026 16:48:14 -0400 Subject: [PATCH] Record matched preconditioner controls and candidate rationale --- .../PRECONDITIONER_IMPROVEMENT_2026-09-18.md | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 experiments/PRECONDITIONER_IMPROVEMENT_2026-09-18.md diff --git a/experiments/PRECONDITIONER_IMPROVEMENT_2026-09-18.md b/experiments/PRECONDITIONER_IMPROVEMENT_2026-09-18.md new file mode 100644 index 0000000..27446d0 --- /dev/null +++ b/experiments/PRECONDITIONER_IMPROVEMENT_2026-09-18.md @@ -0,0 +1,85 @@ +# Preconditioner improvement: matched frozen Newton systems + +This experiment changes preconditioning only. The complete Newton Jacobian, +normalization, physical residual, mesh, and linear acceptance gate are held fixed. +The date in branch and artifact names is an experiment identifier; provenance +files contain the actual UTC execution times. + +## Reproduction and scope + +Integration branch: `research/preconditioner-benchmarks-20260918`, based on +`10adf7e`. Hypotheses are retained separately on +`research/gravity-consistent-schur-20260918`, +`research/preconditioner-cached-cross-actions-20260918`, and +`research/coupled-shape-coarse-20260918`. + +The experiment workspace is +`/Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d`. +Evidence is under `diagnostics/preconditioner_improvement_2026-09-18` there. +Each campaign retains its clean source commit, build configuration, copied +executable and hash, mesh hash, exact commands, input/output hashes, and logs. +Runs are serial, without overlapping builds or FEM jobs during timing. + +Frozen comparisons start FGMRES from zero on the same saved state and right-hand +side. Each role constructs a fresh inverse, including its own specification +border responses. The restart length is 160, the initial cap is 200 iterations, +and the required relative full-J true defect is 0.03. The independently applied +full Jacobian decides acceptance; the Krylov recurrence flag alone does not. +All accepted/trial state buffers, normalization factors, preparation generation, +and a deterministic full-J probe must remain unchanged. + +Costs include inverse construction, normalized binding, Krylov setup, Krylov +solve, and full-J verification. Extra diagnostic applications and artifact I/O +are recorded separately. A speedup to convergence is reported only if both +methods meet the same true gate. Less work spent on a failed solve is not a +time-to-convergence improvement. A frozen linear pass is not nonlinear or +physical convergence. + +## Existing two-way coupling: negative controls + +`screen_v1` uses source `018fc1c`, before the cached cross-action optimization. + +| Saved state | Inverse | Iterations | Full-J relative defect | Complete verified cost (s) | +|---|---|---:|---:|---:| +| n=1.5, J=0 plateau | independent | 200 | 0.0590170471860 | 87.9302 | +| same | stellar LDU | 200 | 0.0600668598825 | 599.5473 | +| n=1, J=0.1 plateau | independent | 200 | 0.0826534298794 | 86.9409 | +| same | stellar LDU | 200 | 0.0720550396371 | 594.2053 | + +All four miss the 0.03 gate. Stellar LDU spends 6.82–6.83 times the total cost; +it slightly worsens the n=1.5 result and reduces the rotating defect by 12.82%. +Mean inverse application costs rise from approximately 0.19 s to 2.7 s, while +full-J actions remain approximately 0.23 s. The uncached gravity-to-material +force column explains the application-cost anomaly. + +Poisson contributes 95.53% of the squared n=1.5 baseline defect and 98.28% with +stellar LDU. For the rotating state those fractions are 85.00% and 98.10%; LDU +reduces the gradient-row norm by 94.16% but the Poisson norm by only 6.35%. +These are global normalized block diagnostics, not proof of an exclusively +exterior error. No exterior weighting is changed. + +The independent artifact audit passes 65 provenance checks and 93 checks per +case. Both saved states and the normalization data exactly match their producer +artifacts. The two independent baselines reproduce the earlier failed solves. + +## Candidate mechanisms + +1. **Prepared cross action.** Reuse the complete prepared gravity force with + zero density and displacement directions to apply its gravity-gradient + column. This is the same mathematical coupling with cached geometry; it does + not strengthen the inverse. See `PRECONDITIONER_CACHED_CROSS_ACTION_2026-09-18.md`. +2. **Consistent gravity Schur refinement.** Keep the existing AMG action, but + apply a fixed number of corrections against `B R B^T`, where `R` is the same + mass inverse used in flux recovery. Fixed work preserves linear stationarity + for stationary child inverses. Damping does not guarantee contraction; it + must earn its additional cost. See `GRAVITY_CONSISTENT_SCHUR_2026-09-18.md`. +3. **Experimental coupled shape coarse inverse.** Use nine fixed geometric + modes, complete their material/gravity responses, and construct a checked + low-rank correction to the normalized inverse. Modes do not depend on the + Newton right-hand side or previous Krylov results. A rank/overlap guard + explicitly falls back to the underlying inverse when the correction cannot + be trusted. Coarse setup and storage are counted, and actual FEM subspace + identities are independently checked before solving. + +Candidate numerical results and execution validation are pending. Defaults +remain unchanged until measurements support a different choice.