86 lines
4.8 KiB
Markdown
86 lines
4.8 KiB
Markdown
# 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.
|