qrunch.quantum.measurement.quantum_measurement

Module containing quantum measurements.

Functions

convert_counts_to_probabilities(counts)

Convert counts to probability dict.

Classes

MeasurementState

Class for holding a measured state.

QuantumMeasurement

Class for probabilities of states from a quantum measurement.

class MeasurementState

Bases: object

Class for holding a measured state.

__init__(*, state: int, num_qubits: int) None

Initiate a MeasurementState object.

Parameters:
  • state (int) – Integer representing the measured state.

  • num_qubits (int) – Number of qubits measured.

Return type:

None

property as_binary: str

The state as a binary.

property as_integer: int

The state as an integer.

classmethod from_binary(*, state: str | str_) MeasurementState

Initiate MeasurementState from a binary representation of a measured state.

Parameters:

state (str | str_) – Integer representing the measured state.

Returns:

MeasurementState object for the measured state.

Return type:

MeasurementState

classmethod from_integer(*, state: int, num_qubits: int) MeasurementState

Initiate MeasurementState from an integer representation of a measured state.

Parameters:
  • state (int) – Integer representing the measured state.

  • num_qubits (int) – Number of measured qubits.

Returns:

MeasurementState object for the measured state.

Return type:

MeasurementState

property num_qubits: int

The number of qubits measured.

class QuantumMeasurement

Bases: object

Class for probabilities of states from a quantum measurement.

__init__(probabilities: dict[MeasurementState, float], shots: int | None = None) None

Initiate a QuantumMeasurements object.

Parameters:
  • probabilities (dict[MeasurementState, float]) – Dictionary containing the data for the probabilities.

  • shots (int | None) – number of shots

Return type:

None

as_counts() dict[MeasurementState, int]

Get the counts for the measurement.

Returns:

Dictionary of Measurement state representing each count.

Return type:

dict[MeasurementState, int]

classmethod from_binary_dict(*, probabilities: dict[str, float], shots: int | None = None) QuantumMeasurement

Create a QuantumMeasurement from a dict of data with binary keys.

Parameters:
  • probabilities (dict[str, float]) – dict of measurements with keys as binary

  • shots (int | None) – number of shots

Returns:

QuantumMeasurement object

Return type:

QuantumMeasurement

classmethod from_int_dict(*, probabilities: dict[int, float], num_qubits: int, shots: int | None = None) QuantumMeasurement

Create a QuantumMeasurement from a dict of data with integers keys.

Parameters:
  • probabilities (dict[int, float]) – dict of measurements with keys as integers

  • num_qubits (int) – Number of measured qubits.

  • shots (int | None) – number of shots

Returns:

QuantumMeasurement object

Return type:

QuantumMeasurement

get(key: str | int | MeasurementState) float

Get probability associated with key. Defaults to 0.0.

Parameters:

key (str | int | MeasurementState) – Bit-string, integer or measurement state to look up in the measurement.

Return type:

float

items() Iterable[tuple[MeasurementState, float]]

Get iterable over tuples of key and value.

Return type:

Iterable[tuple[MeasurementState, float]]

keys() Iterable[MeasurementState]

Get iterable over keys.

Return type:

Iterable[MeasurementState]

most_frequent() MeasurementState

Get the state with the most counts.

Returns:

Key for the most frequently measured state.

Return type:

MeasurementState

property num_qubits: int

The number of qubits measured.

property shots: int | None

Total number of measurement shots.

to_binary_dict() dict[str, float]

Return the measurements as a dict with the keys as binary.

Return type:

dict[str, float]

to_integer_dict() dict[int, float]

Return the measurements as a dict with the keys as integers.

Return type:

dict[int, float]

values() Iterable[float]

Get iterable over values.

Return type:

Iterable[float]

convert_counts_to_probabilities(counts: dict[str, int]) dict[str, float]

Convert counts to probability dict.

Parameters:

counts (dict[str, int]) – Counts as a dict with binary str as keys.

Return type:

dict[str, float]