mindquantum.core.gates.MeasureResult
- class mindquantum.core.gates.MeasureResult[源代码]
测量结果容器。
样例:
>>> from mindquantum.algorithm.library import qft >>> from mindquantum.simulator import Simulator >>> sim = Simulator('mqvector', 2) >>> res = sim.sampling(qft(range(2)).measure_all(), shots=1000, seed=42) >>> res shots: 1000 Keys: q1 q0│0.00 0.065 0.13 0.194 0.259 0.324 ───────────┼───────────┴───────────┴───────────┴───────────┴───────────┴ 00│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │ 01│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │ 10│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │ 11│▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │ {'00': 230, '01': 254, '10': 257, '11': 259} >>> res.data {'00': 230, '01': 254, '10': 257, '11': 259}
- add_measure(measure)[源代码]
在此测量结果容器中添加测量门。测量键在此测量结果容器中应是唯一的。
- 参数:
measure (Union[Iterable, Measure]) - 一个或多个测量门。
- collect_data(samples)[源代码]
收集所有测量门测量出的比特串。
- 参数:
samples (numpy.ndarray) - 一个二维(N x M) numpy数组,以0或1存储采样位字符串,其中N表示拍摄次数,M表示此测量容器中的键数。
- property data
获取采样数据。
- 返回:
dict,采样数据。
- property keys_map
返回测量门名词与出现顺序的关系的字典。
- reverse_endian()[源代码]
反转测量结果的字节序。
这个函数反转测量结果中每个比特串的比特顺序,同时也反转键的顺序。
- 返回:
MeasureResult,一个新的 MeasureResult 对象,具有反转的字节序。
- select_keys(*keys)[源代码]
从该测量容器中选择某些测量键。
- 参数:
keys (tuple[str]) - 要选择的键。
样例:
>>> from mindquantum.algorithm.library import qft >>> from mindquantum.core.gates import H >>> from mindquantum.simulator import Simulator >>> circ = qft(range(2)).measure('q0_0', 0).measure('q1_0', 1) >>> circ.h(0).measure('q0_1', 0) >>> circ ┏━━━┓ ┏━━━━━━━━━┓ ┍━━━━━━━━┑ ┏━━━┓ ┍━━━━━━━━┑ q0: ──┨ H ┠─┨ PS(π/2) ┠───────╳─┤ M q0_0 ├─┨ H ┠─┤ M q0_1 ├─── ┗━━━┛ ┗━━━━┳━━━━┛ ┃ ┕━━━━━━━━┙ ┗━━━┛ ┕━━━━━━━━┙ ┃ ┏━━━┓ ┃ ┍━━━━━━━━┑ q1: ─────────────■──────┨ H ┠─╳─┤ M q1_0 ├──────────────────── ┗━━━┛ ┕━━━━━━━━┙ >>> sim = Simulator('mqvector', circ.n_qubits) >>> res = sim.sampling(circ, shots=500, seed=42) >>> new_res = res.select_keys('q0_1', 'q1_0') >>> new_res shots: 500 Keys: q1_0 q0_1│0.00 0.068 0.136 0.204 0.272 0.34 ───────────────┼───────────┴───────────┴───────────┴───────────┴───────────┴ 00│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │ 01│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │ 10│▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │ 11│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │ {'00': 127, '01': 107, '10': 136, '11': 130}