Repository navigation
GKX 2.3.0
GKX 2.3.0
A minor release. Nothing is removed since 2.2.0. No shipped physics default changes.
Dependency
solvax>=0.22.0(was>=0.12.0). Thepr3-cmpreconditioner now uses SOLVAX'sblock_thomas_factor_ops, first shipped in 0.22.0. The floor was checked against every PyPI wheel from 0.12.0 to 0.24.0. (#265)
Performance
pr3-cmfactorization moved to SOLVAX and stores the tridiagonal Laguerre off-diagonal blocks as three diagonals. Factor storage is 1.43–2.61x smaller; the full apply agrees with the previous code to below 1e-15; Cyclone still converges in 252 iterations. (#265)- The eager adjoint heat-flux window compiles once instead of recompiling 13 XLA modules on every call. (#264)
Correctness
- Diagonal
imex2reaches its intended order with ARS(2,2,2). (#273) pr3-cmrefusal thresholds are floored at float32 precision, so float32 runs can build the preconditioner. (#267)- Finite-shear analytic metrics trace without host callbacks, so they work under
jitand autodiff. (#270) - Saturation statistics refuse windows below the retained-sample floor instead of reporting from too few samples. (#271)
- Declared velocity-space regularization. Every linear row states its Laguerre sink, and a declared sink that is disabled is refused instead of silently ignored. (#260)
Verification
- Three-field algebra and weighted streaming are now covered by tests. (#269)
Not in this release
- The ky >= 0 layout remains opt-in. Making it the default is #266, which still needs a bitwise opt-out identity check.