Repository navigation
Prepare coherent scalar trees entirely in native Rust - #15
Open
huashengshao wants to merge 2 commits into
Open
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.
Fresh native consumers could load exact evaluator state but could not prepare a new physical process without a separate producer. This adds
ScalarTreeProgram::prepare: a native FeynKit model and process, generation options, optional parameter card and exact parameter overrides now produce the complete coherent tree norm and feed the existing typed coefficient executor. Preparation uses the existing FeynKit amplitude generator and Idenso contraction, with no Python execution or process-specific source compilation.This first admitted class contains color-singlet scalar fields. Other participating fields and internal propagators outside canonical zero-width vacuum
p²-m²fail explicitly. The program preserves labelled diagrams and their interference, exact scalar bindings, external momentum order and complex conjugation. Results are unaveraged and exclude flux and identical-particle phase-space factors. The coefficient evaluator requires real, finite physical momenta; the consumer owns physical-domain and finite-output validation. Exact bit selection reuses #14, including arbitrary-precision Float rather than double-double for 113-bit working precision.The dependency pair is FeynKit
4b8569c03f7498b13482bc954953e66f6de5ffc1and NinjaRSde858c88e81058623d53a16fa4400b414f3aa260, retaining OneLOop8ec256fc. Those owner fixes preserve literal parameter names in conjugation and nonzero masses namedZERO. This PR is stacked oncodex/native-bit-precision(#14); it does not include unrelated changes fromloopin amaindiff.Validation: all eight focused
tree_preparationtests pass. The same prebuilt test binary also passes all eight withPATH=/nonexistent, constructing fresh native models/processes without Python or external compiler discovery. Controls include a massive cubic scalar process with all three exchange channels and nonvanishing interference, a complex-coupling norm, exact sub-binary64 parameter information at 233-bit working precision, both literal-name regressions, unsupported-field admission, and rejection of custom poles, widths and chemical potentials. Existing owner/consumer tests validate the coherent dependency pair separately. This does not claim QCD, general spin/color correlations or NNLO provider completeness.