Repository navigation
Bind constructive null states to prepared native tree programs - #25
Draft
huashengshao wants to merge 2 commits into
Draft
huashengshao wants to merge 2 commits into
huashengshao wants to merge 2 commits into
Conversation
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.
Native tree programs can now own constructive massless external states whose coefficient momenta and wavefunctions come from the same immutable FeynKit values. Preparation retains the model namespace, occurrence roles and exactly specialized external masses. The additive domain constructor admits programs only when every external mass is identically zero after preparation bindings; numerical defaults do not establish this property.
A bound batch consumes complete labelled rows, validates the label bijection and carrier/working-bit policy, and retains the program
Arc. Coefficients, helicity sums and every existing color insertion reuse the existing evaluator traversal and exact contraction machinery. Separate preparations cannot exchange admitted batches, including empty batches. Existing raw-vector factories and behavior are preserved.The two commits separate the coherent dependency update from the implementation. This PR is stacked on #24; prerequisites are FeynKit's future-null owner (alphal00p/gammaloop#217) and the corresponding Ninja dependency update (alphal00p/ninjars#6 at
084e466bd464bf4cf847fe5708503d62bc835ca9).This source association is not an original-input accuracy certificate, an event-conservation certificate, a gauge-completeness claim or complete Born admission. Mixed massive/massless owned legs require a later additive domain; the existing raw path remains available within its declared capabilities. Fresh source reconstruction remains the caller's responsibility when changing precision.
Validation: all 109 library tests pass on both the standalone Symbolica 9cdc graph and a separate coherent e93 consumer graph using the exact same source files. This includes all 100 existing regressions plus nine new groups covering exact mass admission (including scalar spectators), program/row/leg association, full state tuples, dynamic parameters, typed precision failures, color identities and analytic QCD crossings at 53, 113, 137, 233, 256, 512 and 1024 bits. The nine new groups also pass as a prebuilt executable with
PATH=/nonexistent; the immutable-owner compile-fail documentation test passes. Independent production-source review found no blocking issue.The e93 check validates the provider source against ROULETTE's numerical family; it does not claim full ROULETTE or optional Python-host adoption. Source snapshots, dependency manifests, commands and logs are retained in the ROULETTE validation evidence.