PauliPropagator
Classical simulator for qubit (Pauli) operators.
Accepts a :class:~monoprop.pauli.PauliOperator observable and a
:class:~monoprop.circuit.Circuit of qubit (Pauli) :class:~monoprop.circuit.ExpGate gates.
See :class:~monoprop.monomial_propagator.MonomialPropagator for the shared building,
evaluation, and introspection surface.
The cutoff is measured as qubit Pauli weight (the number of qubits a retained term
touches); cutoff_type is fixed and read-only on this class.
Attributes
attributenum_qubitsintNumber of qubits the propagator acts on.
Functions
func__init__(self, initial_operator, initial_state, *, cutoff, schrodinger_cutoff=None, lower_atol=None, upper_atol=None, comm=None) -> NoneInitialize the qubit propagator.
See :class:~monoprop.monomial_propagator.MonomialPropagator for the shared
arguments. The cutoff is always measured as Pauli weight, so cutoff bounds the
number of qubits a retained term touches.
paramselfparaminitial_operatorPauliOperatorInitial qubit operator as a
:class:~monoprop.pauli.PauliOperator.
paraminitial_statelist[int] | np.ndarrayComputational-basis reference (indices of qubits set to 1).
paramcutoffintMaximum Pauli weight (number of qubits touched) retained during
evolution. The fully-paired exception described in
:class:~monoprop.monomial_propagator.MonomialPropagator still applies.
paramschrodinger_cutoffint | None= NoneOptional Schrodinger-picture cutoff (enables that picture).
paramlower_atolNone | float= NoneOptional lower coefficient-truncation tolerance.
paramupper_atolNone | float= NoneOptional upper coefficient-retention tolerance.
paramcommMPI.Comm | None= NoneOptional MPI communicator (must outlive the propagator).
Returns
None