Changelog#
0.3.0b5 — beta prerelease#
Packages the implemented engineering work from all five stable-release objectives and the corrections rehearsed in 0.3.0rc2:
Proposed API compatibility contract and the
sunset_second_derivativealias.Expanded independent-reference audits, exact binary numerical evidence, explicit hybrid coverage alerts and reproducible reviewer packets.
explain_sunset_rmtwith graph-to-series traces, provenance, diagnostics and a bundled provisional JSON schema.Method-selection guidance, actionable refusals and shared reference-checked local, notebook and browser examples.
Bounded missing-version retries, matching-tag publication guards, minimum-dependency/platform/upgrade checks and complete source archives.
Numerical algorithms and mathematical domains are unchanged from rc2. This is an explicitly requested beta label, not a rollback of the rc2 implementation. The hybrid evaluator and compiler/export research interfaces remain experimental or provisional. Human scientific review and outside-user/hosted-Colab feedback remain pending before stable publication; no such approval is claimed here.
0.3.0rc2 — release candidate (qualification pending)#
Include root review files and workflow definitions in the source distribution; validate its review-support contents during every artifact build. The rc1 rehearsal was stopped before upload; its frozen tag remains unchanged.
Address the supplementary Claude review: include benchmark dependencies in reviewer packets, enforce matching tag refs for TestPyPI, display values at requested precision, and preserve input mass order in domain errors.
Separate hybrid accuracy and coverage in schema-v2 audits, retain every coverage alert, and export exact binary evidence for numerical comparisons.
Correct the unverified Colab claim; preserve the review and pending release qualifications explicitly.
Retry only the selected index’s exact missing-version response, with bounded attempts. Other install failures and smoke checks fail immediately.
Add minimum-dependency CI, source-bound stability reports and clean/upgrade artifact checks with base and optional SciPy dependencies. The development version distinguishes these artifacts from the published 0.3.0a5.
Add a method-selection guide and shared reference-checked examples for local Python, documentation, notebooks and the browser. Domain/precision refusals now include relevant inputs and explicit next steps.
Add a source-bound stability audit covering series boundaries, budget refusals, independent references, scaling identities and repeated hybrid estimates.
Add
explain_sunset_rmtand a bundled provisional JSON schema for exact graph-to-series traces, source provenance and optional evaluation diagnostics.Track the five objectives for 0.3.0 and define a proposed compatibility contract separating stable candidates, experimental and legacy interfaces.
Add
sunset_second_derivativeas an explicit spelling ofsunset_d2. The existing name, arguments, numerical implementation and exceptions remain unchanged; neither name denotes a D=2 graph integral.
0.3.0a4 — research alpha#
Address all six nonblocking findings in the supplementary review of 0.3.0a2; retain the original report and its scope with the release evidence.
Make audit and benchmark reports work from source archives without Git, using source SHA-256 hashes as the binding provenance identifiers.
Replace ambiguous numerical “certified” claims with precision checks and explain the dimension-independent zero in the sunset Gamma families.
Publish measured default-budget coverage at 10, 20 and 30 digits, with accurate values and typed budget refusals reported separately.
Validate product benchmarks against a separate Gaussian Fourier/angular representation, then regenerate the accuracy-checked measurements.
Standardize package and citation author metadata; the name was corrected in 0.3.0a5.
Numerical algorithms and documented domains are unchanged from 0.3.0a2.
0.3.0a3 — replacement TestPyPI release#
Restore TestPyPI availability after the earlier releases were accidentally deleted. A new version is required because deleted filenames cannot be reused.
Use
publish.ymland the protectedpypienvironment for TestPyPI uploads, matching the replacement trusted publisher. Manual uploads target only TestPyPI and require full validation and an installation check.Authentication diagnostics now select PyPI or TestPyPI explicitly and report allowlisted rejection codes without exposing credentials.
Numerical algorithms are unchanged from 0.3.0a2. Review and production PyPI publication were pending at preparation time.
0.3.0a2 — historical TestPyPI rehearsal (files subsequently deleted)#
Fixed browser startup by loading Pyodide’s compiled NumPy before importing the package, including custom dependency-wheel configurations.
Added browser examples for graph-derived sunset RMT and equal-mass Taylor evaluation, and real Chromium checks for examples, references and reset.
Added a reproducible 30-digit comparison with three mpmath quadrature methods, raw timings, source hashes and explicit accuracy failures. Historical one-loop timings are labelled separately; unsupported broad rankings were removed.
Added production publisher authentication preflight without upload, plus an installation check outside the checkout after production publication.
Refreshed candidate metadata and the independent-parameter audit. External scientific review remains pending; automated validation is not peer review.
0.3.0a1 — TestPyPI rehearsal (not published to production PyPI)#
Equal-mass continuation and release preparation#
Added a separate D=2 equal-mass transformed Taylor series for vacuum and finite Euclidean momentum, with an analytic tail bound and precision control for the unstable coefficient recurrence. RMT calls retain their own domains.
Added a reproducible independent-parameter audit, capability table, scientific review packet, research notebook and contribution instructions.
Publication now depends on tests, numerical audit, docs/notebook checks and installed wheel/sdist checks across Linux, Windows and macOS. Added a manual TestPyPI rehearsal. Hosted candidate checks passed; external review and publication remain pending.
Repository cleanup#
Removed obsolete root scripts, superseded plots/results drafts, generated SecDec runs, vendored tools, binaries and downloaded PDFs from the current tree.
Retained the supported package and compatibility APIs, current examples, maintained benchmarks, independent fixtures and reproducible audit report.
Updated ignore rules and packaging so generated output stays outside version control and the source distribution contains the maintained reproduction files.
Git history is preserved; this cleanup is not a history rewrite.
Multivariate Ramanujan sunset series#
Added exact Schwinger bracket matrices and basis solving with inspectable Gamma-function summands; nonsingularity makes no convergence claim.
Added
compile_sunset_rmtandintegrate_graph_rmtfor the massive, unit-power two-loop sunset in D=2. The momentum-dominant and mass-dominant Euclidean charts have explicit sufficient convergence domains.Resolved coalescing poles analytically into logarithms and harmonic numbers. Evaluation uses arbitrary-precision series summation, an analytic tail bound, precision checks and bounded work, with no numerical integration fallback.
Added independent 40/55-digit simplex references, regulated Gamma-family checks, boundary/budget tests, and comparisons with the hybrid graph backend. Equal-mass vacuum and the gap between charts remain explicitly unsupported.
Multiloop graphs#
Added immutable
ScalarEdgeandScalarGraphobjects with exact Symanzik polynomials, conserved Euclidean external vectors, graph-derived loop counts, and UV power counting over all cyclic edge subsets.Added experimental
integrate_graph: RMT integration of the Schwinger scale, factored Hepp sectors with smooth boundary maps, and replicated scrambled Sobol integration. Supports convergent massive scalar graphs and positive fractional powers/dimension, subject to explicit work budgets.Added
MultiloopResultstatistical diagnostics and strict convergence failure viaMultiloopConvergenceError; SciPy is an optionalmultiloopextra.Added independent one- through four-loop checks, a graph example, and a guide documenting Euclidean normalization and the remaining path to general multivariate RMT, regulator expansions, and physical-region coverage.
Documentation#
Documentation website (Sphinx, pydata-sphinx-theme), deployed to GitHub Pages by
.github/workflows/docs.yml: landing page, installation, quickstart, user guide (Master Theorem, product integrals, one-loop, sunset, precision, conventions), API reference, example gallery, validation, comparison, prior art, citing.“Try it in your browser”: an in-browser console (Pyodide in a Web Worker) that runs the package without installation; a Colab quickstart notebook (
notebooks/quickstart.ipynb).NumPy-style docstrings with examples for every public function; the examples run as doctests in CI, and
tools/check_doc_snippets.pyruns the examples on the documentation pages.CITATION.cff;publish.ymlfor PyPI trusted publishing on a GitHub release.LICENSE: the copyright line reads “In memory of Ramanujan”.
0.2.0#
Added#
ramanujan_qft.rmt:ramanujan_master_theorem,mellin_numeric,massive_propagator_rmt.ramanujan_qft.mellin:product_integralwith both residue expansions, the large-x poles of each factor, convergence control (SeriesConvergenceError) and pole collisions (logarithmic results). Atlas: exponential, gaussian, bessel_j, cosine, sine, inverse_power, gaussian_bessel.ramanujan_qft.one_loop:B0(all masses),B0_mob,C0,C0_mob,bubble_3din LoopTools conventions, checked at the requested precision (evaluation at two working precisions, raised until they agree).ramanujan_qft.sunset:sunset_im,sunset_subtracted,sunset_d2.Test suite (311 tests) with LoopTools 2.16 reference values, independent integrations and regression tests from two adversarial audits; GitHub Actions workflow;
pyproject.toml; examples; benchmarks.
Fixed#
The package can now be imported after installation (it no longer depends on
feynman_atlas.pyin the repository root).solve_B0_standard/solve_C0_standardare correct at every precision (previously correct only forprecision >= 50, and crashing at 15).Sunset imaginary part: prefactor π/s instead of π/(16s), and the correct sign.
solve_bessel_exp_productreturned 0.DispersionMoBEngine.reconstruct_complex: principal value above threshold.HypergeometricConvergenceFilter.check_convergence: a divergent series with p − q − 1 = 0 was labelled “conditional”.Constructors no longer change the global
mpmath.mp.dps.RACE (
product_integral), after two adversarial audits (47 confirmed defects, all regression-tested):a-priori validity check of the contour closure (Gamma orders and scale ratio);
existence check of the integral, with asymptotic phases for equal frequencies;
exact representation of inputs near lattice points;
a stopping rule guarded by the terms’ a-priori peak;
cancellation-compensated precision;
Wynn epsilon only for alternating series;
Richardson-extrapolated pole collisions;
explicit
error_estimate.
B0/C0 cancellation at extreme kinematics (precision checks), C0 ZeroDivisionError at regular points, massless D=3 bubble, sunset edge cases,
mellin_numericchecks.Round 3:
sunset functions rewritten (scaling, factored Kallen functions, normalised and error-checked quadrature, precision checks); accurate at threshold and for scales 1e-12..1e12;
C0 with IR-finite massless internal lines;
exact C0 at s = 0;
non-finite inputs rejected;
RACE: Gamma-argument offsets in the peak estimate (second peak for large v), exact sizing of decimal-string inputs, strip edges from raw parameters.
Withdrawn (raise NotImplementedError; see AUDIT.md)#
FeynmanMoBSolver.massive_sunset_residue,solve_massive_sunset,solve_graph_polynomials,solve_P126,solve_triangle3L,solve_elliptic_kite,solve_double_box_inv.RamanujanContinuationEngine.sunset_real_dispersion,evaluate_minkowski_residues.HypergeometricConvergenceFilter.compute_p126_*.MoBDynamicEngine.stage_D_dynamic_evaluation(it returned 0).
Changed#
Default
precisionof the legacy classes is now 30 (was 100). Results no longer depend on it.RACE methods raise exceptions instead of returning error strings.
matplotlib,scipyandpySecDecare no longer runtime dependencies.