Skip to content

QASM 转换

用于在量子程序(QProg)和 OpenQASM 2.0 中间表示格式之间进行转换的 API 参考。

convert_qasm_string_to_qprog

解析 OpenQASM 2.0 指令集字符串并返回对应的量子程序。

签名

python
convert_qasm_string_to_qprog(
    qasm_str: str,
) -> QProg

参数

参数类型描述
qasm_strstr要转换的 OpenQASM 2.0 指令集字符串。

返回值

转换后的 QProg 量子程序。

示例

python
from pyqpanda3.intermediate_compiler import convert_qasm_string_to_qprog

qasm_str = """
OPENQASM 2.0;
include "qelib1.inc";
qreg q[2];
creg c[2];
h q[0];
cx q[0],q[1];
measure q[0] -> c[0];
measure q[1] -> c[1];
"""
prog = convert_qasm_string_to_qprog(qasm_str)

convert_qasm_file_to_qprog

读取 OpenQASM 2.0 文件并返回对应的量子程序。

签名

python
convert_qasm_file_to_qprog(
    qasm_filepath: str,
) -> QProg

参数

参数类型描述
qasm_filepathstr包含 OpenQASM 2.0 指令集文本的文件路径。

返回值

转换后的 QProg 量子程序。

示例

python
from pyqpanda3.intermediate_compiler import convert_qasm_file_to_qprog

prog = convert_qasm_file_to_qprog("/path/to/circuit.qasm")

convert_qprog_to_qasm

将量子程序转换为 OpenQASM 2.0 字符串表示。

签名

python
convert_qprog_to_qasm(
    prog: QProg,
    precision: int = 8,
) -> str

参数

参数类型描述
progQProg要转换的量子程序。
precisionint浮点门参数的小数位数。必须是非负整数。默认为 8

返回值

表示量子程序的 OpenQASM 2.0 指令集字符串。

示例

python
from pyqpanda3.intermediate_compiler import convert_qprog_to_qasm
from pyqpanda3.core import QProg, H, CNOT

prog = QProg() << H(0) << CNOT(0, 1)
qasm_str = convert_qprog_to_qasm(prog, precision=6)
print(qasm_str)

另见

Released under the MIT License.