Skip to content

Measurement — measure, MeasureNode, QResult, StabilizerResult

API reference for quantum measurement operations in pyqpanda3.

measure

Creates a measurement operation that maps a quantum qubit to a classical bit.

Signature

python
measure(qubit: int, cbit: int) -> MeasureNode
measure(qubits: list[int], cbits: list[int]) -> list[MeasureNode]
ParameterTypeDescription
qubitintQubit index to measure
cbitintClassical bit index to store result
qubitslist[int]Multiple qubit indices to measure
cbitslist[int]Multiple classical bit indices for results

Returns

MeasureNode or list[MeasureNode] — measurement node(s) to append to a QProg.

Examples

python
from pyqpanda3.core import H, CNOT, CPUQVM, QProg, measure

qvm = CPUQVM()
prog = QProg()

# Single-qubit measurement
prog << H(0) << measure(0, 0)

# Multi-qubit measurement
prog << CNOT(0, 1) << measure([0, 1], [0, 1])

qvm.run(prog, 1000)
result = qvm.result()
print(result.get_counts())

MeasureNode

Represents a measurement operation binding a qubit to a classical bit.

Signature

python
class MeasureNode

MeasureNode objects are created by the measure() function and appended to QProg instances via the << operator.

python
from pyqpanda3.core import measure

m = measure(0, 0)
prog << m

QResult

Stores the results of quantum simulation, including measurement counts, state vectors, and probability distributions.

Signature

python
class QResult:
    def __init__() -> None

Methods

QResult.get_state_vector

python
get_state_vector() -> list[complex]

Returns the state vector of the quantum system after simulation.

QResult.get_counts

python
get_counts() -> dict[str, int]

Returns a dictionary mapping measurement outcome bitstrings to their counts.

python
# Example output: {'00': 487, '11': 513}
result.get_counts()

QResult.get_prob_list

python
get_prob_list(qubits: list[int] = []) -> list[float]
ParameterTypeDescription
qubitslist[int]Qubit indices (default all qubits)

Returns probability list for specified qubits.

QResult.get_prob_dict

python
get_prob_dict(qubits: list[int] = []) -> dict[str, float]
ParameterTypeDescription
qubitslist[int]Qubit indices (default all qubits)

Returns probability dictionary mapping bitstrings to probabilities.

QResult.shots

python
shots() -> int

Returns the number of measurement shots.

QResult.print_results

python
print_results() -> None

Prints the measurement results to standard output.

StabilizerResult

Result class for the Stabilizer simulator. Inherits from QResult.

Signature

python
class StabilizerResult(QResult):
    def __init__() -> None

Methods

StabilizerResult.get_state_vector

python
get_state_vector() -> list[complex]

Returns the state vector of the stabilizer state.

Examples

python
from pyqpanda3.core import H, CNOT, Stabilizer, QProg, measure, NoiseModel

qvm = Stabilizer()
prog = QProg()
prog << H(0) << CNOT(0, 1)
prog << measure(0, 0) << measure(1, 1)

qvm.run(prog, 1000, NoiseModel())
result = qvm.result()  # StabilizerResult
print(result.get_counts())

See Also

  • Simulator — CPUQVM, Stabilizer, and other simulators
  • Circuit — QProg for constructing quantum programs
  • Noise — NoiseModel for noisy simulations

Released under the MIT License.