PropagateLocalPauliNode¶
- class samplomatic.samplex.nodes.PropagateLocalPauliNode(op_name: str, register_name: str, subsystem_idxs: Sequence[Sequence[int]], *, lookup_table: ndarray | None = None)[source]¶
Bases:
EvaluationNodeA node that propagates a Pauli register past a gate.
Only Paulis from the commutant of the gate generators (those that commute with the gate for any angle) are allowed through. Non-commutant Paulis trigger a runtime error.
- Parameters:
register_name – The name of the Pauli register to propagate.
subsystem_idxs – The subsystems in the register specified as a 2D array where the left-most axes is over subsystems and the right-most axes is over indices in the subsystem.
op_name – The name of the gate operation.
Attributes Summary
The virtual gate type of outgoing registers.
Methods Summary
evaluate(registers, *_)Evaluate this node.
Return the style of this node when plotted.
Return a manifest of which virtual register values this node needs to read from.
Return a manifest of which virtual register values this node needs to write to.
Attributes Documentation
- outgoing_register_type¶
Methods Documentation
- evaluate(registers, *_)[source]¶
Evaluate this node.
- Parameters:
registers – At least those registers needed by this node to read from or write to.
parameter_values – Parameter values to use during evaluation.
- Raises:
SamplexRuntimeError – If the number of parameter values received does not equal the number required by this node.