Skip to content

Prepare coherent scalar trees entirely in native Rust - #15

Open
huashengshao wants to merge 2 commits into
codex/native-bit-precisionfrom
codex/native-scalar-tree
Open

huashengshao wants to merge 2 commits into
codex/native-bit-precisionfrom
codex/native-scalar-tree

Conversation

@huashengshao

Copy link
Copy Markdown

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 4b8569c03f7498b13482bc954953e66f6de5ffc1 and NinjaRS de858c88e81058623d53a16fa4400b414f3aa260, retaining OneLOop 8ec256fc. Those owner fixes preserve literal parameter names in conjugation and nonzero masses named ZERO. This PR is stacked on codex/native-bit-precision (#14); it does not include unrelated changes from loop in a main diff.

Validation: all eight focused tree_preparation tests pass. The same prebuilt test binary also passes all eight with PATH=/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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants