PauliPropagator
Classical simulator for qubit (Pauli) operators.
Accepts a monoprop.pauli.PauliOperator observable and a
monoprop.circuit.Circuit of qubit (Pauli) monoprop.circuit.ExpGate gates.
See 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 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
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
monoprop.monomial_propagator.MonomialPropagator still applies.
paramschrodinger_cutoffint | None= NoneOptional cutoff for Schrodinger-picture evolution. If
provided, enables the Schrodinger picture, starting in a n initial state
with terms truncated with that parameter; if None, the Heisenberg
picture is used. It is recommended that schrodinger_cutoff be slightly
larger than cutoff for comparable accuracy.
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