qrunch.quantum.error_mitigation.error_mitigation_protocols

Module containing interfaces needed for error mitigation.

Classes

EstimatorErrorMitigator

Protocol for an error mitigator used by estimators.

SamplerErrorMitigator

Protocol for an error mitigator used by samplers.

class EstimatorErrorMitigator

Bases: Protocol

Protocol for an error mitigator used by estimators.

__init__(*args, **kwargs)
encode_error_mitigation(circuit: Circuit, observables: Sequence[HermitianPauliSum]) tuple[HermitianPauliSum, ...]

Apply the error mitigation scheme by encoding the information in the circuits in new circuits.

Parameters:
Return type:

tuple[HermitianPauliSum, …]

class SamplerErrorMitigator

Bases: Protocol

Protocol for an error mitigator used by samplers.

__init__(*args, **kwargs)
decode_error_mitigation(measurement_circuits: Sequence[MeasurementCircuit], measurements: Sequence[QuantumMeasurement]) tuple[QuantumMeasurement, ...]

Retrieve measurements on the original circuit from the measurements on the encoded circuit.

Parameters:
  • measurement_circuits (Sequence[MeasurementCircuit]) – Encoded circuits measured to obtain the measurements.

  • measurements (Sequence[QuantumMeasurement]) – Measurements to be decoded.

Return type:

tuple[QuantumMeasurement, …]

encode_error_mitigation(measurement_circuits: Sequence[MeasurementCircuit]) tuple[MeasurementCircuit, ...]

Apply the error mitigation scheme by encoding the information in the circuits in new circuits.

Parameters:

measurement_circuits (Sequence[MeasurementCircuit]) – Circuits to be encoded.

Return type:

tuple[MeasurementCircuit, …]