Skip to content

QCloudResult

QCloudResult 包含已完成的量子云任务的结果。它提供了访问测量概率、计数、振幅、量子态层析数据和错误信息的方法。

签名

python
QCloudResult(result_string: str, chip_id: str)

参数

参数类型描述
result_stringstr包含任务结果数据的 JSON 字符串
chip_idstr与此结果关联的芯片 ID

注意:QCloudResult 对象通常由 QCloudJob.result()QCloudJob.query() 返回,而非直接构造。

方法

get_probs

python
get_probs(base: DataBase = DataBase.Binary) -> dict[str, float]

检索测量量子态的概率分布。

参数类型默认值描述
baseDataBaseBinary态标签的进制表示(Binary 或 Hex)

返回值: 将态字符串映射到其概率的字典。

get_counts

python
get_counts(base: DataBase = DataBase.Binary) -> dict[str, int]

检索每个观测到的量子态的测量计数。

参数类型默认值描述
baseDataBaseBinary态标签的进制表示(Binary 或 Hex)

返回值: 将态字符串映射到其观测计数的字典。

get_probs_list

python
get_probs_list(base: DataBase = DataBase.Binary) -> list[dict[str, float]]

检索概率分布列表,每个测量轮次或子任务一个。

参数类型默认值描述
baseDataBaseBinary态标签的进制表示

返回值: 字典列表,每个字典将态字符串映射到概率。

get_counts_list

python
get_counts_list(base: DataBase = DataBase.Binary) -> list[dict[str, int]]

检索测量计数映射列表,每个测量轮次或子任务一个。

参数类型默认值描述
baseDataBaseBinary态标签的进制表示

返回值: 字典列表,每个字典将态字符串映射到计数。

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

检索量子任务执行的时间信息。

类型说明
qpuRunTimefloat量子芯片运行时间,指任务在量子芯片上实际执行并完成测量所占用的时间,单位毫秒(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())

另见

Released under the MIT License.