mindquantum.io.OpenQASM

查看源文件
class mindquantum.io.OpenQASM[源代码]

将电路转换为openqasm格式的模块。

样例:

>>> import numpy as np
>>> from mindquantum.core import Circuit
>>> from mindquantum.io import OpenQASM
>>> circuit = Circuit().rx(0.3, 0).z(0, 1).zz(np.pi, [0, 1])
>>> openqasm = OpenQASM()
>>> circuit_str = openqasm.to_string(circuit)
>>> print(circuit_str)
OPENQASM 2.0;
include "qelib1.inc";
qreg q[2];
rx(0.3) q[0];
cz q[1],q[0];
rzz(6.283185307179586) q[0],q[1];
from_file(file_name)[源代码]

读取openqasm文件。

参数:
  • file_name (str) - 以openqasm格式存储量子线路的文件路径。

返回:

Circuit,从openqasm文件翻译过来的量子线路。

from_string(string)[源代码]

读取 OpenQASM 字符串。

参数:
  • string (str) - 量子线路的 OpenQASM 字符串表示。

返回:

Circuit,OpenQASM 字符串表示的量子线路。

样例:

>>> from mindquantum.io import OpenQASM
>>> from mindquantum.core.circuit import Circuit
>>> circ = Circuit().x(0, 1).h(1)
>>> string = OpenQASM().to_string(circ)
>>> OpenQASM().from_string(string)
      ┏━━━┓
q0: ──┨╺╋╸┠─────────
      ┗━┳━┛
        ┃   ┏━━━┓
q1: ────■───┨ H ┠───
            ┗━━━┛
to_file(file_name, circuit, version='2.0')[源代码]

将量子线路转换为openqasm格式并保存在文件中。

参数:
  • file_name (str) - 要保存openqasm文件的文件名。

  • circuit (Circuit) - 要转换的电路。

  • version (str) - openqasm的版本。默认值: "2.0"

异常:
  • TypeError - 如果 file_name 不是 str

  • TypeError - 如果 电路 不是 Circuit

  • TypeError - 如果 version 不是 str

to_string(circuit, version='2.0')[源代码]

将电路转换为openqasm。

参数:
  • circuit (Circuit) - 要转换为openqasm的量子线路。

  • version (str) - 要使用的openqasm版本。默认值: "2.0"

返回:

str,输入电路的openqasm格式。

异常:
  • TypeError - 如果电路不是 Circuit

  • TypeError - 如果版本不是 str

  • NotImplementedError - 如果openqasm版本未实现。

  • ValueError - 如果在此版本中没有实现门。