The algebraic layer¶
Everything in this page is optional for the headline use case — the renormalized family needs no Hopf algebra. But the full BHZ structure is built, property-tested, and exposed, for when you want the objects themselves: coproducts, the twisted antipode, characters, the group.
The regularity structure \((T, T^+)\)¶
from counterterms import build_regularity_structure
rs = build_regularity_structure(spde, gamma=1) # γ-truncated
rs.model_basis— the decorated trees spanning the model space \(T\) up to homogeneity \(\gamma\);rs.grades()groups them by homogeneity,rs.homogeneities()lists the grading.rs.divergent— the negative subspace (the counterterm carriers).rs.positive_basis()— the trees generating \(T^+\).rs.recentering(t)— the coproduct \(\Delta : T \to T \otimes T^+\) (positive renormalization: Taylor recentring of the model). Returned as an exact tensor sum{(left, right): coefficient}.rs.structure_coproduct(b)— \(\Delta^+ : T^+ \to T^+ \otimes T^+\), andrs.structure_antipode()— the antipode of the structure group’s Hopf algebra.
Note
The polynomial sector \(\{X^k\}\) is carried implicitly as node decorations, not as standalone basis vectors — consumers counting graded dimensions should account for this.
The renormalization structure and the BHZ character¶
from counterterms import build_renormalization
rn = build_renormalization(spde)
rn.coaction(t)— \(\delta : U \to U^- \otimes U\), the extraction–contraction coaction (cut out divergent subforests; the contracted node keeps an extended decoration; Taylor \(\mathfrak{e}'\) terms recentre the cut edges).rn.coproduct(t)— \(\delta^- : U^- \to U^- \otimes U^-\).rn.twisted_antipode(t)— the negative twisted antipode \(S'_-\), the recursive Bogoliubov-style subtraction (tex 5034). Note \(S'_-\) is not a Hopf antipode — it maps into the free algebra \(\mathbb{R}[U]\).rn.h_symbol(σ)— the elementary-expectation symbol \(h(\sigma)\).rn.bhz_character(t)— the exact polynomial \(k_\tau = h(S'_- t)\) in the \(h\)-symbols.rn.canonical_character(t)— the same with the centered-Gaussian parity rule applied (odd-noise trees ⇒ 0). Symbols that survive here are not guaranteed nonzero — the further provable reductions live in the reduced report view.
The cointeraction between \(\delta\) and the recentering \(\Delta\) (tex 5717) — the
compatibility that makes renormalization commute with recentring — is verified by the test suite
over the whole equation corpus, including the singular \(\beta_0 = -\tfrac32\) case, where a
naive reading of the paper’s recentring actually fails (see
notes/cointeraction_singular_noise.md for that story).
The renormalization group \(G^-\)¶
from counterterms import build_renormalization_group
G = build_renormalization_group(spde)
chi = G.character({tree: value, ...}) # a character from tree values (multiplicative on forests)
G.convolve(chi1, chi2) # the group product (χ₁ ⊗ χ₂) ∘ δ⁻
G.inverse(chi) # χ ∘ S (antipode inverse)
G.identity() # the counit
Group axioms (associativity, unit, inverse) are property-tested, including on multi-component
forests. G.admissible() — the analytic subgroup \(G^-_{\mathrm{ad}}\) of characters compatible
with the kernel’s vanishing moments — is deliberately unbuilt and raises NotImplementedError
(it needs the \(\Pi\)-map, an analytic object).
Wick structure of the canonical constants¶
from counterterms.renorm.scheme import expectation, NoiseLaw, WHITE_NOISE
exp = expectation(tree, sig, law=WHITE_NOISE)
str(exp) # the ε-regularized integral: heat kernels ∂^p K against covariances C(z_i − z_j)
expectation writes \(h(\sigma) = \mathbb{E}[\Pi^\zeta\sigma](0)\) as an explicit Isserlis /
Wick-pairing sum: one \(\partial^p K\) per kernel edge, one covariance factor per matched noise
pair, within-noise-type pairing only, odd counts ⇒ 0. The integrals are emitted, not
evaluated — evaluation is the deliberately unbuilt analytic half
(BPHZ.numeric_character raises until an IntegralEvaluator exists).
JSON export¶
from counterterms.render import structure_json
doc = structure_json(spde) # one self-contained document
Exports the whole structure machine-readably: the basis trees (as nested dicts, exact homogeneities), the divergent set, the coproducts \(\Delta, \delta^-\) as tensor sums, antipode values, and the character polynomials — enough to reconstruct or cross-check the algebra in another system.