Repository navigation
Conversation
… and grow the reduction store on demand A qlow that is itself a rational at some n (1.5 at n=2, 3 at n=3,6,9) put the integration start exactly on a singular surface, where the chunker stopped with an error. sing_min! now moves the start one crossing standoff singfac_min/|n q'| past any surface it lands on, with a warning. The Gaussian-reduction records (fixfac, index, fixstep, sing_flag, zeroed_idx) were fixed at numunorms_init; high-n runs reduce at every rational and every renorm_threshold trigger, overflowed the store at n ≳ 20, and lost the records transform_u! needs, so δW stayed right while the ξ profiles came back as garbage. The store now doubles on demand. Unit tests for both; verified on the DIII-D-like example at n=2 (ξ profiles bitwise identical between numunorms_init=3 and 100). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…e growth Skip the move when singfac_min = 0 (no standoff, no crossings) or q' = 0 at the surface (infinite standoff), error instead of moving past psilim, and grow a zero-capacity reduction store to one record. Tests for each. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This branch has not been deployed
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.
Release note
A
qlowthat is itself a rational at some n (1.5 at n = 2, 3 at n = 3, 6, 9, …) used to stop the run at the first chunk because the integration started exactly on a singular surface; the start is now moved one crossing standoff past that surface, with a warning. High-n runs (n ≳ 20 on the DIII-D-like example) overflowed the fixed-size store of Gaussian-reduction records, which left δW correct but made the reconstructed ξ profiles garbage; the store now grows on demand.Regression report
Notes for reviewers
numunorms_init = 3are now bitwise identical to those with 100 (the store grows 3 → 6 → 12 → 24 → 48); on develop they differed by a relative 4e49.sing_min!sets the commonpsilow. Examples and harness decks useqlow = 1.02or the default, so nothing in the harness moves.ising_starttreats such a surface as still to be crossed. Improbable, left as is.grow_reduction_store!also fixes a latent bug: the old warn-and-drop branch kept writing the overflow reduction into the last record.🤖 Generated with Claude Code