monoprop

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_qubitsint

Number 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) -> None

Initialize 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.

paramself
paraminitial_operatorPauliOperator

Initial qubit operator as a monoprop.pauli.PauliOperator.

paraminitial_statelist[int] | np.ndarray

Computational-basis reference (indices of qubits set to 1).

paramcutoffint

Maximum Pauli weight (number of qubits touched) retained during evolution. The fully-paired exception described in monoprop.monomial_propagator.MonomialPropagator still applies.

paramschrodinger_cutoffint | None
= None

Optional 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
= None

Optional lower coefficient-truncation tolerance.

paramupper_atolNone | float
= None

Optional upper coefficient-retention tolerance.

paramcommMPI.Comm | None
= None

Optional MPI communicator (must outlive the propagator).

Returns

None

On this page