QCloudResult
QCloudResult 包含已完成的量子云任务的结果。它提供了访问测量概率、计数、振幅、量子态层析数据和错误信息的方法。
签名
python
QCloudResult(result_string: str, chip_id: str)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| result_string | str | 包含任务结果数据的 JSON 字符串 |
| chip_id | str | 与此结果关联的芯片 ID |
注意:QCloudResult 对象通常由 QCloudJob.result() 或 QCloudJob.query() 返回,而非直接构造。
方法
get_probs
python
get_probs(base: DataBase = DataBase.Binary) -> dict[str, float]检索测量量子态的概率分布。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| base | DataBase | Binary | 态标签的进制表示(Binary 或 Hex) |
返回值: 将态字符串映射到其概率的字典。
get_counts
python
get_counts(base: DataBase = DataBase.Binary) -> dict[str, int]检索每个观测到的量子态的测量计数。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| base | DataBase | Binary | 态标签的进制表示(Binary 或 Hex) |
返回值: 将态字符串映射到其观测计数的字典。
get_probs_list
python
get_probs_list(base: DataBase = DataBase.Binary) -> list[dict[str, float]]检索概率分布列表,每个测量轮次或子任务一个。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| base | DataBase | Binary | 态标签的进制表示 |
返回值: 字典列表,每个字典将态字符串映射到概率。
get_counts_list
python
get_counts_list(base: DataBase = DataBase.Binary) -> list[dict[str, int]]检索测量计数映射列表,每个测量轮次或子任务一个。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| base | DataBase | Binary | 态标签的进制表示 |
返回值: 字典列表,每个字典将态字符串映射到计数。
get_amplitudes
python
get_amplitudes() -> dict[str, complex]检索量子态振幅。当任务以振幅计算方式提交时使用此方法。
返回值: 将态字符串映射到复数振幅值的字典。
get_state_fidelity
python
get_state_fidelity() -> float从量子态层析任务中检索态保真度(State Fidelity)。
返回值: 表示态保真度值的浮点数。
get_state_tomography_density
python
get_state_tomography_density() -> object从量子态层析计算中检索密度矩阵(Density Matrix)。
返回值: 量子态层析密度矩阵。
origin_data
python
origin_data() -> str检索 JSON 格式的原始结果数据。
返回值: 原始 JSON 结果字符串。
job_id
python
job_id() -> str检索与此结果关联的任务 ID。
返回值: 任务 ID 字符串。
error_message
python
error_message() -> str检索任务失败时的错误消息。
返回值: 错误消息字符串,如果未发生错误则为空字符串。
job_status
python
job_status() -> JobStatus检索与此结果关联的任务状态。
返回值: JobStatus 枚举值。
timing_info
python
timing_info() -> dict检索量子任务执行的时间信息。
| 键 | 类型 | 说明 |
|---|---|---|
| qpuRunTime | float | 量子芯片运行时间,指任务在量子芯片上实际执行并完成测量所占用的时间,单位毫秒(ms) |
返回值: 包含时间字段的字典。如果信息不可用,值默认为 0。
示例
python
from pyqpanda3.qcloud import QCloudService, DataBase
service = QCloudService(api_key="your_api_key")
backend = service.backend("origin_simulation")
# ... create and submit prog ...
job = backend.run(prog, shots=1000)
result = job.result()
# Get probabilities in binary format
probs = result.get_probs()
print("Probabilities:", probs)
# Output example: {"00": 0.498, "01": 0.002, "10": 0.001, "11": 0.499}
# Get probabilities in hexadecimal format
probs_hex = result.get_probs(base=DataBase.Hex)
# Get shot counts
counts = result.get_counts()
print("Counts:", counts)
# Get raw JSON data
raw = result.origin_data()
# Check for errors
if result.error_message():
print("Error:", result.error_message())另见
- QCloudJob -- 产生此结果的任务对象
- QCloudService -- 用于提交任务的云服务
- DataBase -- 进制表示枚举