Replies: 3 comments
|
Fix landed (e551e2a): target oracle sae_logdet_theta_adjoint_matches_dense_fd_ibp_map now PASSES, alongside the two sibling adjoint tests (on_tiny_fixture, learnable_ibp_alpha_1417). NOTE: ibp_rho_sparse_logdet_trace_matches_dense_fd_1416 fails at SETUP (.expect convergedcache -> non-PD pivot -0.0194 at index 5) on CLEAN main too — pre-existing #1625-class fixture artifact, NOT caused by my change (I only touched logdet_theta_adjoint). Its rho=1.0 fixture parks the IBP joint Hessian outside the PD basin. Investigating a setup lift next (adjacent scope). |
|
Second fix (c5f9285): the sibling 1416 oracle (ibp_rho_sparse_logdet_trace) was RED on clean main — a SETUP regression, not my fault. The #1625 separation-barrier gating (a5f099e, merged after d079ae7 'fixed' it) slowed the inner Newton so its 5-iter budget converges at NO rho_sparse. A rho×iter sweep confirms the analytic trace matches FD to ~10 digits at a converging PD optimum. Moved rho to -0.5 + 200 iters (matching the passing on_tiny_fixture sibling). Setup-only, no tol weakened. All 4 adjoint oracles in tests_logdet_adjoint_780 now PASS. Running wider gam-sae regression next. |
|
DONE — #1641 fix complete & verified (PR #1729) Core fix ( Verification: whole Adjacent RED-main I also fixed/landed while triaging (main was RED in 6 gam-sae tests, none mine):
|
Uh oh!
There was an error while loading. Please reload this page.
Root-caused the failing oracle
sae_logdet_theta_adjoint_matches_dense_fd_ibp_map(fd=403, analytic=694, row=0 logit).The IBP cross-row Woodbury pass in
logdet_theta_adjointis wrong in three ways:Fix: restrict the Woodbury pass to the i!=j off-diagonal and use full (no 1/2, x2 on c) coefficients:
Gamma_wk += dd_kJ_wk(uᵀH⁻¹u - Σ_i P_ii J_ik²) + 2d_kc_wk*((H⁻¹u)_w - P_ww*J_wk)
This mirrors the known-good rho-trace (assignment_log_strength_hessian_trace, #1416) which restricts its cross-row pass to i!=j. Implementing + verifying now. Deflation=0 on this fixture so no deflation confound. PR #1699.
All reactions