nkdsl.EmissionSpec

class EmissionSpec(update_program, amplitude, branch_tag=None, predicate=<factory>)[source]

One output branch (connected state + matrix element) of a term.

A single iterator evaluation can produce multiple branches, one per EmissionSpec in the parent term’s emissions tuple. This allows a plaquette term, for example, to emit both + and - connected states from the same site-tuple without splitting into two separate terms.

Parameters:
update_program

Site-update program mapping x -> x'.

Type:

nkdsl.ir.update.UpdateProgram

amplitude

Matrix-element expression evaluated in the source environment.

Type:

nkdsl.ir.expressions.AmplitudeExpr

branch_tag

Optional diagnostic tag for this emission slot.

Type:

Any

predicate

Optional emission-local branch predicate.

Type:

nkdsl.ir.predicates.PredicateExpr

__init__(update_program, amplitude, branch_tag=None, predicate=<factory>)
Parameters:
Return type:

None

Methods

__init__(update_program, amplitude[, ...])

Attributes

branch_tag

matrix_element

Preferred alias for amplitude.

update_program

amplitude

predicate