Smoother shift:
- Replace hard-coded mass^2 = 0.0025 with fine_lambda_max / divisor,
measured at runtime via PowerMethod on the SchurStaggeredOperator.
- Current divisor = 200 (tunable); concentrates the O(8) CG polynomial
zeros on the high-frequency end of the spectrum [shift, lambda_max],
repairing the spectral leakage introduced at coarse-cell boundaries
when the coarse-grid solution is promoted back to the fine grid.
- Add explanatory comment on the lego-block edge / covariant-derivative
physics behind the high-mode smoothing requirement.
Chebyshev filter (IRL):
- Fix lambda_lo = 0.02 (was mass^2 * 0.5 = 0.00125).
Tuning history logged in comments: lo=0.005 → 0/24 modes (T_70~53);
lo=0.01 → 24/24 but 2 restarts; lo=0.02 → 24/24 in 1 restart.
- Reduce Nk/Nm from 48/96 to 24/48 (target 24 near-null modes only).
- Print Chebyshev filter parameters at run time.
CG baseline:
- Add sequential single-RHS CG loop before the HDCG solve to establish
unpreconditioned iteration count and wall time for direct comparison.
ImplicitlyRestartedBlockLanczosCoarse:
- Print Ritz values before and after implicit shift at each restart.
- Print alpha/beta block-diagonal elements at each Lanczos step.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- GridParallelRNG must be constructed on full (non-checkerboarded) UGrid,
not UrbGrid; fill() recurses infinitely when _grid is checkerboarded.
- evec and c_srcs for ImplicitlyRestartedBlockLanczosCoarse must both be
on f_grid (Coarse4d), not CoarseMrhs; calc_irbl asserts evec[0].Grid()
== src[0].Grid().
- Switch subspace generation from CreateSubspaceChebyshevNew to
CreateSubspace (CG inverse iteration), which requires no spectral
bound tuning and adapts automatically to the matrix spectrum.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
IRBLdiagonalisation, SortEigen, and LanczosType are defined in
ImplicitlyRestartedBlockLanczos.h, which must be included before
ImplicitlyRestartedBlockLanczosCoarse.h.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Reduces compile time significantly by skipping representations not
needed for the staggered HDCG work.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>