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
measure(qubit: int, cbit: int) -> MeasureNode
measure(qubits: list[int], cbits: list[int]) -> list[MeasureNode]| Parameter | Type | Description |
|---|---|---|
| qubit | int | Qubit index to measure |
| cbit | int | Classical bit index to store result |
| qubits | list[int] | Multiple qubit indices to measure |
| cbits | list[int] | Multiple classical bit indices for results |
Returns
MeasureNode or list[MeasureNode] — measurement node(s) to append to a QProg.
Examples
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
class MeasureNodeMeasureNode objects are created by the measure() function and appended to QProg instances via the << operator.
from pyqpanda3.core import measure
m = measure(0, 0)
prog << mQResult
Stores the results of quantum simulation, including measurement counts, state vectors, and probability distributions.
Signature
class QResult:
def __init__() -> NoneMethods
QResult.get_state_vector
get_state_vector() -> list[complex]Returns the state vector of the quantum system after simulation.
QResult.get_counts
get_counts() -> dict[str, int]Returns a dictionary mapping measurement outcome bitstrings to their counts.
# Example output: {'00': 487, '11': 513}
result.get_counts()QResult.get_prob_list
get_prob_list(qubits: list[int] = []) -> list[float]| Parameter | Type | Description |
|---|---|---|
| qubits | list[int] | Qubit indices (default all qubits) |
Returns probability list for specified qubits.
QResult.get_prob_dict
get_prob_dict(qubits: list[int] = []) -> dict[str, float]| Parameter | Type | Description |
|---|---|---|
| qubits | list[int] | Qubit indices (default all qubits) |
Returns probability dictionary mapping bitstrings to probabilities.
QResult.shots
shots() -> intReturns the number of measurement shots.
QResult.print_results
print_results() -> NonePrints the measurement results to standard output.
StabilizerResult
Result class for the Stabilizer simulator. Inherits from QResult.
Signature
class StabilizerResult(QResult):
def __init__() -> NoneMethods
StabilizerResult.get_state_vector
get_state_vector() -> list[complex]Returns the state vector of the stabilizer state.
Examples
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())