You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary:
Add a separate `SequenceCholeskySolver` for sequence problems where the existing online-QR solver is too expensive.
The new solver accumulates compact banded normal equations online, packs frame-local and universal columns contiguously before `J^T J`, supports chunked multithreaded accumulation with deterministic boundary and sequence-error handling, and solves the banded system with block LDLT by default. A scalar banded LDLT path remains user-switchable for debugging and benchmarking. Compact normal-equation accumulation defaults to double precision so float error functions can still evaluate residuals and Jacobians in float without losing precision before the double LDLT solve.
This diff also extracts shared sequence-solver helpers into `SequenceSolverBase`, exposes read-only `SequenceSolverFunction` accessors needed by the solver, wires the new solver into Momentum build/fwd generation, adds solver timing counters for normal-equation accumulation and linear solve, and adds a benchmark target that compares QR, block LDLT, scalar LDLT behavior, chunk size, `J^T J` packing, double normal-equation accumulation, and 93-joint larger-character cases.
Reviewed By: cstollmeta
Differential Revision: D105035576
0 commit comments