Release 0.8.7

SOLVAX 0.8.7 makes the structure-preserving adjoints complete in both storage directions and finishes the measured evidence program:

  • Generated-block bounded adjoint: block_thomas_truncated_fn accepts params/adjoint_window, with a custom VJP whose right-hand-side gradient is an exactly generated truncated solve of the transpose and whose params gradient pulls windowed band cotangents back through block_fn’s own derivative — no band arrays exist in either direction, and the reverse-mode footprint is measured flat from 32 to 4096 blocks (33.7 MiB at block size 195 where the naive tape would exceed a 16 GB GPU).

  • Bounded adjoint for array bands (block_thomas_truncated’s adjoint_window), the amortized implicit adjoint for mixed_precision_block_thomas, the recycle-drift diagnostic on warm-started gcrot, and the randomized Nystrom preconditioner.

  • The benchmark program is part of the documentation (committed records, CPU and 2x RTX A4000 GPU columns, reproduce commands), with the sharding and communication test suite pinning collective-count invariants in CI, the research problem suite, baseline comparisons, and the one-command reproduction driver with timer validation.