Repository navigation
Keep small highest-weight CGCs in gaugefix! - #66
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests.
🚀 New features to boost your workflow:
|
`cref!` set entries below the tolerance to zero in rows that are not used as pivots, such that it only had to apply its column operations to the rows below the current pivot. This also discarded genuine CGCs below `TOL_GAUGE`: e.g. the highest-weight CGCs of SU(2) (200,0)³ were off by 3.8e-12. The column operations are now applied to all rows instead, such that the columns keep spanning the null space and no entries are lost. The pivots, and hence the gauge, are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
lkdvos
force-pushed
the
claude/gaugefix-small-entries
branch
from
October 28, 2026 21:48
f7e903c to
e602390
Compare
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.
highest_weight_CGCgauge-fixes the null space withgaugefix!(cref!followed byqrpos!). For rows that are not used as pivots,cref!set the entries belowTOL_GAUGE = 1e-11to exactly zero, so that its column operations only had to update the rows below the current pivot. That zeroing is the one operation that is not a column operation, and it also discarded genuine CGCs below 1e-11. These occur for large irreps: e.g. SU(2) (200,0)³ has a highest-weight CGC of 3.8e-12, which came out as 0.The stable lower-weight solve (#61) repairs this at all lower weights, but not at the highest weight itself.
This PR keeps those entries and applies the column operations of
cref!to all rows instead. The pivot selection is unchanged, and hence so is the gauge.Checks
Largest error of the full CGCs compared with the exact SU(2) values:
mainThe first and last cases are added to the SU(2) test, which fails on
mainwith its 1e-12 tolerance.The gauge is unchanged: for 396 SU(3) and SU(4) couplings, including outer multiplicities up to 4, the CGCs agree with
mainto within 7e-16.The full test suite passes.
The disk-cache version is not bumped: cached CGCs only differ in entries below 1e-11, and are in the same gauge.
🤖 Generated with Claude Code