Skip to content

tsim.compile.terms.HalfPiPhases

← Module overview

classHalfPiPhasessource

tsim.compile.terms.HalfPiPhases

Bases: eqx.Module

Sum of ``exp(i·j·π·⊕params / 2)`` terms with ``j ∈ {1, 3}``.

class HalfPiPhases

Terms sharing a parameter bitstring have been combined to a single stored coefficient j' ∈ {1, 2, 3} (see _compile_halfpi_phases). Coefficients are stored in eighth-turn units — i.e. as 2·j' — so the evaluator can reuse the ω = e^(iπ/4) phase table.

Padded slots use 0 (the additive identity for phase sums), so padded entries contribute nothing to the summed exponent.

Shapes are (num_graphs, max_terms) except params which is (num_graphs, max_terms, n_params).

Attributes

NameTypeDescription
coeffsArray
paramsArray

methodevaluatesource

tsim.compile.terms.HalfPiPhases.evaluate

def evaluate(param_vals: Array) -> ExactScalarArray

Evaluate ω^(Σ coeffs · parity) per graph, batched over param_vals.

Parameters

NameTypeDescription
param_valsArrayBinary parameter values, shape ``(batch, n_params)``.

Returns

ExactScalarArray``ExactScalarArray`` of shape ``(batch, num_graphs)``.

source