[Minuit2] Allow setting the Hesse strategy flags individually - #23053
Open
guitargeek wants to merge 1 commit into
Open
[Minuit2] Allow setting the Hesse strategy flags individually#23053guitargeek wants to merge 1 commit into
guitargeek wants to merge 1 commit into
Conversation
HessianCentralFDMixedDerivatives and HessianForcePosDef could only be reached by asking for strategy 3, which also zeroes the Hessian step and G2 tolerances, forces all 7 refinement cycles and inherits strategy 2's Migrad behaviour: four unrelated changes behind a single integer. The central finite difference for the mixed second derivatives is the part that matters on ill-conditioned problems. With the default one-sided formula the O(h) truncation error is proportional to the third derivative times the step size of the *other* parameter, so on a likelihood whose curvatures span several orders of magnitude it can be large enough to make an otherwise positive-definite Hessian indefinite. MnPosDef then patches the covariance and the parameter errors that come out of it are wrong. Route both flags through customizedStrategy(), like the other strategy tunables, so they can be set by name through the "Minuit2" extra options of ROOT::Math::MinimizerOptions without paying for the rest of strategy 3.
Test Results 23 files 23 suites 3d 13h 10m 26s ⏱️ For more details on these failures, see this check. Results for commit c31b379. |
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.
HessianCentralFDMixedDerivatives and HessianForcePosDef could only be reached by asking for strategy 3, which also zeroes the Hessian step and G2 tolerances, forces all 7 refinement cycles and inherits strategy 2's Migrad behaviour: four unrelated changes behind a single integer.
The central finite difference for the mixed second derivatives is the part that matters on ill-conditioned problems. With the default one-sided formula the O(h) truncation error is proportional to the third derivative times the step size of the other parameter, so on a likelihood whose curvatures span several orders of magnitude it can be large enough to make an otherwise positive-definite Hessian indefinite. MnPosDef then patches the covariance and the parameter errors that come out of it are wrong.
Route both flags through customizedStrategy(), like the other strategy tunables, so they can be set by name through the "Minuit2" extra options of ROOT::Math::MinimizerOptions without paying for the rest of strategy 3.