nkdsl.SymbolicIRTerm¶
- class SymbolicIRTerm(name, iterator, predicate, update_program, amplitude, branch_tag=None, metadata=<factory>, max_conn_size_hint=None, emissions=None)[source]¶
One primitive declarative symbolic operator term.
- Parameters:
name (str)
iterator (Any)
predicate (PredicateExpr)
update_program (UpdateProgram)
amplitude (AmplitudeExpr)
branch_tag (Any)
metadata (tuple)
max_conn_size_hint (int | None)
emissions (tuple | None)
- iterator¶
Iterator descriptor (
KBodyIteratorSpec).- Type:
Any
- predicate¶
Branch-selection predicate.
- update_program¶
Matrix-element update program.
- amplitude¶
Matrix-element expression.
- branch_tag¶
Optional branch tag for diagnostics.
- Type:
Any
- max_conn_size_hint¶
Optional static upper-bound hint on the number of connected states this term produces per input configuration.
- Type:
int | None
- emissions¶
Optional multi-emission tuple that, when present, supersedes update_program and amplitude. Each entry is an
EmissionSpecrepresenting one output branch per iterator evaluation.- Type:
tuple | None
- __init__(name, iterator, predicate, update_program, amplitude, branch_tag=None, metadata=<factory>, max_conn_size_hint=None, emissions=None)¶
- Parameters:
name (str)
iterator (Any)
predicate (PredicateExpr)
update_program (UpdateProgram)
amplitude (AmplitudeExpr)
branch_tag (Any)
metadata (tuple)
max_conn_size_hint (int | None)
emissions (tuple | None)
- Return type:
None
Methods
__init__(name, iterator, predicate, ...[, ...])create(*, name, iterator, predicate, ...[, ...])Builds a term from user-friendly values.
metadata_dict()Returns metadata in dictionary form.
to_ir_lines([idx, indent])Formats this term as indented IR lines for operator dumps.
Attributes
effective_emissionsReturns the active emission list for this term.
fanout_hintBackward-compatible alias for
max_conn_size_hint.free_symbolsReturns the set of free (non-iterator-bound) symbol names in this term.