Conversation
The covariance-transport split of acts-project#5977, now for the dense step. The dense kernel is emitted twice, with the jacobian half kept or dropped, and sympyDenseStep takes the choice as a template parameter, a translation unit each, so neither body tests an empty jacobian span on every trial. The step mode is now a path and a jacobian flag rather than three named modes, since the two are independent. Measured on the dense step: -1% with covariance transport, -3% without. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KeF2fKMGhEAZV7A7b8BsM8
detail::Gsf::updateStepper wrote the filtered free parameters and the covariance straight onto a component state. The single stepper never saw the write, so it could not maintain what its state derives from the parameters. The component now goes through SingleStepper::update, the same call the KF and the single-stepper CKF make after a filter step. Beyond the parameters and the covariance that also refreshes the cached field and the bound-to-free jacobian, so the GSF no longer transports the filtered covariance with the jacobian of the predicted parameters. This moves the GSF output, hence the reference updates. LoopComponentProxy::update carried the same defect and had no caller. It now delegates to the single stepper, and the GSF calls it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KeF2fKMGhEAZV7A7b8BsM8
dt/ds cached in SympyStepper::State rather than formed from mass and momentum inside the vacuum kernel on every step. It is constant while q/p is, so it is refreshed exactly where q/p moves: initialize, both update overloads and a dense step. An assert sits on every consumption site, because a stale cache would show up only as a wrong time. The dense step's cold vacuum branch keeps the combined kernel, which has no cached value at hand and forms its own. Cumulative on the vacuum step with covariance transport, on top of acts-project#5977 and acts-project#5978: -12.1% per step, and -11.8% against the ATLAS stepper. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KeF2fKMGhEAZV7A7b8BsM8
Contributor
Public API surface diff+1 added, 0 breaking. ➕ Added public APINew public data members (1)
|
Contributor
The four ODD GSF root file hashes and the two GSF physmon entries. Nothing else moves: 38 of the 40 physmon comparisons stay green, and inside the two GSF ones 912 checks pass. The 20 that fail are all the KolmogorovTest on a gaussian-fit summary profile, which churns once any input histogram moves. The raw distributions agree, pull_qop at KS 1.0 and 0 of 98 ratio bins off. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KeF2fKMGhEAZV7A7b8BsM8
# Conflicts: # CI/physmon/reference.sha256
# Conflicts: # Python/Examples/tests/root_file_hashes.txt
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



dt/ds cached in
SympyStepper::Staterather than formed from mass and momentum inside the vacuum kernel on every step. It is constant while q/p is, so it is refreshed exactly where q/p moves:initialize, bothupdateoverloads and a dense step. An assert sits on every consumption site, because a stale cache would show up only as a wrong time.The dense step's cold vacuum branch keeps the
combinedkernel, which has no cached value at hand and forms its own.Cumulative on the vacuum step with covariance transport, on top of #5977 and #5978: -12.1% per step, and -11.8% against the ATLAS stepper.
Stacked on #5978 and #6058.