PauliPastCliffordNode

class samplomatic.samplex.nodes.PauliPastCliffordNode(op_name: str, register_name: str, subsystem_idxs: Sequence[Sequence[int]])[source]

Bases: EvaluationNode

A node that propagates a Pauli register past a Clifford gate.

Parameters:
  • op_name – The name of the Clifford gate.

  • register_name – The name of the Pauli register to propagate.

  • subsystem_idxs – The subsystems in the register. The expected format is that of a collection of subsystems of the same size, i.e., that of a 2D array where the left-most axes is over subsystems and the right-most axes is over qubits.

Attributes Summary

outgoing_register_type

The virtual gate type of outgoing registers.

Methods Summary

evaluate(registers, *_)

Evaluate this node.

get_style()

Return the style of this node when plotted.

reads_from()

Return a manifest of which virtual register values this node needs to read from.

writes_to()

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.

get_style()[source]

Return the style of this node when plotted.

reads_from()[source]

Return a manifest of which virtual register values this node needs to read from.

writes_to()[source]

Return a manifest of which virtual register values this node needs to write to.