qrunch.quantum.estimators.memory_restricted_estimator

Module containing the a memory restricted estimator.

Classes

MemoryRestrictedEstimator

Class for estimating observables using the memory restricted estimator.

class MemoryRestrictedEstimator

Bases: Estimator

Class for estimating observables using the memory restricted estimator.

__init__(options: MemoryRestrictedSimulatorOptions | None = None, error_mitigator: EstimatorErrorMitigator | None = None) None

Initiate an instance of the MemoryRestrictedEstimator.

Parameters:
  • options (MemoryRestrictedSimulatorOptions | None) – Options to be used in the MemoryRestrictedEstimator.

  • error_mitigator (EstimatorErrorMitigator | None) – Error mitigator to be used for encoding the observable or circuit more error resistantly.

Return type:

None

clear_cache() None

Clear the measurement cache.

Return type:

None

has_spin_particle_conservation() bool

Return True, if the estimator is set to use spin particle conservation.

Return type:

bool

has_total_particle_conservation() bool

Return True, if the estimator is set to use total particle conservation.

Return type:

bool

run(observables: Sequence[int | float | complex | Expression[PauliOperators]] | int | float | complex | Expression[PauliOperators] | Sequence[HermitianPauliSum] | HermitianPauliSum, circuits: Circuit | Sequence[Circuit], shots: int | None) ExpectationValue | list[ExpectationValue] | EstimatorResults

Estimate the value of the observables using the circuit state.

For each observable the following will be calculated: <circuit|observable|circuit>.

Parameters:
Return type:

ExpectationValue | list[ExpectationValue] | EstimatorResults

supports_shots_equals_none() bool

Return whether the estimator supports shots = None.

The memory restricted estimator does currently only support shots=None

Return type:

bool