tsim.compile.terms.HalfPiPhases
classHalfPiPhases¶source
tsim.compile.terms.HalfPiPhases
Bases: eqx.Module
Sum of ``exp(i·j·π·⊕params / 2)`` terms with ``j ∈ {1, 3}``.
class HalfPiPhasesTerms 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
| Name | Type | Description |
|---|---|---|
coeffs | Array | |
params | Array |
methodevaluate¶source
tsim.compile.terms.HalfPiPhases.evaluate
def evaluate(param_vals: Array) -> ExactScalarArrayEvaluate ω^(Σ coeffs · parity) per graph, batched over param_vals.
Parameters
| Name | Type | Description |
|---|---|---|
param_vals | Array | Binary parameter values, shape ``(batch, n_params)``. |
Returns
ExactScalarArray``ExactScalarArray`` of shape ``(batch, num_graphs)``.