qrunch.quantum.groupers.measurement_groups

Module containing classes for measurement groups, which store pauli sums that can be measured simultaneously.

Classes

MeasurementGroup

Class that stores pauli sums, that can be measured simultaneously.

PartialMeasurementGroup

Class that stores pauli sums, that can be measured simultaneously before shots have been allocated.

class MeasurementGroup

Bases: object

Class that stores pauli sums, that can be measured simultaneously.

All fields are immutable (frozen=True) so an instance can be safely reused.

Parameters:
  • measurement_basis – The measurement basis to use for the group.

  • pauli_sums – Mapping between original pauli sum and the part that belongs in the group.

  • number_of_shots – The number of shots to allocate to this group.

__init__(measurement_basis: MeasurementBasis, pauli_sums: dict[HermitianPauliSum, HermitianPauliSum], number_of_shots: int | None = None) None
Parameters:
Return type:

None

calculate_expectation_value(measurement: QuantumMeasurement) dict[HermitianPauliSum, ExpectationValue]

Calculate the expectation value of the given pauli strings from the measurement.

Parameters:
  • pauli_strings – A dictionary mapping Pauli strings to their coefficients.

  • measurement (QuantumMeasurement) – The measurement results.

Return type:

dict[HermitianPauliSum, ExpectationValue]

measurement_basis: MeasurementBasis
number_of_shots: int | None = None
pauli_sums: dict[HermitianPauliSum, HermitianPauliSum]
class PartialMeasurementGroup

Bases: object

Class that stores pauli sums, that can be measured simultaneously before shots have been allocated.

Parameters:
  • measurement_basis – The measurement basis to use for the group.

  • pauli_sums – Mapping between original pauli sum and the part that belongs in the group.

__init__(measurement_basis: MeasurementBasis, pauli_sums: dict[HermitianPauliSum, HermitianPauliSum]) None
Parameters:
Return type:

None

assign_shots(number_of_shots: int | None) MeasurementGroup

Assign a number of shots to this group, returning a new MeasurementGroup.

Parameters:

number_of_shots (int | None) – The number of shots to assign to this group.

Return type:

MeasurementGroup

get_all_pauli_strings() set[PauliString]

Get all pauli strings in this group.

Return type:

set[PauliString]

measurement_basis: MeasurementBasis
pauli_sums: dict[HermitianPauliSum, HermitianPauliSum]